* Consolidate modules vitest coverage * Use vite-common as base for modules vitest config * Make knip happier * Fix coverage paths * Place modules unit tests alongside src * Switch to defineProject for better type safety * Consolidate vitest CI & coverage Kills off vite-common * Update comment * Update lockfile * Fix shared-components vitest config * Soften eslint config for tests in modules * Run eslint on modules/playwright dir too * Make tsc happy * Tweak modules to be disabled if config is missing * Restore blank line * Improve coverage * Potential fix for pull request finding 'Unused variable, import, function or class' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
@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 |
| logo_url | string, optional | URL to the logo to render in the menu, defaults to banner logo if omitted |
| 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 |
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.