@siemens/element-ng 49.6.0 → 49.7.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.
Files changed (59) hide show
  1. package/fesm2022/siemens-element-ng-about.mjs +2 -2
  2. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  3. package/fesm2022/siemens-element-ng-application-header.mjs +5 -5
  4. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  5. package/fesm2022/siemens-element-ng-avatar.mjs +2 -2
  6. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  7. package/fesm2022/siemens-element-ng-breadcrumb.mjs +2 -2
  8. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-circle-status.mjs +2 -2
  10. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
  12. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-dashboard.mjs +28 -10
  14. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-date-range-filter.mjs +16 -4
  16. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-datepicker.mjs +12 -9
  18. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +2 -2
  20. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
  22. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-header-dropdown.mjs +3 -3
  24. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-loading-spinner.mjs +19 -11
  26. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-modal.mjs +25 -26
  28. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +324 -354
  30. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +4 -4
  32. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-pagination.mjs +5 -2
  34. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-pills-input.mjs +2 -2
  36. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-side-panel.mjs +8 -5
  38. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-status-bar.mjs +26 -11
  40. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
  42. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-tabs.mjs +10 -10
  44. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-toast-notification.mjs +2 -2
  46. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  48. package/fesm2022/siemens-element-ng-wizard.mjs +88 -53
  49. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  50. package/package.json +4 -4
  51. package/template-i18n.json +1 -0
  52. package/types/siemens-element-ng-dashboard.d.ts +4 -1
  53. package/types/siemens-element-ng-date-range-filter.d.ts +10 -1
  54. package/types/siemens-element-ng-loading-spinner.d.ts +4 -2
  55. package/types/siemens-element-ng-navbar-vertical-next.d.ts +163 -171
  56. package/types/siemens-element-ng-side-panel.d.ts +2 -0
  57. package/types/siemens-element-ng-status-bar.d.ts +8 -5
  58. package/types/siemens-element-ng-translate.d.ts +1 -0
  59. package/types/siemens-element-ng-wizard.d.ts +23 -5
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-toast-notification.mjs","sources":["../../../../projects/element-ng/toast-notification/si-toast.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.html","../../../../projects/element-ng/toast-notification/si-toast-token.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification.service.ts","../../../../projects/element-ng/toast-notification/index.ts","../../../../projects/element-ng/toast-notification/siemens-element-ng-toast-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nexport interface SiToast {\n state: StatusType;\n title: TranslatableString;\n message: TranslatableString;\n disableManualClose?: boolean;\n disableAutoClose?: boolean;\n timeout?: number;\n action?: Link;\n close?: () => void;\n translationParams?: { [key: string]: any };\n hidden?: Subject<void>;\n closeAriaLabel?: TranslatableString;\n}\n\nexport const SI_TOAST_AUTO_HIDE_DELAY = 6000;\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, HostListener, inject, input, output, signal } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n addIcons,\n SiIconComponent,\n SiStatusIconComponent,\n STATUS_ICON_CONFIG\n} from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification',\n imports: [SiLinkModule, SiIconComponent, SiStatusIconComponent, SiTranslatePipe],\n templateUrl: './si-toast-notification.component.html',\n styleUrl: './si-toast-notification.component.scss'\n})\nexport class SiToastNotificationComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n readonly toast = input.required<SiToast>();\n\n private closeAriaLabelDefault = t(() => $localize`:@@SI_TOAST.CLOSE:Close`);\n protected readonly closeAriaLabel = computed(\n () => this.toast().closeAriaLabel ?? this.closeAriaLabelDefault\n );\n protected readonly icons = addIcons({ elementCancel });\n protected readonly status = computed(() => {\n const toast = this.toast();\n return Object.keys(this.statusIcons).includes(toast.state) ? toast.state : 'info';\n });\n protected readonly statusColor = computed(() => this.statusIcons[this.status()].color);\n protected readonly toastTimeoutInSeconds = computed(() => {\n const toast = this.toast();\n return toast.timeout ? toast.timeout / 1000 : SI_TOAST_AUTO_HIDE_DELAY / 1000;\n });\n protected readonly animationMode = signal('running');\n readonly paused = output<void>();\n readonly resumed = output<void>();\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('paused');\n this.paused.emit();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('running');\n this.resumed.emit();\n }\n }\n\n protected close(): void {\n this.toast().close!();\n }\n}\n","@let toastValue = toast();\n@let autoClose = !toastValue.disableAutoClose;\n@let manualClose = !toastValue.disableManualClose;\n<div class=\"si-toast elevation-2\" [class.si-toast-auto-close]=\"autoClose\">\n @if (autoClose) {\n <div\n class=\"si-toast-timer-bar\"\n [style.--play-state]=\"animationMode()\"\n [style.--toast-timer-duration.s]=\"toastTimeoutInSeconds()\"\n ></div>\n }\n <div [class]=\"`bar ${statusColor()}`\"></div>\n <si-status-icon class=\"icon\" [status]=\"status()\" />\n\n <div class=\"toast-content px-4\">\n <p class=\"toast-title\"\n ><b>{{ toastValue.title | translate: toastValue.translationParams }}</b></p\n >\n @if (toastValue.message) {\n <p class=\"mt-4\">{{ toastValue.message | translate: toastValue.translationParams }}</p>\n }\n @if (toastValue.action) {\n <p [class.mt-3]=\"toastValue.message\" [class.mt-4]=\"!toastValue.message\">\n <a [siLink]=\"toastValue.action\">{{\n toastValue.action!.title | translate: toastValue.translationParams\n }}</a>\n </p>\n }\n </div>\n @if (manualClose) {\n <button\n type=\"button\"\n tabindex=\"0\"\n class=\"btn btn-icon btn-ghost mt-n2 me-n2\"\n [attr.aria-label]=\"closeAriaLabel() | translate\"\n (keydown.enter)=\"close()\"\n (click)=\"close()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SiToast } from './si-toast.model';\n\nexport interface ToastToken {\n toasts: Signal<SiToast[]>;\n pause: (toast: SiToast) => void;\n resume: (toast: SiToast) => void;\n}\n\nexport const SI_TOAST_TOKEN = new InjectionToken<ToastToken>('SI_TOAST_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\n\nimport { SiToastNotificationComponent } from '../si-toast-notification/si-toast-notification.component';\nimport { SI_TOAST_TOKEN } from '../si-toast-token.model';\n\n@Component({\n selector: 'si-toast-notification-drawer',\n imports: [SiToastNotificationComponent],\n templateUrl: './si-toast-notification-drawer.component.html',\n styleUrl: './si-toast-notification-drawer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-live': 'polite',\n '[class.animations-disabled]': 'animationsDisabled'\n }\n})\nexport class SiToastNotificationDrawerComponent {\n protected readonly token = inject(SI_TOAST_TOKEN);\n protected animationsDisabled = areAnimationsDisabled();\n}\n","@for (toast of token.toasts(); track toast) {\n <si-toast-notification\n class=\"position-relative\"\n animate.enter=\"toast-enter\"\n animate.leave=\"toast-leave\"\n [toast]=\"toast\"\n (paused)=\"token.pause(toast)\"\n (resumed)=\"token.resume(toast)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n ComponentRef,\n inject,\n Injectable,\n Injector,\n OnDestroy,\n PLATFORM_ID,\n Provider,\n signal\n} from '@angular/core';\nimport { isRTL, StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nimport { SiToastNotificationDrawerComponent } from './si-toast-notification-drawer/si-toast-notification-drawer.component';\nimport { SI_TOAST_TOKEN, ToastToken } from './si-toast-token.model';\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from './si-toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiToastNotificationService implements OnDestroy {\n private readonly activeToastsSignal = signal<SiToast[]>([]);\n\n /** List of currently active toasts to see details or close them. */\n get activeToasts(): SiToast[] {\n return this.activeToastsSignal();\n }\n\n private token: ToastToken = {\n toasts: this.activeToastsSignal,\n pause: toast => this.pauseToastNotification(toast),\n resume: toast => this.resumeToastNotification(toast)\n };\n private readonly maxToasts = 3;\n\n private componentRef?: ComponentRef<SiToastNotificationDrawerComponent>;\n private overlayRef?: OverlayRef;\n\n private injector = inject(Injector);\n private overlay = inject(Overlay);\n private toastTimeoutMap = new Map<SiToast, any>();\n private toastTimerDefaults = new Map<\n SiToast,\n { pendingTimeout: number; initializeTime: number }\n >();\n\n constructor() {\n if (isPlatformBrowser(inject(PLATFORM_ID))) {\n this.addToastDrawer();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n this.componentRef?.destroy();\n }\n\n /**\n * Queue a new toast to be shown.\n * @param action - Passing a Link object will optionally add a clickable link to the toast which can contain an action.\n * @returns the toast object\n */\n queueToastNotification(\n state: StatusType,\n title: string,\n message: string,\n disableAutoClose?: boolean,\n disableManualClose?: boolean,\n action?: Link\n ): SiToast {\n const toast: SiToast = {\n state,\n title,\n message,\n disableAutoClose,\n disableManualClose,\n action,\n hidden: new Subject()\n };\n return this.showToastNotification(toast);\n }\n\n /**\n * Show a toast notification\n * @param toast - The toast object of the toast to be shown, can also be constructed while calling this.\n */\n showToastNotification(toast: SiToast): SiToast {\n this.overlayRef?.setDirection(isRTL() ? 'rtl' : 'ltr');\n toast.timeout ??= SI_TOAST_AUTO_HIDE_DELAY;\n toast.hidden ??= new Subject();\n toast.close = () => this.hideToastNotification(toast);\n\n const toasts = this.activeToastsSignal().concat(toast);\n this.activeToastsSignal.set(toasts);\n if (toasts.length > this.maxToasts) {\n this.hideToastNotification(toasts[0]);\n }\n if (!toast.disableAutoClose && toast.timeout) {\n this.toastTimerDefaults.set(toast, {\n pendingTimeout: toast.timeout,\n initializeTime: Date.now()\n });\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => this.hideToastNotification(toast), toast.timeout)\n );\n }\n\n return toast;\n }\n\n /**\n * Hide a toast notification\n * @param toast - The toast object of the toast to be hidden, can be retrieved from {@link activeToasts} and is returned by {@link queueToastNotification}.\n */\n hideToastNotification(toast?: SiToast): void {\n const hiddenToasts: SiToast[] = [];\n const activeToasts: SiToast[] = [];\n this.activeToastsSignal().forEach(item => {\n if (!toast || item === toast) {\n hiddenToasts.push(item);\n } else {\n activeToasts.push(item);\n }\n });\n\n this.activeToastsSignal.set(activeToasts);\n\n hiddenToasts.forEach(item => {\n item.hidden?.next();\n item.hidden?.complete();\n this.toastTimerDefaults.delete(item);\n this.toastTimeoutMap.delete(item);\n });\n }\n\n private pauseToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n clearTimeout(this.toastTimeoutMap.get(toast));\n\n const initialTimeout = this.toastTimerDefaults.get(toast)?.initializeTime;\n const elapsedTime = initialTimeout ? Date.now() - initialTimeout : 0;\n this.toastTimerDefaults.get(toast)!.pendingTimeout -= elapsedTime;\n }\n }\n\n private resumeToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n this.toastTimerDefaults.get(toast)!.initializeTime = Date.now();\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => {\n this.hideToastNotification(toast);\n }, this.toastTimerDefaults.get(toast)!.pendingTimeout)\n );\n }\n }\n\n private addToastDrawer(): void {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().end().bottom()\n });\n const portal = new ComponentPortal(\n SiToastNotificationDrawerComponent,\n null,\n this.buildInjector()\n );\n this.componentRef = this.overlayRef.attach(portal);\n }\n\n private buildInjector(): Injector {\n const providers: Provider[] = [{ provide: SI_TOAST_TOKEN, useValue: this.token }];\n if (!this.injector.get(SiTranslateService, null)) {\n // TODO remove once translation must be defined at application start\n // Notification service is provided in 'root'. If no translation is defined, SiNoTranslateService is not provided\n providers.push({ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] });\n }\n return Injector.create({ providers, parent: this.injector });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-toast.model';\nexport * from './si-toast-notification.service';\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-toast-notification.mjs","sources":["../../../../projects/element-ng/toast-notification/si-toast.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification/si-toast-notification.component.html","../../../../projects/element-ng/toast-notification/si-toast-token.model.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.ts","../../../../projects/element-ng/toast-notification/si-toast-notification-drawer/si-toast-notification-drawer.component.html","../../../../projects/element-ng/toast-notification/si-toast-notification.service.ts","../../../../projects/element-ng/toast-notification/index.ts","../../../../projects/element-ng/toast-notification/siemens-element-ng-toast-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nexport interface SiToast {\n state: StatusType;\n title: TranslatableString;\n message: TranslatableString;\n disableManualClose?: boolean;\n disableAutoClose?: boolean;\n timeout?: number;\n action?: Link;\n close?: () => void;\n translationParams?: { [key: string]: any };\n hidden?: Subject<void>;\n closeAriaLabel?: TranslatableString;\n}\n\nexport const SI_TOAST_AUTO_HIDE_DELAY = 6000;\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, HostListener, inject, input, output, signal } from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n addIcons,\n SiIconComponent,\n SiStatusIconComponent,\n STATUS_ICON_CONFIG\n} from '@siemens/element-ng/icon';\nimport { SiLinkModule } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from '../si-toast.model';\n\n@Component({\n selector: 'si-toast-notification',\n imports: [SiLinkModule, SiIconComponent, SiStatusIconComponent, SiTranslatePipe],\n templateUrl: './si-toast-notification.component.html',\n styleUrl: './si-toast-notification.component.scss'\n})\nexport class SiToastNotificationComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n readonly toast = input.required<SiToast>();\n\n private closeAriaLabelDefault = t(() => $localize`:@@SI_TOAST.CLOSE:Close`);\n protected readonly closeAriaLabel = computed(\n () => this.toast().closeAriaLabel ?? this.closeAriaLabelDefault\n );\n protected readonly icons = addIcons({ elementCancel });\n protected readonly status = computed(() => {\n const toast = this.toast();\n return Object.keys(this.statusIcons).includes(toast.state) ? toast.state : 'info';\n });\n protected readonly statusColor = computed(() => this.statusIcons[this.status()].color);\n protected readonly toastTimeoutInSeconds = computed(() => {\n const toast = this.toast();\n return toast.timeout ? toast.timeout / 1000 : SI_TOAST_AUTO_HIDE_DELAY / 1000;\n });\n protected readonly animationMode = signal('running');\n readonly paused = output<void>();\n readonly resumed = output<void>();\n\n @HostListener('mouseenter')\n protected onMouseEnter(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('paused');\n this.paused.emit();\n }\n }\n\n @HostListener('mouseleave')\n protected onMouseLeave(): void {\n if (!this.toast().disableAutoClose) {\n this.animationMode.set('running');\n this.resumed.emit();\n }\n }\n\n protected close(): void {\n this.toast().close!();\n }\n}\n","@let toastValue = toast();\n@let autoClose = !toastValue.disableAutoClose;\n@let manualClose = !toastValue.disableManualClose;\n<div class=\"si-toast elevation-2\" [class.si-toast-auto-close]=\"autoClose\">\n @if (autoClose) {\n <div\n class=\"si-toast-timer-bar\"\n [style.--play-state]=\"animationMode()\"\n [style.--toast-timer-duration.s]=\"toastTimeoutInSeconds()\"\n ></div>\n }\n <div [class]=\"`bar ${statusColor()}`\"></div>\n <si-status-icon class=\"icon\" [status]=\"status()\" />\n\n <div class=\"toast-content px-4\">\n <p class=\"toast-title\"\n ><b>{{ toastValue.title | translate: toastValue.translationParams }}</b></p\n >\n @if (toastValue.message) {\n <p class=\"mt-4\">{{ toastValue.message | translate: toastValue.translationParams }}</p>\n }\n @if (toastValue.action) {\n <p [class.mt-3]=\"toastValue.message\" [class.mt-4]=\"!toastValue.message\">\n <a [siLink]=\"toastValue.action\">{{\n toastValue.action!.title | translate: toastValue.translationParams\n }}</a>\n </p>\n }\n </div>\n @if (manualClose) {\n <button\n type=\"button\"\n class=\"btn btn-icon btn-ghost mt-n2 me-n2\"\n [attr.aria-label]=\"closeAriaLabel() | translate\"\n (click)=\"close()\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, Signal } from '@angular/core';\n\nimport { SiToast } from './si-toast.model';\n\nexport interface ToastToken {\n toasts: Signal<SiToast[]>;\n pause: (toast: SiToast) => void;\n resume: (toast: SiToast) => void;\n}\n\nexport const SI_TOAST_TOKEN = new InjectionToken<ToastToken>('SI_TOAST_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\n\nimport { SiToastNotificationComponent } from '../si-toast-notification/si-toast-notification.component';\nimport { SI_TOAST_TOKEN } from '../si-toast-token.model';\n\n@Component({\n selector: 'si-toast-notification-drawer',\n imports: [SiToastNotificationComponent],\n templateUrl: './si-toast-notification-drawer.component.html',\n styleUrl: './si-toast-notification-drawer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'aria-live': 'polite',\n '[class.animations-disabled]': 'animationsDisabled'\n }\n})\nexport class SiToastNotificationDrawerComponent {\n protected readonly token = inject(SI_TOAST_TOKEN);\n protected animationsDisabled = areAnimationsDisabled();\n}\n","@for (toast of token.toasts(); track toast) {\n <si-toast-notification\n class=\"position-relative\"\n animate.enter=\"toast-enter\"\n animate.leave=\"toast-leave\"\n [toast]=\"toast\"\n (paused)=\"token.pause(toast)\"\n (resumed)=\"token.resume(toast)\"\n />\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n ComponentRef,\n inject,\n Injectable,\n Injector,\n OnDestroy,\n PLATFORM_ID,\n Provider,\n signal\n} from '@angular/core';\nimport { isRTL, StatusType } from '@siemens/element-ng/common';\nimport { Link } from '@siemens/element-ng/link';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\nimport { Subject } from 'rxjs';\n\nimport { SiToastNotificationDrawerComponent } from './si-toast-notification-drawer/si-toast-notification-drawer.component';\nimport { SI_TOAST_TOKEN, ToastToken } from './si-toast-token.model';\nimport { SI_TOAST_AUTO_HIDE_DELAY, SiToast } from './si-toast.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiToastNotificationService implements OnDestroy {\n private readonly activeToastsSignal = signal<SiToast[]>([]);\n\n /** List of currently active toasts to see details or close them. */\n get activeToasts(): SiToast[] {\n return this.activeToastsSignal();\n }\n\n private token: ToastToken = {\n toasts: this.activeToastsSignal,\n pause: toast => this.pauseToastNotification(toast),\n resume: toast => this.resumeToastNotification(toast)\n };\n private readonly maxToasts = 3;\n\n private componentRef?: ComponentRef<SiToastNotificationDrawerComponent>;\n private overlayRef?: OverlayRef;\n\n private injector = inject(Injector);\n private overlay = inject(Overlay);\n private toastTimeoutMap = new Map<SiToast, any>();\n private toastTimerDefaults = new Map<\n SiToast,\n { pendingTimeout: number; initializeTime: number }\n >();\n\n constructor() {\n if (isPlatformBrowser(inject(PLATFORM_ID))) {\n this.addToastDrawer();\n }\n }\n\n ngOnDestroy(): void {\n this.overlayRef?.dispose();\n this.componentRef?.destroy();\n }\n\n /**\n * Queue a new toast to be shown.\n * @param action - Passing a Link object will optionally add a clickable link to the toast which can contain an action.\n * @returns the toast object\n */\n queueToastNotification(\n state: StatusType,\n title: string,\n message: string,\n disableAutoClose?: boolean,\n disableManualClose?: boolean,\n action?: Link\n ): SiToast {\n const toast: SiToast = {\n state,\n title,\n message,\n disableAutoClose,\n disableManualClose,\n action,\n hidden: new Subject()\n };\n return this.showToastNotification(toast);\n }\n\n /**\n * Show a toast notification\n * @param toast - The toast object of the toast to be shown, can also be constructed while calling this.\n */\n showToastNotification(toast: SiToast): SiToast {\n this.overlayRef?.setDirection(isRTL() ? 'rtl' : 'ltr');\n toast.timeout ??= SI_TOAST_AUTO_HIDE_DELAY;\n toast.hidden ??= new Subject();\n toast.close = () => this.hideToastNotification(toast);\n\n const toasts = this.activeToastsSignal().concat(toast);\n this.activeToastsSignal.set(toasts);\n if (toasts.length > this.maxToasts) {\n this.hideToastNotification(toasts[0]);\n }\n if (!toast.disableAutoClose && toast.timeout) {\n this.toastTimerDefaults.set(toast, {\n pendingTimeout: toast.timeout,\n initializeTime: Date.now()\n });\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => this.hideToastNotification(toast), toast.timeout)\n );\n }\n\n return toast;\n }\n\n /**\n * Hide a toast notification\n * @param toast - The toast object of the toast to be hidden, can be retrieved from {@link activeToasts} and is returned by {@link queueToastNotification}.\n */\n hideToastNotification(toast?: SiToast): void {\n const hiddenToasts: SiToast[] = [];\n const activeToasts: SiToast[] = [];\n this.activeToastsSignal().forEach(item => {\n if (!toast || item === toast) {\n hiddenToasts.push(item);\n } else {\n activeToasts.push(item);\n }\n });\n\n this.activeToastsSignal.set(activeToasts);\n\n hiddenToasts.forEach(item => {\n item.hidden?.next();\n item.hidden?.complete();\n this.toastTimerDefaults.delete(item);\n this.toastTimeoutMap.delete(item);\n });\n }\n\n private pauseToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n clearTimeout(this.toastTimeoutMap.get(toast));\n\n const initialTimeout = this.toastTimerDefaults.get(toast)?.initializeTime;\n const elapsedTime = initialTimeout ? Date.now() - initialTimeout : 0;\n this.toastTimerDefaults.get(toast)!.pendingTimeout -= elapsedTime;\n }\n }\n\n private resumeToastNotification(toast: SiToast): void {\n if (!toast.disableAutoClose) {\n this.toastTimerDefaults.get(toast)!.initializeTime = Date.now();\n this.toastTimeoutMap.set(\n toast,\n setTimeout(() => {\n this.hideToastNotification(toast);\n }, this.toastTimerDefaults.get(toast)!.pendingTimeout)\n );\n }\n }\n\n private addToastDrawer(): void {\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().end().bottom()\n });\n const portal = new ComponentPortal(\n SiToastNotificationDrawerComponent,\n null,\n this.buildInjector()\n );\n this.componentRef = this.overlayRef.attach(portal);\n }\n\n private buildInjector(): Injector {\n const providers: Provider[] = [{ provide: SI_TOAST_TOKEN, useValue: this.token }];\n if (!this.injector.get(SiTranslateService, null)) {\n // TODO remove once translation must be defined at application start\n // Notification service is provided in 'root'. If no translation is defined, SiNoTranslateService is not provided\n providers.push({ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] });\n }\n return Injector.create({ providers, parent: this.injector });\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-toast.model';\nexport * from './si-toast-notification.service';\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-translate.mjs","sources":["../../../../projects/element-ng/translate/si-translatable-keys.interface.ts","../../../../projects/element-ng/translate/si-translatable-overrides.provider.ts","../../../../projects/element-ng/translate/index.ts","../../../../projects/element-ng/translate/siemens-element-ng-translate.ts"],"sourcesContent":["/* eslint-disable */\n\n// Auto-generated file. Run 'npx update-translatable-keys' to update.\n\nexport interface SiTranslatableKeys {\n 'SI_AI_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_ALERT_DIALOG.OK'?: string;\n 'SI_APPLICATION_HEADER.LAUNCHPAD'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_ACTIONS'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_NAVIGATION'?: string;\n 'SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT'?: string;\n 'SI_BREADCRUMB'?: string;\n 'SI_CHANGE_PASSWORD.BACK'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CONFIRM_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.NEW_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.PASSWORD_POLICY'?: string;\n 'SI_CHAT_INPUT.ATTACH_FILE'?: string;\n 'SI_CHAT_INPUT.INTERRUPT'?: string;\n 'SI_CHAT_INPUT.LABEL'?: string;\n 'SI_CHAT_INPUT.PLACEHOLDER'?: string;\n 'SI_CHAT_INPUT.SECONDARY_ACTIONS'?: string;\n 'SI_CHAT_INPUT.SEND'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.CANCEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.HIDDEN'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.SUBMIT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.VISIBLE'?: string;\n 'SI_CONFIRMATION_DIALOG.NO'?: string;\n 'SI_CONFIRMATION_DIALOG.YES'?: string;\n 'SI_CONTENT_ACTION_BAR.TOGGLE'?: string;\n 'SI_DASHBOARD.EXPAND'?: string;\n 'SI_DASHBOARD.EXPAND_WIDGET_ACTIONS'?: string;\n 'SI_DASHBOARD.RESTORE'?: string;\n 'SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON'?: string;\n 'SI_DATEPICKER.CALENDAR_WEEK_LABEL'?: string;\n 'SI_DATEPICKER.DISABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.ENABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.END_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.END_TIME_LABEL'?: string;\n 'SI_DATEPICKER.HOURS'?: string;\n 'SI_DATEPICKER.MILLISECONDS'?: string;\n 'SI_DATEPICKER.MINUTES'?: string;\n 'SI_DATEPICKER.NEXT'?: string;\n 'SI_DATEPICKER.PERIOD'?: string;\n 'SI_DATEPICKER.PREVIOUS'?: string;\n 'SI_DATEPICKER.SECONDS'?: string;\n 'SI_DATEPICKER.START_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.START_TIME_LABEL'?: string;\n 'SI_DATEPICKER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.ADVANCED'?: string;\n 'SI_DATE_RANGE_FILTER.AFTER'?: string;\n 'SI_DATE_RANGE_FILTER.APPLY'?: string;\n 'SI_DATE_RANGE_FILTER.BEFORE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER'?: string;\n 'SI_DATE_RANGE_FILTER.DAYS'?: string;\n 'SI_DATE_RANGE_FILTER.FROM'?: string;\n 'SI_DATE_RANGE_FILTER.HOURS'?: string;\n 'SI_DATE_RANGE_FILTER.MINUTES'?: string;\n 'SI_DATE_RANGE_FILTER.MONTHS'?: string;\n 'SI_DATE_RANGE_FILTER.NOW'?: string;\n 'SI_DATE_RANGE_FILTER.PRESETS'?: string;\n 'SI_DATE_RANGE_FILTER.PREVIEW'?: string;\n 'SI_DATE_RANGE_FILTER.RANGE'?: string;\n 'SI_DATE_RANGE_FILTER.REF_POINT'?: string;\n 'SI_DATE_RANGE_FILTER.SEARCH'?: string;\n 'SI_DATE_RANGE_FILTER.TO'?: string;\n 'SI_DATE_RANGE_FILTER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.UNIT'?: string;\n 'SI_DATE_RANGE_FILTER.VALUE'?: string;\n 'SI_DATE_RANGE_FILTER.WEEKS'?: string;\n 'SI_DATE_RANGE_FILTER.WITHIN'?: string;\n 'SI_DATE_RANGE_FILTER.YEARS'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.CANCEL_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.SAVE_BTN'?: string;\n 'SI_ELECTRON_TITLEBAR.BACK'?: string;\n 'SI_ELECTRON_TITLEBAR.FORWARD'?: string;\n 'SI_ELECTRON_TITLEBAR.MENU'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.ACCEPT'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.BACK'?: string;\n 'SI_FILE_UPLOADER.ACCEPTED_FILE_TYPES'?: string;\n 'SI_FILE_UPLOADER.CANCEL'?: string;\n 'SI_FILE_UPLOADER.CLEAR'?: string;\n 'SI_FILE_UPLOADER.DROP'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_TYPE'?: string;\n 'SI_FILE_UPLOADER.FILE_SELECT'?: string;\n 'SI_FILE_UPLOADER.MAX_FILE_REACHED'?: string;\n 'SI_FILE_UPLOADER.MAX_SIZE'?: string;\n 'SI_FILE_UPLOADER.REMOVE'?: string;\n 'SI_FILE_UPLOADER.UPLOAD'?: string;\n 'SI_FILE_UPLOADER.UPLOADING'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_COMPLETED'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_FAILED'?: string;\n 'SI_FILTERED_SEARCH.CLEAR'?: string;\n 'SI_FILTERED_SEARCH.ITEM_COUNT'?: string;\n 'SI_FILTERED_SEARCH.SEARCH'?: string;\n 'SI_FILTERED_SEARCH.SEARCH_FOR_FREE_TEXT'?: string;\n 'SI_FILTERED_SEARCH.SUBMIT_BUTTON'?: string;\n 'SI_FILTER_BAR.COLLAPSED_FILTERS_DESCRIPTION'?: string;\n 'SI_FILTER_BAR.NO_FILTERS'?: string;\n 'SI_FILTER_BAR.RESET_FILTERS'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_END'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.EMAIL'?: string;\n 'SI_FORM_CONTAINER.ERROR.END_BEFORE_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.HOURS'?: string;\n 'SI_FORM_CONTAINER.ERROR.INVALID_PHONE'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV4'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV6'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.MILLISECONDS'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN'?: string;\n 'SI_FORM_CONTAINER.ERROR.MINUTES'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.PATTERN'?: string;\n 'SI_FORM_CONTAINER.ERROR.PHONE_COUNTRY'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_AFTER_MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_BEFORE_MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE'?: string;\n 'SI_FORM_CONTAINER.ERROR.SECONDS'?: string;\n 'SI_ICON_STATUS.CAUTION'?: string;\n 'SI_ICON_STATUS.CRITICAL'?: string;\n 'SI_ICON_STATUS.DANGER'?: string;\n 'SI_ICON_STATUS.INFO'?: string;\n 'SI_ICON_STATUS.PENDING'?: string;\n 'SI_ICON_STATUS.PROGRESS'?: string;\n 'SI_ICON_STATUS.SUCCESS'?: string;\n 'SI_ICON_STATUS.UNKNOWN'?: string;\n 'SI_ICON_STATUS.WARNING'?: string;\n 'SI_LANGUAGE_SWITCHER.LABEL'?: string;\n 'SI_LAUNCHPAD.CLOSE'?: string;\n 'SI_LAUNCHPAD.DEFAULT_CATEGORY_TITLE'?: string;\n 'SI_LAUNCHPAD.EXTERNAL_LINK'?: string;\n 'SI_LAUNCHPAD.FAVORITE_APPS'?: string;\n 'SI_LAUNCHPAD.SHOW_LESS'?: string;\n 'SI_LAUNCHPAD.SHOW_MORE'?: string;\n 'SI_LAUNCHPAD.SUB_TITLE'?: string;\n 'SI_LAUNCHPAD.TITLE'?: string;\n 'SI_LIST_DETAILS.BACK'?: string;\n 'SI_LIST_WIDGET.SEARCH_PLACEHOLDER'?: string;\n 'SI_LIST_WIDGET.SORT_ASCENDING'?: string;\n 'SI_LIST_WIDGET.SORT_DESCENDING'?: string;\n 'SI_LOADING_SPINNER.LABEL'?: string;\n 'SI_LOGIN_BASIC.BACK'?: string;\n 'SI_LOGIN_BASIC.FORGOT_PASSWORD'?: string;\n 'SI_LOGIN_BASIC.LOGIN'?: string;\n 'SI_LOGIN_BASIC.NEXT'?: string;\n 'SI_LOGIN_BASIC.PASSWORD'?: string;\n 'SI_LOGIN_BASIC.REGISTER_NOW'?: string;\n 'SI_LOGIN_BASIC.USERNAME'?: string;\n 'SI_LOGIN_SINGLE-SIGN-ON.LOGIN_SIGN_UP'?: string;\n 'SI_MAIN_DETAIL_CONTAINER.BACK'?: string;\n 'SI_NAVBAR.OPEN_LAUNCHPAD'?: string;\n 'SI_NAVBAR.TOGGLE_NAVIGATION'?: string;\n 'SI_NAVBAR_VERTICAL.COLLAPSE'?: string;\n 'SI_NAVBAR_VERTICAL.EXPAND'?: string;\n 'SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL'?: string;\n 'SI_PAGINATION.BACK'?: string;\n 'SI_PAGINATION.FORWARD'?: string;\n 'SI_PAGINATION.NAV_LABEL'?: string;\n 'SI_PASSWORD_TOGGLE.HIDE'?: string;\n 'SI_PASSWORD_TOGGLE.SHOW'?: string;\n 'SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER'?: string;\n 'SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY'?: string;\n 'SI_PHOTO_UPLOAD.APPLY_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CANCEL'?: string;\n 'SI_PHOTO_UPLOAD.CHANGE_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CROPPER_FRAME_LABEL'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_TYPE'?: string;\n 'SI_PHOTO_UPLOAD.MODAL_TITLE'?: string;\n 'SI_PHOTO_UPLOAD.REMOVE'?: string;\n 'SI_PHOTO_UPLOAD.UPLOAD_PHOTO'?: string;\n 'SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL'?: string;\n 'SI_PROGRESSBAR.LABEL'?: string;\n 'SI_SEARCH_BAR.CLEAR_BUTTON'?: string;\n 'SI_SELECT.NO-RESULTS-FOUND'?: string;\n 'SI_SELECT.SEARCH-PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.CLOSE'?: string;\n 'SI_SIDE_PANEL.ENTER_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.EXIT_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.SEARCH_PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.TOGGLE'?: string;\n 'SI_SKIP_LINKS.JUMP_TO'?: string;\n 'SI_SLIDER.DECREMENT'?: string;\n 'SI_SLIDER.INCREMENT'?: string;\n 'SI_SLIDER.LABEL'?: string;\n 'SI_SORT_BAR.TITLE'?: string;\n 'SI_STATUS_BAR.ALL_OK'?: string;\n 'SI_STATUS_BAR.COLLAPSE'?: string;\n 'SI_STATUS_BAR.EXPAND'?: string;\n 'SI_STATUS_BAR.MUTE'?: string;\n 'SI_THRESHOLD.ADD'?: string;\n 'SI_THRESHOLD.DELETE'?: string;\n 'SI_THRESHOLD.INPUT_LABEL'?: string;\n 'SI_THRESHOLD.STATUS'?: string;\n 'SI_TOAST.CLOSE'?: string;\n 'SI_TOUR.BACK'?: string;\n 'SI_TOUR.CLOSE'?: string;\n 'SI_TOUR.DONE'?: string;\n 'SI_TOUR.NEXT'?: string;\n 'SI_TOUR.PROGRESS'?: string;\n 'SI_TOUR.SKIP'?: string;\n 'SI_TREE_VIEW.COLLAPSE_ALL'?: string;\n 'SI_TREE_VIEW.EXPAND_ALL'?: string;\n 'SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL'?: string;\n 'SI_USER_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_WIZARD.BACK'?: string;\n 'SI_WIZARD.CANCEL'?: string;\n 'SI_WIZARD.COMPLETED'?: string;\n 'SI_WIZARD.NEXT'?: string;\n 'SI_WIZARD.SAVE'?: string;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Provider } from '@angular/core';\nimport { SI_TRANSLATABLE_VALUES } from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslatableKeys } from './si-translatable-keys.interface';\n\nexport const provideSiTranslatableOverrides: (values: SiTranslatableKeys) => Provider = values => ({\n useValue: values,\n multi: true,\n provide: SI_TRANSLATABLE_VALUES\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translatable-keys.interface';\nexport * from './si-translatable-overrides.provider';\n// @deprecated use @simpl-labs/element-translate-ng/translate directly\nexport * from '@siemens/element-translate-ng/translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;MCSa,8BAA8B,GAA6C,MAAM,KAAK;AACjG,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE;AACV,CAAA;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-translate.mjs","sources":["../../../../projects/element-ng/translate/si-translatable-keys.interface.ts","../../../../projects/element-ng/translate/si-translatable-overrides.provider.ts","../../../../projects/element-ng/translate/index.ts","../../../../projects/element-ng/translate/siemens-element-ng-translate.ts"],"sourcesContent":["/* eslint-disable */\n\n// Auto-generated file. Run 'npx update-translatable-keys' to update.\n\nexport interface SiTranslatableKeys {\n 'SI_AI_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_ALERT_DIALOG.OK'?: string;\n 'SI_APPLICATION_HEADER.LAUNCHPAD'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_ACTIONS'?: string;\n 'SI_APPLICATION_HEADER.TOGGLE_NAVIGATION'?: string;\n 'SI_ATTACHMENT_LIST.REMOVE_ATTACHMENT'?: string;\n 'SI_BREADCRUMB'?: string;\n 'SI_CHANGE_PASSWORD.BACK'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_FACTORY_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CHANGE_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.CONFIRM_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.NEW_PASSWORD'?: string;\n 'SI_CHANGE_PASSWORD.PASSWORD_POLICY'?: string;\n 'SI_CHAT_INPUT.ATTACH_FILE'?: string;\n 'SI_CHAT_INPUT.INTERRUPT'?: string;\n 'SI_CHAT_INPUT.LABEL'?: string;\n 'SI_CHAT_INPUT.PLACEHOLDER'?: string;\n 'SI_CHAT_INPUT.SECONDARY_ACTIONS'?: string;\n 'SI_CHAT_INPUT.SEND'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.CANCEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.HIDDEN'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.ITEM_NOT_MOVED'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.LIST_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RENAME_INPUT_ARIA_LABEL'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.RESTORE_TO_DEFAULT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.SUBMIT'?: string;\n 'SI_COLUMN_SELECTION_DIALOG.VISIBLE'?: string;\n 'SI_CONFIRMATION_DIALOG.NO'?: string;\n 'SI_CONFIRMATION_DIALOG.YES'?: string;\n 'SI_CONTENT_ACTION_BAR.TOGGLE'?: string;\n 'SI_DASHBOARD.EXPAND'?: string;\n 'SI_DASHBOARD.EXPAND_WIDGET_ACTIONS'?: string;\n 'SI_DASHBOARD.RESTORE'?: string;\n 'SI_DATEPICKER.CALENDAR_TOGGLE_BUTTON'?: string;\n 'SI_DATEPICKER.CALENDAR_WEEK_LABEL'?: string;\n 'SI_DATEPICKER.DISABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.ENABLED_TIME_TEXT'?: string;\n 'SI_DATEPICKER.END_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.END_TIME_LABEL'?: string;\n 'SI_DATEPICKER.HOURS'?: string;\n 'SI_DATEPICKER.MILLISECONDS'?: string;\n 'SI_DATEPICKER.MINUTES'?: string;\n 'SI_DATEPICKER.NEXT'?: string;\n 'SI_DATEPICKER.PERIOD'?: string;\n 'SI_DATEPICKER.PREVIOUS'?: string;\n 'SI_DATEPICKER.SECONDS'?: string;\n 'SI_DATEPICKER.START_DATE_PLACEHOLDER'?: string;\n 'SI_DATEPICKER.START_TIME_LABEL'?: string;\n 'SI_DATEPICKER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.ADVANCED'?: string;\n 'SI_DATE_RANGE_FILTER.AFTER'?: string;\n 'SI_DATE_RANGE_FILTER.APPLY'?: string;\n 'SI_DATE_RANGE_FILTER.BEFORE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE'?: string;\n 'SI_DATE_RANGE_FILTER.DATE_PLACEHOLDER'?: string;\n 'SI_DATE_RANGE_FILTER.DAYS'?: string;\n 'SI_DATE_RANGE_FILTER.FROM'?: string;\n 'SI_DATE_RANGE_FILTER.HOURS'?: string;\n 'SI_DATE_RANGE_FILTER.MINUTES'?: string;\n 'SI_DATE_RANGE_FILTER.MONTHS'?: string;\n 'SI_DATE_RANGE_FILTER.NOW'?: string;\n 'SI_DATE_RANGE_FILTER.PRESETS'?: string;\n 'SI_DATE_RANGE_FILTER.PREVIEW'?: string;\n 'SI_DATE_RANGE_FILTER.RANGE'?: string;\n 'SI_DATE_RANGE_FILTER.REF_POINT'?: string;\n 'SI_DATE_RANGE_FILTER.SEARCH'?: string;\n 'SI_DATE_RANGE_FILTER.SELECT_RANGE_END'?: string;\n 'SI_DATE_RANGE_FILTER.TO'?: string;\n 'SI_DATE_RANGE_FILTER.TODAY'?: string;\n 'SI_DATE_RANGE_FILTER.UNIT'?: string;\n 'SI_DATE_RANGE_FILTER.VALUE'?: string;\n 'SI_DATE_RANGE_FILTER.WEEKS'?: string;\n 'SI_DATE_RANGE_FILTER.WITHIN'?: string;\n 'SI_DATE_RANGE_FILTER.YEARS'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN'?: string;\n 'SI_DELETE_CONFIRMATION_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.CANCEL_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.DISCARD_BTN'?: string;\n 'SI_EDIT_DISCARD_DIALOG.MESSAGE'?: string;\n 'SI_EDIT_DISCARD_DIALOG.SAVE_BTN'?: string;\n 'SI_ELECTRON_TITLEBAR.BACK'?: string;\n 'SI_ELECTRON_TITLEBAR.FORWARD'?: string;\n 'SI_ELECTRON_TITLEBAR.MENU'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.ACCEPT'?: string;\n 'SI_EXPLICIT_LEGAL_ACKNOWLEDGE.BACK'?: string;\n 'SI_FILE_UPLOADER.ACCEPTED_FILE_TYPES'?: string;\n 'SI_FILE_UPLOADER.CANCEL'?: string;\n 'SI_FILE_UPLOADER.CLEAR'?: string;\n 'SI_FILE_UPLOADER.DROP'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_FILE_UPLOADER.ERROR_FILE_TYPE'?: string;\n 'SI_FILE_UPLOADER.FILE_SELECT'?: string;\n 'SI_FILE_UPLOADER.MAX_FILE_REACHED'?: string;\n 'SI_FILE_UPLOADER.MAX_SIZE'?: string;\n 'SI_FILE_UPLOADER.REMOVE'?: string;\n 'SI_FILE_UPLOADER.UPLOAD'?: string;\n 'SI_FILE_UPLOADER.UPLOADING'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_COMPLETED'?: string;\n 'SI_FILE_UPLOADER.UPLOAD_FAILED'?: string;\n 'SI_FILTERED_SEARCH.CLEAR'?: string;\n 'SI_FILTERED_SEARCH.ITEM_COUNT'?: string;\n 'SI_FILTERED_SEARCH.SEARCH'?: string;\n 'SI_FILTERED_SEARCH.SEARCH_FOR_FREE_TEXT'?: string;\n 'SI_FILTERED_SEARCH.SUBMIT_BUTTON'?: string;\n 'SI_FILTER_BAR.COLLAPSED_FILTERS_DESCRIPTION'?: string;\n 'SI_FILTER_BAR.NO_FILTERS'?: string;\n 'SI_FILTER_BAR.RESET_FILTERS'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_END'?: string;\n 'SI_FORM_CONTAINER.ERROR.DATE_FORMAT_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.EMAIL'?: string;\n 'SI_FORM_CONTAINER.ERROR.END_BEFORE_START'?: string;\n 'SI_FORM_CONTAINER.ERROR.HOURS'?: string;\n 'SI_FORM_CONTAINER.ERROR.INVALID_PHONE'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV4'?: string;\n 'SI_FORM_CONTAINER.ERROR.IPV6'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MAX_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.MILLISECONDS'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN'?: string;\n 'SI_FORM_CONTAINER.ERROR.MINUTES'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_LENGTH'?: string;\n 'SI_FORM_CONTAINER.ERROR.MIN_TIME'?: string;\n 'SI_FORM_CONTAINER.ERROR.NUMBER_FORMAT'?: string;\n 'SI_FORM_CONTAINER.ERROR.PATTERN'?: string;\n 'SI_FORM_CONTAINER.ERROR.PHONE_COUNTRY'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_AFTER_MAX_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.RANGE_BEFORE_MIN_DATE'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED'?: string;\n 'SI_FORM_CONTAINER.ERROR.REQUIRED_TRUE'?: string;\n 'SI_FORM_CONTAINER.ERROR.SECONDS'?: string;\n 'SI_ICON_STATUS.CAUTION'?: string;\n 'SI_ICON_STATUS.CRITICAL'?: string;\n 'SI_ICON_STATUS.DANGER'?: string;\n 'SI_ICON_STATUS.INFO'?: string;\n 'SI_ICON_STATUS.PENDING'?: string;\n 'SI_ICON_STATUS.PROGRESS'?: string;\n 'SI_ICON_STATUS.SUCCESS'?: string;\n 'SI_ICON_STATUS.UNKNOWN'?: string;\n 'SI_ICON_STATUS.WARNING'?: string;\n 'SI_LANGUAGE_SWITCHER.LABEL'?: string;\n 'SI_LAUNCHPAD.CLOSE'?: string;\n 'SI_LAUNCHPAD.DEFAULT_CATEGORY_TITLE'?: string;\n 'SI_LAUNCHPAD.EXTERNAL_LINK'?: string;\n 'SI_LAUNCHPAD.FAVORITE_APPS'?: string;\n 'SI_LAUNCHPAD.SHOW_LESS'?: string;\n 'SI_LAUNCHPAD.SHOW_MORE'?: string;\n 'SI_LAUNCHPAD.SUB_TITLE'?: string;\n 'SI_LAUNCHPAD.TITLE'?: string;\n 'SI_LIST_DETAILS.BACK'?: string;\n 'SI_LIST_WIDGET.SEARCH_PLACEHOLDER'?: string;\n 'SI_LIST_WIDGET.SORT_ASCENDING'?: string;\n 'SI_LIST_WIDGET.SORT_DESCENDING'?: string;\n 'SI_LOADING_SPINNER.LABEL'?: string;\n 'SI_LOGIN_BASIC.BACK'?: string;\n 'SI_LOGIN_BASIC.FORGOT_PASSWORD'?: string;\n 'SI_LOGIN_BASIC.LOGIN'?: string;\n 'SI_LOGIN_BASIC.NEXT'?: string;\n 'SI_LOGIN_BASIC.PASSWORD'?: string;\n 'SI_LOGIN_BASIC.REGISTER_NOW'?: string;\n 'SI_LOGIN_BASIC.USERNAME'?: string;\n 'SI_LOGIN_SINGLE-SIGN-ON.LOGIN_SIGN_UP'?: string;\n 'SI_MAIN_DETAIL_CONTAINER.BACK'?: string;\n 'SI_NAVBAR.OPEN_LAUNCHPAD'?: string;\n 'SI_NAVBAR.TOGGLE_NAVIGATION'?: string;\n 'SI_NAVBAR_VERTICAL.COLLAPSE'?: string;\n 'SI_NAVBAR_VERTICAL.EXPAND'?: string;\n 'SI_NAVBAR_VERTICAL.SEARCH_PLACEHOLDER'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.MAIN_LABEL'?: string;\n 'SI_NAVBAR_VERTICAL.SKIP_LINK.NAVIGATION_LABEL'?: string;\n 'SI_PAGINATION.BACK'?: string;\n 'SI_PAGINATION.FORWARD'?: string;\n 'SI_PAGINATION.NAV_LABEL'?: string;\n 'SI_PASSWORD_TOGGLE.HIDE'?: string;\n 'SI_PASSWORD_TOGGLE.SHOW'?: string;\n 'SI_PHONE_NUMBER_INPUT.PHONE_NUMBER_INPUT_LABEL'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_NO-RESULTS_FOUND'?: string;\n 'SI_PHONE_NUMBER_INPUT.SEARCH_PLACEHOLDER'?: string;\n 'SI_PHONE_NUMBER_INPUT.SELECT_COUNTRY'?: string;\n 'SI_PHOTO_UPLOAD.APPLY_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CANCEL'?: string;\n 'SI_PHOTO_UPLOAD.CHANGE_PHOTO'?: string;\n 'SI_PHOTO_UPLOAD.CROPPER_FRAME_LABEL'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_SIZE_EXCEEDED'?: string;\n 'SI_PHOTO_UPLOAD.ERROR_FILE_TYPE'?: string;\n 'SI_PHOTO_UPLOAD.MODAL_TITLE'?: string;\n 'SI_PHOTO_UPLOAD.REMOVE'?: string;\n 'SI_PHOTO_UPLOAD.UPLOAD_PHOTO'?: string;\n 'SI_PILLS_INPUT.INPUT_ELEMENT_ARIA_LABEL'?: string;\n 'SI_PROGRESSBAR.LABEL'?: string;\n 'SI_SEARCH_BAR.CLEAR_BUTTON'?: string;\n 'SI_SELECT.NO-RESULTS-FOUND'?: string;\n 'SI_SELECT.SEARCH-PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.CLOSE'?: string;\n 'SI_SIDE_PANEL.ENTER_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.EXIT_FULLSCREEN'?: string;\n 'SI_SIDE_PANEL.SEARCH_PLACEHOLDER'?: string;\n 'SI_SIDE_PANEL.TOGGLE'?: string;\n 'SI_SKIP_LINKS.JUMP_TO'?: string;\n 'SI_SLIDER.DECREMENT'?: string;\n 'SI_SLIDER.INCREMENT'?: string;\n 'SI_SLIDER.LABEL'?: string;\n 'SI_SORT_BAR.TITLE'?: string;\n 'SI_STATUS_BAR.ALL_OK'?: string;\n 'SI_STATUS_BAR.COLLAPSE'?: string;\n 'SI_STATUS_BAR.EXPAND'?: string;\n 'SI_STATUS_BAR.MUTE'?: string;\n 'SI_THRESHOLD.ADD'?: string;\n 'SI_THRESHOLD.DELETE'?: string;\n 'SI_THRESHOLD.INPUT_LABEL'?: string;\n 'SI_THRESHOLD.STATUS'?: string;\n 'SI_TOAST.CLOSE'?: string;\n 'SI_TOUR.BACK'?: string;\n 'SI_TOUR.CLOSE'?: string;\n 'SI_TOUR.DONE'?: string;\n 'SI_TOUR.NEXT'?: string;\n 'SI_TOUR.PROGRESS'?: string;\n 'SI_TOUR.SKIP'?: string;\n 'SI_TREE_VIEW.COLLAPSE_ALL'?: string;\n 'SI_TREE_VIEW.EXPAND_ALL'?: string;\n 'SI_TYPEAHEAD.AUTOCOMPLETE_LIST_LABEL'?: string;\n 'SI_USER_MESSAGE.SECONDARY_ACTIONS'?: string;\n 'SI_WIZARD.BACK'?: string;\n 'SI_WIZARD.CANCEL'?: string;\n 'SI_WIZARD.COMPLETED'?: string;\n 'SI_WIZARD.NEXT'?: string;\n 'SI_WIZARD.SAVE'?: string;\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Provider } from '@angular/core';\nimport { SI_TRANSLATABLE_VALUES } from '@siemens/element-translate-ng/translate';\n\nimport { SiTranslatableKeys } from './si-translatable-keys.interface';\n\nexport const provideSiTranslatableOverrides: (values: SiTranslatableKeys) => Provider = values => ({\n useValue: values,\n multi: true,\n provide: SI_TRANSLATABLE_VALUES\n});\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-translatable-keys.interface';\nexport * from './si-translatable-overrides.provider';\n// @deprecated use @simpl-labs/element-translate-ng/translate directly\nexport * from '@siemens/element-translate-ng/translate';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;;MCSa,8BAA8B,GAA6C,MAAM,KAAK;AACjG,IAAA,QAAQ,EAAE,MAAM;AAChB,IAAA,KAAK,EAAE,IAAI;AACX,IAAA,OAAO,EAAE;AACV,CAAA;;ACbD;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -1,12 +1,14 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, output, signal, ChangeDetectionStrategy, Component, viewChild, contentChildren, linkedSignal, computed, untracked, NgModule } from '@angular/core';
2
+ import { input, booleanAttribute, output, signal, ChangeDetectionStrategy, Component, inject, viewChild, contentChildren, linkedSignal, computed, untracked, NgModule } from '@angular/core';
3
3
  import { __decorate } from 'tslib';
4
4
  import { NgTemplateOutlet } from '@angular/common';
5
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { elementWarningFilled, elementRadioChecked, elementRight4, elementNotChecked, elementLeft4, elementCheckedFilled, elementChecked, elementCancel } from '@siemens/element-icons';
6
- import { WebComponentContentChildren } from '@siemens/element-ng/common';
7
+ import { TextMeasureService, WebComponentContentChildren } from '@siemens/element-ng/common';
7
8
  import { addIcons, SiIconComponent } from '@siemens/element-ng/icon';
8
9
  import { SiResizeObserverDirective } from '@siemens/element-ng/resize-observer';
9
- import { t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
10
+ import { injectSiTranslateService, t, SiTranslatePipe } from '@siemens/element-translate-ng/translate';
11
+ import { switchMap } from 'rxjs';
10
12
 
11
13
  /**
12
14
  * Copyright (c) Siemens 2016 - 2026
@@ -38,6 +40,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
38
40
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], isValid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isValid", required: false }] }], isNextNavigable: [{ type: i0.Input, args: [{ isSignal: true, alias: "isNextNavigable", required: false }] }], failed: [{ type: i0.Input, args: [{ isSignal: true, alias: "failed", required: false }] }], next: [{ type: i0.Output, args: ["next"] }], back: [{ type: i0.Output, args: ["back"] }], save: [{ type: i0.Output, args: ["save"] }] } });
39
41
 
40
42
  class SiWizardComponent {
43
+ /** em-based multipliers relative to the step title font-size. */
44
+ static minStepWidthEm = 6;
45
+ static maxStepWidthEm = 14;
46
+ static defaultStepWidthEm = 11;
47
+ static fallbackFontSize = 14;
48
+ /** Fixed horizontal padding of the step title (px-6 = 2 × 16px). */
49
+ static stepPadding = 32;
50
+ translateService = injectSiTranslateService();
51
+ textMeasureService = inject(TextMeasureService);
41
52
  containerSteps = viewChild('containerSteps', ...(ngDevMode ? [{ debugName: "containerSteps" }] : []));
42
53
  /**
43
54
  * Description of back button.
@@ -187,6 +198,8 @@ class SiWizardComponent {
187
198
  showCompletionPage = signal(false, ...(ngDevMode ? [{ debugName: "showCompletionPage" }] : []));
188
199
  /** The list of visible steps. */
189
200
  activeSteps = computed(() => this.computeVisibleSteps(), ...(ngDevMode ? [{ debugName: "activeSteps" }] : []));
201
+ headingKeys = computed(() => this.steps().map(s => s.heading()), ...(ngDevMode ? [{ debugName: "headingKeys" }] : []));
202
+ maxStepWidth = signal(SiWizardComponent.defaultStepWidthEm * SiWizardComponent.fallbackFontSize, ...(ngDevMode ? [{ debugName: "maxStepWidth" }] : []));
190
203
  _index = linkedSignal(() => {
191
204
  const currentStep = this._currentStep();
192
205
  const currentStepIndex = currentStep ? this.steps().indexOf(currentStep) : 0;
@@ -216,30 +229,48 @@ class SiWizardComponent {
216
229
  elementRadioChecked,
217
230
  elementWarningFilled
218
231
  });
219
- canActivate(stepIndex) {
220
- if (stepIndex < 0) {
221
- return false;
222
- }
223
- // Can always activate previous steps
224
- if (stepIndex < this.index) {
225
- return true;
226
- }
227
- // We are already in the step. Nothing to activate.
228
- if (stepIndex === this.index) {
229
- return false;
230
- }
231
- // Fast-forward: check all steps if they are valid
232
- for (let i = this.index; i < stepIndex; i++) {
233
- const theStep = this.steps()[i];
234
- if (!theStep.isValid()) {
235
- return false;
232
+ stepsMetadata = computed(() => {
233
+ const index = this._index();
234
+ const steps = this.steps();
235
+ // O(N) pre-calculation: find the first invalid step from the current index
236
+ let firstInvalidIndex = steps.length;
237
+ for (let i = index; i < steps.length; i++) {
238
+ if (!steps[i].isValid()) {
239
+ firstInvalidIndex = i;
240
+ break;
236
241
  }
237
242
  }
238
- return true;
243
+ return steps.map((step, stepIndex) => {
244
+ // canActivate: O(1) per step using pre-calculated firstInvalidIndex
245
+ let canActivate;
246
+ if (stepIndex < index) {
247
+ canActivate = true;
248
+ }
249
+ else if (stepIndex === index) {
250
+ canActivate = false;
251
+ }
252
+ else {
253
+ canActivate = firstInvalidIndex >= stepIndex;
254
+ }
255
+ // stateClass
256
+ const stateClass = this.getStateClass(stepIndex, canActivate);
257
+ // ariaDisabled
258
+ const ariaDisabled = !canActivate ? 'true' : 'false';
259
+ // ariaCurrent
260
+ const ariaCurrent = stepIndex === index ? 'step' : 'false';
261
+ // icon
262
+ const icon = this.getState(step, stepIndex);
263
+ return { canActivate, stateClass, ariaDisabled, ariaCurrent, icon };
264
+ });
265
+ }, ...(ngDevMode ? [{ debugName: "stepsMetadata" }] : []));
266
+ constructor() {
267
+ toObservable(this.headingKeys)
268
+ .pipe(switchMap(keys => this.translateService.translateAsync(keys)), takeUntilDestroyed())
269
+ .subscribe(translations => this.maxStepWidth.set(this.measureMaxTextWidth(Object.values(translations))));
239
270
  }
240
271
  activateStep(event, stepIndex) {
241
272
  event.preventDefault();
242
- if (this.canActivate(stepIndex)) {
273
+ if (this.stepsMetadata()[stepIndex].canActivate) {
243
274
  if (stepIndex > this.index) {
244
275
  this.next(stepIndex - this.index);
245
276
  }
@@ -248,11 +279,11 @@ class SiWizardComponent {
248
279
  }
249
280
  }
250
281
  }
251
- getStateClass(stepIndex) {
282
+ getStateClass(stepIndex, canActivate) {
252
283
  if (stepIndex === this.index) {
253
284
  return 'active';
254
285
  }
255
- if (!this.canActivate(stepIndex)) {
286
+ if (!canActivate) {
256
287
  return 'disabled';
257
288
  }
258
289
  if (stepIndex < this.index) {
@@ -260,36 +291,28 @@ class SiWizardComponent {
260
291
  }
261
292
  return '';
262
293
  }
263
- getAriaDisabled(stepIndex) {
264
- if (!this.canActivate(stepIndex)) {
265
- return 'true';
266
- }
267
- return 'false';
268
- }
269
- getAriaCurrent(stepIndex) {
270
- if (stepIndex === this.index) {
271
- return 'step';
272
- }
273
- return 'false';
274
- }
275
294
  /**
276
295
  * Go to the next wizard step.
277
296
  * @param delta - optional number of steps to move forward.
278
297
  */
279
298
  next(delta = 1) {
280
299
  const steps = this.steps();
281
- if (this.index === steps.length - 1) {
282
- return;
283
- }
284
300
  const stepIndex = this.index + delta;
285
- const nextStep = steps[stepIndex];
286
- if (this.canActivate(stepIndex)) {
301
+ if (stepIndex < steps.length && this.stepsMetadata()[stepIndex].canActivate) {
302
+ const nextStep = steps[stepIndex];
287
303
  this.currentStep?.next.emit();
288
304
  if (this.currentStep?.isNextNavigable()) {
289
305
  this.activate(nextStep);
290
306
  }
291
307
  }
292
308
  }
309
+ getState(step, stepIndex) {
310
+ if (step.failed() === true) {
311
+ return this.stepFailedIcon();
312
+ }
313
+ const txtStyle = step.isActive() ? this.stepActiveIcon() : this.stepIcon();
314
+ return stepIndex >= this.index ? txtStyle : this.stepCompletedIcon();
315
+ }
293
316
  /**
294
317
  * Go to the previous wizard step.
295
318
  * @param delta - optional number of steps to move backwards.
@@ -315,13 +338,6 @@ class SiWizardComponent {
315
338
  this.completionAction.emit();
316
339
  }
317
340
  }
318
- getState(step, stepIndex) {
319
- if (step.failed() === true) {
320
- return this.stepFailedIcon();
321
- }
322
- const txtStyle = step.isActive() ? this.stepActiveIcon() : this.stepIcon();
323
- return stepIndex >= this.index ? txtStyle : this.stepCompletedIcon();
324
- }
325
341
  activate(step) {
326
342
  if (this.currentStep) {
327
343
  this.currentStep.isActive.set(false);
@@ -330,6 +346,23 @@ class SiWizardComponent {
330
346
  this._currentStep.set(step);
331
347
  this._index.set(this.steps().indexOf(step));
332
348
  }
349
+ measureMaxTextWidth(texts) {
350
+ const titleEl = this.containerSteps()?.nativeElement.querySelector('.title') ?? undefined;
351
+ const fontSize = titleEl
352
+ ? parseFloat(getComputedStyle(titleEl).fontSize)
353
+ : SiWizardComponent.fallbackFontSize;
354
+ const defaultWidth = SiWizardComponent.defaultStepWidthEm * fontSize;
355
+ if (texts.length === 0) {
356
+ return defaultWidth;
357
+ }
358
+ const minWidth = SiWizardComponent.minStepWidthEm * fontSize;
359
+ const maxWidth = SiWizardComponent.maxStepWidthEm * fontSize;
360
+ // Only take texts into account which aren't much shorter than the longest text.
361
+ const maxCharLength = Math.max(...texts.map(text => text.length));
362
+ const candidates = texts.filter(text => text.length >= maxCharLength * 0.8);
363
+ const maxTextWidth = Math.max(...candidates.map(text => this.textMeasureService.measureText(text, titleEl)));
364
+ return Math.min(Math.max(maxTextWidth + SiWizardComponent.stepPadding, minWidth), maxWidth);
365
+ }
333
366
  updateVisibleSteps() {
334
367
  const newVisibleSteps = this.calculateVisibleStepCount();
335
368
  if (newVisibleSteps !== this.visibleSteps()) {
@@ -346,11 +379,13 @@ class SiWizardComponent {
346
379
  const clientHeight = containerSteps.nativeElement.clientHeight -
347
380
  parseInt(computedStyle.paddingBlockStart) -
348
381
  parseInt(computedStyle.paddingBlockEnd);
349
- return Math.max(Math.floor(clientHeight / 48), 1);
382
+ const stepEl = containerSteps.nativeElement.querySelector('.step');
383
+ const stepHeight = stepEl?.getBoundingClientRect().height ?? 48;
384
+ return Math.max(Math.floor(clientHeight / stepHeight), 1);
350
385
  }
351
386
  else {
352
387
  const clientWidth = containerSteps.nativeElement.clientWidth;
353
- return Math.max(Math.floor(clientWidth / 150), 1);
388
+ return Math.max(Math.floor(clientWidth / this.maxStepWidth()), 1);
354
389
  }
355
390
  }
356
391
  computeVisibleSteps() {
@@ -381,7 +416,7 @@ class SiWizardComponent {
381
416
  }
382
417
  }
383
418
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiWizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
384
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiWizardComponent, isStandalone: true, selector: "si-wizard", inputs: { backText: { classPropertyName: "backText", publicName: "backText", isSignal: true, isRequired: false, transformFunction: null }, nextText: { classPropertyName: "nextText", publicName: "nextText", isSignal: true, isRequired: false, transformFunction: null }, hideNavigation: { classPropertyName: "hideNavigation", publicName: "hideNavigation", isSignal: true, isRequired: false, transformFunction: null }, saveText: { classPropertyName: "saveText", publicName: "saveText", isSignal: true, isRequired: false, transformFunction: null }, hideSave: { classPropertyName: "hideSave", publicName: "hideSave", isSignal: true, isRequired: false, transformFunction: null }, completionText: { classPropertyName: "completionText", publicName: "completionText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, hasCancel: { classPropertyName: "hasCancel", publicName: "hasCancel", isSignal: true, isRequired: false, transformFunction: null }, enableCompletionPage: { classPropertyName: "enableCompletionPage", publicName: "enableCompletionPage", isSignal: true, isRequired: false, transformFunction: null }, completionPageVisibleTime: { classPropertyName: "completionPageVisibleTime", publicName: "completionPageVisibleTime", isSignal: true, isRequired: false, transformFunction: null }, stepIcon: { classPropertyName: "stepIcon", publicName: "stepIcon", isSignal: true, isRequired: false, transformFunction: null }, stepActiveIcon: { classPropertyName: "stepActiveIcon", publicName: "stepActiveIcon", isSignal: true, isRequired: false, transformFunction: null }, stepCompletedIcon: { classPropertyName: "stepCompletedIcon", publicName: "stepCompletedIcon", isSignal: true, isRequired: false, transformFunction: null }, stepFailedIcon: { classPropertyName: "stepFailedIcon", publicName: "stepFailedIcon", isSignal: true, isRequired: false, transformFunction: null }, verticalLayout: { classPropertyName: "verticalLayout", publicName: "verticalLayout", isSignal: true, isRequired: false, transformFunction: null }, inlineNavigation: { classPropertyName: "inlineNavigation", publicName: "inlineNavigation", isSignal: true, isRequired: false, transformFunction: null }, showStepNumbers: { classPropertyName: "showStepNumbers", publicName: "showStepNumbers", isSignal: true, isRequired: false, transformFunction: null }, showVerticalDivider: { classPropertyName: "showVerticalDivider", publicName: "showVerticalDivider", isSignal: true, isRequired: false, transformFunction: null }, verticalMinSize: { classPropertyName: "verticalMinSize", publicName: "verticalMinSize", isSignal: true, isRequired: false, transformFunction: null }, verticalMaxSize: { classPropertyName: "verticalMaxSize", publicName: "verticalMaxSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completionAction: "completionAction", wizardCancel: "wizardCancel" }, host: { properties: { "class.vertical": "verticalLayout()", "style.--wizard-vertical-min-size": "verticalMinSize()", "style.--wizard-vertical-max-size": "verticalMaxSize()" }, classAttribute: "py-6 px-8 d-flex flex-column" }, queries: [{ propertyName: "steps", predicate: SiWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "containerSteps", first: true, predicate: ["containerSteps"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', getStateClass(item.index)]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', getStateClass(item.index)]\"\n [attr.aria-current]=\"getAriaCurrent(item.index)\"\n [attr.href]=\"!canActivate(item.index) || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"getState(item.step!, item.index)\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"getAriaDisabled(item.index)\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', getStateClass(item.index + 1)]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-primary\"\n [class.text-muted]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:12px}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:32px;min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:24px 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:8px}.container-steps .completed-color{color:var(--element-text-inverse)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--element-ui-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:12px}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:12px;border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--element-ui-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:32px;border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--element-ui-0)}.line.dashed.vertical{min-block-size:12px;inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--element-ui-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:12px}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--element-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--element-ui-0);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--element-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--element-ui-3)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--element-ui-0-hover)!important}.step .completed .title{color:var(--element-text-primary)}.step .completed .step-icon{color:var(--element-ui-0)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:16px}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:16px}.container-wizard .vertical-divider{border-inline-end:1px solid var(--element-ui-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:16px}.wizard-btn-container{max-inline-size:50px;min-inline-size:40px;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-primary{color:var(--element-ui-0-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:18px;min-block-size:18px;border-radius:9px;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:24px;min-block-size:24px}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:16px}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 400px){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiResizeObserverDirective, selector: "[siResizeObserver]", inputs: ["resizeThrottle", "emitInitial"], outputs: ["siResizeObserver"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
419
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiWizardComponent, isStandalone: true, selector: "si-wizard", inputs: { backText: { classPropertyName: "backText", publicName: "backText", isSignal: true, isRequired: false, transformFunction: null }, nextText: { classPropertyName: "nextText", publicName: "nextText", isSignal: true, isRequired: false, transformFunction: null }, hideNavigation: { classPropertyName: "hideNavigation", publicName: "hideNavigation", isSignal: true, isRequired: false, transformFunction: null }, saveText: { classPropertyName: "saveText", publicName: "saveText", isSignal: true, isRequired: false, transformFunction: null }, hideSave: { classPropertyName: "hideSave", publicName: "hideSave", isSignal: true, isRequired: false, transformFunction: null }, completionText: { classPropertyName: "completionText", publicName: "completionText", isSignal: true, isRequired: false, transformFunction: null }, cancelText: { classPropertyName: "cancelText", publicName: "cancelText", isSignal: true, isRequired: false, transformFunction: null }, hasCancel: { classPropertyName: "hasCancel", publicName: "hasCancel", isSignal: true, isRequired: false, transformFunction: null }, enableCompletionPage: { classPropertyName: "enableCompletionPage", publicName: "enableCompletionPage", isSignal: true, isRequired: false, transformFunction: null }, completionPageVisibleTime: { classPropertyName: "completionPageVisibleTime", publicName: "completionPageVisibleTime", isSignal: true, isRequired: false, transformFunction: null }, stepIcon: { classPropertyName: "stepIcon", publicName: "stepIcon", isSignal: true, isRequired: false, transformFunction: null }, stepActiveIcon: { classPropertyName: "stepActiveIcon", publicName: "stepActiveIcon", isSignal: true, isRequired: false, transformFunction: null }, stepCompletedIcon: { classPropertyName: "stepCompletedIcon", publicName: "stepCompletedIcon", isSignal: true, isRequired: false, transformFunction: null }, stepFailedIcon: { classPropertyName: "stepFailedIcon", publicName: "stepFailedIcon", isSignal: true, isRequired: false, transformFunction: null }, verticalLayout: { classPropertyName: "verticalLayout", publicName: "verticalLayout", isSignal: true, isRequired: false, transformFunction: null }, inlineNavigation: { classPropertyName: "inlineNavigation", publicName: "inlineNavigation", isSignal: true, isRequired: false, transformFunction: null }, showStepNumbers: { classPropertyName: "showStepNumbers", publicName: "showStepNumbers", isSignal: true, isRequired: false, transformFunction: null }, showVerticalDivider: { classPropertyName: "showVerticalDivider", publicName: "showVerticalDivider", isSignal: true, isRequired: false, transformFunction: null }, verticalMinSize: { classPropertyName: "verticalMinSize", publicName: "verticalMinSize", isSignal: true, isRequired: false, transformFunction: null }, verticalMaxSize: { classPropertyName: "verticalMaxSize", publicName: "verticalMaxSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completionAction: "completionAction", wizardCancel: "wizardCancel" }, host: { properties: { "class.vertical": "verticalLayout()", "style.--wizard-vertical-min-size": "verticalMinSize()", "style.--wizard-vertical-max-size": "verticalMaxSize()" }, classAttribute: "py-6 px-8 d-flex flex-column" }, queries: [{ propertyName: "steps", predicate: SiWizardStepComponent, isSignal: true }], viewQueries: [{ propertyName: "containerSteps", first: true, predicate: ["containerSteps"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-primary\"\n [class.text-muted]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:12px}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:32px;min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:8px}.container-steps .completed-color{color:var(--element-text-inverse)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--element-ui-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:12px}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:12px;border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--element-ui-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:32px;border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--element-ui-0)}.line.dashed.vertical{min-block-size:12px;inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--element-ui-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--element-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--element-ui-0);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--element-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--element-ui-3)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--element-ui-0-hover)!important}.step .completed .title{color:var(--element-text-primary)}.step .completed .step-icon{color:var(--element-ui-0)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:16px}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:16px}.container-wizard .vertical-divider{border-inline-end:1px solid var(--element-ui-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:16px}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-primary{color:var(--element-ui-0-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:16px}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiResizeObserverDirective, selector: "[siResizeObserver]", inputs: ["resizeThrottle", "emitInitial"], outputs: ["siResizeObserver"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
385
420
  }
386
421
  __decorate([
387
422
  WebComponentContentChildren(SiWizardStepComponent)
@@ -393,8 +428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
393
428
  '[class.vertical]': 'verticalLayout()',
394
429
  '[style.--wizard-vertical-min-size]': 'verticalMinSize()',
395
430
  '[style.--wizard-vertical-max-size]': 'verticalMaxSize()'
396
- }, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', getStateClass(item.index)]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', getStateClass(item.index)]\"\n [attr.aria-current]=\"getAriaCurrent(item.index)\"\n [attr.href]=\"!canActivate(item.index) || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"getState(item.step!, item.index)\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"getAriaDisabled(item.index)\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', getStateClass(item.index + 1)]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-primary\"\n [class.text-muted]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:12px}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:32px;min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:24px 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:8px}.container-steps .completed-color{color:var(--element-text-inverse)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--element-ui-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:12px}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:12px;border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--element-ui-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:32px;border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--element-ui-0)}.line.dashed.vertical{min-block-size:12px;inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--element-ui-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:12px}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--element-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--element-ui-0);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--element-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--element-ui-3)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--element-ui-0-hover)!important}.step .completed .title{color:var(--element-text-primary)}.step .completed .step-icon{color:var(--element-ui-0)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:16px}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:16px}.container-wizard .vertical-divider{border-inline-end:1px solid var(--element-ui-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:16px}.wizard-btn-container{max-inline-size:50px;min-inline-size:40px;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-primary{color:var(--element-ui-0-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:18px;min-block-size:18px;border-radius:9px;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:24px;min-block-size:24px}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:16px}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 400px){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"] }]
397
- }], propDecorators: { containerSteps: [{ type: i0.ViewChild, args: ['containerSteps', { isSignal: true }] }], backText: [{ type: i0.Input, args: [{ isSignal: true, alias: "backText", required: false }] }], nextText: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextText", required: false }] }], hideNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideNavigation", required: false }] }], saveText: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveText", required: false }] }], hideSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSave", required: false }] }], completionText: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionText", required: false }] }], cancelText: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelText", required: false }] }], hasCancel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCancel", required: false }] }], enableCompletionPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableCompletionPage", required: false }] }], completionPageVisibleTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionPageVisibleTime", required: false }] }], stepIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepIcon", required: false }] }], stepActiveIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepActiveIcon", required: false }] }], stepCompletedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepCompletedIcon", required: false }] }], stepFailedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepFailedIcon", required: false }] }], verticalLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalLayout", required: false }] }], inlineNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineNavigation", required: false }] }], showStepNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStepNumbers", required: false }] }], showVerticalDivider: [{ type: i0.Input, args: [{ isSignal: true, alias: "showVerticalDivider", required: false }] }], verticalMinSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMinSize", required: false }] }], verticalMaxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMaxSize", required: false }] }], completionAction: [{ type: i0.Output, args: ["completionAction"] }], wizardCancel: [{ type: i0.Output, args: ["wizardCancel"] }], steps: [] } });
431
+ }, template: "@if (!showCompletionPage()) {\n @if (!verticalLayout()) {\n <div class=\"container-wizard\" [class.justify-content-center]=\"!inlineNavigation()\">\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"cancelBtnHorizontal\" />\n <ng-container *ngTemplateOutlet=\"backBtnHorizontal\" />\n }\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"nextBtnHorizontal\" />\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n @if (inlineNavigation()) {\n <ng-container *ngTemplateOutlet=\"saveBtn\" />\n } @else {\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n } @else {\n @if (showVerticalDivider()) {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"vertical-divider\"></div>\n <div class=\"d-flex flex-column w-100\">\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n </div>\n </div>\n } @else {\n <div class=\"container-wizard vertical\">\n <ng-container *ngTemplateOutlet=\"stepsTemplate\" />\n <div class=\"steps-content\">\n <ng-container *ngTemplateOutlet=\"stepContent\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"footer\" />\n }\n }\n} @else {\n <div class=\"text-center\">\n <si-icon class=\"completion-icon-size text-success\" [icon]=\"icons.elementChecked\" />\n <p class=\"si-h4\"> {{ completionText() | translate }}</p>\n </div>\n}\n\n<ng-template #stepsTemplate>\n <div\n #containerSteps\n class=\"container-steps\"\n [class.vertical]=\"verticalLayout()\"\n [class.mx-4]=\"inlineNavigation()\"\n [class.mt-4]=\"!verticalLayout() && inlineNavigation()\"\n (siResizeObserver)=\"updateVisibleSteps()\"\n >\n @for (item of activeSteps(); track item.index) {\n @let meta = stepsMetadata()[item.index];\n <div class=\"step\">\n <div\n [class]=\"['line', 'previous', meta.stateClass]\"\n [class.dashed]=\"$first && item.index > 0\"\n [class.vertical]=\"verticalLayout()\"\n [class.spacer]=\"$first && item.index === 0\"\n ></div>\n <a\n [class]=\"['focus-none', meta.stateClass]\"\n [attr.aria-current]=\"meta.ariaCurrent\"\n [attr.href]=\"!meta.canActivate || !currentStep?.isNextNavigable() ? null : '#'\"\n (click)=\"activateStep($event, item.index)\"\n >\n @if (showStepNumbers() && !item.step.failed()) {\n <div\n class=\"step-icon number-step d-flex justify-content-center align-items-center px-1\"\n >\n <div class=\"circle\" [class.status-warning]=\"item.step.failed()\">\n <span class=\"si-h5 px-2\" [class.completed-color]=\"item.index < index\">\n {{ item.index + 1 }}\n </span>\n </div>\n </div>\n } @else {\n <si-icon\n class=\"icon-lg step-icon\"\n [class.status-warning]=\"item.step.failed()\"\n [icon]=\"meta.icon\"\n />\n }\n <div\n class=\"title si-h5\"\n [class.text-center]=\"!verticalLayout()\"\n [class.px-6]=\"!verticalLayout()\"\n [attr.aria-disabled]=\"meta.ariaDisabled\"\n >{{ item.step.heading() | translate }}</div\n >\n </a>\n @if (item.index + 1 < stepCount) {\n <div\n [class]=\"['line', stepsMetadata()[item.index + 1].stateClass]\"\n [class.vertical]=\"verticalLayout()\"\n [class.dashed]=\"$last\"\n ></div>\n }\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #stepContent>\n <div [class.flex-grow-1]=\"!verticalLayout()\" [class.h-100]=\"verticalLayout()\">\n <ng-content />\n </div>\n</ng-template>\n\n<ng-template #cancelBtnHorizontal>\n @if (hasCancel()) {\n <div class=\"me-7\">\n <div class=\"wizard-btn-container\" (click)=\"wizardCancel.emit()\">\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary mt-2 mb-4\"\n [attr.aria-label]=\"cancelText() | translate\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ cancelText() | translate }}</div>\n </div>\n </div>\n }\n</ng-template>\n\n<ng-template #footer>\n <div class=\"wizard-footer pt-6\">\n <div class=\"wizard-footer-inner\" [class.ms-6]=\"showVerticalDivider()\">\n @if (hasCancel()) {\n <button\n type=\"button\"\n class=\"btn btn-tertiary\"\n [attr.aria-label]=\"cancelText() | translate\"\n (click)=\"wizardCancel.emit()\"\n >\n {{ cancelText() | translate }}\n </button>\n }\n @if (!hideNavigation()) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [class.d-none]=\"index === 0\"\n [class.end]=\"index !== 0\"\n [attr.aria-label]=\"backText() | translate\"\n (click)=\"back(1)\"\n >\n {{ backText() | translate }}\n </button>\n\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n [attr.aria-label]=\"nextText() | translate\"\n [disabled]=\"!currentStep?.isValid()\"\n [class.d-none]=\"index === steps().length - 1\"\n [class.end]=\"index === 0\"\n (click)=\"next(1)\"\n >\n {{ nextText() | translate }}\n </button>\n }\n\n @if (!hideSave()) {\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [class.end]=\"hideNavigation()\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n }\n </div>\n </div>\n</ng-template>\n\n<ng-template #backBtnHorizontal>\n <div class=\"wizard-btn-container\">\n @if (!hideNavigation()) {\n <div class=\"back\" [class.invisible]=\"index === 0\" (click)=\"back(1)\">\n <button\n type=\"button\"\n class=\"btn btn-secondary btn-circle mb-2\"\n [attr.aria-label]=\"backText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementLeft4\" />\n </button>\n <div class=\"si-h5 text-primary\">{{ backText() | translate }}</div>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #nextBtnHorizontal>\n <div class=\"wizard-btn-container\" [class.wizard-text-deactivate]=\"!currentStep?.isValid()\">\n @if (!hideNavigation()) {\n <div class=\"next\" [class.invisible]=\"index === steps().length - 1\" (click)=\"next(1)\">\n <button\n type=\"button\"\n class=\"btn btn-primary btn-circle mb-2\"\n [disabled]=\"!currentStep?.isValid()\"\n [attr.aria-label]=\"nextText() | translate\"\n >\n <si-icon class=\"flip-rtl\" [icon]=\"icons.elementRight4\" />\n </button>\n <div\n class=\"si-h5 text-primary\"\n [class.text-muted]=\"!currentStep?.isValid()\"\n [attr.aria-disabled]=\"!currentStep?.isValid()\"\n >{{ nextText() | translate }}</div\n >\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #saveBtn>\n @if (!hideSave()) {\n <div [class.center-save]=\"!verticalLayout() && inlineNavigation()\">\n @if (index === steps().length - 1) {\n <button\n type=\"button\"\n class=\"btn btn-primary save\"\n [disabled]=\"!currentStep?.isValid() || !currentStep?.isNextNavigable()\"\n (click)=\"save()\"\n >{{ saveText() | translate }}</button\n >\n }\n </div>\n }\n</ng-template>\n", styles: [":host.vertical{display:flex;flex-direction:column;block-size:100%}.container-steps{display:flex}.container-steps .step{display:grid}.container-steps:not(.vertical){inline-size:100%;justify-content:center;align-items:flex-start;padding-block:0}.container-steps:not(.vertical) .step{grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto}.container-steps:not(.vertical) .step .step-icon{grid-row:1/2;grid-column:2/3;justify-self:center}.container-steps:not(.vertical) .step .title{margin-block-start:12px}.container-steps.vertical{flex-direction:column;block-size:100%;padding-block-start:32px;min-inline-size:var(--wizard-vertical-min-size, 180px);max-inline-size:var(--wizard-vertical-max-size, initial)}.container-steps.vertical .step{grid-template-columns:1.5rem 1fr;grid-template-rows:auto auto auto;align-items:center;flex:0 1 auto}.container-steps.vertical .step .step-icon{grid-row:2/3;grid-column:1/2;justify-self:center}.container-steps.vertical .step .title{grid-row:2/3;grid-column:2/3;padding-inline-start:8px}.container-steps .completed-color{color:var(--element-text-inverse)}.line{grid-row:1;justify-self:stretch}.line.vertical{grid-column:1/2;align-self:stretch;justify-self:center;border-inline-start-color:var(--element-ui-2);border-inline-start-width:2px;border-inline-start-style:solid;min-block-size:12px}.line.vertical.dashed{border-inline-start-style:dashed}.line.vertical.spacer{block-size:12px;border:0}.line.vertical:not(.previous){grid-row:3}.line:not(.vertical){grid-column:3/4;border-block-start-width:2px;border-block-start-style:solid;border-block-start-color:var(--element-ui-2);align-self:center}.line:not(.vertical).previous{grid-column:1/2}.line:not(.vertical).dashed{inline-size:32px;border-block-start-style:dashed}.line:not(.vertical).spacer{display:none}.line:not(.vertical).dashed.previous{justify-self:end}.line.active,.line.completed{border-color:var(--element-ui-0)}.line.dashed.vertical{min-block-size:12px;inline-size:auto}.step{inline-size:100%;flex-shrink:1}.step a{display:grid;grid-template-columns:subgrid;grid-template-rows:subgrid;grid-row:1/-1;grid-column:1/-1;align-items:center;justify-self:center;color:var(--element-ui-2)}.step a:hover{text-decoration:none}.step a:focus-visible .step-icon{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:calc(-1 * var(--element-button-focus-width));border-radius:.75rem}.step a:focus-visible .step-icon.number-step{outline:none}.step a:focus-visible .step-icon.number-step .circle{outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}.step .title{grid-row:2/3;grid-column:1/-1;color:var(--element-text-secondary);display:-webkit-box;overflow:hidden;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical}.step .active,.step .active .title{color:var(--element-ui-0);cursor:default}.step .disabled,.step .disabled:hover,.step a.disabled>*{cursor:default}.step .disabled .title,.step .disabled:hover .title,.step a.disabled>* .title{color:var(--element-text-disabled)}.step .disabled .step-icon,.step .disabled:hover .step-icon,.step a.disabled>* .step-icon{color:var(--element-ui-3)}.step a:not(.disabled):hover,.step a:not(.disabled):hover .step-icon,.step a:not(.disabled):hover .title{color:var(--element-ui-0-hover)!important}.step .completed .title{color:var(--element-text-primary)}.step .completed .step-icon{color:var(--element-ui-0)}.step .completed .circle{background-color:currentColor}.container-wizard{inline-size:100%;display:flex;flex-wrap:nowrap}.container-wizard:not(.vertical){justify-content:center;padding-block-end:16px}.container-wizard.vertical{justify-content:start;block-size:100%}.container-wizard.vertical .steps-content{flex:100%;padding-inline-start:16px}.container-wizard .vertical-divider{border-inline-end:1px solid var(--element-ui-4);margin-block:0}.center-save{display:flex;justify-content:center;padding-block-start:16px}.wizard-btn-container{min-inline-size:8ch;flex-shrink:1;text-align:center;cursor:pointer}.wizard-btn-container.wizard-text-deactivate:hover{cursor:default}.wizard-btn-container:not(.wizard-text-deactivate):hover .text-primary{color:var(--element-ui-0-hover)!important}.completion-icon-size{font-size:96px}.circle{min-inline-size:1.125rem;min-block-size:1.125rem;border-radius:.75rem;border-width:1px;border-style:solid;border-color:currentColor;color:currentColor}.number-step{min-inline-size:1.5rem;min-block-size:1.5rem;text-align:center}.wizard-footer{container-type:inline-size}.wizard-footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;gap:16px}.wizard-footer-inner>.end{margin-inline-start:auto}@container (max-width: 25em){.wizard-footer-inner{flex-direction:column;align-items:stretch}.wizard-footer-inner>.end{margin-inline-start:unset}}\n"] }]
432
+ }], ctorParameters: () => [], propDecorators: { containerSteps: [{ type: i0.ViewChild, args: ['containerSteps', { isSignal: true }] }], backText: [{ type: i0.Input, args: [{ isSignal: true, alias: "backText", required: false }] }], nextText: [{ type: i0.Input, args: [{ isSignal: true, alias: "nextText", required: false }] }], hideNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideNavigation", required: false }] }], saveText: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveText", required: false }] }], hideSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideSave", required: false }] }], completionText: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionText", required: false }] }], cancelText: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelText", required: false }] }], hasCancel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasCancel", required: false }] }], enableCompletionPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "enableCompletionPage", required: false }] }], completionPageVisibleTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "completionPageVisibleTime", required: false }] }], stepIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepIcon", required: false }] }], stepActiveIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepActiveIcon", required: false }] }], stepCompletedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepCompletedIcon", required: false }] }], stepFailedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepFailedIcon", required: false }] }], verticalLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalLayout", required: false }] }], inlineNavigation: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineNavigation", required: false }] }], showStepNumbers: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStepNumbers", required: false }] }], showVerticalDivider: [{ type: i0.Input, args: [{ isSignal: true, alias: "showVerticalDivider", required: false }] }], verticalMinSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMinSize", required: false }] }], verticalMaxSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "verticalMaxSize", required: false }] }], completionAction: [{ type: i0.Output, args: ["completionAction"] }], wizardCancel: [{ type: i0.Output, args: ["wizardCancel"] }], steps: [] } });
398
433
 
399
434
  /**
400
435
  * Copyright (c) Siemens 2016 - 2026