@siemens/element-ng 49.1.0 → 49.3.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/fesm2022/siemens-element-ng-accordion.mjs +2 -2
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +11 -3
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +2 -2
- package/fesm2022/siemens-element-ng-common.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 +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +22 -24
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +89 -95
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-header-dropdown.mjs +2 -2
- package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-main-detail-container.mjs +21 -25
- package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-menu.mjs +6 -6
- package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +8 -4
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +7 -2
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +2 -2
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +164 -10
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs +1 -1
- package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tree-view.mjs +11 -3
- package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-typeahead.mjs +14 -4
- package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
- package/package.json +4 -4
- package/schematics/vitest-setup.js +5 -0
- package/types/siemens-element-ng-application-header.d.ts +2 -1
- package/types/siemens-element-ng-auto-collapsable-list.d.ts +1 -1
- package/types/siemens-element-ng-avatar.d.ts +1 -1
- package/types/siemens-element-ng-circle-status.d.ts +1 -1
- package/types/siemens-element-ng-common.d.ts +1 -1
- package/types/siemens-element-ng-dashboard.d.ts +2 -2
- package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
- package/types/siemens-element-ng-datepicker.d.ts +7 -7
- package/types/siemens-element-ng-file-uploader.d.ts +2 -2
- package/types/siemens-element-ng-filtered-search.d.ts +4 -10
- package/types/siemens-element-ng-form.d.ts +2 -2
- package/types/siemens-element-ng-list-details.d.ts +1 -1
- package/types/siemens-element-ng-main-detail-container.d.ts +10 -11
- package/types/siemens-element-ng-navbar-vertical.d.ts +7 -3
- package/types/siemens-element-ng-navbar.d.ts +1 -1
- package/types/siemens-element-ng-number-input.d.ts +1 -1
- package/types/siemens-element-ng-phone-number.d.ts +1 -1
- package/types/siemens-element-ng-photo-upload.d.ts +1 -1
- package/types/siemens-element-ng-search-bar.d.ts +1 -1
- package/types/siemens-element-ng-side-panel.d.ts +115 -5
- package/types/siemens-element-ng-split.d.ts +2 -2
- package/types/siemens-element-ng-status-bar.d.ts +1 -1
- package/types/siemens-element-ng-status-toggle.d.ts +1 -1
- package/types/siemens-element-ng-tree-view.d.ts +1 -1
- package/types/siemens-element-ng-typeahead.d.ts +8 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-application-header.mjs","sources":["../../../../projects/element-ng/application-header/si-application-header.component.ts","../../../../projects/element-ng/application-header/si-application-header.component.html","../../../../projects/element-ng/application-header/si-account-details.component.ts","../../../../projects/element-ng/application-header/si-header-navigation-item.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.html","../../../../projects/element-ng/application-header/si-header-action-item.base.ts","../../../../projects/element-ng/application-header/si-header-action-item-icon-base.directive.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.html","../../../../projects/element-ng/application-header/si-header-account-item.component.ts","../../../../projects/element-ng/application-header/si-header-account-item.component.html","../../../../projects/element-ng/application-header/si-header-selection-item.component.ts","../../../../projects/element-ng/application-header/si-header-selection-item.component.html","../../../../projects/element-ng/application-header/si-header-logo.directive.ts","../../../../projects/element-ng/application-header/si-header-siemens-logo.component.ts","../../../../projects/element-ng/application-header/si-header-actions.directive.ts","../../../../projects/element-ng/application-header/si-header-brand.directive.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.html","../../../../projects/element-ng/application-header/index.ts","../../../../projects/element-ng/application-header/siemens-element-ng-application-header.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Injector,\n input,\n OnDestroy,\n signal,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { elementMenu, elementThumbnails } from '@siemens/element-icons';\nimport {\n HeaderWithDropdowns,\n SI_HEADER_WITH_DROPDOWNS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS, Breakpoints } from '@siemens/element-ng/resize-observer';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { defer, of, Subject } from 'rxjs';\nimport { map, skip, takeUntil } from 'rxjs/operators';\n\n/** Root component for the application header. */\n@Component({\n selector: 'si-application-header',\n imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-application-header.component.html',\n styleUrl: './si-application-header.component.scss',\n providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiApplicationHeaderComponent implements HeaderWithDropdowns, OnDestroy {\n private static idCounter = 0;\n\n /**\n * Defines the minimum breakpoint which must be matched to expand the header / switch to desktop mode.\n *\n * @defaultValue 'sm'\n */\n readonly expandBreakpoint = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'never'>('sm');\n readonly launchpad = input<TemplateRef<void>>();\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`)\n * ```\n */\n readonly launchpadLabel = input(t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`));\n\n /** @internal */\n readonly closeMobileMenus = new Subject<void>();\n\n /** @internal */\n readonly mobileNavigationExpanded = signal(false);\n /** @internal */\n readonly hasNavigation = signal(false);\n\n protected readonly openDropdownCount = signal(0);\n protected readonly launchpadOpen = signal(false);\n protected readonly id = `__si-application-header-${SiApplicationHeaderComponent.idCounter++}`;\n protected toggleNavigation = t(\n () => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:Toggle navigation`\n );\n protected injector = inject(Injector);\n protected readonly icons = addIcons({ elementThumbnails, elementMenu });\n\n private readonly navigationToggle = viewChild<ElementRef<HTMLDivElement>>('navigationToggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private breakpointObserver = inject(BreakpointObserver);\n private openDropdown?: SiHeaderDropdownTriggerDirective;\n private closeMobileSub = this.closeMobileMenus.subscribe(() => {\n this.closeMobileNavigation();\n this.closeLaunchpad();\n });\n\n /** @internal */\n // defer is required to re-check the current breakpoint as it may change.\n readonly inlineDropdown = defer(() => {\n const expandBreakpoint = this.expandBreakpoint();\n if (expandBreakpoint === 'never') {\n return of(true);\n }\n return this.breakpointObserver\n .observe(\n `(min-width: ${\n BOOTSTRAP_BREAKPOINTS[(expandBreakpoint + 'Minimum') as keyof Breakpoints]\n }px)`\n )\n .pipe(map(({ matches }) => !matches));\n });\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.closeMobileMenus.next();\n this.closeMobileMenus.complete();\n }\n\n /** @internal */\n onDropdownItemTriggered(): void {\n this.closeMobileMenus.next();\n }\n\n /** @internal */\n dropdownClosed(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdownCount.update(v => v - 1);\n if (trigger === this.openDropdown) {\n this.openDropdown = undefined;\n }\n }\n\n /** @internal */\n dropdownOpened(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdown ??= trigger;\n this.openDropdownCount.update(v => v + 1);\n this.closeLaunchpad();\n }\n\n /** @internal */\n closeLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.launchpadOpen.set(false);\n this.dropdownClosed();\n\n if (this.hasNavigation()) {\n // This is also fine in expanded view when the mobile toggle is not visible.\n // Then the focus call will be ignored.\n this.navigationToggle()?.nativeElement.focus();\n }\n }\n }\n\n /** @internal */\n openLaunchpad(): void {\n if (!this.launchpadOpen()) {\n this.dropdownOpened();\n this.closeMobileMenus.next();\n this.launchpadOpen.set(true);\n }\n }\n\n protected toggleMobileNavigationExpanded(): void {\n if (this.mobileNavigationExpanded()) {\n this.closeMobileNavigation();\n } else {\n this.openMobileNavigation();\n }\n }\n\n protected toggleLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.closeLaunchpad();\n } else {\n this.openLaunchpad();\n }\n }\n\n protected navigationEscapePressed(): void {\n this.closeMobileNavigation();\n this.navigationToggle()?.nativeElement.focus();\n }\n\n protected backdropClicked(): void {\n this.closeMobileMenus.next();\n }\n\n private openMobileNavigation(): void {\n if (!this.mobileNavigationExpanded()) {\n this.closeMobileMenus.next();\n this.mobileNavigationExpanded.set(true);\n this.dropdownOpened();\n this.inlineDropdown\n .pipe(skip(1), takeUntil(this.closeMobileMenus))\n .subscribe(() => this.closeMobileMenus.next());\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobileNavigation(): void {\n if (this.mobileNavigationExpanded()) {\n this.mobileNavigationExpanded.set(false);\n this.openDropdown?.close();\n this.dropdownClosed();\n }\n }\n}\n","<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div [id]=\"id + '-launchpad'\">\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-account-details',\n imports: [SiTranslatePipe],\n template: `\n <div class=\"mx-5\">\n <div class=\"si-h5\">{{ name() }}</div>\n @if (email()) {\n <div>{{ email() }}</div>\n }\n @if (company() || userRole()) {\n <div class=\"d-flex align-items-center text-secondary mt-2\">\n @if (company()) {\n {{ company() }}\n }\n @if (userRole()) {\n <span class=\"badge bg-default\">{{ userRole()! | translate }}</span>\n }\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiAccountDetailsComponent {\n /** The user's full name. */\n readonly name = input.required<string>();\n /** The user's company name. */\n readonly company = input<string>();\n /** The user's email address. */\n readonly email = input<string>();\n /** The user's role. */\n readonly userRole = input<TranslatableString>();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport {\n SI_HEADER_DROPDOWN_OPTIONS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n/** Adds a navigation item to the header. Should be located inside `.header-navigation`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-navigation-item], a[si-header-navigation-item]',\n imports: [SiIconComponent],\n template: `\n <div class=\"item-title\">\n <ng-content />\n </div>\n @if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n }\n `,\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderNavigationItemComponent {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementOptionsVertical } from '@siemens/element-icons';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\nimport { skip, takeUntil } from 'rxjs/operators';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n/** Container for actions that should be collapsed in mobile mode. */\n@Component({\n selector: 'si-header-collapsible-actions',\n imports: [SiTranslatePipe, A11yModule, SiIconComponent],\n templateUrl: './si-header-collapsible-actions.component.html',\n styles: '.badge-dot::after { inset-inline-end: 4px; }',\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'd-contents' }\n})\nexport class SiHeaderCollapsibleActionsComponent implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * Accessible label of the toggle button if actions are collapsed.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Toggle actions`)\n * ```\n */\n readonly mobileToggleLabel = input(\n t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Toggle actions`)\n );\n\n /** @internal **/\n readonly mobileExpanded = signal(false);\n /** @internal **/\n readonly badgeCount = signal(0);\n\n protected readonly id = `__si-header-collapsible-actions-${SiHeaderCollapsibleActionsComponent.idCounter++}`;\n protected readonly icons = addIcons({ elementOptionsVertical });\n\n private readonly toggle = viewChild.required<ElementRef<HTMLDivElement>>('toggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private header = inject(SiApplicationHeaderComponent);\n private closeMobileSub = this.header.closeMobileMenus.subscribe(() => this.closeMobile());\n private inlineChangeSubscription?: Subscription;\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.inlineChangeSubscription?.unsubscribe();\n }\n\n protected toggleMobileExpanded(): void {\n if (this.mobileExpanded()) {\n this.closeMobile();\n } else {\n this.openMobile();\n }\n }\n\n protected escapePressed(): void {\n this.closeMobile();\n this.toggle().nativeElement.focus();\n }\n\n private openMobile(): void {\n if (!this.mobileExpanded()) {\n this.header.closeMobileMenus.next();\n this.header.dropdownOpened();\n this.mobileExpanded.set(true);\n this.inlineChangeSubscription = this.header.inlineDropdown\n .pipe(skip(1), takeUntil(this.header.closeMobileMenus))\n .subscribe(() => this.header.closeMobileMenus.next());\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobile(): void {\n if (this.mobileExpanded()) {\n this.header.dropdownClosed();\n this.mobileExpanded.set(false);\n this.toggle().nativeElement.focus();\n }\n }\n}\n","<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, HostListener, inject, OnInit } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { SiHeaderDropdownTriggerDirective } from '@siemens/element-ng/header-dropdown';\nimport { addIcons } from '@siemens/element-ng/icon';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\nimport { SiHeaderCollapsibleActionsComponent } from './si-header-collapsible-actions.component';\n\n@Directive({})\nexport abstract class SiHeaderActionItemBase implements OnInit {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected collapsibleActions = inject(SiHeaderCollapsibleActionsComponent, { optional: true });\n protected readonly icons = addIcons({ elementDown2 });\n\n private header = inject(SiApplicationHeaderComponent);\n\n ngOnInit(): void {\n if (this.dropdownTrigger) {\n this.header.closeMobileMenus.subscribe(() => this.dropdownTrigger!.close());\n }\n }\n\n @HostListener('click')\n protected click(): void {\n if (!this.dropdownTrigger?.isOpen && !this.collapsibleActions?.mobileExpanded()) {\n // we must close other immediately as we would close the dropdown else wise immediately after opening.\n this.header.closeMobileMenus.next();\n } else if (!this.dropdownTrigger || !this.collapsibleActions?.mobileExpanded()) {\n // we must use queueMicrotask, otherwise the dropdown gets re-opened immediately.\n queueMicrotask(() => this.header.closeMobileMenus.next());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n/**\n * Base for icon based actions.\n * @internal\n */\n@Directive({})\nexport abstract class SiHeaderActionIconItemBase\n extends SiHeaderActionItemBase\n implements OnChanges, OnInit\n{\n /**\n * Adds a badge to the header item.\n * If type\n * - =number, the number will be shown and automatically trimmed if \\>99\n * - =true, an empty red dot will be shown\n */\n readonly badge = input<number | boolean | undefined | null>();\n\n protected readonly badgeDot = computed(() =>\n typeof this.badge() === 'boolean' ? (this.badge() as boolean) : false\n );\n protected readonly badgeValue = computed(() => {\n const badge = this.badge();\n return typeof badge === 'number'\n ? `${badge > 99 ? '+' : ''}${Math.min(99, Math.round(badge))}`\n : undefined;\n });\n\n ngOnChanges(changes: SimpleChanges): void {\n if ('badge' in changes) {\n if (changes.badge.currentValue && !changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count + 1);\n } else if (!changes.badge.currentValue && changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count - 1);\n }\n }\n }\n\n protected get visuallyHideTitle(): boolean {\n return !this.collapsibleActions?.mobileExpanded();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an action item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-action-item], a[si-header-action-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-action-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {\n /** The icon to be shown. */\n readonly icon = input.required<string>();\n}\n","<si-icon class=\"icon-lg\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiAvatarComponent } from '@siemens/element-ng/avatar';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an account item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-account-item]',\n imports: [SiAvatarComponent, SiIconComponent],\n templateUrl: './si-header-account-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside p-4',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {\n /** Name of the account. */\n readonly name = input.required<string>();\n /** Initials of the account. If not provided, they will be calculated. */\n readonly initials = input<string>();\n /** URL to an image which should be shown instead of the initials. */\n readonly imageUrl = input<string>();\n}\n","<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-selection-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-selection-item.component.html',\n host: {\n class: 'header-item header-selection-item focus-inside dropdown-toggle',\n '[class.show]': 'open()'\n }\n})\nexport class SiHeaderSelectionItemComponent extends SiHeaderActionItemBase {\n /**\n * Sets the open state which will only affect the arrow. Only use this property when not using {@link SiHeaderDropdownTriggerDirective}.\n *\n * @defaultValue false\n */\n readonly open = input(false);\n}\n","<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n afterNextRender,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n OnInit,\n signal\n} from '@angular/core';\n\n/** The siemens logo. Should be located inside `.header-brand`. */\n@Directive({\n selector: 'si-header-logo, [siHeaderLogo]',\n host: {\n class: 'header-logo px-6 focus-inside',\n '[attr.aria-label]': 'logoText()'\n }\n})\nexport class SiHeaderLogoDirective implements OnInit {\n protected readonly logoText = signal<string | undefined>(undefined);\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n\n ngOnInit(): void {\n this.updateLogoText();\n }\n\n @HostListener('window:theme-switch')\n protected updateLogoText(): void {\n afterNextRender(\n {\n read: () =>\n this.logoText.set(\n window\n .getComputedStyle(this.elementRef.nativeElement)\n .getPropertyValue('--element-brand-logo-text')\n .replace(/^[\"']|[\"']$/g, '')\n )\n },\n { injector: this.injector }\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SiHeaderLogoDirective } from './si-header-logo.directive';\n\n/**\n * The siemens logo.\n * Should be located inside `.header-brand`.\n *\n * @deprecated Use the {@link SiHeaderLogoDirective} instead.\n * The new component will use the logo provided by the global theme instead\n * of containing a hard coded siemens logo.\n * ```html\n * // previous\n * <a si-header-siemens-logo routerLink=\"/\" aria-label=\"Siemens\" class=\"d-none d-md-flex\"></a>\n * // new\n * <a siHeaderLogo routerLink=\"/\" class=\"d-none d-md-flex\"></a>\n * ```\n *\n */\n@Component({\n selector: 'si-header-siemens-logo, [si-header-siemens-logo]',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiHeaderSiemensLogoComponent extends SiHeaderLogoDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-actions',\n host: { class: 'header-actions' }\n})\nexport class SiHeaderActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-brand',\n host: { class: 'header-brand' }\n})\nexport class SiHeaderBrandDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, OnDestroy } from '@angular/core';\nimport { elementThumbnails } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n@Component({\n selector: 'si-header-navigation',\n imports: [SiTranslatePipe, SiIconComponent],\n templateUrl: './si-header-navigation.component.html',\n host: { class: 'header-navigation', role: 'navigation' }\n})\nexport class SiHeaderNavigationComponent implements OnDestroy {\n protected header = inject(SiApplicationHeaderComponent);\n protected readonly icons = addIcons({ elementThumbnails });\n\n constructor() {\n this.header.hasNavigation.set(true);\n }\n\n ngOnDestroy(): void {\n this.header.hasNavigation.set(false);\n }\n}\n","@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon-lg pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n inject,\n input,\n model\n} from '@angular/core';\nimport { elementExport, elementFavorites, elementFavoritesFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-launchpad-app]',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-launchpad-app.component.html',\n styleUrl: './si-launchpad-app.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'focus-inside',\n '[class.active]': 'active()',\n '[class.action]': 'action()'\n }\n})\nexport class SiLaunchpadAppComponent {\n /** @defaultValue false */\n readonly external = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly active = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly enableFavoriteToggle = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly favorite = model(false);\n /** @defaultValue false */\n readonly action = input(false, { transform: booleanAttribute });\n\n readonly iconUrl = input<string>();\n readonly iconClass = input<string>();\n /**\n * Aria-label for the external link icon.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:External application`)\n * ```\n */\n readonly externalLinkText = input<TranslatableString>(\n t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:External application`)\n );\n\n protected readonly icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });\n\n private header = inject(SiApplicationHeaderComponent);\n\n @HostListener('keydown.space', ['$event'])\n protected favoriteClicked(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.favorite.update(old => !old);\n }\n\n @HostListener('click') protected click(): void {\n this.header.closeLaunchpad();\n }\n}\n","@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output\n} from '@angular/core';\nimport { ActivatedRoute, RouterLink, RouterLinkActive } from '@angular/router';\nimport { elementCancel, elementDown2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\nimport { SiLaunchpadAppComponent } from './si-launchpad-app.component';\nimport { App, AppCategory } from './si-launchpad.model';\n\nexport interface FavoriteChangeEvent {\n app: App;\n favorite: boolean;\n}\n\n@Component({\n selector: 'si-launchpad-factory',\n imports: [\n A11yModule,\n SiLinkModule,\n SiTranslatePipe,\n SiLaunchpadAppComponent,\n SiIconComponent,\n RouterLinkActive,\n RouterLink\n ],\n templateUrl: './si-launchpad-factory.component.html',\n styleUrl: './si-launchpad-factory.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiLaunchpadFactoryComponent {\n /**\n * Text to close the launchpad. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`)\n * ```\n */\n readonly closeText = input(t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`));\n\n /**\n * Title of the launchpad.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch applications`)\n * ```\n */\n readonly titleText = input(t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch applications`));\n\n /**\n * Subtitle of the launchpad.\n * When not provided, no subtitle is displayed.\n */\n readonly subtitleText = input<TranslatableString>();\n\n /** All app items shown in the launchpad. */\n readonly apps = input.required<App[] | AppCategory[]>();\n\n /**\n * Allow the user to select favorite apps which will then be displayed at the top.\n *\n * @defaultValue false\n */\n readonly enableFavorites = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the favorite apps section.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`)\n * ```\n */\n readonly favoriteAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`));\n\n /**\n * Title of the show more apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`)\n * ```\n */\n readonly showMoreAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`));\n\n /**\n * Title of the show less apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_LESS:Show less`)\n * ```\n */\n readonly showLessAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_LESS:Show less`));\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected showAllApps = false;\n protected readonly categories = computed(() => {\n const apps = this.apps();\n const favorites = this.favorites();\n const categories: AppCategory[] = [];\n if (this.enableFavorites() && this.hasFavorites()) {\n categories.push({\n name: this.favoriteAppsText(),\n apps: favorites\n });\n }\n\n if (this.isCategories(apps)) {\n categories.push(...apps);\n } else {\n categories.push({ name: '', apps: [...apps] });\n }\n return categories;\n });\n protected readonly favorites = computed(() =>\n this.apps()\n .flatMap(app => ('apps' in app ? app.apps : (app as App)))\n .filter(app => app.favorite)\n );\n protected readonly hasFavorites = computed(() => this.favorites().length > 0);\n protected readonly icons = addIcons({ elementDown2, elementCancel });\n protected readonly activatedRoute = inject(ActivatedRoute, { optional: true });\n private header = inject(SiApplicationHeaderComponent);\n\n protected closeLaunchpad(): void {\n this.header.closeLaunchpad();\n }\n\n protected toggleFavorite(app: App, favorite: boolean): void {\n this.favoriteChange.emit({ app, favorite });\n }\n\n protected escape(): void {\n this.closeLaunchpad();\n }\n\n protected isCategories(items: App[] | AppCategory[]): items is AppCategory[] {\n return items.some(item => 'apps' in item);\n }\n}\n","<!-- eslint-disable @angular-eslint/template/no-any -->\n<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @for (category of categories(); track category; let first = $first) {\n @if (!enableFavorites() || !hasFavorites() || first || showAllApps) {\n <div>\n @if (category.name) {\n <div\n class=\"si-h4 launchpad-category-title mb-6\"\n [class.mt-4]=\"first\"\n [class.mt-8]=\"!first\"\n >\n {{ category.name | translate }}\n </div>\n }\n <div class=\"d-flex flex-wrap gap-4\">\n @for (app of category.apps; track app) {\n @switch (app.type) {\n @case ('router-link') {\n <a\n si-launchpad-app\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"app.activeMatchOptions ?? { exact: false }\"\n [enableFavoriteToggle]=\"enableFavorites() && !$any(app)._noFavorite\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n [favorite]=\"!!app.favorite\"\n [routerLink]=\"app.routerLink\"\n [queryParams]=\"app.extras?.queryParams\"\n [queryParamsHandling]=\"app.extras?.queryParamsHandling\"\n [fragment]=\"app.extras?.fragment\"\n [state]=\"app.extras?.state\"\n [relativeTo]=\"app.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"app.extras?.preserveFragment\"\n [skipLocationChange]=\"app.extras?.skipLocationChange\"\n [replaceUrl]=\"app.extras?.replaceUrl\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n @default {\n <!--fallback for existing apps that do not have a type defined -->\n <a\n si-launchpad-app\n [enableFavoriteToggle]=\"enableFavorites() && !$any(app)._noFavorite\"\n [favorite]=\"!!app.favorite\"\n [href]=\"app.href\"\n [target]=\"app.target ?? ''\"\n [active]=\"app.active\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n }\n }\n </div>\n </div>\n }\n\n @if (enableFavorites() && first && hasFavorites()) {\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ (showAllApps ? showLessAppsText() : showMoreAppsText()) | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n }\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-application-header.component';\nexport * from './si-account-details.component';\nexport * from './si-header-navigation-item.component';\nexport * from './si-header-collapsible-actions.component';\nexport * from './si-header-action-item.component';\nexport * from './si-header-account-item.component';\nexport * from './si-header-selection-item.component';\nexport * from './si-header-siemens-logo.component';\nexport * from './si-header-logo.directive';\nexport * from './si-header-actions.directive';\nexport * from './si-header-brand.directive';\nexport * from './si-header-navigation.component';\nexport * from './launchpad/si-launchpad-factory.component';\nexport * from './launchpad/si-launchpad.model';\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-application-header.mjs","sources":["../../../../projects/element-ng/application-header/si-application-header.component.ts","../../../../projects/element-ng/application-header/si-application-header.component.html","../../../../projects/element-ng/application-header/si-account-details.component.ts","../../../../projects/element-ng/application-header/si-header-navigation-item.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.ts","../../../../projects/element-ng/application-header/si-header-collapsible-actions.component.html","../../../../projects/element-ng/application-header/si-header-action-item.base.ts","../../../../projects/element-ng/application-header/si-header-action-item-icon-base.directive.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.ts","../../../../projects/element-ng/application-header/si-header-action-item.component.html","../../../../projects/element-ng/application-header/si-header-account-item.component.ts","../../../../projects/element-ng/application-header/si-header-account-item.component.html","../../../../projects/element-ng/application-header/si-header-selection-item.component.ts","../../../../projects/element-ng/application-header/si-header-selection-item.component.html","../../../../projects/element-ng/application-header/si-header-logo.directive.ts","../../../../projects/element-ng/application-header/si-header-siemens-logo.component.ts","../../../../projects/element-ng/application-header/si-header-actions.directive.ts","../../../../projects/element-ng/application-header/si-header-brand.directive.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.ts","../../../../projects/element-ng/application-header/si-header-navigation.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-app.component.html","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.ts","../../../../projects/element-ng/application-header/launchpad/si-launchpad-factory.component.html","../../../../projects/element-ng/application-header/index.ts","../../../../projects/element-ng/application-header/siemens-element-ng-application-header.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport { BreakpointObserver } from '@angular/cdk/layout';\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n Injector,\n input,\n OnDestroy,\n signal,\n TemplateRef,\n viewChild\n} from '@angular/core';\nimport { elementMenu, elementThumbnails } from '@siemens/element-icons';\nimport {\n HeaderWithDropdowns,\n SI_HEADER_WITH_DROPDOWNS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { BOOTSTRAP_BREAKPOINTS, Breakpoints } from '@siemens/element-ng/resize-observer';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { defer, of, Subject } from 'rxjs';\nimport { map, skip, takeUntil } from 'rxjs/operators';\n\n/** Root component for the application header. */\n@Component({\n selector: 'si-application-header',\n imports: [SiTranslatePipe, A11yModule, NgTemplateOutlet, SiIconComponent],\n templateUrl: './si-application-header.component.html',\n styleUrl: './si-application-header.component.scss',\n providers: [{ provide: SI_HEADER_WITH_DROPDOWNS, useExisting: SiApplicationHeaderComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiApplicationHeaderComponent implements HeaderWithDropdowns, OnDestroy {\n private static idCounter = 0;\n\n /**\n * Defines the minimum breakpoint which must be matched to expand the header / switch to desktop mode.\n *\n * @defaultValue 'sm'\n */\n readonly expandBreakpoint = input<'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'never'>('sm');\n readonly launchpad = input<TemplateRef<void>>();\n /**\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`)\n * ```\n */\n readonly launchpadLabel = input(t(() => $localize`:@@SI_APPLICATION_HEADER.LAUNCHPAD:Launchpad`));\n\n /** @internal */\n readonly closeMobileMenus = new Subject<void>();\n\n /** @internal */\n readonly mobileNavigationExpanded = signal(false);\n /** @internal */\n readonly hasNavigation = signal(false);\n\n protected readonly openDropdownCount = signal(0);\n protected readonly launchpadOpen = signal(false);\n protected readonly id = `__si-application-header-${SiApplicationHeaderComponent.idCounter++}`;\n protected toggleNavigation = t(\n () => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_NAVIGATION:Toggle navigation`\n );\n protected injector = inject(Injector);\n protected readonly icons = addIcons({ elementThumbnails, elementMenu });\n\n private readonly navigationToggle = viewChild<ElementRef<HTMLDivElement>>('navigationToggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private breakpointObserver = inject(BreakpointObserver);\n private openDropdown?: SiHeaderDropdownTriggerDirective;\n private closeMobileSub = this.closeMobileMenus.subscribe(() => {\n this.closeMobileNavigation();\n this.closeLaunchpad();\n });\n\n /** @internal */\n // defer is required to re-check the current breakpoint as it may change.\n readonly inlineDropdown = defer(() => {\n const expandBreakpoint = this.expandBreakpoint();\n if (expandBreakpoint === 'never') {\n return of(true);\n }\n return this.breakpointObserver\n .observe(\n `(min-width: ${\n BOOTSTRAP_BREAKPOINTS[(expandBreakpoint + 'Minimum') as keyof Breakpoints]\n }px)`\n )\n .pipe(map(({ matches }) => !matches));\n });\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.closeMobileMenus.next();\n this.closeMobileMenus.complete();\n }\n\n /** @internal */\n onDropdownItemTriggered(): void {\n this.closeMobileMenus.next();\n }\n\n /** @internal */\n dropdownClosed(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdownCount.update(v => v - 1);\n if (trigger === this.openDropdown) {\n this.openDropdown = undefined;\n }\n }\n\n /** @internal */\n dropdownOpened(trigger?: SiHeaderDropdownTriggerDirective): void {\n this.openDropdown ??= trigger;\n this.openDropdownCount.update(v => v + 1);\n this.closeLaunchpad();\n }\n\n /** @internal */\n closeLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.launchpadOpen.set(false);\n this.dropdownClosed();\n\n if (this.hasNavigation()) {\n // This is also fine in expanded view when the mobile toggle is not visible.\n // Then the focus call will be ignored.\n this.navigationToggle()?.nativeElement.focus();\n }\n }\n }\n\n /** @internal */\n openLaunchpad(): void {\n if (!this.launchpadOpen()) {\n this.dropdownOpened();\n this.closeMobileMenus.next();\n this.launchpadOpen.set(true);\n }\n }\n\n protected toggleMobileNavigationExpanded(): void {\n if (this.mobileNavigationExpanded()) {\n this.closeMobileNavigation();\n } else {\n this.openMobileNavigation();\n }\n }\n\n protected toggleLaunchpad(): void {\n if (this.launchpadOpen()) {\n this.closeLaunchpad();\n } else {\n this.openLaunchpad();\n }\n }\n\n protected navigationEscapePressed(): void {\n this.closeMobileNavigation();\n this.navigationToggle()?.nativeElement.focus();\n }\n\n protected backdropClicked(): void {\n this.closeMobileMenus.next();\n }\n\n private openMobileNavigation(): void {\n if (!this.mobileNavigationExpanded()) {\n this.closeMobileMenus.next();\n this.mobileNavigationExpanded.set(true);\n this.dropdownOpened();\n this.inlineDropdown\n .pipe(skip(1), takeUntil(this.closeMobileMenus))\n .subscribe(() => this.closeMobileMenus.next());\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobileNavigation(): void {\n if (this.mobileNavigationExpanded()) {\n this.mobileNavigationExpanded.set(false);\n this.openDropdown?.close();\n this.dropdownClosed();\n }\n }\n}\n","<header\n [class]=\"`application-header expand-${expandBreakpoint()}`\"\n [class.show-navigation]=\"mobileNavigationExpanded()\"\n>\n @if (launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-toggle focus-inside d-${expandBreakpoint()}-block`\"\n [class.show]=\"launchpadOpen()\"\n [class.d-none]=\"hasNavigation()\"\n [attr.aria-expanded]=\"launchpadOpen()\"\n [attr.aria-label]=\"launchpadLabel() | translate\"\n [attr.aria-controls]=\"id + '-launchpad'\"\n (click)=\"toggleLaunchpad()\"\n >\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementThumbnails\" />\n </button>\n }\n @if (hasNavigation()) {\n <button\n #navigationToggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileNavigationExpanded()\"\n [attr.aria-expanded]=\"mobileNavigationExpanded()\"\n [attr.aria-label]=\"toggleNavigation | translate\"\n [attr.aria-controls]=\"id + '-navigation-wrapper'\"\n (click)=\"toggleMobileNavigationExpanded()\"\n >\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementMenu\" />\n </button>\n }\n <ng-content select=\"si-header-brand, element-header-brand\">\n <div class=\"header-brand\"></div>\n </ng-content>\n\n <div\n class=\"d-contents\"\n [id]=\"id + '-navigation-wrapper'\"\n [cdkTrapFocus]=\"mobileNavigationExpanded()\"\n (keydown.escape)=\"navigationEscapePressed()\"\n >\n <ng-content select=\"si-header-navigation, element-header-navigation\">\n <div class=\"header-navigation\"></div>\n </ng-content>\n </div>\n\n <ng-content select=\"si-header-actions, element-header-actions\">\n <div class=\"header-actions\"></div>\n </ng-content>\n</header>\n\n@if (launchpadOpen() && launchpad()) {\n <div [id]=\"id + '-launchpad'\">\n <ng-template [ngTemplateOutlet]=\"launchpad()!\" [ngTemplateOutletInjector]=\"injector\" />\n </div>\n}\n\n@if (openDropdownCount() || launchpadOpen()) {\n <div\n [class]=\"`modal-backdrop ${launchpadOpen() ? 'd-block' : `d-${expandBreakpoint()}-none`}`\"\n (click)=\"backdropClicked()\"\n ></div>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-account-details',\n imports: [SiTranslatePipe],\n template: `\n <div class=\"mx-5\">\n <div class=\"si-h5\">{{ name() }}</div>\n @if (email()) {\n <div>{{ email() }}</div>\n }\n @if (company() || userRole()) {\n <div class=\"d-flex align-items-center text-secondary mt-2\">\n @if (company()) {\n {{ company() }}\n }\n @if (userRole()) {\n <span class=\"badge bg-default\">{{ userRole()! | translate }}</span>\n }\n </div>\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiAccountDetailsComponent {\n /** The user's full name. */\n readonly name = input.required<string>();\n /** The user's company name. */\n readonly company = input<string>();\n /** The user's email address. */\n readonly email = input<string>();\n /** The user's role. */\n readonly userRole = input<TranslatableString>();\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport {\n SI_HEADER_DROPDOWN_OPTIONS,\n SiHeaderDropdownTriggerDirective\n} from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\n/** Adds a navigation item to the header. Should be located inside `.header-navigation`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-navigation-item], a[si-header-navigation-item]',\n imports: [SiIconComponent],\n template: `\n <div class=\"item-title\">\n <ng-content />\n </div>\n @if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n }\n `,\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderNavigationItemComponent {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly icons = addIcons({ elementDown2 });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementOptionsVertical } from '@siemens/element-icons';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from '@siemens/element-ng/header-dropdown';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\nimport { skip, takeUntil } from 'rxjs/operators';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n/** Container for actions that should be collapsed in mobile mode. */\n@Component({\n selector: 'si-header-collapsible-actions',\n imports: [SiTranslatePipe, A11yModule, SiIconComponent],\n templateUrl: './si-header-collapsible-actions.component.html',\n styles: '.badge-dot::after { inset-inline-end: 4px; }',\n providers: [\n { provide: SI_HEADER_DROPDOWN_OPTIONS, useValue: { disableRootFocusTrapForInlineMode: true } }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'd-contents' }\n})\nexport class SiHeaderCollapsibleActionsComponent implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * Accessible label of the toggle button if actions are collapsed.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Toggle actions`)\n * ```\n */\n readonly mobileToggleLabel = input(\n t(() => $localize`:@@SI_APPLICATION_HEADER.TOGGLE_ACTIONS:Toggle actions`)\n );\n\n /** @internal **/\n readonly mobileExpanded = signal(false);\n /** @internal **/\n readonly badgeCount = signal(0);\n\n protected readonly id = `__si-header-collapsible-actions-${SiHeaderCollapsibleActionsComponent.idCounter++}`;\n protected readonly icons = addIcons({ elementOptionsVertical });\n\n private readonly toggle = viewChild.required<ElementRef<HTMLDivElement>>('toggle');\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private header = inject(SiApplicationHeaderComponent);\n private closeMobileSub = this.header.closeMobileMenus.subscribe(() => this.closeMobile());\n private inlineChangeSubscription?: Subscription;\n\n ngOnDestroy(): void {\n this.closeMobileSub.unsubscribe();\n this.inlineChangeSubscription?.unsubscribe();\n }\n\n protected toggleMobileExpanded(): void {\n if (this.mobileExpanded()) {\n this.closeMobile();\n } else {\n this.openMobile();\n }\n }\n\n protected escapePressed(): void {\n this.closeMobile();\n this.toggle().nativeElement.focus();\n }\n\n private openMobile(): void {\n if (!this.mobileExpanded()) {\n this.header.closeMobileMenus.next();\n this.header.dropdownOpened();\n this.mobileExpanded.set(true);\n this.inlineChangeSubscription = this.header.inlineDropdown\n .pipe(skip(1), takeUntil(this.header.closeMobileMenus))\n .subscribe(() => this.header.closeMobileMenus.next());\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n private closeMobile(): void {\n if (this.mobileExpanded()) {\n this.header.dropdownClosed();\n this.mobileExpanded.set(false);\n this.toggle().nativeElement.focus();\n }\n }\n}\n","<button\n #toggle\n type=\"button\"\n class=\"header-toggle focus-inside\"\n [class.show]=\"mobileExpanded()\"\n [attr.aria-expanded]=\"mobileExpanded()\"\n [attr.aria-label]=\"mobileToggleLabel() | translate\"\n [attr.aria-controls]=\"id + '-content'\"\n (click)=\"toggleMobileExpanded()\"\n>\n <si-icon class=\"icon-lg\" [icon]=\"icons.elementOptionsVertical\" [class.badge-dot]=\"badgeCount()\" />\n</button>\n<div\n class=\"header-collapsible-actions\"\n [id]=\"id + '-content'\"\n [class.show]=\"mobileExpanded()\"\n [cdkTrapFocus]=\"mobileExpanded()\"\n (keydown.escape)=\"escapePressed()\"\n>\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, HostListener, inject, OnInit } from '@angular/core';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { SiHeaderDropdownTriggerDirective } from '@siemens/element-ng/header-dropdown';\nimport { addIcons } from '@siemens/element-ng/icon';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\nimport { SiHeaderCollapsibleActionsComponent } from './si-header-collapsible-actions.component';\n\n@Directive({})\nexport abstract class SiHeaderActionItemBase implements OnInit {\n /** @internal */\n dropdownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected collapsibleActions = inject(SiHeaderCollapsibleActionsComponent, { optional: true });\n protected readonly icons = addIcons({ elementDown2 });\n\n private header = inject(SiApplicationHeaderComponent);\n\n ngOnInit(): void {\n if (this.dropdownTrigger) {\n this.header.closeMobileMenus.subscribe(() => this.dropdownTrigger!.close());\n }\n }\n\n @HostListener('click')\n protected click(): void {\n if (!this.dropdownTrigger?.isOpen && !this.collapsibleActions?.mobileExpanded()) {\n // we must close other immediately as we would close the dropdown else wise immediately after opening.\n this.header.closeMobileMenus.next();\n } else if (!this.dropdownTrigger || !this.collapsibleActions?.mobileExpanded()) {\n // we must use queueMicrotask, otherwise the dropdown gets re-opened immediately.\n queueMicrotask(() => this.header.closeMobileMenus.next());\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { computed, Directive, input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n/**\n * Base for icon based actions.\n * @internal\n */\n@Directive({})\nexport abstract class SiHeaderActionIconItemBase\n extends SiHeaderActionItemBase\n implements OnChanges, OnInit\n{\n /**\n * Adds a badge to the header item.\n * If type\n * - =number, the number will be shown and automatically trimmed if \\>99\n * - =true, an empty red dot will be shown\n */\n readonly badge = input<number | boolean | undefined | null>();\n\n protected readonly badgeDot = computed(() =>\n typeof this.badge() === 'boolean' ? (this.badge() as boolean) : false\n );\n protected readonly badgeValue = computed(() => {\n const badge = this.badge();\n return typeof badge === 'number'\n ? `${badge > 99 ? '+' : ''}${Math.min(99, Math.round(badge))}`\n : undefined;\n });\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.badge) {\n if (changes.badge.currentValue && !changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count + 1);\n } else if (!changes.badge.currentValue && changes.badge.previousValue) {\n this.collapsibleActions?.badgeCount.update(count => count - 1);\n }\n }\n }\n\n protected get visuallyHideTitle(): boolean {\n return !this.collapsibleActions?.mobileExpanded();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an action item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-action-item], a[si-header-action-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-action-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderActionItemComponent extends SiHeaderActionIconItemBase {\n /** The icon to be shown. */\n readonly icon = input.required<string>();\n}\n","<si-icon class=\"icon-lg\" [class.badge-dot]=\"badgeDot()\" [icon]=\"icon()\" />\n@if (badgeValue()) {\n <span class=\"badge-text\">{{ badgeValue() }}</span>\n}\n<ng-content select=\"si-avatar\" />\n<div class=\"item-title\" [class.visually-hidden]=\"visuallyHideTitle\">\n <ng-content />\n</div>\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiAvatarComponent } from '@siemens/element-ng/avatar';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionIconItemBase } from './si-header-action-item-icon-base.directive';\n\n/** Adds an account item to the header. Should be located inside `.header-actions`. */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-account-item]',\n imports: [SiAvatarComponent, SiIconComponent],\n templateUrl: './si-header-account-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'header-item focus-inside p-4',\n '[class.dropdown-toggle]': '!!dropdownTrigger'\n }\n})\nexport class SiHeaderAccountItemComponent extends SiHeaderActionIconItemBase {\n /** Name of the account. */\n readonly name = input.required<string>();\n /** Initials of the account. If not provided, they will be calculated. */\n readonly initials = input<string>();\n /** URL to an image which should be shown instead of the initials. */\n readonly imageUrl = input<string>();\n}\n","<si-avatar\n size=\"small\"\n color=\"0\"\n [altText]=\"name()\"\n [initials]=\"initials()\"\n [imageUrl]=\"imageUrl()\"\n/>\n<div class=\"item-title\" aria-hidden=\"true\" [class.d-none]=\"visuallyHideTitle\">\n {{ name() }}\n</div>\n@if (badgeValue()) {\n <div class=\"badge-text\">{{ badgeValue() }}</div>\n}\n@if (dropdownTrigger) {\n <si-icon class=\"dropdown-caret\" [icon]=\"icons.elementDown2\" />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderActionItemBase } from './si-header-action-item.base';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-header-selection-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-selection-item.component.html',\n host: {\n class: 'header-item header-selection-item focus-inside dropdown-toggle',\n '[class.show]': 'open()'\n }\n})\nexport class SiHeaderSelectionItemComponent extends SiHeaderActionItemBase {\n /**\n * Sets the open state which will only affect the arrow. Only use this property when not using {@link SiHeaderDropdownTriggerDirective}.\n *\n * @defaultValue false\n */\n readonly open = input(false);\n}\n","<div class=\"item-title\">\n <ng-content />\n</div>\n<si-icon class=\"d-block dropdown-caret\" [icon]=\"icons.elementDown2\" />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n afterNextRender,\n Directive,\n ElementRef,\n HostListener,\n inject,\n Injector,\n OnInit,\n signal\n} from '@angular/core';\n\n/** The siemens logo. Should be located inside `.header-brand`. */\n@Directive({\n selector: 'si-header-logo, [siHeaderLogo]',\n host: {\n class: 'header-logo px-6 focus-inside',\n '[attr.aria-label]': 'logoText()'\n }\n})\nexport class SiHeaderLogoDirective implements OnInit {\n protected readonly logoText = signal<string | undefined>(undefined);\n\n private elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n\n ngOnInit(): void {\n this.updateLogoText();\n }\n\n @HostListener('window:theme-switch')\n protected updateLogoText(): void {\n afterNextRender(\n {\n read: () =>\n this.logoText.set(\n window\n .getComputedStyle(this.elementRef.nativeElement)\n .getPropertyValue('--element-brand-logo-text')\n .replace(/^[\"']|[\"']$/g, '')\n )\n },\n { injector: this.injector }\n );\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\nimport { SiHeaderLogoDirective } from './si-header-logo.directive';\n\n/**\n * The siemens logo.\n * Should be located inside `.header-brand`.\n *\n * @deprecated Use the {@link SiHeaderLogoDirective} instead.\n * The new component will use the logo provided by the global theme instead\n * of containing a hard coded siemens logo.\n * ```html\n * // previous\n * <a si-header-siemens-logo routerLink=\"/\" aria-label=\"Siemens\" class=\"d-none d-md-flex\"></a>\n * // new\n * <a siHeaderLogo routerLink=\"/\" class=\"d-none d-md-flex\"></a>\n * ```\n *\n */\n@Component({\n selector: 'si-header-siemens-logo, [si-header-siemens-logo]',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiHeaderSiemensLogoComponent extends SiHeaderLogoDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-actions',\n host: { class: 'header-actions' }\n})\nexport class SiHeaderActionsDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'si-header-brand',\n host: { class: 'header-brand' }\n})\nexport class SiHeaderBrandDirective {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, inject, OnDestroy } from '@angular/core';\nimport { elementThumbnails } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from './si-application-header.component';\n\n@Component({\n selector: 'si-header-navigation',\n imports: [SiTranslatePipe, SiIconComponent],\n templateUrl: './si-header-navigation.component.html',\n host: { class: 'header-navigation', role: 'navigation' }\n})\nexport class SiHeaderNavigationComponent implements OnDestroy {\n protected header = inject(SiApplicationHeaderComponent);\n protected readonly icons = addIcons({ elementThumbnails });\n\n constructor() {\n this.header.hasNavigation.set(true);\n }\n\n ngOnDestroy(): void {\n this.header.hasNavigation.set(false);\n }\n}\n","@if (header.launchpad()) {\n <button\n type=\"button\"\n [class]=\"`header-item focus-inside d-${header.expandBreakpoint()}-none`\"\n (click)=\"header.openLaunchpad()\"\n >\n <si-icon class=\"icon-lg pe-5\" [icon]=\"icons.elementThumbnails\" />\n {{ header.launchpadLabel() | translate }}\n </button>\n}\n<ng-content />\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n HostListener,\n inject,\n input,\n model\n} from '@angular/core';\nimport { elementExport, elementFavorites, elementFavoritesFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'a[si-launchpad-app]',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-launchpad-app.component.html',\n styleUrl: './si-launchpad-app.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'focus-inside',\n '[class.active]': 'active()',\n '[class.action]': 'action()'\n }\n})\nexport class SiLaunchpadAppComponent {\n /** @defaultValue false */\n readonly external = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly active = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly enableFavoriteToggle = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly favorite = model(false);\n /** @defaultValue false */\n readonly action = input(false, { transform: booleanAttribute });\n\n readonly iconUrl = input<string>();\n readonly iconClass = input<string>();\n /**\n * Aria-label for the external link icon.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:External application`)\n * ```\n */\n readonly externalLinkText = input<TranslatableString>(\n t(() => $localize`:@@SI_LAUNCHPAD.EXTERNAL_LINK:External application`)\n );\n\n protected readonly icons = addIcons({ elementExport, elementFavorites, elementFavoritesFilled });\n\n private header = inject(SiApplicationHeaderComponent);\n\n @HostListener('keydown.space', ['$event'])\n protected favoriteClicked(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.favorite.update(old => !old);\n }\n\n @HostListener('click') protected click(): void {\n this.header.closeLaunchpad();\n }\n}\n","@if (iconUrl()) {\n <img alt=\"\" width=\"64\" height=\"64\" class=\"app-icon\" [src]=\"iconUrl()\" />\n} @else if (iconClass()) {\n <si-icon class=\"app-icon\" [icon]=\"iconClass()!\" />\n}\n<div class=\"app-text\">\n <div class=\"si-h4 d-flex align-items-center mw-100 gap-1\">\n <span class=\"text-truncate\">\n <ng-content select=\"[app-name]\" />\n </span>\n @if (external()) {\n <si-icon\n class=\"icon\"\n [icon]=\"icons.elementExport\"\n [attr.aria-label]=\"externalLinkText() | translate\"\n />\n }\n </div>\n <div class=\"si-body text-secondary mt-2 text-truncate mw-100\">\n <ng-content select=\"[app-systemName]\" />\n </div>\n</div>\n@if (enableFavoriteToggle()) {\n <si-icon\n class=\"icon favorite-icon\"\n [class.is-favorite]=\"favorite()\"\n [icon]=\"favorite() ? icons.elementFavoritesFilled : icons.elementFavorites\"\n (click)=\"favoriteClicked($event)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n output\n} from '@angular/core';\nimport { ActivatedRoute, RouterLink, RouterLinkActive } from '@angular/router';\nimport { elementCancel, elementDown2 } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t, TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiApplicationHeaderComponent } from '../si-application-header.component';\nimport { SiLaunchpadAppComponent } from './si-launchpad-app.component';\nimport { App, AppCategory } from './si-launchpad.model';\n\nexport interface FavoriteChangeEvent {\n app: App;\n favorite: boolean;\n}\n\n@Component({\n selector: 'si-launchpad-factory',\n imports: [\n A11yModule,\n SiLinkModule,\n SiTranslatePipe,\n SiLaunchpadAppComponent,\n SiIconComponent,\n RouterLinkActive,\n RouterLink\n ],\n templateUrl: './si-launchpad-factory.component.html',\n styleUrl: './si-launchpad-factory.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiLaunchpadFactoryComponent {\n /**\n * Text to close the launchpad. Needed for a11y.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`)\n * ```\n */\n readonly closeText = input(t(() => $localize`:@@SI_LAUNCHPAD.CLOSE:Close launchpad`));\n\n /**\n * Title of the launchpad.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch applications`)\n * ```\n */\n readonly titleText = input(t(() => $localize`:@@SI_LAUNCHPAD.TITLE:Switch applications`));\n\n /**\n * Subtitle of the launchpad.\n * When not provided, no subtitle is displayed.\n */\n readonly subtitleText = input<TranslatableString>();\n\n /** All app items shown in the launchpad. */\n readonly apps = input.required<App[] | AppCategory[]>();\n\n /**\n * Allow the user to select favorite apps which will then be displayed at the top.\n *\n * @defaultValue false\n */\n readonly enableFavorites = input(false, { transform: booleanAttribute });\n\n /**\n * Title of the favorite apps section.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`)\n * ```\n */\n readonly favoriteAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.FAVORITE_APPS:Favorites`));\n\n /**\n * Title of the show more apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`)\n * ```\n */\n readonly showMoreAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_MORE:Show more`));\n\n /**\n * Title of the show less apps button.\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_LAUNCHPAD.SHOW_LESS:Show less`)\n * ```\n */\n readonly showLessAppsText = input(t(() => $localize`:@@SI_LAUNCHPAD.SHOW_LESS:Show less`));\n\n readonly favoriteChange = output<FavoriteChangeEvent>();\n\n protected showAllApps = false;\n protected readonly categories = computed(() => {\n const apps = this.apps();\n const favorites = this.favorites();\n const categories: AppCategory[] = [];\n if (this.enableFavorites() && this.hasFavorites()) {\n categories.push({\n name: this.favoriteAppsText(),\n apps: favorites\n });\n }\n\n if (this.isCategories(apps)) {\n categories.push(...apps);\n } else {\n categories.push({ name: '', apps: [...apps] });\n }\n return categories;\n });\n protected readonly favorites = computed(() =>\n this.apps()\n .flatMap(app => ('apps' in app ? app.apps : (app as App)))\n .filter(app => app.favorite)\n );\n protected readonly hasFavorites = computed(() => this.favorites().length > 0);\n protected readonly icons = addIcons({ elementDown2, elementCancel });\n protected readonly activatedRoute = inject(ActivatedRoute, { optional: true });\n private header = inject(SiApplicationHeaderComponent);\n\n protected closeLaunchpad(): void {\n this.header.closeLaunchpad();\n }\n\n protected toggleFavorite(app: App, favorite: boolean): void {\n this.favoriteChange.emit({ app, favorite });\n }\n\n protected escape(): void {\n this.closeLaunchpad();\n }\n\n protected isCategories(items: App[] | AppCategory[]): items is AppCategory[] {\n return items.some(item => 'apps' in item);\n }\n\n protected isFavoriteToggleDisabled(app: App): boolean {\n if ('_noFavorite' in app) {\n return !!app._noFavorite;\n } else {\n return false;\n }\n }\n}\n","<!-- temporary until old primary-navbar is removed -->\n<div\n class=\"app-switcher gap-6 g-5 g-sm-9 container-fluid\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n (keydown.escape)=\"escape()\"\n>\n @if (titleText()) {\n <div class=\"apps-header\">\n <span>\n <p class=\"si-h4 lh-1 m-0\">{{ titleText() | translate }}</p>\n @if (subtitleText()) {\n <p class=\"si-body text-secondary mt-4 mb-0\">{{ subtitleText() | translate }}</p>\n }\n </span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost\"\n [attr.aria-label]=\"closeText() | translate\"\n (click)=\"closeLaunchpad()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n }\n <div class=\"apps-scroll ms-n2 ps-2\">\n @for (category of categories(); track category.name; let first = $first) {\n @if (!enableFavorites() || !hasFavorites() || first || showAllApps) {\n <div>\n @if (category.name) {\n <div\n class=\"si-h4 launchpad-category-title mb-6\"\n [class.mt-4]=\"first\"\n [class.mt-8]=\"!first\"\n >\n {{ category.name | translate }}\n </div>\n }\n <div class=\"d-flex flex-wrap gap-4\">\n @for (app of category.apps; track app) {\n @switch (app.type) {\n @case ('router-link') {\n <a\n si-launchpad-app\n routerLinkActive=\"active\"\n [routerLinkActiveOptions]=\"app.activeMatchOptions ?? { exact: false }\"\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n [favorite]=\"!!app.favorite\"\n [routerLink]=\"app.routerLink\"\n [queryParams]=\"app.extras?.queryParams\"\n [queryParamsHandling]=\"app.extras?.queryParamsHandling\"\n [fragment]=\"app.extras?.fragment\"\n [state]=\"app.extras?.state\"\n [relativeTo]=\"app.extras?.relativeTo ?? this.activatedRoute\"\n [preserveFragment]=\"app.extras?.preserveFragment\"\n [skipLocationChange]=\"app.extras?.skipLocationChange\"\n [replaceUrl]=\"app.extras?.replaceUrl\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n @default {\n <!--fallback for existing apps that do not have a type defined -->\n <a\n si-launchpad-app\n [enableFavoriteToggle]=\"enableFavorites() && !isFavoriteToggleDisabled(app)\"\n [favorite]=\"!!app.favorite\"\n [href]=\"app.href\"\n [target]=\"app.target ?? ''\"\n [active]=\"app.active\"\n [external]=\"app.external\"\n [iconUrl]=\"app.iconUrl\"\n [iconClass]=\"app.iconClass\"\n (favoriteChange)=\"toggleFavorite(app, $event)\"\n >\n <span app-name>{{ app.name | translate }}</span>\n <span app-systemName>{{ app.systemName | translate }}</span>\n </a>\n }\n }\n }\n </div>\n </div>\n }\n\n @if (enableFavorites() && first && hasFavorites()) {\n <button\n type=\"button\"\n class=\"btn btn-link btn-show-all dropdown-toggle text-decoration-none\"\n [class.show]=\"showAllApps\"\n (click)=\"showAllApps = !showAllApps\"\n >\n <b>{{ (showAllApps ? showLessAppsText() : showMoreAppsText()) | translate }}</b>\n <si-icon class=\"link-icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </button>\n }\n }\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-application-header.component';\nexport * from './si-account-details.component';\nexport * from './si-header-navigation-item.component';\nexport * from './si-header-collapsible-actions.component';\nexport * from './si-header-action-item.component';\nexport * from './si-header-account-item.component';\nexport * from './si-header-selection-item.component';\nexport * from './si-header-siemens-logo.component';\nexport * from './si-header-logo.directive';\nexport * from './si-header-actions.directive';\nexport * from './si-header-brand.directive';\nexport * from './si-header-navigation.component';\nexport * from './launchpad/si-launchpad-factory.component';\nexport * from './launchpad/si-launchpad.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-auto-collapsable-list.mjs","sources":["../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-measurable.class.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-item.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list.module.ts","../../../../projects/element-ng/auto-collapsable-list/index.ts","../../../../projects/element-ng/auto-collapsable-list/siemens-element-ng-auto-collapsable-list.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject } from '@angular/core';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\n\n@Directive()\nexport class SiAutoCollapsableListMeasurable {\n protected readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly resizeObserverService = inject(ResizeObserverService);\n\n /**\n * Emits on element width changes.\n *\n * @defaultValue\n * ```\n * this.resizeObserverService\n * .observe(this.elementRef.nativeElement, 0, true, true)\n * .pipe(\n * map(size => size.width),\n * distinctUntilChanged(),\n * shareReplay(1)\n * )\n * ```\n */\n size$ = this.resizeObserverService.observe(this.elementRef.nativeElement, 0, true, true).pipe(\n map(size => size.width),\n distinctUntilChanged(),\n shareReplay(1)\n );\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, booleanAttribute, computed, Directive, input, signal } from '@angular/core';\n\nimport { SiAutoCollapsableListMeasurable } from './si-auto-collapsable-list-measurable.class';\n\n@Directive({\n selector: '[siAutoCollapsableListItem]',\n host: {\n '[style.visibility]': 'isVisible() ? \"visible\" : \"hidden\"',\n '[style.position]': 'isVisible() ? \"\" : \"absolute\"',\n // Ensure hidden items are behind the visible ones. Otherwise, the visible ones are not clickable\n '[style.z-index]': 'isVisible() ? \"\" : \"-1\"'\n },\n exportAs: 'siAutoCollapsableListItem'\n})\nexport class SiAutoCollapsableListItemDirective\n extends SiAutoCollapsableListMeasurable\n implements AfterViewInit\n{\n /**\n * Hide this item even if enough space is available.\n * When calculating the overall available size, this item is still considered when forceHide=true\n *\n * @defaultValue false\n */\n readonly forceHide = input(false, { transform: booleanAttribute });\n\n /**\n * True if enough space is available for this item.\n *\n * @defaultValue false\n */\n readonly canBeVisible = signal<boolean>(false);\n\n /**\n * True if this item is actually visible to the user\n */\n readonly isVisible = computed(() => this.canBeVisible() && !this.forceHide());\n\n ngAfterViewInit(): void {\n if (getComputedStyle(this.elementRef.nativeElement).display === 'inline') {\n console.error('siAutoCollapsibleListItem does not work on items with display=\"inline\"');\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SiAutoCollapsableListMeasurable } from './si-auto-collapsable-list-measurable.class';\n\n@Directive({\n selector: '[siAutoCollapsableListAdditionalContent]'\n})\nexport class SiAutoCollapsableListAdditionalContentDirective extends SiAutoCollapsableListMeasurable {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\n\n@Directive({\n selector: '[siAutoCollapsableListOverflowItem]',\n exportAs: 'siAutoCollapsableListOverflowItem'\n})\nexport class SiAutoCollapsableListOverflowItemDirective extends SiAutoCollapsableListItemDirective {\n /**\n * Number of hidden items.\n *\n * @defaultValue 0\n */\n hiddenItemCount = 0;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n contentChild,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n INJECTOR,\n input,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { BehaviorSubject, combineLatest, of, Subscription } from 'rxjs';\nimport { auditTime, distinctUntilChanged, map, startWith, switchMap } from 'rxjs/operators';\n\nimport { SiAutoCollapsableListAdditionalContentDirective } from './si-auto-collapsable-list-additional-content.directive';\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\nimport { SiAutoCollapsableListOverflowItemDirective } from './si-auto-collapsable-list-overflow-item.directive';\n\n@Directive({\n selector: '[siAutoCollapsableList]',\n host: {\n style: 'position: relative',\n '[style.overflow]': 'siAutoCollapsableList() ? \"hidden\" : \"\"'\n },\n exportAs: 'siAutoCollapsableList'\n})\nexport class SiAutoCollapsableListDirective implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * The items which are displayed in the siAutoCollapsableList.\n */\n readonly items = contentChildren(SiAutoCollapsableListItemDirective);\n\n private readonly overflowItem = contentChild(SiAutoCollapsableListOverflowItemDirective);\n\n private readonly additionalContent = contentChildren(\n SiAutoCollapsableListAdditionalContentDirective\n );\n\n /** @defaultValue true */\n readonly siAutoCollapsableList = input(true, { transform: booleanAttribute });\n\n /**\n * The (flex) gap in pixels, will automatically be set if a pixel value is used in CSS.\n */\n readonly gap = input<number>();\n\n /**\n * The element which size is available for the content of the siAutoCollapsableList.\n *\n * @defaultValue undefined\n */\n readonly containerElement = input<HTMLElement | undefined | null>(undefined, {\n alias: 'siAutoCollapsableListContainerElement'\n });\n\n private resizeSubscription?: Subscription;\n private disableInitSubscription?: Subscription;\n private readonly elementRef = inject(ElementRef);\n private readonly resizeObserverService = inject(ResizeObserverService);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly containerElementSubject = new BehaviorSubject<HTMLElement | null>(\n this.elementRef.nativeElement\n );\n\n /**\n * The same as {@link gap}, but automatically read from the computed styles.\n * Used if not set by user.\n */\n private computedGap = 0;\n private injector = inject(INJECTOR);\n\n ngAfterViewInit(): void {\n if (this.siAutoCollapsableList()) {\n this.readGapSize();\n this.setupResizeListener();\n } else {\n this.reset();\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.siAutoCollapsableList) {\n const siAutoCollapsableList = this.siAutoCollapsableList();\n if (!siAutoCollapsableList && this.resizeSubscription) {\n this.reset();\n } else if (siAutoCollapsableList && !this.resizeSubscription && this.items()) {\n this.setupResizeListener();\n }\n }\n\n if (changes.containerElement) {\n this.containerElementSubject.next(this.containerElement() ?? this.elementRef.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription?.unsubscribe();\n this.disableInitSubscription?.unsubscribe();\n this.containerElementSubject.complete();\n }\n\n private setupResizeListener(): void {\n this.disableInitSubscription?.unsubscribe();\n const containerSize$ = this.containerElementSubject.pipe(\n switchMap(element => this.resizeObserverService.observe(element!, 0, true, true)),\n map(size => size.width),\n distinctUntilChanged(),\n map(size => {\n const { paddingInlineStart, paddingInlineEnd } = getComputedStyle(\n this.containerElement() ?? this.elementRef.nativeElement\n );\n return size - parseFloat(paddingInlineStart) - parseFloat(paddingInlineEnd);\n })\n );\n\n const itemSizes$ = toObservable(this.items, { injector: this.injector }).pipe(\n startWith(this.items()),\n switchMap(items =>\n !items.length\n ? of([])\n : combineLatest(\n items.map(item =>\n item.size$.pipe(\n map(size => ({\n size,\n directive: item\n }))\n )\n )\n )\n )\n );\n const additionalContentSizes$ = toObservable(this.additionalContent, {\n injector: this.injector\n }).pipe(\n startWith(this.additionalContent()),\n switchMap(additionalContent => combineLatest(additionalContent.map(item => item.size$))),\n startWith([])\n );\n\n this.resizeSubscription = combineLatest([\n containerSize$,\n this.overflowItem()?.size$ ?? of(0),\n itemSizes$,\n additionalContentSizes$\n ])\n .pipe(auditTime(0))\n .subscribe(([containerSize, overflowItemSize, items, additionalContentSizes]) =>\n this.updateItemVisibility(containerSize, overflowItemSize, items, additionalContentSizes)\n );\n }\n\n private updateItemVisibility(\n containerSize: number,\n overflowItemSize: number,\n items: { size: number; directive: SiAutoCollapsableListItemDirective }[],\n additionalContent: number[]\n ): void {\n let remainingSpace = containerSize - additionalContent.reduce((a, b) => a + b, 0);\n\n const itemsRemaining = items.slice();\n\n const gap = this.gap() ?? this.computedGap;\n\n while (remainingSpace > 0 && itemsRemaining.length) {\n const item = itemsRemaining.shift()!;\n if (remainingSpace - item.size - gap - overflowItemSize >= 0) {\n // There is space for the item and an overflow item.\n item.directive.canBeVisible.set(true);\n remainingSpace -= item.size + gap;\n } else if (\n !itemsRemaining.length &&\n (remainingSpace - item.size >= 0 || overflowItemSize >= item.size)\n ) {\n // There are no other items remaining and there is enough space or the overflow item is biggger than the current one.\n item.directive.canBeVisible.set(true);\n remainingSpace = 0;\n } else {\n // There is no space for the item.\n remainingSpace = 0;\n item.directive.canBeVisible.set(false);\n }\n }\n itemsRemaining.forEach(item => item.directive.canBeVisible.set(false));\n\n const overflowItem = this.overflowItem();\n if (overflowItem) {\n overflowItem.hiddenItemCount = this.items().filter(item => !item.canBeVisible()).length;\n overflowItem.canBeVisible.set(overflowItem.hiddenItemCount !== 0);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private reset(): void {\n this.resizeSubscription?.unsubscribe();\n this.resizeSubscription = undefined;\n this.disableInitSubscription = toObservable(this.items, { injector: this.injector }).subscribe(\n items =>\n queueMicrotask(() => {\n items.forEach(item => item.canBeVisible.set(true));\n })\n );\n\n const overflowItem = this.overflowItem();\n if (overflowItem) {\n queueMicrotask(() => {\n overflowItem!.canBeVisible.set(false);\n overflowItem!.hiddenItemCount = 0;\n });\n }\n }\n\n private readGapSize(): void {\n const { gap } = getComputedStyle(this.containerElement() ?? this.elementRef.nativeElement);\n if (gap.endsWith('px') || gap === '0') {\n this.computedGap = parseFloat(gap);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAutoCollapsableListAdditionalContentDirective } from './si-auto-collapsable-list-additional-content.directive';\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\nimport { SiAutoCollapsableListOverflowItemDirective } from './si-auto-collapsable-list-overflow-item.directive';\nimport { SiAutoCollapsableListDirective } from './si-auto-collapsable-list.directive';\n\n@NgModule({\n imports: [\n SiAutoCollapsableListAdditionalContentDirective,\n SiAutoCollapsableListDirective,\n SiAutoCollapsableListItemDirective,\n SiAutoCollapsableListOverflowItemDirective\n ],\n exports: [\n SiAutoCollapsableListAdditionalContentDirective,\n SiAutoCollapsableListDirective,\n SiAutoCollapsableListItemDirective,\n SiAutoCollapsableListOverflowItemDirective\n ]\n})\nexport class SiAutoCollapsableListModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-auto-collapsable-list-item.directive';\nexport * from './si-auto-collapsable-list.directive';\nexport * from './si-auto-collapsable-list-overflow-item.directive';\nexport * from './si-auto-collapsable-list-measurable.class';\nexport * from './si-auto-collapsable-list-additional-content.directive';\nexport * from './si-auto-collapsable-list.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-auto-collapsable-list.mjs","sources":["../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-measurable.class.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-item.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list.directive.ts","../../../../projects/element-ng/auto-collapsable-list/si-auto-collapsable-list.module.ts","../../../../projects/element-ng/auto-collapsable-list/index.ts","../../../../projects/element-ng/auto-collapsable-list/siemens-element-ng-auto-collapsable-list.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive, ElementRef, inject } from '@angular/core';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { distinctUntilChanged, map, shareReplay } from 'rxjs/operators';\n\n@Directive()\nexport class SiAutoCollapsableListMeasurable {\n protected readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly resizeObserverService = inject(ResizeObserverService);\n\n /**\n * Emits on element width changes.\n *\n * @defaultValue\n * ```\n * this.resizeObserverService\n * .observe(this.elementRef.nativeElement, 0, true, true)\n * .pipe(\n * map(size => size.width),\n * distinctUntilChanged(),\n * shareReplay(1)\n * )\n * ```\n */\n size$ = this.resizeObserverService.observe(this.elementRef.nativeElement, 0, true, true).pipe(\n map(size => size.width),\n distinctUntilChanged(),\n shareReplay(1)\n );\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { AfterViewInit, booleanAttribute, computed, Directive, input, signal } from '@angular/core';\n\nimport { SiAutoCollapsableListMeasurable } from './si-auto-collapsable-list-measurable.class';\n\n@Directive({\n selector: '[siAutoCollapsableListItem]',\n host: {\n '[style.visibility]': 'isVisible() ? \"visible\" : \"hidden\"',\n '[style.position]': 'isVisible() ? \"\" : \"absolute\"',\n // Ensure hidden items are behind the visible ones. Otherwise, the visible ones are not clickable\n '[style.z-index]': 'isVisible() ? \"\" : \"-1\"'\n },\n exportAs: 'siAutoCollapsableListItem'\n})\nexport class SiAutoCollapsableListItemDirective\n extends SiAutoCollapsableListMeasurable\n implements AfterViewInit\n{\n /**\n * Hide this item even if enough space is available.\n * When calculating the overall available size, this item is still considered when forceHide=true\n *\n * @defaultValue false\n */\n readonly forceHide = input(false, { transform: booleanAttribute });\n\n /**\n * True if enough space is available for this item.\n *\n * @defaultValue false\n */\n readonly canBeVisible = signal<boolean>(false);\n\n /**\n * True if this item is actually visible to the user\n */\n readonly isVisible = computed(() => this.canBeVisible() && !this.forceHide());\n\n ngAfterViewInit(): void {\n if (getComputedStyle(this.elementRef.nativeElement).display === 'inline') {\n console.error('siAutoCollapsibleListItem does not work on items with display=\"inline\"');\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SiAutoCollapsableListMeasurable } from './si-auto-collapsable-list-measurable.class';\n\n@Directive({\n selector: '[siAutoCollapsableListAdditionalContent]'\n})\nexport class SiAutoCollapsableListAdditionalContentDirective extends SiAutoCollapsableListMeasurable {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Directive } from '@angular/core';\n\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\n\n@Directive({\n selector: '[siAutoCollapsableListOverflowItem]',\n exportAs: 'siAutoCollapsableListOverflowItem'\n})\nexport class SiAutoCollapsableListOverflowItemDirective extends SiAutoCollapsableListItemDirective {\n /**\n * Number of hidden items.\n *\n * @defaultValue 0\n */\n hiddenItemCount = 0;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterViewInit,\n booleanAttribute,\n ChangeDetectorRef,\n contentChild,\n contentChildren,\n Directive,\n ElementRef,\n inject,\n INJECTOR,\n input,\n OnChanges,\n OnDestroy,\n SimpleChanges\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { BehaviorSubject, combineLatest, of, Subscription } from 'rxjs';\nimport { auditTime, distinctUntilChanged, map, startWith, switchMap } from 'rxjs/operators';\n\nimport { SiAutoCollapsableListAdditionalContentDirective } from './si-auto-collapsable-list-additional-content.directive';\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\nimport { SiAutoCollapsableListOverflowItemDirective } from './si-auto-collapsable-list-overflow-item.directive';\n\n@Directive({\n selector: '[siAutoCollapsableList]',\n host: {\n style: 'position: relative',\n '[style.overflow]': 'siAutoCollapsableList() ? \"hidden\" : \"\"'\n },\n exportAs: 'siAutoCollapsableList'\n})\nexport class SiAutoCollapsableListDirective implements AfterViewInit, OnChanges, OnDestroy {\n /**\n * The items which are displayed in the siAutoCollapsableList.\n */\n readonly items = contentChildren(SiAutoCollapsableListItemDirective);\n\n private readonly overflowItem = contentChild(SiAutoCollapsableListOverflowItemDirective);\n\n private readonly additionalContent = contentChildren(\n SiAutoCollapsableListAdditionalContentDirective\n );\n\n /** @defaultValue true */\n readonly siAutoCollapsableList = input(true, { transform: booleanAttribute });\n\n /**\n * The (flex) gap in pixels, will automatically be set if a pixel value is used in CSS.\n */\n readonly gap = input<number>();\n\n /**\n * The element which size is available for the content of the siAutoCollapsableList.\n *\n * @defaultValue undefined\n */\n readonly containerElement = input<HTMLElement | undefined | null>(undefined, {\n alias: 'siAutoCollapsableListContainerElement'\n });\n\n private resizeSubscription?: Subscription;\n private disableInitSubscription?: Subscription;\n private readonly elementRef = inject(ElementRef);\n private readonly resizeObserverService = inject(ResizeObserverService);\n private readonly changeDetectorRef = inject(ChangeDetectorRef);\n private readonly containerElementSubject = new BehaviorSubject<HTMLElement | null>(\n this.elementRef.nativeElement\n );\n\n /**\n * The same as {@link gap}, but automatically read from the computed styles.\n * Used if not set by user.\n */\n private computedGap = 0;\n private injector = inject(INJECTOR);\n\n ngAfterViewInit(): void {\n if (this.siAutoCollapsableList()) {\n this.readGapSize();\n this.setupResizeListener();\n } else {\n this.reset();\n }\n }\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.siAutoCollapsableList) {\n const siAutoCollapsableList = this.siAutoCollapsableList();\n if (!siAutoCollapsableList && this.resizeSubscription) {\n this.reset();\n } else if (siAutoCollapsableList && !this.resizeSubscription && this.items()) {\n this.setupResizeListener();\n }\n }\n\n if (changes.containerElement) {\n this.containerElementSubject.next(this.containerElement() ?? this.elementRef.nativeElement);\n }\n }\n\n ngOnDestroy(): void {\n this.resizeSubscription?.unsubscribe();\n this.disableInitSubscription?.unsubscribe();\n this.containerElementSubject.complete();\n }\n\n private setupResizeListener(): void {\n this.disableInitSubscription?.unsubscribe();\n const containerSize$ = this.containerElementSubject.pipe(\n switchMap(element => this.resizeObserverService.observe(element!, 0, true, true)),\n map(size => size.width),\n distinctUntilChanged(),\n map(size => {\n const { paddingInlineStart, paddingInlineEnd } = getComputedStyle(\n this.containerElement() ?? this.elementRef.nativeElement\n );\n return size - parseFloat(paddingInlineStart) - parseFloat(paddingInlineEnd);\n })\n );\n\n const itemSizes$ = toObservable(this.items, { injector: this.injector }).pipe(\n startWith(this.items()),\n switchMap(items =>\n !items.length\n ? of([])\n : combineLatest(\n items.map(item =>\n item.size$.pipe(\n map(size => ({\n size,\n directive: item\n }))\n )\n )\n )\n )\n );\n const additionalContentSizes$ = toObservable(this.additionalContent, {\n injector: this.injector\n }).pipe(\n startWith(this.additionalContent()),\n switchMap(additionalContent => combineLatest(additionalContent.map(item => item.size$))),\n startWith([])\n );\n\n this.resizeSubscription = combineLatest([\n containerSize$,\n this.overflowItem()?.size$ ?? of(0),\n itemSizes$,\n additionalContentSizes$\n ])\n .pipe(auditTime(0))\n .subscribe(([containerSize, overflowItemSize, items, additionalContentSizes]) =>\n this.updateItemVisibility(containerSize, overflowItemSize, items, additionalContentSizes)\n );\n }\n\n private updateItemVisibility(\n containerSize: number,\n overflowItemSize: number,\n items: { size: number; directive: SiAutoCollapsableListItemDirective }[],\n additionalContent: number[]\n ): void {\n let remainingSpace = containerSize - additionalContent.reduce((a, b) => a + b, 0);\n\n const itemsRemaining = items.slice();\n\n const gap = this.gap() ?? this.computedGap;\n\n while (remainingSpace > 0 && itemsRemaining.length) {\n const item = itemsRemaining.shift()!;\n if (remainingSpace - item.size - gap - overflowItemSize >= 0) {\n // There is space for the item and an overflow item.\n item.directive.canBeVisible.set(true);\n remainingSpace -= item.size + gap;\n } else if (\n !itemsRemaining.length &&\n (remainingSpace - item.size >= 0 || overflowItemSize >= item.size)\n ) {\n // There are no other items remaining and there is enough space or the overflow item is biggger than the current one.\n item.directive.canBeVisible.set(true);\n remainingSpace = 0;\n } else {\n // There is no space for the item.\n remainingSpace = 0;\n item.directive.canBeVisible.set(false);\n }\n }\n itemsRemaining.forEach(item => item.directive.canBeVisible.set(false));\n\n const overflowItem = this.overflowItem();\n if (overflowItem) {\n overflowItem.hiddenItemCount = this.items().filter(item => !item.canBeVisible()).length;\n overflowItem.canBeVisible.set(overflowItem.hiddenItemCount !== 0);\n }\n this.changeDetectorRef.markForCheck();\n }\n\n private reset(): void {\n this.resizeSubscription?.unsubscribe();\n this.resizeSubscription = undefined;\n this.disableInitSubscription = toObservable(this.items, { injector: this.injector }).subscribe(\n items =>\n queueMicrotask(() => {\n items.forEach(item => item.canBeVisible.set(true));\n })\n );\n\n const overflowItem = this.overflowItem();\n if (overflowItem) {\n queueMicrotask(() => {\n overflowItem!.canBeVisible.set(false);\n overflowItem!.hiddenItemCount = 0;\n });\n }\n }\n\n private readGapSize(): void {\n const { gap } = getComputedStyle(this.containerElement() ?? this.elementRef.nativeElement);\n if (gap.endsWith('px') || gap === '0') {\n this.computedGap = parseFloat(gap);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAutoCollapsableListAdditionalContentDirective } from './si-auto-collapsable-list-additional-content.directive';\nimport { SiAutoCollapsableListItemDirective } from './si-auto-collapsable-list-item.directive';\nimport { SiAutoCollapsableListOverflowItemDirective } from './si-auto-collapsable-list-overflow-item.directive';\nimport { SiAutoCollapsableListDirective } from './si-auto-collapsable-list.directive';\n\n@NgModule({\n imports: [\n SiAutoCollapsableListAdditionalContentDirective,\n SiAutoCollapsableListDirective,\n SiAutoCollapsableListItemDirective,\n SiAutoCollapsableListOverflowItemDirective\n ],\n exports: [\n SiAutoCollapsableListAdditionalContentDirective,\n SiAutoCollapsableListDirective,\n SiAutoCollapsableListItemDirective,\n SiAutoCollapsableListOverflowItemDirective\n ]\n})\nexport class SiAutoCollapsableListModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-auto-collapsable-list-item.directive';\nexport * from './si-auto-collapsable-list.directive';\nexport * from './si-auto-collapsable-list-overflow-item.directive';\nexport * from './si-auto-collapsable-list-measurable.class';\nexport * from './si-auto-collapsable-list-additional-content.directive';\nexport * from './si-auto-collapsable-list.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-avatar.mjs","sources":["../../../../projects/element-ng/avatar/si-avatar-background-color.directive.ts","../../../../projects/element-ng/avatar/si-avatar.component.ts","../../../../projects/element-ng/avatar/si-avatar.component.html","../../../../projects/element-ng/avatar/index.ts","../../../../projects/element-ng/avatar/siemens-element-ng-avatar.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Directive,\n input,\n numberAttribute,\n OnChanges,\n signal,\n SimpleChanges\n} from '@angular/core';\n\nconst DATA_COLORS_MAX = 17;\nconst DATA_COLOR_NEUTRAL = 17;\nconst ASCII_CODE_INDEX_A = 64;\n\n/**\n * The directive provide a CSS variable --background with a color based on the initials or alt text.\n */\n@Directive({\n selector: '[siAvatarBackgroundColor]',\n host: {\n '[style.--background]': 'backgroundStyle()'\n }\n})\nexport class SiAvatarBackgroundColorDirective implements OnChanges {\n /**\n * The desired color index from $element-data-* color tokens. This can be set to any kind of\n * positive integer that is then mapped to a color index.\n * A better way to set a pseudo-random color is to set {@link autoColor} to `true`.\n *\n * @defaultValue undefined\n */\n readonly color = input<number | undefined, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * Automatically calculates the background color.\n * If set, {@link color} will be ignored.\n *\n * @defaultValue false\n */\n readonly autoColor = input(false, { transform: booleanAttribute });\n\n protected readonly backgroundStyle = signal<string | undefined>('var(--element-data-17)');\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.color) {\n this.setColor(this.color());\n }\n }\n\n /**\n * Update background color variable based on the initials or placeholder text.\n */\n public calculateColorFromInitials(displayInitials?: string): void {\n if (!this.autoColor() || !displayInitials) {\n return;\n }\n\n let color = 0;\n for (let i = 0; i < displayInitials.length; i++) {\n color *= 17; // this prevents 'JD' to have the same color as 'DJ'\n color += displayInitials.charCodeAt(i) - ASCII_CODE_INDEX_A;\n }\n this.setColor(color);\n }\n\n private setColor(color?: number): void {\n if (this.color() === 0) {\n this.backgroundStyle.set(undefined);\n } else {\n const actualColor = color ?? DATA_COLOR_NEUTRAL;\n const colorIndex = ((actualColor - 1) % DATA_COLORS_MAX) + 1;\n this.backgroundStyle.set(`var(--element-data-${colorIndex})`);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { EntityStatusType } from '@siemens/element-ng/common';\nimport { SiIconComponent, STATUS_ICON_CONFIG } from '@siemens/element-ng/icon';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiAvatarBackgroundColorDirective } from './si-avatar-background-color.directive';\n\nexport type AvatarSize = 'tiny' | 'xsmall' | 'small' | 'regular' | 'large' | 'xlarge';\n\n@Component({\n selector: 'si-avatar',\n imports: [SiIconComponent],\n templateUrl: './si-avatar.component.html',\n styleUrl: './si-avatar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'size()'\n },\n hostDirectives: [\n {\n directive: SiAvatarBackgroundColorDirective,\n inputs: ['color', 'autoColor']\n }\n ]\n})\nexport class SiAvatarComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n /**\n * Size of the component.\n *\n * @defaultValue 'regular'\n */\n readonly size = input<AvatarSize>('regular');\n /** Image src URL when using an image. */\n readonly imageUrl = input<string>();\n /** Icon name when using an icon. */\n readonly icon = input<string>();\n /**\n * Initials to be displayed as default avatar if no `icon` or `imageUrl` are provided.\n * If also no initials are provided, they will be automatically calculated from the `altText`.\n * The value will be used to calculate the background color when `autoColor` is true.\n */\n readonly initials = input<string>();\n /**\n * The desired color index from $element-data-* color tokens. This can be set to any kind of\n * positive integer that is then mapped to a color index.\n * A better way to set a pseudo-random color is to set * {@link autoColor} to `true`.\n *\n * @defaultValue undefined\n */\n readonly color = input<number | undefined, unknown>(undefined, { transform: numberAttribute });\n /** The `alt` text for image, `title` for other modes. */\n readonly altText = input.required<string>();\n /**\n * The status (success, info, warning, caution, danger, critical, pending, progress) to be\n * visualized.\n */\n readonly status = input<EntityStatusType>();\n /**\n * aria-label for status\n */\n readonly statusAriaLabel = input<TranslatableString>();\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status ? this.statusIcons[status] : undefined;\n });\n\n protected readonly displayInitials = computed(() => {\n const initials = this.initials();\n if (initials) {\n return initials;\n }\n\n const name = this.altText()\n .replaceAll(/\\([^)]*\\)/g, '')\n .trim();\n const byComma = name.split(/,\\s*/);\n let first: string;\n let last: string;\n if (byComma.length > 1) {\n last = byComma[0];\n first = byComma[1];\n } else {\n const parts = name.split(' ');\n first = parts.shift() ?? '';\n last = parts.pop() ?? '';\n }\n if (first) {\n first = first[0].toLocaleUpperCase();\n }\n if (last) {\n last = last[0].toLocaleUpperCase();\n }\n return first + last;\n });\n\n private readonly autoBackgroundColorDirective = inject(SiAvatarBackgroundColorDirective);\n\n constructor() {\n effect(() => {\n this.autoBackgroundColorDirective.calculateColorFromInitials(this.displayInitials());\n });\n }\n}\n","@if (imageUrl()) {\n <img [src]=\"imageUrl()\" [alt]=\"altText()\" />\n} @else if (icon()) {\n <si-icon class=\"icon\" [title]=\"altText()\" [icon]=\"icon()!\" />\n} @else {\n <div\n class=\"initials\"\n [class.text-body]=\"color() === 0\"\n [title]=\"altText()\"\n [attr.aria-label]=\"altText()\"\n >{{ displayInitials() }}</div\n >\n}\n@let iconConfig = statusIcon();\n@if (iconConfig) {\n <span class=\"indicator-size indicator icon-stack\">\n <si-icon [class]=\"`drop-shadow ${iconConfig.color}`\" [icon]=\"iconConfig.icon\" />\n <si-icon [class]=\"iconConfig.stackedColor\" [icon]=\"iconConfig.stacked\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-avatar-background-color.directive';\nexport * from './si-avatar.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SiAvatarBackgroundColorDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-avatar.mjs","sources":["../../../../projects/element-ng/avatar/si-avatar-background-color.directive.ts","../../../../projects/element-ng/avatar/si-avatar.component.ts","../../../../projects/element-ng/avatar/si-avatar.component.html","../../../../projects/element-ng/avatar/index.ts","../../../../projects/element-ng/avatar/siemens-element-ng-avatar.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Directive,\n input,\n numberAttribute,\n OnChanges,\n signal,\n SimpleChanges\n} from '@angular/core';\n\nconst DATA_COLORS_MAX = 17;\nconst DATA_COLOR_NEUTRAL = 17;\nconst ASCII_CODE_INDEX_A = 64;\n\n/**\n * The directive provide a CSS variable --background with a color based on the initials or alt text.\n */\n@Directive({\n selector: '[siAvatarBackgroundColor]',\n host: {\n '[style.--background]': 'backgroundStyle()'\n }\n})\nexport class SiAvatarBackgroundColorDirective implements OnChanges {\n /**\n * The desired color index from $element-data-* color tokens. This can be set to any kind of\n * positive integer that is then mapped to a color index.\n * A better way to set a pseudo-random color is to set {@link autoColor} to `true`.\n *\n * @defaultValue undefined\n */\n readonly color = input<number | undefined, unknown>(undefined, { transform: numberAttribute });\n\n /**\n * Automatically calculates the background color.\n * If set, {@link color} will be ignored.\n *\n * @defaultValue false\n */\n readonly autoColor = input(false, { transform: booleanAttribute });\n\n protected readonly backgroundStyle = signal<string | undefined>('var(--element-data-17)');\n\n ngOnChanges(changes: SimpleChanges<this>): void {\n if (changes.color) {\n this.setColor(this.color());\n }\n }\n\n /**\n * Update background color variable based on the initials or placeholder text.\n */\n public calculateColorFromInitials(displayInitials?: string): void {\n if (!this.autoColor() || !displayInitials) {\n return;\n }\n\n let color = 0;\n for (let i = 0; i < displayInitials.length; i++) {\n color *= 17; // this prevents 'JD' to have the same color as 'DJ'\n color += displayInitials.charCodeAt(i) - ASCII_CODE_INDEX_A;\n }\n this.setColor(color);\n }\n\n private setColor(color?: number): void {\n if (this.color() === 0) {\n this.backgroundStyle.set(undefined);\n } else {\n const actualColor = color ?? DATA_COLOR_NEUTRAL;\n const colorIndex = ((actualColor - 1) % DATA_COLORS_MAX) + 1;\n this.backgroundStyle.set(`var(--element-data-${colorIndex})`);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n numberAttribute\n} from '@angular/core';\nimport { EntityStatusType } from '@siemens/element-ng/common';\nimport { SiIconComponent, STATUS_ICON_CONFIG } from '@siemens/element-ng/icon';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiAvatarBackgroundColorDirective } from './si-avatar-background-color.directive';\n\nexport type AvatarSize = 'tiny' | 'xsmall' | 'small' | 'regular' | 'large' | 'xlarge';\n\n@Component({\n selector: 'si-avatar',\n imports: [SiIconComponent],\n templateUrl: './si-avatar.component.html',\n styleUrl: './si-avatar.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'size()'\n },\n hostDirectives: [\n {\n directive: SiAvatarBackgroundColorDirective,\n inputs: ['color', 'autoColor']\n }\n ]\n})\nexport class SiAvatarComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n /**\n * Size of the component.\n *\n * @defaultValue 'regular'\n */\n readonly size = input<AvatarSize>('regular');\n /** Image src URL when using an image. */\n readonly imageUrl = input<string>();\n /** Icon name when using an icon. */\n readonly icon = input<string>();\n /**\n * Initials to be displayed as default avatar if no `icon` or `imageUrl` are provided.\n * If also no initials are provided, they will be automatically calculated from the `altText`.\n * The value will be used to calculate the background color when `autoColor` is true.\n */\n readonly initials = input<string>();\n /**\n * The desired color index from $element-data-* color tokens. This can be set to any kind of\n * positive integer that is then mapped to a color index.\n * A better way to set a pseudo-random color is to set * {@link autoColor} to `true`.\n *\n * @defaultValue undefined\n */\n readonly color = input<number | undefined, unknown>(undefined, { transform: numberAttribute });\n /** The `alt` text for image, `title` for other modes. */\n readonly altText = input.required<string>();\n /**\n * The status (success, info, warning, caution, danger, critical, pending, progress) to be\n * visualized.\n */\n readonly status = input<EntityStatusType>();\n /**\n * aria-label for status\n */\n readonly statusAriaLabel = input<TranslatableString>();\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status ? this.statusIcons[status] : undefined;\n });\n\n protected readonly displayInitials = computed(() => {\n const initials = this.initials();\n if (initials) {\n return initials;\n }\n\n const name = this.altText()\n .replaceAll(/\\([^)]*\\)/g, '')\n .trim();\n const byComma = name.split(/,\\s*/);\n let first: string;\n let last: string;\n if (byComma.length > 1) {\n last = byComma[0];\n first = byComma[1];\n } else {\n const parts = name.split(' ');\n first = parts.shift() ?? '';\n last = parts.pop() ?? '';\n }\n if (first) {\n first = first[0].toLocaleUpperCase();\n }\n if (last) {\n last = last[0].toLocaleUpperCase();\n }\n return first + last;\n });\n\n private readonly autoBackgroundColorDirective = inject(SiAvatarBackgroundColorDirective);\n\n constructor() {\n effect(() => {\n this.autoBackgroundColorDirective.calculateColorFromInitials(this.displayInitials());\n });\n }\n}\n","@if (imageUrl()) {\n <img [src]=\"imageUrl()\" [alt]=\"altText()\" />\n} @else if (icon()) {\n <si-icon class=\"icon\" [title]=\"altText()\" [icon]=\"icon()!\" />\n} @else {\n <div\n class=\"initials\"\n [class.text-body]=\"color() === 0\"\n [title]=\"altText()\"\n [attr.aria-label]=\"altText()\"\n >{{ displayInitials() }}</div\n >\n}\n@let iconConfig = statusIcon();\n@if (iconConfig) {\n <span class=\"indicator-size indicator icon-stack\">\n <si-icon [class]=\"`drop-shadow ${iconConfig.color}`\" [icon]=\"iconConfig.icon\" />\n <si-icon [class]=\"iconConfig.stackedColor\" [icon]=\"iconConfig.stacked\" />\n </span>\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-avatar-background-color.directive';\nexport * from './si-avatar.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.SiAvatarBackgroundColorDirective"],"mappings":"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"}
|