* Remove stale max-len disablements * Remove stale camelCase & naming-convention disablements * Remove stale ban-ts-comment disablements * Remove stale no-var disablements * Remove stale no-empty-property disablements * Remove stale react rule disablements * Remove stale no-constant-condition disablements * Remove stale no-unused-vars disablements * Remove stale disablements for disabled rules * fixup camelcase * Remove dead code * Tidy code * Tweak oxlint config * Use oxlint to apply jsx/tsx extension consistently * Fix import * Fix imports * Rename affected snapshots * Update more imports * Enable restriction ruleset * Make code comply with new rules * Make code comply with react/button-has-type * Make code comply with typescript/non-nullable-type-assertion-style * Comply with node/no-process-env * Comply with unicorn/prefer-node-protocol * Comply with unicorn/import-style * Comply with unicorn/no-process-exit * Comply with no-proto * Comply with node/handle-callback-err * Comply with import/no-commonjs * Comply with node/no-path-concat * Comply with unicorn/no-length-as-slice-end * Comply with unicorn/no-document-cookie * Comply with unicorn/prefer-module * Comply with typescript/prefer-literal-enum-member * Comply with jsx-a11y/anchor-ambiguous-text * Tweak oxlint config * Fix resolves * Iterate * Iterate * Iterate * Iterate * Iterate * Iterate * Iterate
@element-hq/element-web-module-banner
Banner module for Element Web. Allows rendering a top bar with slide out left panel menu.
Supports the following configuration options:
| Key | Type | Description |
|---|---|---|
| logo_url | string | URL to the logo to render in the banner |
| logo_link_url | string | URL to send the user to when clicking the logo in the banner |
| title | string | The title to render next to the logo, falls back to top level brand variable if unspecified. |
| menu | Menu |
Data to render in the banner menu |
The Menu type is fulfilled by the following discriminated union:
Univention menu
| Key | Type | Description |
|---|---|---|
| type | "univention" | The type for this menu config |
| ics_url | string | URL to the UCS Intercom Service, https://docs.software-univention.de/intercom-service/latest/architecture.html#endpoints |
Static menu
| Key | Type | Description |
|---|---|---|
| type | "static" | The type for this menu config |
| categories | []Category |
Categories to render in the menu |
The Category type is fulfilled by the following interface:
| Key | Type | Description |
|---|---|---|
| name | string | The name of this category |
| links | []Link |
Links to render in this category |
The Link type is fulfilled by the following interface:
| Key | Type | Description |
|---|---|---|
| icon_uri | string | URL to the icon to render for this link |
| name | string | The name to render for this link |
| link_url | string | The URL to link to |
| target | string, optional | The target to use for this link |
All menus additionally support the following optional keys:
| Key | Type | Description |
|---|---|---|
| logo_url | string, optional | URL to the logo to render in the menu, defaults to banner logo if omitted |
| logo_href | string, optional | URL to send the user to when clicking the logo in the menu |
| logo_height | number, optional | Height of the logo in pixels, defaults to 32 if omitted |
Copyright & License
Copyright (c) 2025 New Vector Ltd
This software is multi licensed by New Vector Ltd (Element). It can be used either:
(1) for free under the terms of the GNU Affero General Public License (as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version); OR
(2) under the terms of a paid-for Element Commercial License agreement between you and Element (the terms of which may vary depending on what you and Element have agreed to). Unless required by applicable law or agreed to in writing, software distributed under the Licenses is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the Licenses for the specific language governing permissions and limitations under the Licenses.