@siemens/element-ng 49.10.0 → 49.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/carousel/package.json +4 -0
- package/fesm2022/siemens-element-ng-about.mjs +13 -4
- package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +6 -5
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +21 -24
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +3 -3
- package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-breadcrumb.mjs +3 -3
- package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +2 -2
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-carousel.mjs +541 -0
- package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -0
- package/fesm2022/siemens-element-ng-chat-messages.mjs +18 -21
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +34 -35
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +20 -9
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +11 -10
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs +3 -3
- package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-empty-state.mjs +2 -2
- package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +49 -47
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +5 -5
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +8 -7
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-footer.mjs +3 -3
- package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs +11 -10
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +24 -23
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +26 -17
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-help-button.mjs +3 -3
- package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-inline-notification.mjs +3 -3
- package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-landing-page.mjs +2 -2
- package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-language-switcher.mjs +3 -3
- package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs +4 -3
- package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +2 -2
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +362 -264
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +30 -13
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +6 -8
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +3 -3
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pagination.mjs +4 -1
- package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +3 -3
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +2 -2
- package/fesm2022/siemens-element-ng-pills-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover-legacy.mjs +3 -3
- package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +3 -3
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-result-details-list.mjs +3 -3
- package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +2 -2
- package/fesm2022/siemens-element-ng-side-panel.mjs +6 -6
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-sort-bar.mjs +3 -3
- package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs +3 -3
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +3 -3
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +5 -5
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +3 -3
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +3 -3
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +2 -2
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +6 -6
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/package.json +12 -8
- package/template-i18n.json +15 -6
- package/types/siemens-element-ng-about.d.ts +11 -1
- package/types/siemens-element-ng-application-header.d.ts +3 -4
- package/types/siemens-element-ng-carousel.d.ts +209 -0
- package/types/siemens-element-ng-chat-messages.d.ts +1 -2
- package/types/siemens-element-ng-dashboard.d.ts +4 -4
- package/types/siemens-element-ng-date-range-filter.d.ts +11 -2
- package/types/siemens-element-ng-file-uploader.d.ts +6 -8
- package/types/siemens-element-ng-header-dropdown.d.ts +3 -3
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +161 -85
- package/types/siemens-element-ng-navbar.d.ts +1 -2
- package/types/siemens-element-ng-translate.d.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-navbar-vertical-next.mjs","sources":["../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-items.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.provider.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-divider.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-footer-items.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-group-trigger.directive.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-group.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-header.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-item.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-item.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-search.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-search.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.module.ts","../../../../projects/element-ng/navbar-vertical-next/index.ts","../../../../projects/element-ng/navbar-vertical-next/siemens-element-ng-navbar-vertical-next.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Content slot for navbar items inside `si-navbar-vertical-next`.\n * Place `<a si-navbar-vertical-next-item>` and `<button si-navbar-vertical-next-item>` elements inside this component.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-vertical-next-items',\n template: '<ng-content />',\n styleUrl: './si-navbar-vertical-next-items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextItemsComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken } from '@angular/core';\n\nimport type { SiNavbarVerticalNextComponent } from './si-navbar-vertical-next.component';\n\n/** @experimental */\nexport const SI_NAVBAR_VERTICAL_NEXT = new InjectionToken<SiNavbarVerticalNextComponent>(\n 'SI_NAVBAR_VERTICAL_NEXT'\n);\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n Injector,\n input,\n model,\n OnChanges,\n OnInit,\n signal,\n SimpleChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n elementDoubleLeft,\n elementDoubleRight,\n elementLayoutPane2,\n elementLayoutPane2Right\n} from '@siemens/element-icons';\nimport { SI_UI_STATE_SERVICE } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSkipLinkTargetDirective } from '@siemens/element-ng/skip-links';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\ninterface UIState {\n preferCollapse: boolean;\n expandedItems: Record<string, boolean>;\n}\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next',\n imports: [SiIconComponent, SiSkipLinkTargetDirective, SiTranslatePipe],\n templateUrl: './si-navbar-vertical-next.component.html',\n styleUrl: './si-navbar-vertical-next.component.scss',\n providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'si-layout-inner ready',\n '[class.nav-collapsed]': 'collapsed()',\n '[class.nav-text-only]': 'textOnly()',\n '[class.nav-inline-collapse]': 'inlineCollapse()',\n '[class.visible]': 'visible()',\n '[class.ready]': 'ready()'\n }\n})\nexport class SiNavbarVerticalNextComponent implements OnChanges, OnInit {\n protected readonly icons = addIcons({\n elementDoubleLeft,\n elementDoubleRight,\n elementLayoutPane2,\n elementLayoutPane2Right\n });\n\n /**\n * Whether the navbar-vertical is collapsed.\n *\n * @defaultValue false\n */\n readonly collapsed = model(false);\n\n /**\n * Set to `true` if there are no icons\n *\n * @defaultValue false\n */\n readonly textOnly = input(false, { transform: booleanAttribute });\n\n /**\n * Enables an alternative inline-collapse behavior.\n *\n * When collapsed, nav content becomes inert while the toggle remains\n * available in the page flow.\n *\n * @defaultValue false\n */\n readonly inlineCollapse = input(false, { transform: booleanAttribute });\n\n /**\n * When `true`, item-groups always open as a transient flyout panel adjacent to the\n * trigger, regardless of whether the navbar is collapsed or expanded.\n * Flyouts open and close on click.\n *\n * @defaultValue false\n */\n readonly alwaysFlyout = input(false, { transform: booleanAttribute });\n\n /**\n * List of vertical navigation items\n *\n * @deprecated Use the template-based declarative API with content projection instead. Use `<si-navbar-vertical-next-items>` and\n * `<a si-navbar-vertical-next-item>` / `<button si-navbar-vertical-next-item>` instead.\n *\n * @defaultValue true\n */\n readonly visible = input(true, { transform: booleanAttribute });\n\n /**\n * Text for the navbar toggle button used as `aria-label`.\n * The expanded state is communicated via `aria-expanded`.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`)\n * ```\n */\n readonly toggleButtonText = input(t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`));\n\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * Label for the skip link to the vertical navbar\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`)\n * ```\n */\n readonly skipLinkNavigationLabel = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`)\n );\n\n /**\n * Label for the skip link to main content\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`)\n * ```\n */\n readonly skipLinkMainContentLabel = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`)\n );\n private uiStateService = inject(SI_UI_STATE_SERVICE, { optional: true });\n private breakpointObserver = inject(BreakpointObserver);\n private injector = inject(Injector);\n\n protected readonly ready = signal(false);\n protected readonly smallScreen = signal(false);\n\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly uiStateExpandedItems = signal<Record<string, boolean>>({});\n\n // Indicates if the user prefers a collapsed navbar. Relevant for resizing.\n private preferCollapse = false;\n\n protected readonly toggleIcon = computed(() => {\n if (this.inlineCollapse()) {\n return this.collapsed() ? this.icons.elementLayoutPane2 : this.icons.elementLayoutPane2Right;\n }\n return this.collapsed() ? this.icons.elementDoubleRight : this.icons.elementDoubleLeft;\n });\n\n constructor() {\n this.breakpointObserver\n .observe(`(max-width: ${BOOTSTRAP_BREAKPOINTS.lgMinimum}px)`)\n .pipe(takeUntilDestroyed())\n .subscribe(({ matches }) => {\n this.collapsed.set(matches || this.preferCollapse);\n this.smallScreen.set(matches);\n });\n }\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.collapsed) {\n this.preferCollapse = this.collapsed();\n }\n }\n\n ngOnInit(): void {\n const stateId = this.stateId();\n if (this.uiStateService && stateId) {\n this.uiStateService.load<UIState>(stateId).then(uiState => {\n if (uiState) {\n this.preferCollapse = uiState.preferCollapse;\n this.collapsed.set(this.smallScreen() ? this.collapsed() : this.preferCollapse);\n if (uiState.expandedItems) {\n this.uiStateExpandedItems.set(uiState.expandedItems);\n }\n }\n afterNextRender(() => this.ready.set(true), { injector: this.injector });\n });\n } else {\n this.ready.set(true);\n }\n }\n\n protected toggleCollapse(): void {\n if (this.collapsed()) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /** Expands the vertical navbar. */\n expand(): void {\n this.collapsed.set(false);\n if (!this.smallScreen()) {\n this.preferCollapse = this.collapsed();\n }\n this.saveUIState();\n }\n\n /** Collapses the vertical navbar. */\n collapse(): void {\n this.collapsed.set(true);\n if (!this.smallScreen()) {\n this.preferCollapse = this.collapsed();\n }\n this.saveUIState();\n }\n\n /** @internal */\n groupStateChanged(stateId: string | undefined, expanded: boolean): void {\n if (stateId) {\n this.uiStateExpandedItems.update(items => ({ ...items, [stateId]: expanded }));\n }\n this.saveUIState();\n }\n\n protected saveUIState(): void {\n const stateId = this.stateId();\n if (!this.uiStateService || !stateId) {\n return;\n }\n\n this.uiStateService.save<UIState>(stateId, {\n preferCollapse: this.preferCollapse,\n expandedItems: this.uiStateExpandedItems()\n });\n }\n\n /** @internal */\n itemTriggered(): void {\n if (this.smallScreen()) {\n this.collapsed.set(true);\n }\n }\n}\n","@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n @let inlineCollapsed = inlineCollapse() && collapsed();\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-primary-ghost]=\"inlineCollapsed\"\n [class.btn-tertiary-ghost]=\"!inlineCollapsed\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n <div\n class=\"nav-content\"\n [attr.inert]=\"inlineCollapsed ? '' : null\"\n [attr.aria-hidden]=\"inlineCollapsed ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\n\n/**\n * @experimental\n * We need a component to attach the stylesheet\n */\n@Component({\n selector: 'si-navbar-vertical-next-divider',\n template: '',\n styleUrl: './si-navbar-vertical-next-divider.component.scss'\n})\nexport class SiNavbarVerticalNextDividerComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Content slot for footer items inside `si-navbar-vertical-next`.\n * Place `<a si-navbar-vertical-next-item>` and `<button si-navbar-vertical-next-item>` elements inside this component.\n * Footer items are pinned to the bottom of the navbar.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-vertical-next-footer-items',\n template: '<ng-content />',\n styleUrl: './si-navbar-vertical-next-footer-items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextFooterItemsComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ComponentRef,\n computed,\n Directive,\n effect,\n EmbeddedViewRef,\n inject,\n Injector,\n input,\n linkedSignal,\n TemplateRef,\n untracked,\n ViewContainerRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/**\n * Using this component, to anchor the flyout inside the navbar within the a11y tree.\n * Otherwise, without aria-owns, screen reader will announce the leaving of the navbar when moving to the flyout.\n * Aria-owns cannot be put directly on the trigger\n * as chrome will include the flyout children in the a11y label of the trigger.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-flyout-anchor',\n template: '',\n host: { '[attr.aria-owns]': 'groupId()' }\n})\nclass SiNavbarFlyoutAnchorComponent {\n readonly groupId = input<string>();\n}\n\n/** @experimental */\n@Directive({\n selector: 'button[siNavbarVerticalNextGroupTriggerFor]',\n host: {\n class: 'dropdown-toggle',\n '[id]': 'id',\n '[class.show]': 'expanded()',\n '[attr.aria-controls]': 'groupId',\n '[attr.aria-expanded]': 'expanded()',\n '(click)': 'triggered()'\n }\n})\nexport class SiNavbarVerticalNextGroupTriggerDirective {\n private static idCounter = 0;\n\n /** @internal */\n readonly groupId = `si-navbar-vertical-next-group-${SiNavbarVerticalNextGroupTriggerDirective.idCounter++}`;\n readonly id = `${this.groupId}-trigger`;\n\n readonly groupTemplate = input.required<TemplateRef<unknown>>({\n alias: 'siNavbarVerticalNextGroupTriggerFor'\n });\n\n readonly stateId = input<string>();\n\n /** @defaultValue false */\n readonly expanded = linkedSignal<\n { uiState: boolean | undefined; alwaysFlyout: boolean },\n boolean\n >({\n source: () => {\n const stateId = this.stateId();\n return {\n uiState: stateId ? this.navbar.uiStateExpandedItems()[stateId] : undefined,\n alwaysFlyout: this.navbar.alwaysFlyout()\n };\n },\n computation: (source, previous) => {\n // `alwaysFlyout` toggled: reset expansion. When switching back to inline,\n // surface the group that owns the active route.\n if (previous && source.alwaysFlyout !== previous.source.alwaysFlyout) {\n return !source.alwaysFlyout && untracked(() => this.active());\n }\n // First run or UIState (re)loaded: honor the persisted value when present,\n // otherwise keep the user's current expansion.\n if (source.uiState !== undefined) {\n return source.uiState;\n }\n return previous?.value ?? false;\n }\n });\n\n /**\n * Whether the group is currently rendered as a transient flyout overlay\n * (true) or inline within the navbar (false). Automatically resets to\n * `false` whenever the rendering mode changes.\n * @internal\n */\n readonly flyout = linkedSignal({\n source: () => this.flyoutMode(),\n computation: () => false\n });\n\n /**\n * Whether the open flyout overlay currently contains the active route.\n * Reset together with `flyout` so it never lingers across mode changes.\n * @internal\n */\n readonly active = linkedSignal<boolean, boolean>({\n source: () => this.flyout(),\n computation: (open, previous) => (open ? (previous?.value ?? false) : false)\n });\n\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n\n /** @internal */\n readonly flyoutMode = computed(() => this.navbar.alwaysFlyout() || this.navbar.collapsed());\n\n private flyoutOutsideClickSubscription?: Subscription;\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly overlay = inject(Overlay);\n private readonly injector = Injector.create({ parent: inject(Injector), providers: [] });\n private readonly overlayRef = this.overlay.create({\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.viewContainer.element)\n .withPositions([\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' }\n ])\n });\n private groupView?: EmbeddedViewRef<unknown>;\n private flyoutAnchorComponentRef?: ComponentRef<SiNavbarFlyoutAnchorComponent>;\n private readonly templatePortal = computed(\n () => new TemplatePortal(this.groupTemplate(), this.viewContainer, undefined, this.injector)\n );\n\n constructor() {\n // Manage the rendering of the inline projection / flyout overlay in\n // response to mode changes. Only side effects belong here; the related\n // signal state is propagated by `flyout` / `expanded` linked signals.\n effect(() => {\n this.flyoutMode();\n untracked(() => {\n this.detachFlyout();\n this.attachInline();\n });\n });\n }\n\n /** @internal */\n hideFlyout(): void {\n if (!this.flyout()) return;\n this.flyout.set(false);\n this.detachFlyout();\n this.attachInline();\n }\n\n protected triggered(): void {\n if (this.flyoutMode()) {\n this.toggleFlyout();\n } else {\n this.expanded.set(!this.expanded());\n this.navbar.groupStateChanged(this.stateId(), this.expanded());\n }\n }\n\n private toggleFlyout(): void {\n if (this.flyout()) {\n this.hideFlyout();\n } else {\n this.flyout.set(true);\n this.attachFlyout();\n }\n }\n\n private attachInline(): void {\n this.overlayRef.detach();\n this.groupView?.destroy();\n this.groupView = this.viewContainer.createEmbeddedView(this.groupTemplate(), undefined, {\n injector: this.injector\n });\n }\n\n private attachFlyout(): void {\n this.groupView?.destroy();\n this.groupView = this.overlayRef.attach(this.templatePortal());\n this.flyoutAnchorComponentRef = this.viewContainer.createComponent(\n SiNavbarFlyoutAnchorComponent\n );\n this.flyoutAnchorComponentRef.setInput('groupId', this.groupId);\n this.flyoutOutsideClickSubscription = this.overlayRef\n .outsidePointerEvents()\n .subscribe(() => this.hideFlyout());\n }\n\n private detachFlyout(): void {\n this.flyoutAnchorComponentRef?.destroy();\n this.flyoutAnchorComponentRef = undefined;\n this.flyoutOutsideClickSubscription?.unsubscribe();\n this.flyoutOutsideClickSubscription = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { Component, computed, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RouterLinkActive } from '@angular/router';\n\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-group',\n imports: [CdkTrapFocus],\n template: `@if (visible()) {\n @let flyout = groupTrigger.flyout();\n <div\n animate.leave=\"group-leave\"\n [class.inline-group]=\"!flyout\"\n [class.dropdown-menu]=\"flyout\"\n [cdkTrapFocus]=\"flyout\"\n [cdkTrapFocusAutoCapture]=\"flyout\"\n >\n <div [class.overflow-hidden]=\"!flyout\">\n <ng-content />\n </div>\n </div>\n }`,\n styleUrl: './si-navbar-vertical-next-group.component.scss',\n host: {\n role: 'group',\n '[id]': 'groupTrigger.groupId',\n '[attr.aria-labelledby]': 'groupTrigger.id',\n 'animate.enter': 'component-enter',\n '(keydown.escape)': 'close()'\n }\n})\nexport class SiNavbarVerticalNextGroupComponent {\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n protected readonly groupTrigger = inject(SiNavbarVerticalNextGroupTriggerDirective);\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n protected readonly visible = computed(() => {\n return this.groupTrigger.flyout() || (!this.navbar.collapsed() && this.groupTrigger.expanded());\n });\n\n constructor() {\n this.routerLinkActive?.isActiveChange\n .pipe(takeUntilDestroyed())\n .subscribe(active => this.groupTrigger.active.set(active));\n }\n\n protected close(): void {\n this.groupTrigger.hideFlyout();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject } from '@angular/core';\n\nimport { SiNavbarVerticalNextDividerComponent } from './si-navbar-vertical-next-divider.component';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-header',\n imports: [SiNavbarVerticalNextDividerComponent],\n template: `\n @if (!navbar.collapsed()) {\n <div class=\"title si-h5 text-secondary text-truncate p-5\" animate.leave=\"title-leave\">\n <ng-content />\n </div>\n } @else {\n <si-navbar-vertical-next-divider class=\"divider\" animate.leave=\"divider-leave\" />\n }\n `,\n styleUrl: './si-navbar-vertical-next-header.component.scss',\n host: {\n '[class.collapsed]': 'navbar.collapsed()',\n 'animate.enter': 'component-enter'\n }\n})\nexport class SiNavbarVerticalNextHeaderComponent {\n protected navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n OnInit\n} from '@angular/core';\nimport { RouterLinkActive } from '@angular/router';\nimport { elementDown2, elementRight2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\n\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]',\n imports: [SiIconComponent],\n templateUrl: './si-navbar-vertical-next-item.component.html',\n styleUrl: './si-navbar-vertical-next-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'focus-inside navbar-vertical-item',\n '[class.active]': 'active',\n '[class.hide-badge-collapsed]': 'hideBadgeWhenCollapsed()',\n '(click)': 'triggered()'\n }\n})\nexport class SiNavbarVerticalNextItemComponent implements OnInit {\n protected readonly icons = addIcons({ elementDown2, elementRight2 });\n\n /** Optional icon to render before the label. */\n readonly icon = input<string>();\n\n /** Badge value to display. */\n readonly badge = input<string | number>();\n\n /** Color of the badge. */\n readonly badgeColor = input<string>();\n\n /**\n * Hide the badge when the navbar is collapsed.\n *\n * @defaultValue false\n */\n readonly hideBadgeWhenCollapsed = input(false, { transform: booleanAttribute });\n\n /** Override the active state. Useful for action items. */\n readonly activeOverride = input<boolean>();\n\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n protected readonly parent = inject(SiNavbarVerticalNextItemComponent, {\n skipSelf: true,\n optional: true\n });\n readonly group = inject(SiNavbarVerticalNextGroupTriggerDirective, {\n optional: true,\n self: true\n });\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n private readonly siLink = inject(SiLinkDirective, { optional: true });\n\n /**\n * Determines if the badge contains text-only content (not numeric)\n */\n protected readonly textOnlyBadge = computed(() => {\n const badge = this.badge();\n return badge != null && badge !== '' ? typeof badge !== 'number' : false;\n });\n\n /**\n * Formats badge value to limit display to \"+99\" for numbers greater than 99\n */\n protected readonly formattedBadge = computed(() => {\n const badge = this.badge();\n if (badge == null || badge === '') {\n return '';\n }\n if (typeof badge === 'number') {\n return badge > 99 ? '+99' : badge.toString();\n }\n return badge.toString();\n });\n\n ngOnInit(): void {\n if (this.group && this.active) {\n this.group.expanded.set(true);\n }\n }\n\n protected triggered(): void {\n this.parent?.group?.hideFlyout();\n if (!this.group) {\n this.navbar.itemTriggered();\n }\n }\n\n get active(): boolean {\n return (\n this.activeOverride() ||\n this.routerLinkActive?.isActive ||\n this.siLink?.active() ||\n ((!this.group?.expanded() || this.navbar.collapsed()) && this.group?.active()) ||\n false\n );\n }\n}\n","@let icon = this.icon();\n@if (icon) {\n <si-icon class=\"icon-lg\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">\n <ng-content />\n</div>\n@if (!navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-body\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n output,\n viewChild\n} from '@angular/core';\nimport { elementSearch } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-search',\n imports: [SiIconComponent, SiSearchBarComponent, SiTranslatePipe],\n templateUrl: './si-navbar-vertical-next-search.component.html',\n styleUrl: './si-navbar-vertical-next-search.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextSearchComponent {\n protected readonly icons = addIcons({ elementSearch });\n\n /**\n * Placeholder text for the search bar\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`)\n * ```\n */\n readonly placeholder = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`)\n );\n\n /**\n * Debounce time for the search input\n * @defaultValue 400\n */\n readonly debounceTime = input(400);\n\n /**\n * Output for search bar input\n */\n readonly searchChange = output<string>();\n\n private readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n private readonly searchBar = viewChild.required(SiSearchBarComponent);\n\n protected expandForSearch(): void {\n this.navbar.expand();\n setTimeout(() => this.searchBar().focus());\n }\n}\n","<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiNavbarVerticalNextDividerComponent } from './si-navbar-vertical-next-divider.component';\nimport { SiNavbarVerticalNextFooterItemsComponent } from './si-navbar-vertical-next-footer-items.component';\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SiNavbarVerticalNextGroupComponent } from './si-navbar-vertical-next-group.component';\nimport { SiNavbarVerticalNextHeaderComponent } from './si-navbar-vertical-next-header.component';\nimport { SiNavbarVerticalNextItemComponent } from './si-navbar-vertical-next-item.component';\nimport { SiNavbarVerticalNextItemsComponent } from './si-navbar-vertical-next-items.component';\nimport { SiNavbarVerticalNextSearchComponent } from './si-navbar-vertical-next-search.component';\nimport { SiNavbarVerticalNextComponent } from './si-navbar-vertical-next.component';\n\n/** @experimental */\n@NgModule({\n imports: [\n SiNavbarVerticalNextComponent,\n SiNavbarVerticalNextDividerComponent,\n SiNavbarVerticalNextFooterItemsComponent,\n SiNavbarVerticalNextGroupComponent,\n SiNavbarVerticalNextGroupTriggerDirective,\n SiNavbarVerticalNextHeaderComponent,\n SiNavbarVerticalNextItemComponent,\n SiNavbarVerticalNextItemsComponent,\n SiNavbarVerticalNextSearchComponent\n ],\n exports: [\n SiNavbarVerticalNextComponent,\n SiNavbarVerticalNextDividerComponent,\n SiNavbarVerticalNextFooterItemsComponent,\n SiNavbarVerticalNextGroupComponent,\n SiNavbarVerticalNextGroupTriggerDirective,\n SiNavbarVerticalNextHeaderComponent,\n SiNavbarVerticalNextItemComponent,\n SiNavbarVerticalNextItemsComponent,\n SiNavbarVerticalNextSearchComponent\n ]\n})\nexport class SiNavbarVerticalNextModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-navbar-vertical-next-items.component';\nexport * from './si-navbar-vertical-next.component';\nexport * from './si-navbar-vertical-next-divider.component';\nexport * from './si-navbar-vertical-next-footer-items.component';\nexport * from './si-navbar-vertical-next-group-trigger.directive';\nexport * from './si-navbar-vertical-next-group.component';\nexport * from './si-navbar-vertical-next-header.component';\nexport * from './si-navbar-vertical-next-item.component';\nexport * from './si-navbar-vertical-next-search.component';\nexport * from './si-navbar-vertical-next.component';\nexport * from './si-navbar-vertical-next.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-navbar-vertical-next.mjs","sources":["../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-items.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.provider.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-group-trigger.directive.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-item.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-item.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-divider.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-footer-items.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-group.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-header.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-search.component.ts","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next-search.component.html","../../../../projects/element-ng/navbar-vertical-next/si-navbar-vertical-next.module.ts","../../../../projects/element-ng/navbar-vertical-next/index.ts","../../../../projects/element-ng/navbar-vertical-next/siemens-element-ng-navbar-vertical-next.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Content slot for navbar items inside `si-navbar-vertical-next`.\n * Place `<a si-navbar-vertical-next-item>` and `<button si-navbar-vertical-next-item>` elements inside this component.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-vertical-next-items',\n template: '<ng-content />',\n styleUrl: './si-navbar-vertical-next-items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextItemsComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken } from '@angular/core';\n\nimport type { SiNavbarVerticalNextComponent } from './si-navbar-vertical-next.component';\n\n/** @experimental */\nexport const SI_NAVBAR_VERTICAL_NEXT = new InjectionToken<SiNavbarVerticalNextComponent>(\n 'SI_NAVBAR_VERTICAL_NEXT'\n);\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ConnectionPositionPair,\n FlexibleConnectedPositionStrategy,\n Overlay\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n computed,\n DestroyRef,\n Directive,\n effect,\n EmbeddedViewRef,\n inject,\n Injector,\n input,\n linkedSignal,\n signal,\n TemplateRef,\n untracked,\n ViewContainerRef\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/**\n * Using this component, to anchor the flyout inside the navbar within the a11y tree.\n * Otherwise, without aria-owns, screen reader will announce the leaving of the navbar when moving to the flyout.\n * Aria-owns cannot be put directly on the trigger\n * as chrome will include the flyout children in the a11y label of the trigger.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-flyout-anchor',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[attr.aria-owns]': 'groupId()' }\n})\nclass SiNavbarFlyoutAnchorComponent {\n readonly groupId = input<string>();\n}\n\n/** @experimental */\n@Directive({\n selector: 'button[siNavbarVerticalNextGroupTriggerFor]',\n host: {\n class: 'dropdown-toggle',\n '[id]': 'id',\n '[class.show]': 'expanded()',\n '[attr.aria-controls]': 'groupId',\n '[attr.aria-expanded]': 'flyoutMode() ? flyout() : expanded()',\n '(click)': 'triggered()'\n }\n})\nexport class SiNavbarVerticalNextGroupTriggerDirective {\n private static idCounter = 0;\n\n /** @internal */\n readonly groupId = `si-navbar-vertical-next-group-${SiNavbarVerticalNextGroupTriggerDirective.idCounter++}`;\n readonly id = `${this.groupId}-trigger`;\n\n readonly groupTemplate = input.required<TemplateRef<unknown>>({\n alias: 'siNavbarVerticalNextGroupTriggerFor'\n });\n\n readonly stateId = input<string>();\n\n /** @defaultValue false */\n readonly expanded = linkedSignal<\n { uiState: boolean | undefined; alwaysFlyout: boolean },\n boolean\n >({\n source: () => {\n const stateId = this.stateId();\n return {\n uiState: stateId ? this.navbar.uiStateExpandedItems()[stateId] : undefined,\n alwaysFlyout: this.navbar.alwaysFlyout()\n };\n },\n computation: (source, previous) => {\n // `alwaysFlyout` toggled: reset expansion. When switching back to inline,\n // surface the group that owns the active route.\n if (previous && source.alwaysFlyout !== previous.source.alwaysFlyout) {\n return !source.alwaysFlyout && untracked(() => this.active());\n }\n // First run or UIState (re)loaded: honor the persisted value when present,\n // otherwise keep the user's current expansion.\n if (source.uiState !== undefined) {\n return source.uiState;\n }\n return previous?.value ?? false;\n }\n });\n\n /**\n * Whether the group is currently rendered as a transient flyout overlay\n * (true) or inline within the navbar (false). Automatically resets to\n * `false` whenever the rendering mode changes.\n * @internal\n */\n readonly flyout = linkedSignal({\n source: () => this.flyoutMode(),\n computation: () => false\n });\n\n /** `true` when this group contains the active route. Set by the group component.\n * @internal\n */\n readonly active = signal<boolean>(false);\n\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n\n /** Signal mirror of the navbar's flyout mode. `true` when groups should render as transient overlays instead of inline.\n * @internal\n */\n readonly flyoutMode = computed(() => this.navbar.flyoutMode());\n\n private flyoutOutsideClickSubscription?: Subscription;\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly overlay = inject(Overlay);\n private readonly destroyRef = inject(DestroyRef);\n private readonly injector = Injector.create({ parent: inject(Injector), providers: [] });\n private readonly overlayRef = this.overlay.create({\n positionStrategy: this.buildPositionStrategy(this.navbar.chipMode())\n });\n private groupView?: EmbeddedViewRef<unknown>;\n private flyoutAnchorComponentRef?: ComponentRef<SiNavbarFlyoutAnchorComponent>;\n private readonly templatePortal = computed(\n () => new TemplatePortal(this.groupTemplate(), this.viewContainer, undefined, this.injector)\n );\n\n constructor() {\n // Manage the rendering of the inline projection / flyout overlay in\n // response to mode changes. Only side effects belong here; the related\n // signal state is propagated by `flyout` / `expanded` linked signals.\n effect(() => {\n this.flyoutMode();\n untracked(() => {\n this.detachFlyout();\n this.attachInline();\n });\n });\n\n this.destroyRef.onDestroy(() => {\n this.overlayRef.detach();\n this.overlayRef.dispose();\n });\n }\n\n /** @internal */\n private buildPositionStrategy(chipMode: boolean): FlexibleConnectedPositionStrategy {\n const positions: ConnectionPositionPair[] = chipMode\n ? [\n { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom' },\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' }\n ]\n : [\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top' },\n { originX: 'end', originY: 'bottom', overlayX: 'start', overlayY: 'bottom' }\n ];\n\n return this.overlay\n .position()\n .flexibleConnectedTo(this.viewContainer.element)\n .withPositions(positions);\n }\n\n /** @internal */\n hideFlyout(): void {\n if (!this.flyout()) return;\n this.flyout.set(false);\n this.detachFlyout();\n this.attachInline();\n }\n\n protected triggered(): void {\n if (this.flyoutMode()) {\n this.toggleFlyout();\n } else {\n this.expanded.set(!this.expanded());\n this.navbar.groupStateChanged(this.stateId(), this.expanded());\n }\n }\n\n private toggleFlyout(): void {\n if (this.flyout()) {\n this.hideFlyout();\n } else {\n this.flyout.set(true);\n this.attachFlyout();\n }\n }\n\n private attachInline(): void {\n this.overlayRef.detach();\n this.groupView?.destroy();\n this.groupView = this.viewContainer.createEmbeddedView(this.groupTemplate(), undefined, {\n injector: this.injector\n });\n }\n\n private attachFlyout(): void {\n this.overlayRef.updatePositionStrategy(this.buildPositionStrategy(this.navbar.chipMode()));\n this.groupView?.destroy();\n this.groupView = this.overlayRef.attach(this.templatePortal());\n // In chip mode the trigger's DOM is outside <nav> via DomPortal; use the\n // navbar's in-nav anchor host so aria-owns stays within the navigation landmark.\n const anchorHost = this.navbar.flyoutAnchorHost() ?? this.viewContainer;\n this.flyoutAnchorComponentRef = anchorHost.createComponent(SiNavbarFlyoutAnchorComponent);\n this.flyoutAnchorComponentRef.setInput('groupId', this.groupId);\n this.flyoutOutsideClickSubscription = this.overlayRef\n .outsidePointerEvents()\n .subscribe(() => this.hideFlyout());\n }\n\n private detachFlyout(): void {\n this.flyoutAnchorComponentRef?.destroy();\n this.flyoutAnchorComponentRef = undefined;\n this.flyoutOutsideClickSubscription?.unsubscribe();\n this.flyoutOutsideClickSubscription = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { DomPortal } from '@angular/cdk/portal';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n OnInit\n} from '@angular/core';\nimport { toSignal } from '@angular/core/rxjs-interop';\nimport { RouterLinkActive } from '@angular/router';\nimport { elementDown2, elementRight2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { EMPTY, Observable } from 'rxjs';\n\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-navbar-vertical-next-item], button[si-navbar-vertical-next-item]',\n imports: [SiIconComponent],\n templateUrl: './si-navbar-vertical-next-item.component.html',\n styleUrl: './si-navbar-vertical-next-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.focus-inside]': '!chipMode() || !!parent',\n '[class.navbar-vertical-item]': '!isChip()',\n '[class.active]': 'showActive()',\n '[class.is-chip]': 'isChip()',\n '[class.btn]': 'isChip()',\n '[class.btn-primary-ghost]': 'isChip()',\n '[class.hide-badge-collapsed]': 'hideBadgeWhenCollapsed()',\n '(click)': 'triggered()'\n }\n})\nexport class SiNavbarVerticalNextItemComponent implements OnInit {\n protected readonly icons = addIcons({ elementDown2, elementRight2 });\n\n /** Optional icon to render before the label. */\n readonly icon = input<string>();\n\n /** Badge value to display. */\n readonly badge = input<string | number>();\n\n /** Color of the badge. */\n readonly badgeColor = input<string>();\n\n /**\n * Hide the badge when the navbar is collapsed.\n *\n * @defaultValue false\n */\n readonly hideBadgeWhenCollapsed = input(false, { transform: booleanAttribute });\n\n /** Override the active state. Useful for action items. */\n readonly activeOverride = input<boolean>();\n\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n protected readonly parent = inject(SiNavbarVerticalNextItemComponent, {\n skipSelf: true,\n optional: true\n });\n readonly group = inject(SiNavbarVerticalNextGroupTriggerDirective, {\n optional: true,\n self: true\n });\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n /** Signal mirror of `RouterLinkActive.isActive`.\n * @internal\n */\n private readonly routerActive = toSignal(\n this.routerLinkActive?.isActiveChange ?? (EMPTY as Observable<boolean>),\n { initialValue: this.routerLinkActive?.isActive ?? false }\n );\n\n /** @internal */\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** DOM portal relocated into the chip slot when collapsed.\n * @internal\n */\n readonly hostPortal = new DomPortal(this.elementRef.nativeElement);\n\n /** Signal mirror of the navbar's chip mode. `true` when inline-collapse is active and the navbar is collapsed.\n * @internal\n */\n readonly chipMode = computed(() => this.navbar.chipMode());\n\n /**\n * Determines if the badge contains text-only content (not numeric)\n */\n protected readonly textOnlyBadge = computed(() => {\n const badge = this.badge();\n return badge != null && badge !== '' ? typeof badge !== 'number' : false;\n });\n\n /** `true` when the `active` CSS class should be applied to this item.\n *\n * In chip mode, root-level items use `is-chip` styling instead of `active`, so the\n * class is suppressed unless the item is a sub-item (`parent` is set) or it is a\n * group trigger whose flyout is currently open.\n * Outside chip mode the value equals `active()`.\n * @internal\n */\n protected readonly showActive = computed(() => {\n if (this.chipMode()) {\n return (!!this.parent || this.group?.flyout()) && this.active();\n }\n return this.active();\n });\n\n /**\n * Formats badge value to limit display to \"+99\" for numbers greater than 99\n */\n protected readonly formattedBadge = computed(() => {\n const badge = this.badge();\n if (badge == null || badge === '') {\n return '';\n }\n if (typeof badge === 'number') {\n return badge > 99 ? '+99' : badge.toString();\n }\n return badge.toString();\n });\n\n /** Active via override or router link — excludes group state.\n * @internal\n */\n private readonly anyRouteActive = computed(() => !!this.activeOverride() || this.routerActive());\n\n /** Own route is active, or a descendant route is active — includes group state, not gated on expansion.\n * @internal\n */\n private readonly isOnActiveRoute = computed(\n () => this.anyRouteActive() || !!this.group?.active()\n );\n\n /**\n * `true` when this item should reflect activity.\n *\n * For non-trigger items: equivalent to being on the active route.\n *\n * For group trigger items: also `true` when a descendant route is active and\n * the descendant is not currently visible inline — i.e. the group is collapsed\n * or the navbar is collapsed. This surfaces the active state on the trigger\n * when the active child cannot show it itself.\n */\n readonly active = computed(\n () =>\n this.anyRouteActive() ||\n ((!this.group?.expanded() || this.navbar.collapsed()) && !!this.group?.active())\n );\n\n /** `true` when this is a root-level item on the active route (ungated, so the chip survives collapse↔expand).\n * @internal\n */\n readonly isActiveRootItem = computed(() => !this.parent && this.isOnActiveRoute());\n\n /** `true` when this item is currently rendered as a chip in the inline-collapse bar.\n * @internal\n */\n readonly isChip = computed(() => this.navbar.chipPortalAttached() && this.isActiveRootItem());\n\n ngOnInit(): void {\n if (this.group && this.active()) {\n this.group.expanded.set(true);\n }\n }\n\n protected triggered(): void {\n this.parent?.group?.hideFlyout();\n if (!this.group) {\n this.navbar.itemTriggered();\n }\n }\n}\n","@let icon = this.icon();\n@if (icon) {\n <si-icon [class]=\"isChip() ? 'icon' : 'icon-lg'\" [icon]=\"icon\" />\n}\n<div class=\"item-title text-truncate si-h5\">\n <ng-content />\n</div>\n@if (!isChip() && !navbar.textOnly() && formattedBadge()) {\n @let badgeColor = this.badgeColor();\n <span\n [class]=\"[\n 'badge',\n badgeColor ? `bg-${badgeColor}` : 'bg-default',\n textOnlyBadge() ? 'badge-text-only' : '',\n navbar.collapsed() ? 'badge-collapsed' : ''\n ]\"\n >{{ formattedBadge() }}</span\n >\n}\n@if (group) {\n <si-icon\n class=\"dropdown-caret me-0 text-body\"\n [icon]=\"group.flyoutMode() ? icons.elementRight2 : icons.elementDown2\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { PortalModule } from '@angular/cdk/portal';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n inject,\n Injector,\n input,\n model,\n OnChanges,\n OnInit,\n signal,\n SimpleChanges,\n viewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n elementDoubleLeft,\n elementDoubleRight,\n elementLayoutPane2,\n elementLayoutPane2Right\n} from '@siemens/element-icons';\nimport { SI_UI_STATE_SERVICE } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS } from '@siemens/element-ng/resize-observer';\nimport { SiSkipLinkTargetDirective } from '@siemens/element-ng/skip-links';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiNavbarVerticalNextItemComponent } from './si-navbar-vertical-next-item.component';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\ninterface UIState {\n preferCollapse: boolean;\n expandedItems: Record<string, boolean>;\n}\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next',\n imports: [PortalModule, SiIconComponent, SiSkipLinkTargetDirective, SiTranslatePipe],\n templateUrl: './si-navbar-vertical-next.component.html',\n styleUrl: './si-navbar-vertical-next.component.scss',\n providers: [{ provide: SI_NAVBAR_VERTICAL_NEXT, useExisting: SiNavbarVerticalNextComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'si-layout-inner ready',\n '[class.nav-collapsed]': 'collapsed()',\n '[class.nav-text-only]': 'textOnly()',\n '[class.nav-inline-collapse]': 'inlineCollapse()',\n '[class.visible]': 'visible()',\n '[class.ready]': 'ready()'\n }\n})\nexport class SiNavbarVerticalNextComponent implements OnChanges, OnInit {\n protected readonly icons = addIcons({\n elementDoubleLeft,\n elementDoubleRight,\n elementLayoutPane2,\n elementLayoutPane2Right\n });\n\n /**\n * Whether the navbar-vertical is collapsed.\n *\n * @defaultValue false\n */\n readonly collapsed = model(false);\n\n /**\n * Set to `true` if there are no icons\n *\n * @defaultValue false\n */\n readonly textOnly = input(false, { transform: booleanAttribute });\n\n /**\n * Enables an alternative inline-collapse behavior.\n *\n * When collapsed, nav content becomes inert while the toggle remains\n * available in the page flow.\n *\n * @defaultValue false\n */\n readonly inlineCollapse = input(false, { transform: booleanAttribute });\n\n /**\n * When `true`, item-groups always open as a transient flyout panel adjacent to the\n * trigger, regardless of whether the navbar is collapsed or expanded.\n * Flyouts open and close on click.\n *\n * @defaultValue false\n */\n readonly alwaysFlyout = input(false, { transform: booleanAttribute });\n\n /**\n * List of vertical navigation items\n *\n * @deprecated Use the template-based declarative API with content projection instead. Use `<si-navbar-vertical-next-items>` and\n * `<a si-navbar-vertical-next-item>` / `<button si-navbar-vertical-next-item>` instead.\n *\n * @defaultValue true\n */\n readonly visible = input(true, { transform: booleanAttribute });\n\n /**\n * Text for the navbar toggle button used as `aria-label`.\n * The expanded state is communicated via `aria-expanded`.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`)\n * ```\n */\n readonly toggleButtonText = input(t(() => $localize`:@@SI_NAVBAR_VERTICAL.TOGGLE:Toggle`));\n\n /**\n * An optional stateId to uniquely identify a component instance.\n * Required for persistence of ui state.\n */\n readonly stateId = input<string>();\n\n /**\n * Label for the skip link to the vertical navbar\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`)\n * ```\n */\n readonly skipLinkNavigationLabel = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL:Navigation`)\n );\n\n /**\n * Label for the skip link to main content\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`)\n * ```\n */\n readonly skipLinkMainContentLabel = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL:Main content`)\n );\n private uiStateService = inject(SI_UI_STATE_SERVICE, { optional: true });\n private breakpointObserver = inject(BreakpointObserver);\n private injector = inject(Injector);\n\n protected readonly ready = signal(false);\n protected readonly smallScreen = signal(false);\n\n /** Stable ViewContainerRef inside <nav>, used to host flyout anchors when the chip DomPortal moves a trigger outside the nav.\n * @internal\n */\n readonly flyoutAnchorHost = viewChild('flyoutAnchorHost', { read: ViewContainerRef });\n\n /** All projected nav items, including descendants inside group templates.\n * @internal\n */\n private readonly items = contentChildren(SiNavbarVerticalNextItemComponent, {\n descendants: true\n });\n\n /** The active root-level item; group triggers resolve for nested routes.\n * @internal\n */\n readonly activeItem = computed(() => this.items().find(item => item.isActiveRootItem()));\n\n /** `true` when the active item's portal should occupy the chip slot.\n * @internal\n */\n readonly chipPortalAttached = computed(\n () => this.inlineCollapse() && this.collapsed() && !!this.activeItem()\n );\n\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly uiStateExpandedItems = signal<Record<string, boolean>>({});\n\n // Indicates if the user prefers a collapsed navbar. Relevant for resizing.\n private preferCollapse = false;\n\n protected readonly toggleIcon = computed(() => {\n if (this.inlineCollapse()) {\n return this.collapsed() ? this.icons.elementLayoutPane2 : this.icons.elementLayoutPane2Right;\n }\n return this.collapsed() ? this.icons.elementDoubleRight : this.icons.elementDoubleLeft;\n });\n\n /** `true` when inline-collapse is active and the nav is collapsed.\n * @internal\n */\n readonly chipMode = computed(() => this.inlineCollapse() && this.collapsed());\n\n /** `true` when groups should render as flyout overlays.\n * @internal\n */\n readonly flyoutMode = computed(() => this.alwaysFlyout() || this.collapsed());\n\n constructor() {\n this.breakpointObserver\n .observe(`(max-width: ${BOOTSTRAP_BREAKPOINTS.lgMinimum}px)`)\n .pipe(takeUntilDestroyed())\n .subscribe(({ matches }) => {\n this.collapsed.set(matches || this.preferCollapse);\n this.smallScreen.set(matches);\n });\n }\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.collapsed) {\n this.preferCollapse = this.collapsed();\n }\n }\n\n ngOnInit(): void {\n const stateId = this.stateId();\n if (this.uiStateService && stateId) {\n this.uiStateService.load<UIState>(stateId).then(uiState => {\n if (uiState) {\n this.preferCollapse = uiState.preferCollapse;\n this.collapsed.set(this.smallScreen() ? this.collapsed() : this.preferCollapse);\n if (uiState.expandedItems) {\n this.uiStateExpandedItems.set(uiState.expandedItems);\n }\n }\n afterNextRender(() => this.ready.set(true), { injector: this.injector });\n });\n } else {\n this.ready.set(true);\n }\n }\n\n protected toggleCollapse(): void {\n if (this.collapsed()) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /** Expands the vertical navbar. */\n expand(): void {\n this.collapsed.set(false);\n if (!this.smallScreen()) {\n this.preferCollapse = this.collapsed();\n }\n this.saveUIState();\n }\n\n /** Collapses the vertical navbar. */\n collapse(): void {\n this.collapsed.set(true);\n if (!this.smallScreen()) {\n this.preferCollapse = this.collapsed();\n }\n this.saveUIState();\n }\n\n /** @internal */\n groupStateChanged(stateId: string | undefined, expanded: boolean): void {\n if (stateId) {\n this.uiStateExpandedItems.update(items => ({ ...items, [stateId]: expanded }));\n }\n this.saveUIState();\n }\n\n protected saveUIState(): void {\n const stateId = this.stateId();\n if (!this.uiStateService || !stateId) {\n return;\n }\n\n this.uiStateService.save<UIState>(stateId, {\n preferCollapse: this.preferCollapse,\n expandedItems: this.uiStateExpandedItems()\n });\n }\n\n /** @internal */\n itemTriggered(): void {\n if (this.smallScreen()) {\n this.collapsed.set(true);\n }\n }\n}\n","@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside\">\n <button\n type=\"button\"\n class=\"btn btn-icon toggle-button\"\n [class.btn-primary-ghost]=\"chipMode()\"\n [class.btn-tertiary-ghost]=\"!chipMode()\"\n [attr.aria-label]=\"toggleButtonText() | translate\"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"toggleIcon()\" />\n </button>\n </div>\n </div>\n @if (inlineCollapse() && activeItem(); as item) {\n <div\n class=\"chip\"\n [class.chip-visible]=\"collapsed()\"\n [attr.inert]=\"collapsed() ? null : ''\"\n [attr.aria-hidden]=\"collapsed() ? null : 'true'\"\n >\n @if (chipPortalAttached()) {\n <ng-container [cdkPortalOutlet]=\"item.hostPortal\" />\n }\n </div>\n <ng-container #flyoutAnchorHost />\n }\n <div\n class=\"nav-content\"\n [attr.inert]=\"chipMode() ? '' : null\"\n [attr.aria-hidden]=\"chipMode() ? 'true' : null\"\n >\n <ng-content select=\"si-navbar-vertical-next-search\" />\n <ng-content select=\"si-navbar-vertical-next-items\" />\n <ng-content select=\"si-navbar-vertical-next-footer-items\" />\n </div>\n </nav>\n @if (inlineCollapse()) {\n <div class=\"toggle-placeholder\" aria-hidden=\"true\"></div>\n }\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * @experimental\n * We need a component to attach the stylesheet\n */\n@Component({\n selector: 'si-navbar-vertical-next-divider',\n template: '',\n styleUrl: './si-navbar-vertical-next-divider.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextDividerComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Content slot for footer items inside `si-navbar-vertical-next`.\n * Place `<a si-navbar-vertical-next-item>` and `<button si-navbar-vertical-next-item>` elements inside this component.\n * Footer items are pinned to the bottom of the navbar.\n * @experimental\n */\n@Component({\n selector: 'si-navbar-vertical-next-footer-items',\n template: '<ng-content />',\n styleUrl: './si-navbar-vertical-next-footer-items.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextFooterItemsComponent {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { CdkTrapFocus } from '@angular/cdk/a11y';\nimport { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { RouterLinkActive } from '@angular/router';\n\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-group',\n imports: [CdkTrapFocus],\n template: `@if (visible()) {\n @let flyout = groupTrigger.flyout();\n <div\n animate.leave=\"group-leave\"\n [class.inline-group]=\"!flyout\"\n [class.dropdown-menu]=\"flyout\"\n [cdkTrapFocus]=\"flyout\"\n [cdkTrapFocusAutoCapture]=\"flyout\"\n >\n <div [class.overflow-hidden]=\"!flyout\">\n <ng-content />\n </div>\n </div>\n }`,\n styleUrl: './si-navbar-vertical-next-group.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n role: 'group',\n '[id]': 'groupTrigger.groupId',\n '[attr.aria-labelledby]': 'groupTrigger.id',\n 'animate.enter': 'component-enter',\n '(keydown.escape)': 'close()'\n }\n})\nexport class SiNavbarVerticalNextGroupComponent {\n protected readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n protected readonly groupTrigger = inject(SiNavbarVerticalNextGroupTriggerDirective);\n private readonly routerLinkActive = inject(RouterLinkActive, { optional: true });\n\n protected readonly visible = computed(() => {\n return this.groupTrigger.flyout() || (!this.navbar.collapsed() && this.groupTrigger.expanded());\n });\n\n constructor() {\n this.routerLinkActive?.isActiveChange\n .pipe(takeUntilDestroyed())\n .subscribe(active => this.groupTrigger.active.set(active));\n }\n\n protected close(): void {\n this.groupTrigger.hideFlyout();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\n\nimport { SiNavbarVerticalNextDividerComponent } from './si-navbar-vertical-next-divider.component';\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-header',\n imports: [SiNavbarVerticalNextDividerComponent],\n template: `\n @if (!navbar.collapsed()) {\n <div class=\"title si-h5 text-secondary text-truncate p-5\" animate.leave=\"title-leave\">\n <ng-content />\n </div>\n } @else {\n <si-navbar-vertical-next-divider class=\"divider\" animate.leave=\"divider-leave\" />\n }\n `,\n styleUrl: './si-navbar-vertical-next-header.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.collapsed]': 'navbar.collapsed()',\n 'animate.enter': 'component-enter'\n }\n})\nexport class SiNavbarVerticalNextHeaderComponent {\n protected navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n output,\n viewChild\n} from '@angular/core';\nimport { elementSearch } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiSearchBarComponent } from '@siemens/element-ng/search-bar';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_NAVBAR_VERTICAL_NEXT } from './si-navbar-vertical-next.provider';\n\n/** @experimental */\n@Component({\n selector: 'si-navbar-vertical-next-search',\n imports: [SiIconComponent, SiSearchBarComponent, SiTranslatePipe],\n templateUrl: './si-navbar-vertical-next-search.component.html',\n styleUrl: './si-navbar-vertical-next-search.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiNavbarVerticalNextSearchComponent {\n protected readonly icons = addIcons({ elementSearch });\n\n /**\n * Placeholder text for the search bar\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`)\n * ```\n */\n readonly placeholder = input(\n t(() => $localize`:@@SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER:Search ...`)\n );\n\n /**\n * Debounce time for the search input\n * @defaultValue 400\n */\n readonly debounceTime = input(400);\n\n /**\n * Output for search bar input\n */\n readonly searchChange = output<string>();\n\n private readonly navbar = inject(SI_NAVBAR_VERTICAL_NEXT);\n private readonly searchBar = viewChild.required(SiSearchBarComponent);\n\n protected expandForSearch(): void {\n this.navbar.expand();\n setTimeout(() => this.searchBar().focus());\n }\n}\n","<si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"placeholder() | translate\"\n [debounceTime]=\"debounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"searchChange.emit($event)\"\n/>\n<button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile text-secondary\"\n [attr.aria-label]=\"placeholder() | translate\"\n (click)=\"expandForSearch()\"\n>\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n</button>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiNavbarVerticalNextDividerComponent } from './si-navbar-vertical-next-divider.component';\nimport { SiNavbarVerticalNextFooterItemsComponent } from './si-navbar-vertical-next-footer-items.component';\nimport { SiNavbarVerticalNextGroupTriggerDirective } from './si-navbar-vertical-next-group-trigger.directive';\nimport { SiNavbarVerticalNextGroupComponent } from './si-navbar-vertical-next-group.component';\nimport { SiNavbarVerticalNextHeaderComponent } from './si-navbar-vertical-next-header.component';\nimport { SiNavbarVerticalNextItemComponent } from './si-navbar-vertical-next-item.component';\nimport { SiNavbarVerticalNextItemsComponent } from './si-navbar-vertical-next-items.component';\nimport { SiNavbarVerticalNextSearchComponent } from './si-navbar-vertical-next-search.component';\nimport { SiNavbarVerticalNextComponent } from './si-navbar-vertical-next.component';\n\n/** @experimental */\n@NgModule({\n imports: [\n SiNavbarVerticalNextComponent,\n SiNavbarVerticalNextDividerComponent,\n SiNavbarVerticalNextFooterItemsComponent,\n SiNavbarVerticalNextGroupComponent,\n SiNavbarVerticalNextGroupTriggerDirective,\n SiNavbarVerticalNextHeaderComponent,\n SiNavbarVerticalNextItemComponent,\n SiNavbarVerticalNextItemsComponent,\n SiNavbarVerticalNextSearchComponent\n ],\n exports: [\n SiNavbarVerticalNextComponent,\n SiNavbarVerticalNextDividerComponent,\n SiNavbarVerticalNextFooterItemsComponent,\n SiNavbarVerticalNextGroupComponent,\n SiNavbarVerticalNextGroupTriggerDirective,\n SiNavbarVerticalNextHeaderComponent,\n SiNavbarVerticalNextItemComponent,\n SiNavbarVerticalNextItemsComponent,\n SiNavbarVerticalNextSearchComponent\n ]\n})\nexport class SiNavbarVerticalNextModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-navbar-vertical-next-items.component';\nexport * from './si-navbar-vertical-next.component';\nexport * from './si-navbar-vertical-next-divider.component';\nexport * from './si-navbar-vertical-next-footer-items.component';\nexport * from './si-navbar-vertical-next-group-trigger.directive';\nexport * from './si-navbar-vertical-next-group.component';\nexport * from './si-navbar-vertical-next-header.component';\nexport * from './si-navbar-vertical-next-item.component';\nexport * from './si-navbar-vertical-next-search.component';\nexport * from './si-navbar-vertical-next.component';\nexport * from './si-navbar-vertical-next.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;AAGG;AAGH;;;;AAIG;MAOU,kCAAkC,CAAA;uGAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,yFAJnC,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIf,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAN9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAAA,QAAA,EAC/B,gBAAgB,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,iPAAA,CAAA,EAAA;;;ACfjD;;;AAGG;AAKH;AACO,MAAM,uBAAuB,GAAG,IAAI,cAAc,CACvD,yBAAyB,CAC1B;;ACXD;;;AAGG;AA6BH;;;;;;AAMG;AACH,MAMM,6BAA6B,CAAA;IACxB,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;uGAD9B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,sRAJvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIR,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE,EAAE,kBAAkB,EAAE,WAAW;AACxC,iBAAA;;AAKD;MAYa,yCAAyC,CAAA;AAC5C,IAAA,OAAO,SAAS,GAAG,CAAC;;AAGnB,IAAA,OAAO,GAAG,CAAA,8BAAA,EAAiC,yCAAyC,CAAC,SAAS,EAAE,EAAE;AAClG,IAAA,EAAE,GAAG,CAAA,EAAG,IAAI,CAAC,OAAO,UAAU;IAE9B,aAAa,GAAG,KAAK,CAAC,QAAQ,yDACrC,KAAK,EAAE,qCAAqC,EAAA,CAC5C;IAEO,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;AAGzB,IAAA,QAAQ,GAAG,YAAY,CAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,GAAA,EAAA,CAAA,EAI9B,MAAM,EAAE,MAAK;AACX,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,OAAO;AACL,gBAAA,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,GAAG,SAAS;AAC1E,gBAAA,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;aACvC;QACH,CAAC;AACD,QAAA,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAI;;;AAGhC,YAAA,IAAI,QAAQ,IAAI,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE;AACpE,gBAAA,OAAO,CAAC,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/D;;;AAGA,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;gBAChC,OAAO,MAAM,CAAC,OAAO;YACvB;AACA,YAAA,OAAO,QAAQ,EAAE,KAAK,IAAI,KAAK;AACjC,QAAA,CAAC,GACD;AAEF;;;;;AAKG;IACM,MAAM,GAAG,YAAY,CAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,QAAA,EAAA,GAAA,EAAA,CAAA,EAC5B,MAAM,EAAE,MAAM,IAAI,CAAC,UAAU,EAAE;AAC/B,QAAA,WAAW,EAAE,MAAM,KAAK,GACxB;AAEF;;AAEG;AACM,IAAA,MAAM,GAAG,MAAM,CAAU,KAAK,kDAAC;AAErB,IAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAE3D;;AAEG;AACM,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,sDAAC;AAEtD,IAAA,8BAA8B;AACrB,IAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AAC/B,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AACvE,IAAA,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAChD,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AACpE,KAAA,CAAC;AACM,IAAA,SAAS;AACT,IAAA,wBAAwB;IACf,cAAc,GAAG,QAAQ,CACxC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAC7F;AAED,IAAA,WAAA,GAAA;;;;QAIE,MAAM,CAAC,MAAK;YACV,IAAI,CAAC,UAAU,EAAE;YACjB,SAAS,CAAC,MAAK;gBACb,IAAI,CAAC,YAAY,EAAE;gBACnB,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC3B,QAAA,CAAC,CAAC;IACJ;;AAGQ,IAAA,qBAAqB,CAAC,QAAiB,EAAA;QAC7C,MAAM,SAAS,GAA6B;AAC1C,cAAE;AACE,gBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC3E,gBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK;AAC1E;AACH,cAAE;AACE,gBAAA,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AACtE,gBAAA,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;aAC3E;QAEL,OAAO,IAAI,CAAC;AACT,aAAA,QAAQ;AACR,aAAA,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO;aAC9C,aAAa,CAAC,SAAS,CAAC;IAC7B;;IAGA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE;QACnB,IAAI,CAAC,YAAY,EAAE;IACrB;IAEU,SAAS,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;YACrB,IAAI,CAAC,YAAY,EAAE;QACrB;aAAO;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChE;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE;QACnB;aAAO;AACL,YAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE;QACrB;IACF;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE;YACtF,QAAQ,EAAE,IAAI,CAAC;AAChB,SAAA,CAAC;IACJ;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC1F,QAAA,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE;AACzB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;;;AAG9D,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,aAAa;QACvE,IAAI,CAAC,wBAAwB,GAAG,UAAU,CAAC,eAAe,CAAC,6BAA6B,CAAC;QACzF,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC;AAC/D,QAAA,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC;AACxC,aAAA,oBAAoB;aACpB,SAAS,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IACvC;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,wBAAwB,EAAE,OAAO,EAAE;AACxC,QAAA,IAAI,CAAC,wBAAwB,GAAG,SAAS;AACzC,QAAA,IAAI,CAAC,8BAA8B,EAAE,WAAW,EAAE;AAClD,QAAA,IAAI,CAAC,8BAA8B,GAAG,SAAS;IACjD;uGAtKW,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAzC,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,qCAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,YAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,sCAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAzC,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAXrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,6CAA6C;AACvD,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,MAAM,EAAE,IAAI;AACZ,wBAAA,cAAc,EAAE,YAAY;AAC5B,wBAAA,sBAAsB,EAAE,SAAS;AACjC,wBAAA,sBAAsB,EAAE,sCAAsC;AAC9D,wBAAA,SAAS,EAAE;AACZ;AACF,iBAAA;;;AC5DD;;;AAGG;AAqBH;MAmBa,iCAAiC,CAAA;IACzB,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;;IAG3D,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAGtB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAmB;;IAGhC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAErC;;;;AAIG;IACM,sBAAsB,GAAG,KAAK,CAAC,KAAK,mEAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;;IAGtE,cAAc,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAW;AAEvB,IAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACxC,IAAA,MAAM,GAAG,MAAM,CAAC,iCAAiC,EAAE;AACpE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;AACO,IAAA,KAAK,GAAG,MAAM,CAAC,yCAAyC,EAAE;AACjE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,IAAI,EAAE;AACP,KAAA,CAAC;IACe,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEhF;;AAEG;IACc,YAAY,GAAG,QAAQ,CACtC,IAAI,CAAC,gBAAgB,EAAE,cAAc,IAAK,KAA6B,EACvE,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAE,QAAQ,IAAI,KAAK,EAAE,CAC3D;;AAGgB,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzE;;AAEG;IACM,UAAU,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;AAElE;;AAEG;AACM,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,oDAAC;AAE1D;;AAEG;AACgB,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC/C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK;AAC1E,IAAA,CAAC,yDAAC;AAEF;;;;;;;AAOG;AACgB,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACnB,YAAA,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE;QACjE;AACA,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE;AACtB,IAAA,CAAC,sDAAC;AAEF;;AAEG;AACgB,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAChD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AACjC,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,OAAO,KAAK,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE;QAC9C;AACA,QAAA,OAAO,KAAK,CAAC,QAAQ,EAAE;AACzB,IAAA,CAAC,0DAAC;AAEF;;AAEG;AACc,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,0DAAC;AAEhG;;AAEG;IACc,eAAe,GAAG,QAAQ,CACzC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,2DACtD;AAED;;;;;;;;;AASG;IACM,MAAM,GAAG,QAAQ,CACxB,MACE,IAAI,CAAC,cAAc,EAAE;SACpB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACnF;AAED;;AAEG;AACM,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,4DAAC;AAElF;;AAEG;AACM,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,gBAAgB,EAAE,kDAAC;IAE7F,QAAQ,GAAA;QACN,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QAC/B;IACF;IAEU,SAAS,GAAA;AACjB,QAAA,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;QAC7B;IACF;uGA5IW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,sBAAA,EAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,UAAA,EAAA,wBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,aAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,WAAA,EAAA,cAAA,EAAA,cAAA,EAAA,eAAA,EAAA,UAAA,EAAA,WAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,0BAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3C9C,6rBAyBA,EAAA,MAAA,EAAA,CAAA,8pGAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAed,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAlB7C,SAAS;+BAEE,uEAAuE,EAAA,OAAA,EACxE,CAAC,eAAe,CAAC,mBAGT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,sBAAsB,EAAE,yBAAyB;AACjD,wBAAA,8BAA8B,EAAE,WAAW;AAC3C,wBAAA,gBAAgB,EAAE,cAAc;AAChC,wBAAA,iBAAiB,EAAE,UAAU;AAC7B,wBAAA,aAAa,EAAE,UAAU;AACzB,wBAAA,2BAA2B,EAAE,UAAU;AACvC,wBAAA,8BAA8B,EAAE,0BAA0B;AAC1D,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,6rBAAA,EAAA,MAAA,EAAA,CAAA,8pGAAA,CAAA,EAAA;;;AEzCH;;;AAGG;AA2CH;MAiBa,6BAA6B,CAAA;IACrB,KAAK,GAAG,QAAQ,CAAC;QAClC,iBAAiB;QACjB,kBAAkB;QAClB,kBAAkB;QAClB;AACD,KAAA,CAAC;AAEF;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AAEjC;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEjE;;;;;;;AAOG;IACM,cAAc,GAAG,KAAK,CAAC,KAAK,2DAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEvE;;;;;;AAMG;IACM,YAAY,GAAG,KAAK,CAAC,KAAK,yDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAErE;;;;;;;AAOG;IACM,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE/D;;;;;;;;AAQG;AACM,IAAA,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,mCAAA,CAAqC,CAAC,4DAAC;AAE1F;;;AAGG;IACM,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAElC;;;;;;;AAOG;AACM,IAAA,uBAAuB,GAAG,KAAK,CACtC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,2DAAA,CAA6D,CAAC,mEAChF;AAED;;;;;;;AAOG;AACM,IAAA,wBAAwB,GAAG,KAAK,CACvC,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,uDAAA,CAAyD,CAAC,oEAC5E;IACO,cAAc,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAChE,IAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAC/C,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAEhB,IAAA,KAAK,GAAG,MAAM,CAAC,KAAK,iDAAC;AACrB,IAAA,WAAW,GAAG,MAAM,CAAC,KAAK,uDAAC;AAE9C;;AAEG;IACM,gBAAgB,GAAG,SAAS,CAAC,kBAAkB,6DAAI,IAAI,EAAE,gBAAgB,EAAA,CAAG;AAErF;;AAEG;IACc,KAAK,GAAG,eAAe,CAAC,iCAAiC,kDACxE,WAAW,EAAE,IAAI,EAAA,CACjB;AAEF;;AAEG;IACM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAExF;;AAEG;IACM,kBAAkB,GAAG,QAAQ,CACpC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CACvE;AAED;;;;;AAKG;AACM,IAAA,oBAAoB,GAAG,MAAM,CAA0B,EAAE,gEAAC;;IAG3D,cAAc,GAAG,KAAK;AAEX,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB;QAC9F;QACA,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB;AACxF,IAAA,CAAC,sDAAC;AAEF;;AAEG;AACM,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,oDAAC;AAE7E;;AAEG;AACM,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,sDAAC;AAE7E,IAAA,WAAA,GAAA;AACE,QAAA,IAAI,CAAC;AACF,aAAA,OAAO,CAAC,CAAA,YAAA,EAAe,qBAAqB,CAAC,SAAS,KAAK;aAC3D,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;YACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;AAClD,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC;AAC/B,QAAA,CAAC,CAAC;IACN;AAEA,IAAA,WAAW,CAAC,OAA4B,EAAA;AACtC,QAAA,IAAI,OAAO,CAAC,SAAS,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE;QACxC;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,QAAA,IAAI,IAAI,CAAC,cAAc,IAAI,OAAO,EAAE;AAClC,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAU,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAG;gBACxD,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc;oBAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;AAC/E,oBAAA,IAAI,OAAO,CAAC,aAAa,EAAE;wBACzB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;oBACtD;gBACF;gBACA,eAAe,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC1E,YAAA,CAAC,CAAC;QACJ;aAAO;AACL,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QACtB;IACF;IAEU,cAAc,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,IAAI,CAAC,MAAM,EAAE;QACf;aAAO;YACL,IAAI,CAAC,QAAQ,EAAE;QACjB;IACF;;IAGA,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE;QACxC;QACA,IAAI,CAAC,WAAW,EAAE;IACpB;;IAGA,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,EAAE;QACxC;QACA,IAAI,CAAC,WAAW,EAAE;IACpB;;IAGA,iBAAiB,CAAC,OAA2B,EAAE,QAAiB,EAAA;QAC9D,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,OAAO,GAAG,QAAQ,EAAE,CAAC,CAAC;QAChF;QACA,IAAI,CAAC,WAAW,EAAE;IACpB;IAEU,WAAW,GAAA;AACnB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,OAAO,EAAE;YACpC;QACF;AAEA,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAU,OAAO,EAAE;YACzC,cAAc,EAAE,IAAI,CAAC,cAAc;AACnC,YAAA,aAAa,EAAE,IAAI,CAAC,oBAAoB;AACzC,SAAA,CAAC;IACJ;;IAGA,aAAa,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B;IACF;uGA3OW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,iBAAA,EAAA,yBAAA,EAAA,UAAA,EAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,wBAAA,EAAA,EAAA,iBAAA,EAAA,0BAAA,EAAA,UAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,YAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,uBAAA,EAAA,EAAA,SAAA,EAX7B,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC,gDAqHpD,iCAAiC,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EALR,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpKpF,i9DA4DA,EAAA,MAAA,EAAA,CAAA,mzJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDXY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAcxE,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAhBzC,SAAS;+BACE,yBAAyB,EAAA,OAAA,EAC1B,CAAC,YAAY,EAAE,eAAe,EAAE,yBAAyB,EAAE,eAAe,CAAC,EAAA,SAAA,EAGzE,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAA,6BAA+B,EAAE,CAAC,EAAA,eAAA,EAC5E,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,uBAAuB;AAC9B,wBAAA,uBAAuB,EAAE,aAAa;AACtC,wBAAA,uBAAuB,EAAE,YAAY;AACrC,wBAAA,6BAA6B,EAAE,kBAAkB;AACjD,wBAAA,iBAAiB,EAAE,WAAW;AAC9B,wBAAA,eAAe,EAAE;AAClB,qBAAA,EAAA,QAAA,EAAA,i9DAAA,EAAA,MAAA,EAAA,CAAA,mzJAAA,CAAA,EAAA;wlCAuGqC,kBAAkB,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAK3C,iCAAiC,CAAA,EAAA,EAAA,GAAE;AAC1E,4BAAA,WAAW,EAAE;AACd,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AE3KH;;;AAGG;AAGH;;;AAGG;MAOU,oCAAoC,CAAA;uGAApC,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,2FAJrC,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAID,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBANhD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,EAAA,QAAA,EACjC,EAAE,EAAA,eAAA,EAEK,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,gHAAA,CAAA,EAAA;;;ACdjD;;;AAGG;AAGH;;;;;AAKG;MAOU,wCAAwC,CAAA;uGAAxC,wCAAwC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wCAAwC,gGAJzC,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,4NAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAIf,wCAAwC,EAAA,UAAA,EAAA,CAAA;kBANpD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sCAAsC,EAAA,QAAA,EACtC,gBAAgB,EAAA,eAAA,EAET,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,4NAAA,CAAA,EAAA;;;AChBjD;;;AAGG;AASH;MA4Ba,kCAAkC,CAAA;AAC1B,IAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACxC,IAAA,YAAY,GAAG,MAAM,CAAC,yCAAyC,CAAC;IAClE,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAE7D,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;AACjG,IAAA,CAAC,mDAAC;AAEF,IAAA,WAAA,GAAA;QACE,IAAI,CAAC,gBAAgB,EAAE;aACpB,IAAI,CAAC,kBAAkB,EAAE;AACzB,aAAA,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9D;IAEU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;IAChC;uGAjBW,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAxBnC,CAAA;;;;;;;;;;;;;AAaR,GAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAdQ,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAyBX,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBA3B9C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAAA,OAAA,EAChC,CAAC,YAAY,CAAC,EAAA,QAAA,EACb,CAAA;;;;;;;;;;;;;IAaR,EAAA,eAAA,EAEe,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,MAAM,EAAE,sBAAsB;AAC9B,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,wBAAA,eAAe,EAAE,iBAAiB;AAClC,wBAAA,kBAAkB,EAAE;AACrB,qBAAA,EAAA,MAAA,EAAA,CAAA,gcAAA,CAAA,EAAA;;;ACtCH;;;AAGG;AAMH;MAoBa,mCAAmC,CAAA;AACpC,IAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;uGADvC,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhBpC;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,oCAAoC,EAAA,QAAA,EAAA,iCAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAiBnC,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAnB/C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gCAAgC,EAAA,OAAA,EACjC,CAAC,oCAAoC,CAAC,EAAA,QAAA,EACrC;;;;;;;;GAQT,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,mBAAmB,EAAE,oBAAoB;AACzC,wBAAA,eAAe,EAAE;AAClB,qBAAA,EAAA,MAAA,EAAA,CAAA,2qBAAA,CAAA,EAAA;;;AC3BH;;;AAGG;AAgBH;MAQa,mCAAmC,CAAA;AAC3B,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;AAEtD;;;;;;;AAOG;AACM,IAAA,WAAW,GAAG,KAAK,CAC1B,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,mDAAA,CAAqD,CAAC,uDACxE;AAED;;;AAGG;AACM,IAAA,YAAY,GAAG,KAAK,CAAC,GAAG,wDAAC;AAElC;;AAEG;IACM,YAAY,GAAG,MAAM,EAAU;AAEvB,IAAA,MAAM,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACxC,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IAE3D,eAAe,GAAA;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;AACpB,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC;IAC5C;uGAhCW,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnC,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA2BE,oBAAoB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtDtE,0fAiBA,6lBDKY,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,sBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,UAAA,EAAA,WAAA,EAAA,sBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKrD,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAP/C,SAAS;+BACE,gCAAgC,EAAA,OAAA,EACjC,CAAC,eAAe,EAAE,oBAAoB,EAAE,eAAe,CAAC,EAAA,eAAA,EAGhD,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0fAAA,EAAA,MAAA,EAAA,CAAA,qiBAAA,CAAA,EAAA;sWA6BC,oBAAoB,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEtDtE;;;AAGG;AAaH;MAyBa,0BAA0B,CAAA;uGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAtBnC,6BAA6B;YAC7B,oCAAoC;YACpC,wCAAwC;YACxC,kCAAkC;YAClC,yCAAyC;YACzC,mCAAmC;YACnC,iCAAiC;YACjC,kCAAkC;AAClC,YAAA,mCAAmC,aAGnC,6BAA6B;YAC7B,oCAAoC;YACpC,wCAAwC;YACxC,kCAAkC;YAClC,yCAAyC;YACzC,mCAAmC;YACnC,iCAAiC;YACjC,kCAAkC;YAClC,mCAAmC,CAAA,EAAA,CAAA;AAG1B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAtBnC,6BAA6B;YAM7B,iCAAiC;YAEjC,mCAAmC,CAAA,EAAA,CAAA;;2FAc1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAxBtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,oCAAoC;wBACpC,wCAAwC;wBACxC,kCAAkC;wBAClC,yCAAyC;wBACzC,mCAAmC;wBACnC,iCAAiC;wBACjC,kCAAkC;wBAClC;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,oCAAoC;wBACpC,wCAAwC;wBACxC,kCAAkC;wBAClC,yCAAyC;wBACzC,mCAAmC;wBACnC,iCAAiC;wBACjC,kCAAkC;wBAClC;AACD;AACF,iBAAA;;;ACxCD;;;AAGG;;ACHH;;AAEG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BreakpointObserver } from '@angular/cdk/layout';
|
|
2
2
|
import { NgTemplateOutlet } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, InjectionToken, input, model, signal, inject, ViewContainerRef, Injector, computed,
|
|
4
|
+
import { ChangeDetectionStrategy, Component, InjectionToken, input, model, signal, inject, ViewContainerRef, Injector, computed, effect, Directive, viewChildren, booleanAttribute, output, viewChild, afterNextRender, NgModule } from '@angular/core';
|
|
5
5
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
6
|
import { RouterLinkActive, ActivatedRoute, RouterLink } from '@angular/router';
|
|
7
7
|
import { elementDown2, elementSearch, elementDoubleRight, elementDoubleLeft } from '@siemens/element-icons';
|
|
@@ -24,11 +24,11 @@ import { SiLinkDirective } from '@siemens/element-ng/link';
|
|
|
24
24
|
// We need a component to attach the stylesheet
|
|
25
25
|
class SiNavbarVerticalDividerComponent {
|
|
26
26
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalDividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiNavbarVerticalDividerComponent, isStandalone: true, selector: "si-navbar-vertical-divider", ngImport: i0, template: '', isInline: true, styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"] });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SiNavbarVerticalDividerComponent, isStandalone: true, selector: "si-navbar-vertical-divider", ngImport: i0, template: '', isInline: true, styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
28
28
|
}
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalDividerComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
|
-
args: [{ selector: 'si-navbar-vertical-divider', template: '', styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"] }]
|
|
31
|
+
args: [{ selector: 'si-navbar-vertical-divider', template: '', changeDetection: ChangeDetectionStrategy.Default, styles: [":host{display:block;block-size:1px;background-color:var(--element-ui-4);margin-block:6px;margin-inline:12px}\n"] }]
|
|
32
32
|
}] });
|
|
33
33
|
|
|
34
34
|
/**
|
|
@@ -50,13 +50,14 @@ const SI_NAVBAR_VERTICAL = new InjectionToken('SI_NAVBAR_VERTICAL');
|
|
|
50
50
|
class SiNavbarFlyoutAnchorComponent {
|
|
51
51
|
groupId = input(...(ngDevMode ? [undefined, { debugName: "groupId" }] : []));
|
|
52
52
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiNavbarFlyoutAnchorComponent, isStandalone: true, selector: "si-navbar-flyout-anchor", inputs: { groupId: { classPropertyName: "groupId", publicName: "groupId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-owns": "groupId()" } }, ngImport: i0, template: '', isInline: true });
|
|
53
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiNavbarFlyoutAnchorComponent, isStandalone: true, selector: "si-navbar-flyout-anchor", inputs: { groupId: { classPropertyName: "groupId", publicName: "groupId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-owns": "groupId()" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
54
54
|
}
|
|
55
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarFlyoutAnchorComponent, decorators: [{
|
|
56
56
|
type: Component,
|
|
57
57
|
args: [{
|
|
58
58
|
selector: 'si-navbar-flyout-anchor',
|
|
59
59
|
template: '',
|
|
60
|
+
changeDetection: ChangeDetectionStrategy.Default,
|
|
60
61
|
host: { '[attr.aria-owns]': 'groupId()' }
|
|
61
62
|
}]
|
|
62
63
|
}], propDecorators: { groupId: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupId", required: false }] }] } });
|
|
@@ -90,6 +91,22 @@ class SiNavbarVerticalGroupTriggerDirective {
|
|
|
90
91
|
groupView;
|
|
91
92
|
flyoutAnchorComponentRef;
|
|
92
93
|
templatePortal = computed(() => new TemplatePortal(this.groupTemplate(), this.viewContainer, this.groupData(), this.injector), ...(ngDevMode ? [{ debugName: "templatePortal" }] : []));
|
|
94
|
+
constructor() {
|
|
95
|
+
effect(() => {
|
|
96
|
+
const data = this.groupData();
|
|
97
|
+
const view = this.groupView;
|
|
98
|
+
if (data && view && !view.destroyed) {
|
|
99
|
+
const context = view.context;
|
|
100
|
+
if (context) {
|
|
101
|
+
context.group = data.group;
|
|
102
|
+
if (data.item !== undefined) {
|
|
103
|
+
context.item = data.item;
|
|
104
|
+
}
|
|
105
|
+
view.detectChanges();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
93
110
|
ngOnInit() {
|
|
94
111
|
this.attachInline();
|
|
95
112
|
}
|
|
@@ -154,7 +171,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
154
171
|
'(click)': 'triggered()'
|
|
155
172
|
}
|
|
156
173
|
}]
|
|
157
|
-
}], propDecorators: { groupTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "siNavbarVerticalGroupTriggerFor", required: true }] }], groupData: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupData", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: true }] }, { type: i0.Output, args: ["expandedChange"] }] } });
|
|
174
|
+
}], ctorParameters: () => [], propDecorators: { groupTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "siNavbarVerticalGroupTriggerFor", required: true }] }], groupData: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupData", required: false }] }], stateId: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateId", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: true }] }, { type: i0.Output, args: ["expandedChange"] }] } });
|
|
158
175
|
|
|
159
176
|
/**
|
|
160
177
|
* Copyright (c) Siemens 2016 - 2026
|
|
@@ -190,7 +207,7 @@ class SiNavbarVerticalGroupComponent {
|
|
|
190
207
|
<ng-content />
|
|
191
208
|
</div>
|
|
192
209
|
</div>
|
|
193
|
-
}`, isInline: true, styles: [":host.component-enter .inline-group{transition:none}.inline-group{display:grid;transition-property:grid-template-rows,opacity;transition-duration:calc(.5s * var(--element-animations-enabled, 1));transition-timing-function:ease;opacity:1;grid-template-rows:1fr;overflow:hidden}@starting-style{.inline-group{grid-template-rows:0fr;opacity:0}}.inline-group.group-leave{grid-template-rows:0fr;opacity:0}.dropdown-menu{display:block;position:static}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }] });
|
|
210
|
+
}`, isInline: true, styles: [":host.component-enter .inline-group{transition:none}.inline-group{display:grid;transition-property:grid-template-rows,opacity;transition-duration:calc(.5s * var(--element-animations-enabled, 1));transition-timing-function:ease;opacity:1;grid-template-rows:1fr;overflow:hidden}@starting-style{.inline-group{grid-template-rows:0fr;opacity:0}}.inline-group.group-leave{grid-template-rows:0fr;opacity:0}.dropdown-menu{display:block;position:static}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
194
211
|
}
|
|
195
212
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalGroupComponent, decorators: [{
|
|
196
213
|
type: Component,
|
|
@@ -206,7 +223,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
206
223
|
<ng-content />
|
|
207
224
|
</div>
|
|
208
225
|
</div>
|
|
209
|
-
}`, host: {
|
|
226
|
+
}`, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
210
227
|
role: 'group',
|
|
211
228
|
'[id]': 'groupTrigger.groupId',
|
|
212
229
|
'[attr.aria-labelledby]': 'groupTrigger.id',
|
|
@@ -230,7 +247,7 @@ class SiNavbarVerticalHeaderComponent {
|
|
|
230
247
|
} @else {
|
|
231
248
|
<si-navbar-vertical-divider class="divider" animate.leave="divider-leave" />
|
|
232
249
|
}
|
|
233
|
-
`, isInline: true, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 24px);transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"], dependencies: [{ kind: "component", type: SiNavbarVerticalDividerComponent, selector: "si-navbar-vertical-divider" }] });
|
|
250
|
+
`, isInline: true, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 24px);transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"], dependencies: [{ kind: "component", type: SiNavbarVerticalDividerComponent, selector: "si-navbar-vertical-divider" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
234
251
|
}
|
|
235
252
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalHeaderComponent, decorators: [{
|
|
236
253
|
type: Component,
|
|
@@ -242,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
242
259
|
} @else {
|
|
243
260
|
<si-navbar-vertical-divider class="divider" animate.leave="divider-leave" />
|
|
244
261
|
}
|
|
245
|
-
`, host: {
|
|
262
|
+
`, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
246
263
|
'[class.collapsed]': 'navbar.collapsed()',
|
|
247
264
|
'animate.enter': 'component-enter'
|
|
248
265
|
}, styles: [".divider,.title{opacity:1;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) calc(.25s * var(--element-animations-enabled, 1)) ease-out}@starting-style{.divider,.title{opacity:0}}:host{display:flex;align-items:center;block-size:calc(1lh + 24px);transition:block-size calc(.5s * var(--element-animations-enabled, 1)) ease-out}:host.collapsed{block-size:13px}:host.component-enter{transition:none}:host.component-enter .title,:host.component-enter .divider{transition:none}.title.title-leave{opacity:0;transition:opacity calc(.25s * var(--element-animations-enabled, 1)) ease-in}.divider{flex:1;margin-block:0}.divider.divider-leave{opacity:0;transition-delay:0s}\n"] }]
|
|
@@ -363,7 +380,7 @@ class SiNavbarVerticalItemLegacyComponent {
|
|
|
363
380
|
itemActive = computed(() => (this.navbar.collapsed() || !this.expanded()) && this.siLinks().some(link => link.active()), ...(ngDevMode ? [{ debugName: "itemActive" }] : []));
|
|
364
381
|
navbar = inject(SI_NAVBAR_VERTICAL);
|
|
365
382
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalItemLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
366
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalItemLegacyComponent, isStandalone: true, selector: "si-navbar-vertical-item-legacy", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, navbarExpandButtonText: { classPropertyName: "navbarExpandButtonText", publicName: "navbarExpandButtonText", isSignal: true, isRequired: true, transformFunction: null }, navbarCollapseButtonText: { classPropertyName: "navbarCollapseButtonText", publicName: "navbarCollapseButtonText", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { classAttribute: "d-block mb-4" }, viewQueries: [{ propertyName: "siLinks", predicate: SiLinkDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- section header -->\n@if (!isLink() && !item().items) {\n <si-navbar-vertical-header>\n {{ item().title | translate }}\n </si-navbar-vertical-header>\n} @else if (isLink() && !item().items) {\n <a [si-navbar-vertical-item]=\"item()\" [siLink]=\"item()\">\n {{ item().title | translate }}\n </a>\n} @else if (isLink() && item().items) {\n <div class=\"link-with-items\">\n <a\n #mainLink\n [si-navbar-vertical-item]=\"item()\"\n [siLink]=\"item()\"\n [activeOverride]=\"itemActive()\"\n >\n {{ item().title | translate }}\n </a>\n <button\n type=\"button\"\n class=\"mt-0\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"mainLink.active\"\n [attr.aria-label]=\"toggleButtonLabel() + ' ' + item().title | translate\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n </div>\n} @else if (item().items) {\n <button\n type=\"button\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"itemActive()\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n}\n\n<ng-template #group>\n <si-navbar-vertical-group>\n @for (subitem of flyoutItems(); track $index) {\n <a activeClass=\"active\" [si-navbar-vertical-item]=\"subitem\" [siLink]=\"subitem\">\n {{ subitem.title | translate }}\n </a>\n }\n </si-navbar-vertical-group>\n</ng-template>\n", styles: [".link-with-items{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"- -\" \"items items\"}si-navbar-vertical-group{grid-area:items}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiNavbarVerticalItemComponent, selector: "a[si-navbar-vertical-item], button[si-navbar-vertical-item]", inputs: ["si-navbar-vertical-item", "activeOverride"] }, { kind: "directive", type: SiNavbarVerticalGroupTriggerDirective, selector: "button[siNavbarVerticalGroupTriggerFor]", inputs: ["siNavbarVerticalGroupTriggerFor", "groupData", "stateId", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiNavbarVerticalGroupComponent, selector: "si-navbar-vertical-group" }, { kind: "component", type: SiNavbarVerticalHeaderComponent, selector: "si-navbar-vertical-header" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
383
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalItemLegacyComponent, isStandalone: true, selector: "si-navbar-vertical-item-legacy", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, navbarExpandButtonText: { classPropertyName: "navbarExpandButtonText", publicName: "navbarExpandButtonText", isSignal: true, isRequired: true, transformFunction: null }, navbarCollapseButtonText: { classPropertyName: "navbarCollapseButtonText", publicName: "navbarCollapseButtonText", isSignal: true, isRequired: true, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { classAttribute: "d-block mb-4" }, viewQueries: [{ propertyName: "siLinks", predicate: SiLinkDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- section header -->\n@if (!isLink() && !item().items) {\n <si-navbar-vertical-header>\n {{ item().title | translate }}\n </si-navbar-vertical-header>\n} @else if (isLink() && !item().items) {\n <a [si-navbar-vertical-item]=\"item()\" [siLink]=\"item()\">\n {{ item().title | translate }}\n </a>\n} @else if (isLink() && item().items) {\n <div class=\"link-with-items\">\n <a\n #mainLink\n [si-navbar-vertical-item]=\"item()\"\n [siLink]=\"item()\"\n [activeOverride]=\"itemActive()\"\n >\n {{ item().title | translate }}\n </a>\n <button\n type=\"button\"\n class=\"mt-0\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"mainLink.active\"\n [attr.aria-label]=\"toggleButtonLabel() + ' ' + item().title | translate\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n </div>\n} @else if (item().items) {\n <button\n type=\"button\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"itemActive()\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n}\n\n<ng-template #group>\n <si-navbar-vertical-group>\n @for (subitem of flyoutItems(); track $index) {\n <a activeClass=\"active\" [si-navbar-vertical-item]=\"subitem\" [siLink]=\"subitem\">\n {{ subitem.title | translate }}\n </a>\n }\n </si-navbar-vertical-group>\n</ng-template>\n", styles: [".link-with-items{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"- -\" \"items items\"}si-navbar-vertical-group{grid-area:items}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiNavbarVerticalItemComponent, selector: "a[si-navbar-vertical-item], button[si-navbar-vertical-item]", inputs: ["si-navbar-vertical-item", "activeOverride"] }, { kind: "directive", type: SiNavbarVerticalGroupTriggerDirective, selector: "button[siNavbarVerticalGroupTriggerFor]", inputs: ["siNavbarVerticalGroupTriggerFor", "groupData", "stateId", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiNavbarVerticalGroupComponent, selector: "si-navbar-vertical-group" }, { kind: "component", type: SiNavbarVerticalHeaderComponent, selector: "si-navbar-vertical-header" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
367
384
|
}
|
|
368
385
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalItemLegacyComponent, decorators: [{
|
|
369
386
|
type: Component,
|
|
@@ -374,7 +391,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
374
391
|
SiNavbarVerticalGroupTriggerDirective,
|
|
375
392
|
SiNavbarVerticalGroupComponent,
|
|
376
393
|
SiNavbarVerticalHeaderComponent
|
|
377
|
-
], host: {
|
|
394
|
+
], changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
378
395
|
'class': 'd-block mb-4'
|
|
379
396
|
}, template: "<!-- section header -->\n@if (!isLink() && !item().items) {\n <si-navbar-vertical-header>\n {{ item().title | translate }}\n </si-navbar-vertical-header>\n} @else if (isLink() && !item().items) {\n <a [si-navbar-vertical-item]=\"item()\" [siLink]=\"item()\">\n {{ item().title | translate }}\n </a>\n} @else if (isLink() && item().items) {\n <div class=\"link-with-items\">\n <a\n #mainLink\n [si-navbar-vertical-item]=\"item()\"\n [siLink]=\"item()\"\n [activeOverride]=\"itemActive()\"\n >\n {{ item().title | translate }}\n </a>\n <button\n type=\"button\"\n class=\"mt-0\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"mainLink.active\"\n [attr.aria-label]=\"toggleButtonLabel() + ' ' + item().title | translate\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n </div>\n} @else if (item().items) {\n <button\n type=\"button\"\n [si-navbar-vertical-item]=\"item()\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [activeOverride]=\"itemActive()\"\n [(expanded)]=\"expanded\"\n >\n {{ item().title | translate }}\n </button>\n}\n\n<ng-template #group>\n <si-navbar-vertical-group>\n @for (subitem of flyoutItems(); track $index) {\n <a activeClass=\"active\" [si-navbar-vertical-item]=\"subitem\" [siLink]=\"subitem\">\n {{ subitem.title | translate }}\n </a>\n }\n </si-navbar-vertical-group>\n</ng-template>\n", styles: [".link-with-items{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"- -\" \"items items\"}si-navbar-vertical-group{grid-area:items}\n"] }]
|
|
380
397
|
}], propDecorators: { item: [{ type: i0.Input, args: [{ isSignal: true, alias: "item", required: true }] }], navbarExpandButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "navbarExpandButtonText", required: true }] }], navbarCollapseButtonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "navbarCollapseButtonText", required: true }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: true }] }, { type: i0.Output, args: ["expandedChange"] }], siLinks: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => SiLinkDirective), { isSignal: true }] }] } });
|
|
@@ -624,7 +641,7 @@ class SiNavbarVerticalComponent {
|
|
|
624
641
|
return !('type' in item && item.type !== 'check' && item.type !== 'radio');
|
|
625
642
|
}
|
|
626
643
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
627
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalComponent, isStandalone: true, selector: "si-navbar-vertical", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, textOnly: { classPropertyName: "textOnly", publicName: "textOnly", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, navbarExpandButtonText: { classPropertyName: "navbarExpandButtonText", publicName: "navbarExpandButtonText", isSignal: true, isRequired: false, transformFunction: null }, navbarCollapseButtonText: { classPropertyName: "navbarCollapseButtonText", publicName: "navbarCollapseButtonText", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null }, skipLinkNavigationLabel: { classPropertyName: "skipLinkNavigationLabel", publicName: "skipLinkNavigationLabel", isSignal: true, isRequired: false, transformFunction: null }, skipLinkMainContentLabel: { classPropertyName: "skipLinkMainContentLabel", publicName: "skipLinkMainContentLabel", isSignal: true, isRequired: false, transformFunction: null }, searchDebounceTime: { classPropertyName: "searchDebounceTime", publicName: "searchDebounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange", items: "itemsChange", searchEvent: "searchEvent" }, host: { properties: { "class.nav-collapsed": "collapsed()", "class.nav-text-only": "textOnly()", "class.visible": "visible()", "class.ready": "ready()" }, classAttribute: "si-layout-inner" }, providers: [{ provide: SI_NAVBAR_VERTICAL, useExisting: SiNavbarVerticalComponent }], viewQueries: [{ propertyName: "searchBar", first: true, predicate: SiSearchBarComponent, descendants: true, isSignal: true }, { propertyName: "navbarItems", predicate: SiNavbarVerticalItemComponent, descendants: true, isSignal: true }, { propertyName: "navbarItemsLegacy", predicate: SiNavbarVerticalItemLegacyComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside navbar-vertical-no-collapse\">\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary-ghost\"\n [attr.aria-label]=\"\n (collapsed() ? navbarExpandButtonText() : navbarCollapseButtonText()) | translate\n \"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon\n class=\"flip-rtl\"\n [icon]=\"collapsed() ? icons.elementDoubleRight : icons.elementDoubleLeft\"\n />\n </button>\n </div>\n </div>\n @if (searchable()) {\n <div class=\"nav-search\">\n <si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"searchDebounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"doSearch($event)\"\n />\n <button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile navbar-vertical-no-collapse text-secondary\"\n [attr.aria-label]=\"searchPlaceholder() | translate\"\n (click)=\"expandForSearch()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n </button>\n </div>\n }\n <div class=\"nav-scroll\">\n @for (item of items(); track $index) {\n @if (isLegacyStyle(item)) {\n <si-navbar-vertical-item-legacy\n [item]=\"item\"\n [navbarExpandButtonText]=\"navbarExpandButtonText() | translate\"\n [navbarCollapseButtonText]=\"navbarCollapseButtonText() | translate\"\n [expanded]=\"\n (item.id ? uiStateExpandedItems()[item.id] : undefined) ?? item.expanded ?? false\n \"\n />\n } @else {\n <ng-container *ngTemplateOutlet=\"navbarItems; context: { item }\" />\n }\n }\n </div>\n </nav>\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n\n<ng-template #navbarItems let-item=\"item\" siNavbarVerticalItemGuard>\n @switch (item.type) {\n @case ('group') {\n <button\n type=\"button\"\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [stateId]=\"item.id\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [groupData]=\"{ group: item }\"\n [expanded]=\"\n (item.id ? uiStateExpandedItems()[item.id] : undefined) ?? item.expanded ?? false\n \"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </button>\n }\n @case ('action') {\n <button\n type=\"button\"\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [activeOverride]=\"item.active\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </button>\n }\n @case ('router-link') {\n <a\n routerLinkActive\n placement=\"end\"\n [routerLinkActiveOptions]=\"item.activeMatchOptions ?? { exact: false }\"\n [si-navbar-vertical-item]=\"item\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.extras?.queryParams\"\n [queryParamsHandling]=\"item.extras?.queryParamsHandling\"\n [fragment]=\"item.extras?.fragment\"\n [state]=\"item.extras?.state\"\n [relativeTo]=\"item.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"item.extras?.preserveFragment\"\n [skipLocationChange]=\"item.extras?.skipLocationChange\"\n [replaceUrl]=\"item.extras?.replaceUrl\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('link') {\n <a\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('divider') {\n <si-navbar-vertical-divider />\n }\n @case ('header') {\n <si-navbar-vertical-header>\n {{ item.label | translate }}\n </si-navbar-vertical-header>\n }\n }\n</ng-template>\n\n<ng-template #group let-group=\"group\" siNavbarVerticalItemGuard>\n <si-navbar-vertical-group routerLinkActive>\n @for (item of group.children; track $index) {\n <!-- a copy from above, but we have to nest the items to make routerLink active work -->\n @switch (item.type) {\n @case ('router-link') {\n <a\n routerLinkActive\n [routerLinkActiveOptions]=\"item.activeMatchOptions ?? { exact: false }\"\n [si-navbar-vertical-item]=\"item\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.extras?.queryParams\"\n [queryParamsHandling]=\"item.extras?.queryParamsHandling\"\n [fragment]=\"item.extras?.fragment\"\n [state]=\"item.extras?.state\"\n [relativeTo]=\"item.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"item.extras?.preserveFragment\"\n [skipLocationChange]=\"item.extras?.skipLocationChange\"\n [replaceUrl]=\"item.extras?.replaceUrl\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('action') {\n <button type=\"button\" [si-navbar-vertical-item]=\"item\" [activeOverride]=\"item.active\">\n {{ item.label | translate }}\n </button>\n }\n @case ('link') {\n <a [si-navbar-vertical-item]=\"item\" [href]=\"item.href\" [target]=\"item.target\">\n {{ item.label | translate }}\n </a>\n }\n }\n }\n </si-navbar-vertical-group>\n</ng-template>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.nav-scroll{overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:8px}:host(.nav-collapsed) .nav-scroll{display:none}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 24px);color:var(--element-text-primary);padding-block:4px;padding-inline:8px;margin-block-start:8px;border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed)) .mobile-drawer{inline-size:240px}.nav-search{display:flex;align-items:center;margin-block-start:8px;padding-block:4px;overflow-x:hidden}:host(.nav-collapsed) .nav-search{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:calc(1lh + 16px);inline-size:calc(1.5rem + 8px);text-align:start}:host.nav-collapsed .mobile-drawer{border:0;color:var(--element-text-primary);background:var(--element-base-1);text-align:end;box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}:host.nav-collapsed si-search-bar{display:none}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed){--si-layout-header-first-element-offset: 0}:host:not(.nav-text-only){padding-inline-start:calc(1.5rem + 24px)}:host:not(.nav-text-only) .mobile-drawer{background:transparent;box-shadow:none}:host:not(.nav-text-only).nav-collapsed .nav-scroll{display:block}:host:not(.nav-text-only).nav-collapsed .nav-search{display:flex}.btn-search{display:none}:host.nav-collapsed .btn-search{display:block}:host:not(.nav-text-only) nav{inline-size:calc(1.5rem + 24px)}:host:not(.nav-text-only) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiNavbarVerticalDividerComponent, selector: "si-navbar-vertical-divider" }, { kind: "component", type: SiNavbarVerticalGroupComponent, selector: "si-navbar-vertical-group" }, { kind: "directive", type: SiNavbarVerticalGroupTriggerDirective, selector: "button[siNavbarVerticalGroupTriggerFor]", inputs: ["siNavbarVerticalGroupTriggerFor", "groupData", "stateId", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiNavbarVerticalHeaderComponent, selector: "si-navbar-vertical-header" }, { kind: "component", type: SiNavbarVerticalItemComponent, selector: "a[si-navbar-vertical-item], button[si-navbar-vertical-item]", inputs: ["si-navbar-vertical-item", "activeOverride"] }, { kind: "directive", type: SiNavbarVerticalItemGuardDirective, selector: "[siNavbarVerticalItemGuard]" }, { kind: "component", type: SiNavbarVerticalItemLegacyComponent, selector: "si-navbar-vertical-item-legacy", inputs: ["item", "navbarExpandButtonText", "navbarCollapseButtonText", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "directive", type: SiSkipLinkTargetDirective, selector: "[siSkipLinkTarget]", inputs: ["siSkipLinkTarget"] }, { kind: "directive", type: SiTooltipDirective, selector: "[siTooltip]", inputs: ["siTooltip", "placement", "isDisabled", "tooltipScrollStrategy", "tooltipContext"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
|
|
644
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiNavbarVerticalComponent, isStandalone: true, selector: "si-navbar-vertical", inputs: { collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, textOnly: { classPropertyName: "textOnly", publicName: "textOnly", isSignal: true, isRequired: false, transformFunction: null }, visible: { classPropertyName: "visible", publicName: "visible", isSignal: true, isRequired: false, transformFunction: null }, navbarExpandButtonText: { classPropertyName: "navbarExpandButtonText", publicName: "navbarExpandButtonText", isSignal: true, isRequired: false, transformFunction: null }, navbarCollapseButtonText: { classPropertyName: "navbarCollapseButtonText", publicName: "navbarCollapseButtonText", isSignal: true, isRequired: false, transformFunction: null }, stateId: { classPropertyName: "stateId", publicName: "stateId", isSignal: true, isRequired: false, transformFunction: null }, skipLinkNavigationLabel: { classPropertyName: "skipLinkNavigationLabel", publicName: "skipLinkNavigationLabel", isSignal: true, isRequired: false, transformFunction: null }, skipLinkMainContentLabel: { classPropertyName: "skipLinkMainContentLabel", publicName: "skipLinkMainContentLabel", isSignal: true, isRequired: false, transformFunction: null }, searchDebounceTime: { classPropertyName: "searchDebounceTime", publicName: "searchDebounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collapsed: "collapsedChange", items: "itemsChange", searchEvent: "searchEvent" }, host: { properties: { "class.nav-collapsed": "collapsed()", "class.nav-text-only": "textOnly()", "class.visible": "visible()", "class.ready": "ready()" }, classAttribute: "si-layout-inner" }, providers: [{ provide: SI_NAVBAR_VERTICAL, useExisting: SiNavbarVerticalComponent }], viewQueries: [{ propertyName: "searchBar", first: true, predicate: SiSearchBarComponent, descendants: true, isSignal: true }, { propertyName: "navbarItems", predicate: SiNavbarVerticalItemComponent, descendants: true, isSignal: true }, { propertyName: "navbarItemsLegacy", predicate: SiNavbarVerticalItemLegacyComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@if (visible()) {\n @if (smallScreen() && !collapsed()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\" (click)=\"toggleCollapse()\"></div>\n }\n <nav\n tabindex=\"-1\"\n class=\"bg-base-1 focus-sub-inside\"\n [class.expanded]=\"!collapsed()\"\n [siSkipLinkTarget]=\"skipLinkNavigationLabel()\"\n [class.text-only]=\"textOnly()\"\n >\n <div class=\"collapse-toggle ms-auto\">\n <div class=\"mobile-drawer focus-inside navbar-vertical-no-collapse\">\n <button\n type=\"button\"\n class=\"btn btn-icon btn-tertiary-ghost\"\n [attr.aria-label]=\"\n (collapsed() ? navbarExpandButtonText() : navbarCollapseButtonText()) | translate\n \"\n [attr.aria-expanded]=\"!collapsed()\"\n (click)=\"toggleCollapse()\"\n >\n <si-icon\n class=\"flip-rtl\"\n [icon]=\"collapsed() ? icons.elementDoubleRight : icons.elementDoubleLeft\"\n />\n </button>\n </div>\n </div>\n @if (searchable()) {\n <div class=\"nav-search\">\n <si-search-bar\n class=\"mx-4\"\n colorVariant=\"base-0\"\n prohibitedCharacters=\"*?\"\n [placeholder]=\"searchPlaceholder() | translate\"\n [debounceTime]=\"searchDebounceTime()\"\n [showIcon]=\"true\"\n (searchChange)=\"doSearch($event)\"\n />\n <button\n type=\"button\"\n class=\"btn-search bg-base-0 px-3 mx-4 mobile navbar-vertical-no-collapse text-secondary\"\n [attr.aria-label]=\"searchPlaceholder() | translate\"\n (click)=\"expandForSearch()\"\n >\n <si-icon class=\"icon\" [icon]=\"icons.elementSearch\" />\n </button>\n </div>\n }\n <div class=\"nav-scroll\">\n @for (item of items(); track $index) {\n @if (isLegacyStyle(item)) {\n <si-navbar-vertical-item-legacy\n [item]=\"item\"\n [navbarExpandButtonText]=\"navbarExpandButtonText() | translate\"\n [navbarCollapseButtonText]=\"navbarCollapseButtonText() | translate\"\n [expanded]=\"\n (item.id ? uiStateExpandedItems()[item.id] : undefined) ?? item.expanded ?? false\n \"\n />\n } @else {\n <ng-container *ngTemplateOutlet=\"navbarItems; context: { item }\" />\n }\n }\n </div>\n </nav>\n}\n<main\n class=\"si-layout-inner focus-none\"\n tabindex=\"-1\"\n [siSkipLinkTarget]=\"skipLinkMainContentLabel()\"\n>\n <ng-content />\n</main>\n\n<ng-template #navbarItems let-item=\"item\" siNavbarVerticalItemGuard>\n @switch (item.type) {\n @case ('group') {\n <button\n type=\"button\"\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [stateId]=\"item.id\"\n [siNavbarVerticalGroupTriggerFor]=\"group\"\n [groupData]=\"{ group: item }\"\n [expanded]=\"\n (item.id ? uiStateExpandedItems()[item.id] : undefined) ?? item.expanded ?? false\n \"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </button>\n }\n @case ('action') {\n <button\n type=\"button\"\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [activeOverride]=\"item.active\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </button>\n }\n @case ('router-link') {\n <a\n routerLinkActive\n placement=\"end\"\n [routerLinkActiveOptions]=\"item.activeMatchOptions ?? { exact: false }\"\n [si-navbar-vertical-item]=\"item\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.extras?.queryParams\"\n [queryParamsHandling]=\"item.extras?.queryParamsHandling\"\n [fragment]=\"item.extras?.fragment\"\n [state]=\"item.extras?.state\"\n [relativeTo]=\"item.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"item.extras?.preserveFragment\"\n [skipLocationChange]=\"item.extras?.skipLocationChange\"\n [replaceUrl]=\"item.extras?.replaceUrl\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('link') {\n <a\n placement=\"end\"\n [si-navbar-vertical-item]=\"item\"\n [href]=\"item.href\"\n [target]=\"item.target\"\n [siTooltip]=\"item.label | translate\"\n [isDisabled]=\"!collapsed()\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('divider') {\n <si-navbar-vertical-divider />\n }\n @case ('header') {\n <si-navbar-vertical-header>\n {{ item.label | translate }}\n </si-navbar-vertical-header>\n }\n }\n</ng-template>\n\n<ng-template #group let-group=\"group\" siNavbarVerticalItemGuard>\n <si-navbar-vertical-group routerLinkActive>\n @for (item of group.children; track $index) {\n <!-- a copy from above, but we have to nest the items to make routerLink active work -->\n @switch (item.type) {\n @case ('router-link') {\n <a\n routerLinkActive\n [routerLinkActiveOptions]=\"item.activeMatchOptions ?? { exact: false }\"\n [si-navbar-vertical-item]=\"item\"\n [routerLink]=\"item.routerLink\"\n [queryParams]=\"item.extras?.queryParams\"\n [queryParamsHandling]=\"item.extras?.queryParamsHandling\"\n [fragment]=\"item.extras?.fragment\"\n [state]=\"item.extras?.state\"\n [relativeTo]=\"item.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"item.extras?.preserveFragment\"\n [skipLocationChange]=\"item.extras?.skipLocationChange\"\n [replaceUrl]=\"item.extras?.replaceUrl\"\n >\n {{ item.label | translate }}\n </a>\n }\n @case ('action') {\n <button type=\"button\" [si-navbar-vertical-item]=\"item\" [activeOverride]=\"item.active\">\n {{ item.label | translate }}\n </button>\n }\n @case ('link') {\n <a [si-navbar-vertical-item]=\"item\" [href]=\"item.href\" [target]=\"item.target\">\n {{ item.label | translate }}\n </a>\n }\n }\n }\n </si-navbar-vertical-group>\n</ng-template>\n", styles: [":host{display:block;--si-layout-header-first-element-offset: 40px}:host.ready:not(.visible){padding-inline-start:0!important}:host.ready{transition:padding-inline-start calc(.5s * var(--element-animations-enabled, 1))}nav{display:flex;flex-direction:column;position:fixed;z-index:1031;inset-block-start:calc(1.5rem + 25px + var(--element-titlebar-spacing, 0px) + var(--element-system-banner-spacing, 0px));inset-block-end:0;inset-inline-start:0;inline-size:0;transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease}:host(.nav-collapsed) nav{z-index:1030}nav.expanded{inline-size:240px}.nav-scroll{overflow-x:hidden;min-block-size:0;flex:1 0 0;overflow-y:auto;margin-block-start:8px}:host(.nav-collapsed) .nav-scroll{display:none}.mobile-drawer{display:block;text-align:end;border:0;inline-size:calc(1.5rem + 24px);color:var(--element-text-primary);padding-block:4px;padding-inline:8px;margin-block-start:8px;border-start-end-radius:var(--element-radius-2);border-end-end-radius:var(--element-radius-2);transition:inline-size calc(.5s * var(--element-animations-enabled, 1)) ease,background-color calc(.5s * var(--element-animations-enabled, 1)) ease,box-shadow calc(.5s * var(--element-animations-enabled, 1)) ease}:host(:not(.nav-collapsed)) .mobile-drawer{inline-size:240px}.nav-search{display:flex;align-items:center;margin-block-start:8px;padding-block:4px;overflow-x:hidden}:host(.nav-collapsed) .nav-search{display:none}si-search-bar{inline-size:100%}.btn-search{display:none;border:0;border-radius:var(--element-radius-2);block-size:calc(1lh + 16px);inline-size:calc(1.5rem + 8px);text-align:start}:host.nav-collapsed .mobile-drawer{border:0;color:var(--element-text-primary);background:var(--element-base-1);text-align:end;box-shadow:0 0 4px var(--element-box-shadow-color-1),0 4px 4px var(--element-box-shadow-color-2)}:host.nav-collapsed si-search-bar{display:none}.modal-backdrop{z-index:1031;transition:opacity calc(.15s * var(--element-animations-enabled, 1)) linear;opacity:1}@starting-style{.modal-backdrop{opacity:0}}.modal-backdrop.backdrop-leave{opacity:0}@media(min-width:576px){:host:not(.nav-text-only),:host:not(.nav-collapsed){--si-layout-header-first-element-offset: 0}:host:not(.nav-text-only){padding-inline-start:calc(1.5rem + 24px)}:host:not(.nav-text-only) .mobile-drawer{background:transparent;box-shadow:none}:host:not(.nav-text-only).nav-collapsed .nav-scroll{display:block}:host:not(.nav-text-only).nav-collapsed .nav-search{display:flex}.btn-search{display:none}:host.nav-collapsed .btn-search{display:block}:host:not(.nav-text-only) nav{inline-size:calc(1.5rem + 24px)}:host:not(.nav-text-only) nav.expanded{inline-size:240px}}@media(min-width:992px){:host:not(.nav-collapsed){padding-inline-start:240px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiNavbarVerticalDividerComponent, selector: "si-navbar-vertical-divider" }, { kind: "component", type: SiNavbarVerticalGroupComponent, selector: "si-navbar-vertical-group" }, { kind: "directive", type: SiNavbarVerticalGroupTriggerDirective, selector: "button[siNavbarVerticalGroupTriggerFor]", inputs: ["siNavbarVerticalGroupTriggerFor", "groupData", "stateId", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiNavbarVerticalHeaderComponent, selector: "si-navbar-vertical-header" }, { kind: "component", type: SiNavbarVerticalItemComponent, selector: "a[si-navbar-vertical-item], button[si-navbar-vertical-item]", inputs: ["si-navbar-vertical-item", "activeOverride"] }, { kind: "directive", type: SiNavbarVerticalItemGuardDirective, selector: "[siNavbarVerticalItemGuard]" }, { kind: "component", type: SiNavbarVerticalItemLegacyComponent, selector: "si-navbar-vertical-item-legacy", inputs: ["item", "navbarExpandButtonText", "navbarCollapseButtonText", "expanded"], outputs: ["expandedChange"] }, { kind: "component", type: SiSearchBarComponent, selector: "si-search-bar", inputs: ["debounceTime", "prohibitedCharacters", "placeholder", "showIcon", "tabbable", "value", "readonly", "colorVariant", "disabled", "maxlength", "clearButtonAriaLabel"], outputs: ["searchChange"] }, { kind: "directive", type: SiSkipLinkTargetDirective, selector: "[siSkipLinkTarget]", inputs: ["siSkipLinkTarget"] }, { kind: "directive", type: SiTooltipDirective, selector: "[siTooltip]", inputs: ["siTooltip", "placement", "isDisabled", "tooltipScrollStrategy", "tooltipContext"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
|
|
628
645
|
}
|
|
629
646
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiNavbarVerticalComponent, decorators: [{
|
|
630
647
|
type: Component,
|
|
@@ -644,7 +661,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
644
661
|
SiSkipLinkTargetDirective,
|
|
645
662
|
SiTranslatePipe,
|
|
646
663
|
SiTooltipDirective
|
|
647
|
-
], providers: [{ provide: SI_NAVBAR_VERTICAL, useExisting: SiNavbarVerticalComponent }], host: {
|
|
664
|
+
], providers: [{ provide: SI_NAVBAR_VERTICAL, useExisting: SiNavbarVerticalComponent }], changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
648
665
|
class: 'si-layout-inner',
|
|
649
666
|
'[class.nav-collapsed]': 'collapsed()',
|
|
650
667
|
'[class.nav-text-only]': 'textOnly()',
|