@siemens/element-ng 49.7.0 → 49.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/siemens-element-ng-accordion.mjs +1 -1
- package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-action-modal.mjs +8 -8
- package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-ag-grid.mjs +3 -3
- package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-application-header.mjs +2 -2
- package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-card.mjs +43 -8
- package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-chat-messages.mjs +8 -8
- package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +2 -2
- package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-common.mjs +4 -4
- package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-content-action-bar.mjs +2 -2
- package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-dashboard.mjs +7 -8
- package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs +1 -1
- package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-datepicker.mjs +49 -39
- package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-file-uploader.mjs +9 -8
- package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
- package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-filtered-search.mjs +12 -12
- package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs +1 -1
- package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +8 -16
- package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs +2 -2
- package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-navbar.mjs +4 -4
- package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-notification-item.mjs +2 -2
- package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-number-input.mjs +2 -2
- package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-password-toggle.mjs +2 -2
- package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-photo-upload.mjs +2 -2
- package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-pills-input.mjs +4 -4
- package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-popover.mjs +10 -3
- package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-search-bar.mjs +10 -4
- package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-select.mjs +4 -4
- package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-side-panel.mjs +2 -2
- package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-status-bar.mjs +47 -22
- package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
- package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs +2 -2
- package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tabs.mjs +4 -4
- package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-threshold.mjs +2 -2
- package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-toast-notification.mjs +2 -2
- package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tooltip.mjs +10 -8
- package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-tour.mjs +2 -2
- package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
- package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
- package/package.json +3 -3
- package/schematics/migrations/data/element-migration-data.js +20 -0
- package/schematics/migrations/data/index.js +1 -16
- package/schematics/migrations/ngx-translate/index.js +1 -137
- package/schematics/migrations/ngx-translate/missing-translate-migration.js +141 -0
- package/schematics/ng-add/index.js +1 -12
- package/schematics/ng-add/ng-add-rule.js +16 -0
- package/schematics/ng-update/index.js +1 -17
- package/schematics/ng-update/migrate-to-v49.js +21 -0
- package/template-i18n.json +2 -1
- package/types/siemens-element-ng-card.d.ts +26 -1
- package/types/siemens-element-ng-common.d.ts +3 -3
- package/types/siemens-element-ng-file-uploader.d.ts +4 -3
- package/types/siemens-element-ng-filtered-search.d.ts +1 -1
- package/types/siemens-element-ng-navbar-vertical-next.d.ts +5 -13
- package/types/siemens-element-ng-navbar.d.ts +2 -2
- package/types/siemens-element-ng-popover.d.ts +9 -2
- package/types/siemens-element-ng-search-bar.d.ts +7 -1
- package/types/siemens-element-ng-status-bar.d.ts +11 -5
- package/types/siemens-element-ng-tooltip.d.ts +9 -3
- package/types/siemens-element-ng-translate.d.ts +1 -0
|
@@ -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 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":";;;;;;;;;;;;;AAuBO,MAAM,wBAAwB,GAAG;;ACvBxC;;;AAGG;MAoBU,4BAA4B,CAAA;AACtB,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAChD,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAW;IAElC,qBAAqB,GAAG,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,uBAAA,CAAyB,CAAC;AACxD,IAAA,cAAc,GAAG,QAAQ,CAC1C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,IAAI,IAAI,CAAC,qBAAqB,0DAChE;AACkB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;AACnC,IAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM;AACnF,IAAA,CAAC,kDAAC;AACiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,uDAAC;AACnE,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;AACvD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,OAAO,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,wBAAwB,GAAG,IAAI;AAC/E,IAAA,CAAC,iEAAC;AACiB,IAAA,aAAa,GAAG,MAAM,CAAC,SAAS,yDAAC;IAC3C,MAAM,GAAG,MAAM,EAAQ;IACvB,OAAO,GAAG,MAAM,EAAQ;IAGvB,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QACpB;IACF;IAGU,YAAY,GAAA;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,gBAAgB,EAAE;AAClC,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;AACjC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACrB;IACF;IAEU,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,KAAK,EAAE,CAAC,KAAM,EAAE;IACvB;uGAxCW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBzC,o2CAwCA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrBY,YAAY,6PAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAIpE,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;+BACE,uBAAuB,EAAA,OAAA,EACxB,CAAC,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,o2CAAA,EAAA,MAAA,EAAA,CAAA,wzCAAA,CAAA,EAAA;;sBA0B/E,YAAY;uBAAC,YAAY;;sBAQzB,YAAY;uBAAC,YAAY;;;AErD5B;;;AAGG;AAWI,MAAM,cAAc,GAAG,IAAI,cAAc,CAAa,gBAAgB,CAAC;;ACd9E;;;AAGG;MAkBU,kCAAkC,CAAA;AAC1B,IAAA,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC;IACvC,kBAAkB,GAAG,qBAAqB,EAAE;uGAF3C,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAlC,kCAAkC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB/C,8RAUA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDEY,4BAA4B,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAS3B,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAX9C,SAAS;+BACE,8BAA8B,EAAA,OAAA,EAC/B,CAAC,4BAA4B,CAAC,mBAGtB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,WAAW,EAAE,QAAQ;AACrB,wBAAA,6BAA6B,EAAE;AAChC,qBAAA,EAAA,QAAA,EAAA,8RAAA,EAAA,MAAA,EAAA,CAAA,iwBAAA,CAAA,EAAA;;;AEnBH;;;AAGG;MAwBU,0BAA0B,CAAA;AACpB,IAAA,kBAAkB,GAAG,MAAM,CAAY,EAAE,8DAAC;;AAG3D,IAAA,IAAI,YAAY,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE;IAClC;AAEQ,IAAA,KAAK,GAAe;QAC1B,MAAM,EAAE,IAAI,CAAC,kBAAkB;QAC/B,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAClD,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,KAAK;KACpD;IACgB,SAAS,GAAG,CAAC;AAEtB,IAAA,YAAY;AACZ,IAAA,UAAU;AAEV,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,eAAe,GAAG,IAAI,GAAG,EAAgB;AACzC,IAAA,kBAAkB,GAAG,IAAI,GAAG,EAGjC;AAEH,IAAA,WAAA,GAAA;QACE,IAAI,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE;YAC1C,IAAI,CAAC,cAAc,EAAE;QACvB;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1B,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;IAC9B;AAEA;;;;AAIG;IACH,sBAAsB,CACpB,KAAiB,EACjB,KAAa,EACb,OAAe,EACf,gBAA0B,EAC1B,kBAA4B,EAC5B,MAAa,EAAA;AAEb,QAAA,MAAM,KAAK,GAAY;YACrB,KAAK;YACL,KAAK;YACL,OAAO;YACP,gBAAgB;YAChB,kBAAkB;YAClB,MAAM;YACN,MAAM,EAAE,IAAI,OAAO;SACpB;AACD,QAAA,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;IAC1C;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,CAAC;AACtD,QAAA,KAAK,CAAC,OAAO,KAAK,wBAAwB;AAC1C,QAAA,KAAK,CAAC,MAAM,KAAK,IAAI,OAAO,EAAE;AAC9B,QAAA,KAAK,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;AACtD,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC;QACA,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,OAAO,EAAE;AAC5C,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,EAAE;gBACjC,cAAc,EAAE,KAAK,CAAC,OAAO;AAC7B,gBAAA,cAAc,EAAE,IAAI,CAAC,GAAG;AACzB,aAAA,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CACnE;QACH;AAEA,QAAA,OAAO,KAAK;IACd;AAEA;;;AAGG;AACH,IAAA,qBAAqB,CAAC,KAAe,EAAA;QACnC,MAAM,YAAY,GAAc,EAAE;QAClC,MAAM,YAAY,GAAc,EAAE;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,IAAG;AACvC,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;AAC5B,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;iBAAO;AACL,gBAAA,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC;AAEzC,QAAA,YAAY,CAAC,OAAO,CAAC,IAAI,IAAG;AAC1B,YAAA,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE;AACvB,YAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;AAEQ,IAAA,sBAAsB,CAAC,KAAc,EAAA;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7C,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,cAAc;AACzE,YAAA,MAAM,WAAW,GAAG,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,GAAG,CAAC;YACpE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,IAAI,WAAW;QACnE;IACF;AAEQ,IAAA,uBAAuB,CAAC,KAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE;YAC/D,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,KAAK,EACL,UAAU,CAAC,MAAK;AACd,gBAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AACnC,YAAA,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,cAAc,CAAC,CACvD;QACH;IACF;IAEQ,cAAc,GAAA;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACpC,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM;AAChE,SAAA,CAAC;AACF,QAAA,MAAM,MAAM,GAAG,IAAI,eAAe,CAChC,kCAAkC,EAClC,IAAI,EACJ,IAAI,CAAC,aAAa,EAAE,CACrB;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC;IACpD;IAEQ,aAAa,GAAA;AACnB,QAAA,MAAM,SAAS,GAAe,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AACjF,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;;;AAGhD,YAAA,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAC3F;AACA,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9D;uGA9JW,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cADb,MAAM,EAAA,CAAA;;2FACnB,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC1BlC;;;AAGG;;ACHH;;AAEG;;;;"}
|
|
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-tertiary-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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"}
|
|
@@ -112,7 +112,7 @@ class SiTooltipService {
|
|
|
112
112
|
}
|
|
113
113
|
]
|
|
114
114
|
});
|
|
115
|
-
return new TooltipRef(getOverlay(config.element, this.overlay, false, config.placement), config.element, injector);
|
|
115
|
+
return new TooltipRef(getOverlay(config.element, this.overlay, false, config.placement, false, true, config.scrollStrategy), config.element, injector);
|
|
116
116
|
}
|
|
117
117
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
118
118
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipService });
|
|
@@ -121,10 +121,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
121
121
|
type: Injectable
|
|
122
122
|
}] });
|
|
123
123
|
|
|
124
|
-
/**
|
|
125
|
-
* Copyright (c) Siemens 2016 - 2026
|
|
126
|
-
* SPDX-License-Identifier: MIT
|
|
127
|
-
*/
|
|
128
124
|
class SiTooltipDirective {
|
|
129
125
|
static idCounter = 0;
|
|
130
126
|
/**
|
|
@@ -145,6 +141,11 @@ class SiTooltipDirective {
|
|
|
145
141
|
* @defaultValue false
|
|
146
142
|
*/
|
|
147
143
|
isDisabled = input(false, { ...(ngDevMode ? { debugName: "isDisabled" } : {}), transform: booleanAttribute });
|
|
144
|
+
/**
|
|
145
|
+
* Optional CDK scroll strategy used for the tooltip overlay.
|
|
146
|
+
* If not provided, the default reposition strategy is used.
|
|
147
|
+
*/
|
|
148
|
+
tooltipScrollStrategy = input(...(ngDevMode ? [undefined, { debugName: "tooltipScrollStrategy" }] : []));
|
|
148
149
|
/**
|
|
149
150
|
* The context for the attached template
|
|
150
151
|
*/
|
|
@@ -178,7 +179,8 @@ class SiTooltipDirective {
|
|
|
178
179
|
element: this.elementRef,
|
|
179
180
|
placement: this.placement(),
|
|
180
181
|
tooltip: this.siTooltip,
|
|
181
|
-
tooltipContext: this.tooltipContext
|
|
182
|
+
tooltipContext: this.tooltipContext,
|
|
183
|
+
scrollStrategy: this.tooltipScrollStrategy()
|
|
182
184
|
});
|
|
183
185
|
this.tooltipRef.show();
|
|
184
186
|
}, delay);
|
|
@@ -196,7 +198,7 @@ class SiTooltipDirective {
|
|
|
196
198
|
this.tooltipRef?.hide();
|
|
197
199
|
}
|
|
198
200
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
199
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiTooltipDirective, isStandalone: true, selector: "[siTooltip]", inputs: { siTooltip: { classPropertyName: "siTooltip", publicName: "siTooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, tooltipContext: { classPropertyName: "tooltipContext", publicName: "tooltipContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "focusIn($event)", "mouseenter": "show()", "touchstart": "hide()", "focusout": "hide()", "mouseleave": "hide()" }, properties: { "attr.aria-describedby": "isDisabled() ? null : describedBy" } }, providers: [SiTooltipService], ngImport: i0 });
|
|
201
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiTooltipDirective, isStandalone: true, selector: "[siTooltip]", inputs: { siTooltip: { classPropertyName: "siTooltip", publicName: "siTooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, tooltipScrollStrategy: { classPropertyName: "tooltipScrollStrategy", publicName: "tooltipScrollStrategy", isSignal: true, isRequired: false, transformFunction: null }, tooltipContext: { classPropertyName: "tooltipContext", publicName: "tooltipContext", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "focus": "focusIn($event)", "mouseenter": "show()", "touchstart": "hide()", "focusout": "hide()", "mouseleave": "hide()" }, properties: { "attr.aria-describedby": "isDisabled() ? null : describedBy" } }, providers: [SiTooltipService], ngImport: i0 });
|
|
200
202
|
}
|
|
201
203
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTooltipDirective, decorators: [{
|
|
202
204
|
type: Directive,
|
|
@@ -212,7 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
|
|
|
212
214
|
'(mouseleave)': 'hide()'
|
|
213
215
|
}
|
|
214
216
|
}]
|
|
215
|
-
}], propDecorators: { siTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTooltip", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], tooltipContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipContext", required: false }] }] } });
|
|
217
|
+
}], propDecorators: { siTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "siTooltip", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], tooltipScrollStrategy: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipScrollStrategy", required: false }] }], tooltipContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipContext", required: false }] }] } });
|
|
216
218
|
|
|
217
219
|
/**
|
|
218
220
|
* Copyright (c) Siemens 2016 - 2026
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-tooltip.mjs","sources":["../../../../projects/element-ng/tooltip/si-tooltip.model.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.html","../../../../projects/element-ng/tooltip/si-tooltip.service.ts","../../../../projects/element-ng/tooltip/si-tooltip.directive.ts","../../../../projects/element-ng/tooltip/si-tooltip.module.ts","../../../../projects/element-ng/tooltip/index.ts","../../../../projects/element-ng/tooltip/siemens-element-ng-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type SiTooltipContent = TranslatableString | TemplateRef<any> | Type<any> | null | undefined;\n\nexport interface SiTooltipConfig {\n id: string;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n}\n\nexport const SI_TOOLTIP_CONFIG = new InjectionToken<SiTooltipConfig>('SiTooltipConfig');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, signal, TemplateRef } from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOOLTIP_CONFIG } from './si-tooltip.model';\n\n@Component({\n selector: 'si-tooltip',\n imports: [NgTemplateOutlet, SiTranslatePipe, NgComponentOutlet],\n templateUrl: './si-tooltip.component.html',\n styleUrl: './si-tooltip.component.scss',\n host: {\n 'animate.leave': 'tooltip-leave'\n }\n})\nexport class TooltipComponent {\n protected readonly tooltipPositionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n\n protected readonly config = inject(SI_TOOLTIP_CONFIG);\n private readonly elementRef = inject(ElementRef);\n\n protected readonly tooltipText = computed<string | null>(() => {\n const tooltip = this.config.tooltip();\n return typeof tooltip === 'string' ? tooltip : null;\n });\n\n protected readonly tooltipTemplate = computed<TemplateRef<any> | null>(() => {\n const tooltip = this.config.tooltip();\n return tooltip instanceof TemplateRef ? tooltip : null;\n });\n\n protected readonly tooltipComponent = computed(() => {\n const tooltip = this.config.tooltip();\n return !(tooltip instanceof TemplateRef) && typeof tooltip !== 'string' ? tooltip : null;\n });\n\n /** @internal */\n updateTooltipPosition(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const arrowClassTooltip = `tooltip-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n if (arrowClassTooltip !== this.tooltipPositionClass()) {\n this.tooltipPositionClass.set(arrowClassTooltip);\n }\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"tooltip show position-relative\"\n role=\"tooltip\"\n [id]=\"config.id\"\n [class]=\"tooltipPositionClass()\"\n>\n <div\n class=\"tooltip-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n <div class=\"tooltip-inner\">\n @if (tooltipText()) {\n <div class=\"si-body\">{{ tooltipText() | translate }}</div>\n } @else if (tooltipTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"tooltipTemplate()\"\n [ngTemplateOutletContext]=\"config.tooltipContext()\"\n />\n } @else if (tooltipComponent()) {\n <ng-container [ngComponentOutlet]=\"tooltipComponent()!\" />\n }\n </div>\n</div>\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 { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { getOverlay, getPositionStrategy, positions } from '@siemens/element-ng/common';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipComponent } from './si-tooltip.component';\nimport { SI_TOOLTIP_CONFIG, SiTooltipContent } from './si-tooltip.model';\n\n/**\n * TooltipRef is attached to a specific element.\n * Use it to show or hide a tooltip for that element.\n *\n * @internal\n */\nclass TooltipRef {\n constructor(\n private overlayRef: OverlayRef,\n private element: ElementRef,\n private injector?: Injector\n ) {}\n\n private subscription?: Subscription;\n\n show(): void {\n if (this.overlayRef.hasAttached()) {\n return;\n }\n\n const toolTipPortal = new ComponentPortal(TooltipComponent, undefined, this.injector);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(toolTipPortal);\n\n const positionStrategy = getPositionStrategy(this.overlayRef);\n this.subscription?.unsubscribe();\n this.subscription = positionStrategy?.positionChanges.subscribe(change =>\n tooltipRef.instance.updateTooltipPosition(change, this.element)\n );\n }\n\n hide(): void {\n this.overlayRef.detach();\n this.subscription?.unsubscribe();\n }\n\n destroy(): void {\n this.overlayRef.dispose();\n this.subscription?.unsubscribe();\n }\n}\n\n/**\n * A service to create tooltips for specific elements.\n * Use this if the tooltip directive is not suitable.\n * Must not be used outside element-ng.\n *\n * @internal\n */\n// We cannot provide this in root, as people may override the cdk overlay creation.\n@Injectable()\nexport class SiTooltipService {\n private overlay = inject(Overlay);\n\n createTooltip(config: {\n describedBy: string;\n element: ElementRef;\n placement: keyof typeof positions;\n injector?: Injector;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n }): TooltipRef {\n const injector = Injector.create({\n parent: config.injector,\n providers: [\n {\n provide: SI_TOOLTIP_CONFIG,\n useValue: {\n id: config.describedBy,\n tooltip: config.tooltip,\n tooltipContext: config.tooltipContext\n }\n }\n ]\n });\n\n return new TooltipRef(\n getOverlay(config.element, this.overlay, false, config.placement),\n config.element,\n injector\n );\n }\n}\n\nexport type { TooltipRef };\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n TemplateRef\n} from '@angular/core';\nimport { positions } from '@siemens/element-ng/common';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiTooltipService, TooltipRef } from './si-tooltip.service';\n\n@Directive({\n selector: '[siTooltip]',\n providers: [SiTooltipService],\n host: {\n '[attr.aria-describedby]': 'isDisabled() ? null : describedBy',\n '(focus)': 'focusIn($event)',\n '(mouseenter)': 'show()',\n '(touchstart)': 'hide()',\n '(focusout)': 'hide()',\n '(mouseleave)': 'hide()'\n }\n})\nexport class SiTooltipDirective implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * The tooltip text to be displayed\n *\n * @defaultValue ''\n */\n readonly siTooltip = input<TranslatableString | TemplateRef<any>>('');\n\n /**\n * The placement of the tooltip. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n /**\n * Allows the tooltip to be disabled\n *\n * @defaultValue false\n */\n readonly isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * The context for the attached template\n */\n readonly tooltipContext = input();\n\n protected describedBy = `__tooltip_${SiTooltipDirective.idCounter++}`;\n\n private tooltipRef?: TooltipRef;\n private showTimeout?: ReturnType<typeof setTimeout>;\n private tooltipService = inject(SiTooltipService);\n private elementRef = inject(ElementRef);\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n ngOnDestroy(): void {\n this.clearShowTimeout();\n this.tooltipRef?.destroy();\n }\n\n private clearShowTimeout(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n private showTooltip(immediate = false): void {\n const siTooltip = this.siTooltip();\n if (this.isDisabled() || !siTooltip) {\n return;\n }\n\n this.clearShowTimeout();\n\n const delay = immediate ? 0 : 500;\n\n this.showTimeout = setTimeout(() => {\n this.tooltipRef ??= this.tooltipService.createTooltip({\n describedBy: this.describedBy,\n element: this.elementRef,\n placement: this.placement(),\n tooltip: this.siTooltip,\n tooltipContext: this.tooltipContext\n });\n this.tooltipRef.show();\n }, delay);\n }\n\n protected focusIn(event: FocusEvent): void {\n if (this.isBrowser && (event.target as Element).matches(':focus-visible')) {\n this.showTooltip(true);\n }\n }\n\n protected show(): void {\n this.showTooltip(false);\n }\n\n protected hide(): void {\n this.clearShowTimeout();\n this.tooltipRef?.hide();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiTooltipDirective } from './si-tooltip.directive';\n\n@NgModule({\n imports: [SiTooltipDirective],\n exports: [SiTooltipDirective]\n})\nexport class SiTooltipModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tooltip.module';\nexport * from './si-tooltip.directive';\nexport * from './si-tooltip.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-tooltip.mjs","sources":["../../../../projects/element-ng/tooltip/si-tooltip.model.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.ts","../../../../projects/element-ng/tooltip/si-tooltip.component.html","../../../../projects/element-ng/tooltip/si-tooltip.service.ts","../../../../projects/element-ng/tooltip/si-tooltip.directive.ts","../../../../projects/element-ng/tooltip/si-tooltip.module.ts","../../../../projects/element-ng/tooltip/index.ts","../../../../projects/element-ng/tooltip/siemens-element-ng-tooltip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nexport type SiTooltipContent = TranslatableString | TemplateRef<any> | Type<any> | null | undefined;\n\nexport interface SiTooltipConfig {\n id: string;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n}\n\nexport const SI_TOOLTIP_CONFIG = new InjectionToken<SiTooltipConfig>('SiTooltipConfig');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { NgComponentOutlet, NgTemplateOutlet } from '@angular/common';\nimport { Component, computed, ElementRef, inject, signal, TemplateRef } from '@angular/core';\nimport { calculateOverlayArrowPosition, OverlayArrowPosition } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SI_TOOLTIP_CONFIG } from './si-tooltip.model';\n\n@Component({\n selector: 'si-tooltip',\n imports: [NgTemplateOutlet, SiTranslatePipe, NgComponentOutlet],\n templateUrl: './si-tooltip.component.html',\n styleUrl: './si-tooltip.component.scss',\n host: {\n 'animate.leave': 'tooltip-leave'\n }\n})\nexport class TooltipComponent {\n protected readonly tooltipPositionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n\n protected readonly config = inject(SI_TOOLTIP_CONFIG);\n private readonly elementRef = inject(ElementRef);\n\n protected readonly tooltipText = computed<string | null>(() => {\n const tooltip = this.config.tooltip();\n return typeof tooltip === 'string' ? tooltip : null;\n });\n\n protected readonly tooltipTemplate = computed<TemplateRef<any> | null>(() => {\n const tooltip = this.config.tooltip();\n return tooltip instanceof TemplateRef ? tooltip : null;\n });\n\n protected readonly tooltipComponent = computed(() => {\n const tooltip = this.config.tooltip();\n return !(tooltip instanceof TemplateRef) && typeof tooltip !== 'string' ? tooltip : null;\n });\n\n /** @internal */\n updateTooltipPosition(change: ConnectedOverlayPositionChange, anchor?: ElementRef): void {\n const arrowClassTooltip = `tooltip-${change.connectionPair.overlayX}-${change.connectionPair.overlayY}`;\n // need two updates as class changes affect the position\n if (arrowClassTooltip !== this.tooltipPositionClass()) {\n this.tooltipPositionClass.set(arrowClassTooltip);\n }\n const arrowPos = calculateOverlayArrowPosition(change, this.elementRef, anchor);\n this.arrowPos.set(arrowPos);\n }\n}\n","<div\n class=\"tooltip show position-relative\"\n role=\"tooltip\"\n [id]=\"config.id\"\n [class]=\"tooltipPositionClass()\"\n>\n <div\n class=\"tooltip-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n <div class=\"tooltip-inner\">\n @if (tooltipText()) {\n <div class=\"si-body\">{{ tooltipText() | translate }}</div>\n } @else if (tooltipTemplate()) {\n <ng-template\n [ngTemplateOutlet]=\"tooltipTemplate()\"\n [ngTemplateOutletContext]=\"config.tooltipContext()\"\n />\n } @else if (tooltipComponent()) {\n <ng-container [ngComponentOutlet]=\"tooltipComponent()!\" />\n }\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef, ScrollStrategy } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { ComponentRef, ElementRef, inject, Injectable, Injector } from '@angular/core';\nimport { getOverlay, getPositionStrategy, positions } from '@siemens/element-ng/common';\nimport { Subscription } from 'rxjs';\n\nimport { TooltipComponent } from './si-tooltip.component';\nimport { SI_TOOLTIP_CONFIG, SiTooltipContent } from './si-tooltip.model';\n\n/**\n * TooltipRef is attached to a specific element.\n * Use it to show or hide a tooltip for that element.\n *\n * @internal\n */\nclass TooltipRef {\n constructor(\n private overlayRef: OverlayRef,\n private element: ElementRef,\n private injector?: Injector\n ) {}\n\n private subscription?: Subscription;\n\n show(): void {\n if (this.overlayRef.hasAttached()) {\n return;\n }\n\n const toolTipPortal = new ComponentPortal(TooltipComponent, undefined, this.injector);\n const tooltipRef: ComponentRef<TooltipComponent> = this.overlayRef.attach(toolTipPortal);\n\n const positionStrategy = getPositionStrategy(this.overlayRef);\n this.subscription?.unsubscribe();\n this.subscription = positionStrategy?.positionChanges.subscribe(change =>\n tooltipRef.instance.updateTooltipPosition(change, this.element)\n );\n }\n\n hide(): void {\n this.overlayRef.detach();\n this.subscription?.unsubscribe();\n }\n\n destroy(): void {\n this.overlayRef.dispose();\n this.subscription?.unsubscribe();\n }\n}\n\n/**\n * A service to create tooltips for specific elements.\n * Use this if the tooltip directive is not suitable.\n * Must not be used outside element-ng.\n *\n * @internal\n */\n// We cannot provide this in root, as people may override the cdk overlay creation.\n@Injectable()\nexport class SiTooltipService {\n private overlay = inject(Overlay);\n\n createTooltip(config: {\n describedBy: string;\n element: ElementRef;\n placement: keyof typeof positions;\n injector?: Injector;\n tooltip: () => SiTooltipContent;\n tooltipContext: () => unknown;\n scrollStrategy?: ScrollStrategy;\n }): TooltipRef {\n const injector = Injector.create({\n parent: config.injector,\n providers: [\n {\n provide: SI_TOOLTIP_CONFIG,\n useValue: {\n id: config.describedBy,\n tooltip: config.tooltip,\n tooltipContext: config.tooltipContext\n }\n }\n ]\n });\n\n return new TooltipRef(\n getOverlay(\n config.element,\n this.overlay,\n false,\n config.placement,\n false,\n true,\n config.scrollStrategy\n ),\n config.element,\n injector\n );\n }\n}\n\nexport type { TooltipRef };\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ScrollStrategy } from '@angular/cdk/overlay';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n input,\n OnDestroy,\n PLATFORM_ID,\n TemplateRef\n} from '@angular/core';\nimport { positions } from '@siemens/element-ng/common';\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\n\nimport { SiTooltipService, TooltipRef } from './si-tooltip.service';\n\n@Directive({\n selector: '[siTooltip]',\n providers: [SiTooltipService],\n host: {\n '[attr.aria-describedby]': 'isDisabled() ? null : describedBy',\n '(focus)': 'focusIn($event)',\n '(mouseenter)': 'show()',\n '(touchstart)': 'hide()',\n '(focusout)': 'hide()',\n '(mouseleave)': 'hide()'\n }\n})\nexport class SiTooltipDirective implements OnDestroy {\n private static idCounter = 0;\n\n /**\n * The tooltip text to be displayed\n *\n * @defaultValue ''\n */\n readonly siTooltip = input<TranslatableString | TemplateRef<any>>('');\n\n /**\n * The placement of the tooltip. One of 'top', 'start', end', 'bottom'\n *\n * @defaultValue 'auto'\n */\n readonly placement = input<keyof typeof positions>('auto');\n\n /**\n * Allows the tooltip to be disabled\n *\n * @defaultValue false\n */\n readonly isDisabled = input(false, { transform: booleanAttribute });\n\n /**\n * Optional CDK scroll strategy used for the tooltip overlay.\n * If not provided, the default reposition strategy is used.\n */\n readonly tooltipScrollStrategy = input<ScrollStrategy>();\n\n /**\n * The context for the attached template\n */\n readonly tooltipContext = input();\n\n protected describedBy = `__tooltip_${SiTooltipDirective.idCounter++}`;\n\n private tooltipRef?: TooltipRef;\n private showTimeout?: ReturnType<typeof setTimeout>;\n private tooltipService = inject(SiTooltipService);\n private elementRef = inject(ElementRef);\n private isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n ngOnDestroy(): void {\n this.clearShowTimeout();\n this.tooltipRef?.destroy();\n }\n\n private clearShowTimeout(): void {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = undefined;\n }\n }\n\n private showTooltip(immediate = false): void {\n const siTooltip = this.siTooltip();\n if (this.isDisabled() || !siTooltip) {\n return;\n }\n\n this.clearShowTimeout();\n\n const delay = immediate ? 0 : 500;\n\n this.showTimeout = setTimeout(() => {\n this.tooltipRef ??= this.tooltipService.createTooltip({\n describedBy: this.describedBy,\n element: this.elementRef,\n placement: this.placement(),\n tooltip: this.siTooltip,\n tooltipContext: this.tooltipContext,\n scrollStrategy: this.tooltipScrollStrategy()\n });\n this.tooltipRef.show();\n }, delay);\n }\n\n protected focusIn(event: FocusEvent): void {\n if (this.isBrowser && (event.target as Element).matches(':focus-visible')) {\n this.showTooltip(true);\n }\n }\n\n protected show(): void {\n this.showTooltip(false);\n }\n\n protected hide(): void {\n this.clearShowTimeout();\n this.tooltipRef?.hide();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiTooltipDirective } from './si-tooltip.directive';\n\n@NgModule({\n imports: [SiTooltipDirective],\n exports: [SiTooltipDirective]\n})\nexport class SiTooltipModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tooltip.module';\nexport * from './si-tooltip.directive';\nexport * from './si-tooltip.service';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -122,13 +122,13 @@ class SiTourComponent {
|
|
|
122
122
|
setTimeout(() => this.arrowPos.set(calculateOverlayArrowPosition(update.change, this.elementRef, update.anchor)));
|
|
123
123
|
}
|
|
124
124
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTourComponent, isStandalone: true, selector: "si-tour", host: { listeners: { "window:keydown": "keyListener($event)" }, properties: { "attr.data-step-id": "step()?.step?.id" } }, viewQueries: [{ propertyName: "focusTrap", first: true, predicate: ["focusTrap"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n", styles: [".tour-content{--popover-arrow-width: 24px;--popover-arrow-height: 12px;--popover-bg-color: var(--element-base-1);max-inline-size:400px;inline-size:100vw;opacity:0}.tour-content.show{opacity:1}.backdrop{position:fixed;inset:-200vmax}::ng-deep .cdk-overlay-connected-position-bounding-box:has(si-tour),::ng-deep .cdk-global-overlay-wrapper:has(si-tour){z-index:2000}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
125
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiTourComponent, isStandalone: true, selector: "si-tour", host: { listeners: { "window:keydown": "keyListener($event)" }, properties: { "attr.data-step-id": "step()?.step?.id" } }, viewQueries: [{ propertyName: "focusTrap", first: true, predicate: ["focusTrap"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n", styles: [".tour-content{--popover-arrow-width: 24px;--popover-arrow-height: 12px;--popover-bg-color: var(--element-base-1);max-inline-size:400px;inline-size:100vw;opacity:0}.tour-content.show{opacity:1}.backdrop{position:fixed;inset:-200vmax}::ng-deep .cdk-overlay-connected-position-bounding-box:has(si-tour),::ng-deep .cdk-global-overlay-wrapper:has(si-tour){z-index:2000}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
126
126
|
}
|
|
127
127
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiTourComponent, decorators: [{
|
|
128
128
|
type: Component,
|
|
129
129
|
args: [{ selector: 'si-tour', imports: [A11yModule, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
130
130
|
'[attr.data-step-id]': 'step()?.step?.id'
|
|
131
|
-
}, template: "<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n", styles: [".tour-content{--popover-arrow-width: 24px;--popover-arrow-height: 12px;--popover-bg-color: var(--element-base-1);max-inline-size:400px;inline-size:100vw;opacity:0}.tour-content.show{opacity:1}.backdrop{position:fixed;inset:-200vmax}::ng-deep .cdk-overlay-connected-position-bounding-box:has(si-tour),::ng-deep .cdk-global-overlay-wrapper:has(si-tour){z-index:2000}\n"] }]
|
|
131
|
+
}, template: "<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n", styles: [".tour-content{--popover-arrow-width: 24px;--popover-arrow-height: 12px;--popover-bg-color: var(--element-base-1);max-inline-size:400px;inline-size:100vw;opacity:0}.tour-content.show{opacity:1}.backdrop{position:fixed;inset:-200vmax}::ng-deep .cdk-overlay-connected-position-bounding-box:has(si-tour),::ng-deep .cdk-global-overlay-wrapper:has(si-tour){z-index:2000}\n"] }]
|
|
132
132
|
}], ctorParameters: () => [], propDecorators: { focusTrap: [{ type: i0.ViewChild, args: ['focusTrap', { isSignal: true }] }], keyListener: [{
|
|
133
133
|
type: HostListener,
|
|
134
134
|
args: ['window:keydown', ['$event']]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-tour.mjs","sources":["../../../../projects/element-ng/tour/si-tour-token.model.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.html","../../../../projects/element-ng/tour/si-tour.component.ts","../../../../projects/element-ng/tour/si-tour.component.html","../../../../projects/element-ng/tour/si-tour.service.ts","../../../../projects/element-ng/tour/index.ts","../../../../projects/element-ng/tour/siemens-element-ng-tour.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, WritableSignal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { TourStep } from './si-tour.model';\n\nexport interface TourStepInternal {\n step: TourStep;\n stepNumber: number;\n totalSteps: number;\n anchor?: ElementRef<HTMLElement>;\n}\n\nexport type TourAction = 'next' | 'back' | 'cancel' | 'complete';\n\nexport interface PositionChange {\n change: ConnectedOverlayPositionChange;\n anchor: ElementRef;\n}\nexport interface TourToken {\n currentStep: Subject<TourStepInternal>;\n blocked: WritableSignal<boolean>;\n positionChange: Subject<PositionChange | undefined>;\n sizeChange: Subject<void>;\n control: Subject<TourAction>;\n}\n\nexport const SI_TOUR_TOKEN = new InjectionToken<TourToken>('SI_TOUR_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { SI_TOUR_TOKEN } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour-highlight',\n templateUrl: './si-tour-highlight.component.html',\n styleUrl: './si-tour-highlight.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiTourHighlightComponent {\n private tourToken = inject(SI_TOUR_TOKEN);\n private anchor?: ElementRef;\n protected readonly dim = signal({ top: 0, left: 0, width: 0, height: 0 });\n\n constructor() {\n this.tourToken.currentStep.pipe(takeUntilDestroyed()).subscribe(step => {\n this.anchor = step.anchor;\n this.updateHighlight();\n });\n this.tourToken.sizeChange.pipe(takeUntilDestroyed()).subscribe(() => this.updateHighlight());\n }\n\n private updateHighlight(): void {\n if (!this.anchor) {\n this.dim.set({ top: 0, left: 0, width: 0, height: 0 });\n return;\n }\n const rect = this.anchor.nativeElement.getBoundingClientRect();\n this.dim.set({ top: rect.top, left: rect.left, width: rect.width, height: rect.height });\n }\n}\n","@let rect = dim();\n<div\n class=\"highlighter\"\n [style.top.px]=\"rect.top\"\n [style.left.px]=\"rect.left\"\n [style.inline-size.px]=\"rect.width\"\n [style.block-size.px]=\"rect.height\"\n></div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DOCUMENT,\n ElementRef,\n HostListener,\n inject,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n calculateOverlayArrowPosition,\n isRTL,\n OverlayArrowPosition\n} from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\nimport { PositionChange, SI_TOUR_TOKEN, TourAction, TourStepInternal } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour',\n imports: [A11yModule, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-tour.component.html',\n styleUrl: './si-tour.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-step-id]': 'step()?.step?.id'\n }\n})\nexport class SiTourComponent implements OnDestroy {\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected readonly step = signal<TourStepInternal | undefined>(undefined);\n protected readonly show = signal(false);\n protected readonly icons = addIcons({ elementCancel });\n protected tourToken = inject(SI_TOUR_TOKEN);\n\n protected backText = t(() => $localize`:@@SI_TOUR.BACK:Back`);\n protected nextText = t(() => $localize`:@@SI_TOUR.NEXT:Next`);\n protected skipText = t(() => $localize`:@@SI_TOUR.SKIP:Skip tour`);\n protected doneText = t(() => $localize`:@@SI_TOUR.DONE:Done`);\n protected ariaLabelClose = t(() => $localize`:@@SI_TOUR.CLOSE:Close`);\n protected progressText = t(() => $localize`:@@SI_TOUR.PROGRESS: {{step}} of {{total}}`);\n\n private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private subscription?: Subscription;\n private prevFocus: Element | null = null;\n\n private readonly focusTrap = viewChild<CdkTrapFocus>('focusTrap');\n private document = inject(DOCUMENT);\n\n constructor() {\n this.subscription = this.tourToken.currentStep.subscribe(step => {\n this.step.set(step);\n this.show.set(false);\n // prevents flickering during overlay reposition and arrow direction change\n setTimeout(() => {\n this.show.set(true);\n this.ensureFocused();\n }, 50);\n });\n this.subscription.add(\n this.tourToken.positionChange.subscribe(update => this.updatePosition(update))\n );\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n protected action(action: TourAction): void {\n this.prevFocus = this.document.activeElement;\n this.tourToken.control.next(action);\n }\n\n protected ensureFocused(): void {\n // ensure focus is inside si-tour as other element might steal it, e.g. opening a menu\n const element = this.elementRef.nativeElement;\n if (!this.document.activeElement || !element.contains(this.document.activeElement)) {\n if (element.contains(this.prevFocus)) {\n (this.prevFocus as HTMLElement)?.focus?.();\n } else {\n this.focusTrap()?.focusTrap.focusInitialElement();\n }\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n protected keyListener(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n this.action('cancel');\n break;\n case 'ArrowLeft':\n this.action(isRTL() ? 'next' : 'back');\n break;\n case 'ArrowRight':\n this.action(isRTL() ? 'back' : 'next');\n break;\n }\n }\n\n private updatePosition(update: PositionChange | undefined): void {\n if (!update) {\n this.positionClass.set('');\n this.arrowPos.set(undefined);\n return;\n }\n\n const connPair = update.change.connectionPair;\n this.positionClass.set(`popover-${connPair.overlayX}-${connPair.overlayY}`);\n setTimeout(() =>\n this.arrowPos.set(\n calculateOverlayArrowPosition(update.change, this.elementRef, update.anchor)\n )\n );\n }\n}\n","<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayOutsideClickDispatcher,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, ElementRef, inject, Injectable, Injector, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { map, merge, Subject, Subscription, tap, throttleTime } from 'rxjs';\n\nimport { SiTourHighlightComponent } from './si-tour-highlight.component';\nimport { SI_TOUR_TOKEN, TourAction, TourToken } from './si-tour-token.model';\nimport { SiTourComponent } from './si-tour.component';\nimport { TourOptions, TourStep } from './si-tour.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiTourService {\n private injector = inject(Injector);\n private resizeObserver = inject(ResizeObserverService);\n private overlay = inject(Overlay);\n private outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);\n private overlayRefHighlight?: OverlayRef;\n private overlayRef?: OverlayRef;\n private portal?: ComponentPortal<SiTourComponent>;\n\n private options: TourOptions = {};\n private steps: TourStep[] = [];\n private currentStepIndex = -1;\n private currentStep?: TourStep;\n private active = false;\n private tourToken: TourToken = {\n currentStep: new Subject(),\n blocked: signal(false),\n positionChange: new Subject(),\n sizeChange: new Subject(),\n control: new Subject()\n };\n private positionChangeSub?: Subscription;\n private resizeSub?: Subscription;\n private document = inject(DOCUMENT);\n\n constructor() {\n this.tourToken.control.subscribe(action => this.controlAction(action));\n }\n\n /**\n * Event triggered after the tour is completed.\n */\n readonly onTourComplete = new Subject<void>();\n\n /**\n * Event triggered after the tour is cancelled, either through skip button or closing the tour dialog.\n */\n readonly onTourCancel = new Subject<void>();\n\n /**\n * Sets options for the whole tour.\n */\n setOptions(options: TourOptions): void {\n Object.assign(this.options, options);\n }\n\n /**\n * Add steps to the tour\n */\n addSteps(steps: TourStep[]): void {\n this.steps.push(...steps);\n }\n\n /**\n * Clear all steps\n */\n clearSteps(): void {\n this.steps = [];\n this.currentStepIndex = -1;\n }\n\n /**\n * Start the tour\n */\n start(): void {\n this.makeStep(0);\n }\n\n /**\n * Finish the tour\n */\n complete(): void {\n this.controlAction('complete');\n }\n\n private async controlAction(action: TourAction): Promise<void> {\n switch (action) {\n case 'next':\n this.makeStep(this.currentStepIndex + 1);\n break;\n case 'back':\n this.makeStep(this.currentStepIndex - 1);\n break;\n case 'cancel':\n this.hide();\n this.onTourCancel.next();\n break;\n case 'complete':\n this.hide();\n this.onTourComplete.next();\n break;\n }\n }\n\n private async makeStep(index: number): Promise<void> {\n if (index < 0 || index >= this.steps.length) {\n return;\n }\n\n this.active = true;\n\n await this.handleBeforeNextPromise();\n\n this.currentStepIndex = index;\n const step = this.steps[this.currentStepIndex];\n this.currentStep = Object.assign({}, this.options?.defaultStepOptions ?? {}, step);\n\n if (this.currentStep.beforeShowPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeShowPromise();\n }\n\n if (!this.active) {\n // tour could have been cancelled before beforeShowPromise completes\n return;\n }\n\n const anchorElement = this.getElement(step.attachTo?.element);\n this.scrollIntoView(this.currentStep, anchorElement);\n\n const anchorElementRef = this.isElementVisible(anchorElement)\n ? new ElementRef(anchorElement!)\n : undefined;\n\n if (anchorElementRef) {\n this.attachOverlay(anchorElementRef);\n } else {\n this.centerOverlay();\n }\n this.handleResizeSubscription(anchorElementRef);\n\n this.tourToken.currentStep.next({\n step,\n stepNumber: this.currentStepIndex + 1,\n totalSteps: this.steps.length,\n anchor: anchorElementRef\n });\n this.tourToken.blocked.set(false);\n }\n\n private scrollIntoView(step: TourStep, element?: HTMLElement): void {\n if (!element || !(step.scrollTo || step.scrollToHandler)) {\n return;\n }\n if (step.scrollToHandler) {\n step.scrollToHandler(element);\n } else {\n element?.scrollIntoView(step.scrollTo);\n }\n }\n\n private async handleBeforeNextPromise(): Promise<void> {\n if (!this.active) {\n return;\n }\n if (this.currentStep?.beforeNextPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeNextPromise();\n this.tourToken.blocked.set(false);\n }\n }\n\n private centerOverlay(): void {\n this.positionChangeSub?.unsubscribe();\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (!positionStrategy || positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n this.overlayRef!.updatePositionStrategy(\n this.overlay.position().global().centerHorizontally().centerVertically()\n );\n }\n this.tourToken.positionChange.next(undefined);\n }\n\n private attachOverlay(anchor: ElementRef<HTMLElement>): void {\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (positionStrategy && positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n positionStrategy.setOrigin(anchor);\n } else {\n this.createFlexiblePositionStrategy(anchor);\n }\n }\n\n private createFlexiblePositionStrategy(anchor: ElementRef<HTMLElement>): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(anchor)\n .withGrowAfterOpen(true)\n .withPositions([\n // On top\n { originX: 'center', overlayX: 'center', originY: 'top', overlayY: 'bottom' },\n { originX: 'start', overlayX: 'start', originY: 'top', overlayY: 'bottom' },\n { originX: 'end', overlayX: 'end', originY: 'top', overlayY: 'bottom' },\n // On bottom\n { originX: 'center', overlayX: 'center', originY: 'bottom', overlayY: 'top' },\n { originX: 'start', overlayX: 'start', originY: 'bottom', overlayY: 'top' },\n { originX: 'end', overlayX: 'end', originY: 'bottom', overlayY: 'top' },\n // Left and right\n { originX: 'start', overlayX: 'end', originY: 'center', overlayY: 'center' },\n { originX: 'end', overlayX: 'start', originY: 'center', overlayY: 'center' }\n ]);\n this.overlayRef!.updatePositionStrategy(positionStrategy);\n this.positionChangeSub = positionStrategy.positionChanges\n .pipe(map(change => ({ change, anchor })))\n // We only want to forward the next channel, as the positionChanges completes when setting a new origin.\n .subscribe(value => this.tourToken.positionChange.next(value));\n }\n\n private createOrUpdateOverlays(): void {\n if (this.overlayRef) {\n // This moves the dispatcher to the top, allowing it to catch other open overlays.\n // Much lighter than to detach and re-attach the portal, not re-creating the si-tour\n // component for each step\n this.outsideClickDispatcher.remove(this.overlayRef);\n this.outsideClickDispatcher.add(this.overlayRef);\n return;\n }\n\n const componentInjector = Injector.create({\n providers: [{ provide: SI_TOUR_TOKEN, useValue: this.tourToken }],\n parent: this.injector\n });\n\n // first the highlighter,\n const hlPortal = new ComponentPortal(SiTourHighlightComponent, undefined, componentInjector);\n this.overlayRefHighlight = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n this.overlayRefHighlight.attach(hlPortal);\n\n // then the dialog\n this.portal = new ComponentPortal(SiTourComponent, undefined, componentInjector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n this.overlayRef.attach(this.portal);\n // needs a subscriber, otherwise events will be ignored and the .backdrop CSS hack doesn't help\n this.overlayRef.outsidePointerEvents().subscribe();\n }\n\n private handleResizeSubscription(anchorElement: ElementRef<HTMLElement> | undefined): void {\n this.resizeSub?.unsubscribe();\n this.resizeSub = undefined;\n if (anchorElement) {\n this.resizeSub = merge(\n // this catches edge cases e.g. with side-panel\n this.resizeObserver.observe(this.document.body, 20, false),\n this.resizeObserver.observe(anchorElement.nativeElement, 20, false)\n )\n .pipe(\n throttleTime(20, undefined, { trailing: true }),\n map((): undefined => undefined),\n tap(() => {\n if (!this.isElementVisible(anchorElement?.nativeElement)) {\n // repositions to center if anchor disappears\n this.centerOverlay();\n } else {\n this.overlayRef?.updatePosition();\n }\n })\n )\n .subscribe(this.tourToken.sizeChange);\n }\n }\n\n private isElementVisible(element: HTMLElement | undefined): boolean {\n const rect = element?.getBoundingClientRect();\n return !!rect?.width && !!rect.height;\n }\n\n private getElement(\n selectorOrElement?: string | HTMLElement | (() => string | HTMLElement)\n ): HTMLElement | undefined {\n if (typeof selectorOrElement === 'function') {\n selectorOrElement = selectorOrElement();\n }\n if (!selectorOrElement) {\n return undefined;\n }\n if (typeof selectorOrElement === 'string') {\n const element = this.document.querySelector<HTMLElement>(selectorOrElement);\n return element ?? undefined;\n }\n return selectorOrElement;\n }\n\n private async hide(): Promise<void> {\n await this.handleBeforeNextPromise();\n this.currentStepIndex = -1;\n this.currentStep = undefined;\n this.active = false;\n this.resizeSub?.unsubscribe();\n this.positionChangeSub?.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = undefined;\n this.overlayRefHighlight?.dispose();\n this.overlayRefHighlight = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tour.service';\nexport * from './si-tour.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"siemens-element-ng-tour.mjs","sources":["../../../../projects/element-ng/tour/si-tour-token.model.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.ts","../../../../projects/element-ng/tour/si-tour-highlight.component.html","../../../../projects/element-ng/tour/si-tour.component.ts","../../../../projects/element-ng/tour/si-tour.component.html","../../../../projects/element-ng/tour/si-tour.service.ts","../../../../projects/element-ng/tour/index.ts","../../../../projects/element-ng/tour/siemens-element-ng-tour.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedOverlayPositionChange } from '@angular/cdk/overlay';\nimport { ElementRef, InjectionToken, WritableSignal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\nimport { TourStep } from './si-tour.model';\n\nexport interface TourStepInternal {\n step: TourStep;\n stepNumber: number;\n totalSteps: number;\n anchor?: ElementRef<HTMLElement>;\n}\n\nexport type TourAction = 'next' | 'back' | 'cancel' | 'complete';\n\nexport interface PositionChange {\n change: ConnectedOverlayPositionChange;\n anchor: ElementRef;\n}\nexport interface TourToken {\n currentStep: Subject<TourStepInternal>;\n blocked: WritableSignal<boolean>;\n positionChange: Subject<PositionChange | undefined>;\n sizeChange: Subject<void>;\n control: Subject<TourAction>;\n}\n\nexport const SI_TOUR_TOKEN = new InjectionToken<TourToken>('SI_TOUR_TOKEN');\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { SI_TOUR_TOKEN } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour-highlight',\n templateUrl: './si-tour-highlight.component.html',\n styleUrl: './si-tour-highlight.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiTourHighlightComponent {\n private tourToken = inject(SI_TOUR_TOKEN);\n private anchor?: ElementRef;\n protected readonly dim = signal({ top: 0, left: 0, width: 0, height: 0 });\n\n constructor() {\n this.tourToken.currentStep.pipe(takeUntilDestroyed()).subscribe(step => {\n this.anchor = step.anchor;\n this.updateHighlight();\n });\n this.tourToken.sizeChange.pipe(takeUntilDestroyed()).subscribe(() => this.updateHighlight());\n }\n\n private updateHighlight(): void {\n if (!this.anchor) {\n this.dim.set({ top: 0, left: 0, width: 0, height: 0 });\n return;\n }\n const rect = this.anchor.nativeElement.getBoundingClientRect();\n this.dim.set({ top: rect.top, left: rect.left, width: rect.width, height: rect.height });\n }\n}\n","@let rect = dim();\n<div\n class=\"highlighter\"\n [style.top.px]=\"rect.top\"\n [style.left.px]=\"rect.left\"\n [style.inline-size.px]=\"rect.width\"\n [style.block-size.px]=\"rect.height\"\n></div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n DOCUMENT,\n ElementRef,\n HostListener,\n inject,\n OnDestroy,\n signal,\n viewChild\n} from '@angular/core';\nimport { elementCancel } from '@siemens/element-icons';\nimport {\n calculateOverlayArrowPosition,\n isRTL,\n OverlayArrowPosition\n} from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\nimport { Subscription } from 'rxjs';\n\nimport { PositionChange, SI_TOUR_TOKEN, TourAction, TourStepInternal } from './si-tour-token.model';\n\n@Component({\n selector: 'si-tour',\n imports: [A11yModule, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-tour.component.html',\n styleUrl: './si-tour.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-step-id]': 'step()?.step?.id'\n }\n})\nexport class SiTourComponent implements OnDestroy {\n protected readonly positionClass = signal('');\n protected readonly arrowPos = signal<OverlayArrowPosition | undefined>(undefined);\n protected readonly step = signal<TourStepInternal | undefined>(undefined);\n protected readonly show = signal(false);\n protected readonly icons = addIcons({ elementCancel });\n protected tourToken = inject(SI_TOUR_TOKEN);\n\n protected backText = t(() => $localize`:@@SI_TOUR.BACK:Back`);\n protected nextText = t(() => $localize`:@@SI_TOUR.NEXT:Next`);\n protected skipText = t(() => $localize`:@@SI_TOUR.SKIP:Skip tour`);\n protected doneText = t(() => $localize`:@@SI_TOUR.DONE:Done`);\n protected ariaLabelClose = t(() => $localize`:@@SI_TOUR.CLOSE:Close`);\n protected progressText = t(() => $localize`:@@SI_TOUR.PROGRESS: {{step}} of {{total}}`);\n\n private elementRef: ElementRef<HTMLElement> = inject(ElementRef);\n private subscription?: Subscription;\n private prevFocus: Element | null = null;\n\n private readonly focusTrap = viewChild<CdkTrapFocus>('focusTrap');\n private document = inject(DOCUMENT);\n\n constructor() {\n this.subscription = this.tourToken.currentStep.subscribe(step => {\n this.step.set(step);\n this.show.set(false);\n // prevents flickering during overlay reposition and arrow direction change\n setTimeout(() => {\n this.show.set(true);\n this.ensureFocused();\n }, 50);\n });\n this.subscription.add(\n this.tourToken.positionChange.subscribe(update => this.updatePosition(update))\n );\n }\n\n ngOnDestroy(): void {\n this.subscription?.unsubscribe();\n }\n\n protected action(action: TourAction): void {\n this.prevFocus = this.document.activeElement;\n this.tourToken.control.next(action);\n }\n\n protected ensureFocused(): void {\n // ensure focus is inside si-tour as other element might steal it, e.g. opening a menu\n const element = this.elementRef.nativeElement;\n if (!this.document.activeElement || !element.contains(this.document.activeElement)) {\n if (element.contains(this.prevFocus)) {\n (this.prevFocus as HTMLElement)?.focus?.();\n } else {\n this.focusTrap()?.focusTrap.focusInitialElement();\n }\n }\n }\n\n @HostListener('window:keydown', ['$event'])\n protected keyListener(event: KeyboardEvent): void {\n switch (event.key) {\n case 'Escape':\n this.action('cancel');\n break;\n case 'ArrowLeft':\n this.action(isRTL() ? 'next' : 'back');\n break;\n case 'ArrowRight':\n this.action(isRTL() ? 'back' : 'next');\n break;\n }\n }\n\n private updatePosition(update: PositionChange | undefined): void {\n if (!update) {\n this.positionClass.set('');\n this.arrowPos.set(undefined);\n return;\n }\n\n const connPair = update.change.connectionPair;\n this.positionClass.set(`popover-${connPair.overlayX}-${connPair.overlayY}`);\n setTimeout(() =>\n this.arrowPos.set(\n calculateOverlayArrowPosition(update.change, this.elementRef, update.anchor)\n )\n );\n }\n}\n","<div class=\"backdrop\"></div>\n<div\n #focusTrap=\"cdkTrapFocus\"\n role=\"dialog\"\n aria-labelledby=\"__si-tour-step-title\"\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n [class]=\"['tour-content', 'popover', 'position-relative', positionClass()]\"\n [class.show]=\"show()\"\n>\n @if (arrowPos()) {\n <div\n class=\"popover-arrow\"\n [style.left.px]=\"arrowPos()?.left\"\n [style.right.px]=\"arrowPos()?.right\"\n ></div>\n }\n @if (step()) {\n @let tourStep = step()!;\n <div class=\"d-flex\">\n <div class=\"p-6 flex-fill\">\n <div class=\"pb-2 si-body text-secondary\">\n {{ progressText | translate: { step: tourStep.stepNumber, total: tourStep.totalSteps } }}\n </div>\n <div id=\"__si-tour-step-title\" class=\"si-h4 mb-0\">\n {{ tourStep.step.title | translate }}\n </div>\n </div>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-tertiary-ghost mt-4 me-5\"\n [attr.aria-label]=\"ariaLabelClose | translate\"\n (click)=\"action('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\n </button>\n </div>\n <div class=\"step-text si-body px-6 pb-8\">\n {{ tourStep.step.text | translate }}\n </div>\n <div class=\"d-flex justify-content-end align-items-center p-6 gap-6\">\n @if (tourStep.stepNumber !== 1) {\n <button\n type=\"button\"\n class=\"btn btn-secondary\"\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action('back')\"\n >\n {{ backText | translate }}\n </button>\n } @else {\n <button type=\"button\" class=\"btn btn-tertiary\" (click)=\"action('cancel')\">\n {{ skipText | translate }}\n </button>\n }\n <button\n type=\"button\"\n class=\"btn btn-primary\"\n cdkFocusInitial\n [disabled]=\"tourToken.blocked()\"\n (click)=\"action(tourStep.stepNumber !== tourStep.totalSteps ? 'next' : 'complete')\"\n >\n @if (tourStep.stepNumber !== tourStep.totalSteps) {\n {{ nextText | translate }}\n } @else {\n {{ doneText | translate }}\n }\n </button>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayOutsideClickDispatcher,\n OverlayRef\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, ElementRef, inject, Injectable, Injector, signal } from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\nimport { map, merge, Subject, Subscription, tap, throttleTime } from 'rxjs';\n\nimport { SiTourHighlightComponent } from './si-tour-highlight.component';\nimport { SI_TOUR_TOKEN, TourAction, TourToken } from './si-tour-token.model';\nimport { SiTourComponent } from './si-tour.component';\nimport { TourOptions, TourStep } from './si-tour.model';\n\n@Injectable({ providedIn: 'root' })\nexport class SiTourService {\n private injector = inject(Injector);\n private resizeObserver = inject(ResizeObserverService);\n private overlay = inject(Overlay);\n private outsideClickDispatcher = inject(OverlayOutsideClickDispatcher);\n private overlayRefHighlight?: OverlayRef;\n private overlayRef?: OverlayRef;\n private portal?: ComponentPortal<SiTourComponent>;\n\n private options: TourOptions = {};\n private steps: TourStep[] = [];\n private currentStepIndex = -1;\n private currentStep?: TourStep;\n private active = false;\n private tourToken: TourToken = {\n currentStep: new Subject(),\n blocked: signal(false),\n positionChange: new Subject(),\n sizeChange: new Subject(),\n control: new Subject()\n };\n private positionChangeSub?: Subscription;\n private resizeSub?: Subscription;\n private document = inject(DOCUMENT);\n\n constructor() {\n this.tourToken.control.subscribe(action => this.controlAction(action));\n }\n\n /**\n * Event triggered after the tour is completed.\n */\n readonly onTourComplete = new Subject<void>();\n\n /**\n * Event triggered after the tour is cancelled, either through skip button or closing the tour dialog.\n */\n readonly onTourCancel = new Subject<void>();\n\n /**\n * Sets options for the whole tour.\n */\n setOptions(options: TourOptions): void {\n Object.assign(this.options, options);\n }\n\n /**\n * Add steps to the tour\n */\n addSteps(steps: TourStep[]): void {\n this.steps.push(...steps);\n }\n\n /**\n * Clear all steps\n */\n clearSteps(): void {\n this.steps = [];\n this.currentStepIndex = -1;\n }\n\n /**\n * Start the tour\n */\n start(): void {\n this.makeStep(0);\n }\n\n /**\n * Finish the tour\n */\n complete(): void {\n this.controlAction('complete');\n }\n\n private async controlAction(action: TourAction): Promise<void> {\n switch (action) {\n case 'next':\n this.makeStep(this.currentStepIndex + 1);\n break;\n case 'back':\n this.makeStep(this.currentStepIndex - 1);\n break;\n case 'cancel':\n this.hide();\n this.onTourCancel.next();\n break;\n case 'complete':\n this.hide();\n this.onTourComplete.next();\n break;\n }\n }\n\n private async makeStep(index: number): Promise<void> {\n if (index < 0 || index >= this.steps.length) {\n return;\n }\n\n this.active = true;\n\n await this.handleBeforeNextPromise();\n\n this.currentStepIndex = index;\n const step = this.steps[this.currentStepIndex];\n this.currentStep = Object.assign({}, this.options?.defaultStepOptions ?? {}, step);\n\n if (this.currentStep.beforeShowPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeShowPromise();\n }\n\n if (!this.active) {\n // tour could have been cancelled before beforeShowPromise completes\n return;\n }\n\n const anchorElement = this.getElement(step.attachTo?.element);\n this.scrollIntoView(this.currentStep, anchorElement);\n\n const anchorElementRef = this.isElementVisible(anchorElement)\n ? new ElementRef(anchorElement!)\n : undefined;\n\n if (anchorElementRef) {\n this.attachOverlay(anchorElementRef);\n } else {\n this.centerOverlay();\n }\n this.handleResizeSubscription(anchorElementRef);\n\n this.tourToken.currentStep.next({\n step,\n stepNumber: this.currentStepIndex + 1,\n totalSteps: this.steps.length,\n anchor: anchorElementRef\n });\n this.tourToken.blocked.set(false);\n }\n\n private scrollIntoView(step: TourStep, element?: HTMLElement): void {\n if (!element || !(step.scrollTo || step.scrollToHandler)) {\n return;\n }\n if (step.scrollToHandler) {\n step.scrollToHandler(element);\n } else {\n element?.scrollIntoView(step.scrollTo);\n }\n }\n\n private async handleBeforeNextPromise(): Promise<void> {\n if (!this.active) {\n return;\n }\n if (this.currentStep?.beforeNextPromise) {\n this.tourToken.blocked.set(true);\n await this.currentStep.beforeNextPromise();\n this.tourToken.blocked.set(false);\n }\n }\n\n private centerOverlay(): void {\n this.positionChangeSub?.unsubscribe();\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (!positionStrategy || positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n this.overlayRef!.updatePositionStrategy(\n this.overlay.position().global().centerHorizontally().centerVertically()\n );\n }\n this.tourToken.positionChange.next(undefined);\n }\n\n private attachOverlay(anchor: ElementRef<HTMLElement>): void {\n this.createOrUpdateOverlays();\n\n const positionStrategy = this.overlayRef!.getConfig().positionStrategy;\n if (positionStrategy && positionStrategy instanceof FlexibleConnectedPositionStrategy) {\n positionStrategy.setOrigin(anchor);\n } else {\n this.createFlexiblePositionStrategy(anchor);\n }\n }\n\n private createFlexiblePositionStrategy(anchor: ElementRef<HTMLElement>): void {\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(anchor)\n .withGrowAfterOpen(true)\n .withPositions([\n // On top\n { originX: 'center', overlayX: 'center', originY: 'top', overlayY: 'bottom' },\n { originX: 'start', overlayX: 'start', originY: 'top', overlayY: 'bottom' },\n { originX: 'end', overlayX: 'end', originY: 'top', overlayY: 'bottom' },\n // On bottom\n { originX: 'center', overlayX: 'center', originY: 'bottom', overlayY: 'top' },\n { originX: 'start', overlayX: 'start', originY: 'bottom', overlayY: 'top' },\n { originX: 'end', overlayX: 'end', originY: 'bottom', overlayY: 'top' },\n // Left and right\n { originX: 'start', overlayX: 'end', originY: 'center', overlayY: 'center' },\n { originX: 'end', overlayX: 'start', originY: 'center', overlayY: 'center' }\n ]);\n this.overlayRef!.updatePositionStrategy(positionStrategy);\n this.positionChangeSub = positionStrategy.positionChanges\n .pipe(map(change => ({ change, anchor })))\n // We only want to forward the next channel, as the positionChanges completes when setting a new origin.\n .subscribe(value => this.tourToken.positionChange.next(value));\n }\n\n private createOrUpdateOverlays(): void {\n if (this.overlayRef) {\n // This moves the dispatcher to the top, allowing it to catch other open overlays.\n // Much lighter than to detach and re-attach the portal, not re-creating the si-tour\n // component for each step\n this.outsideClickDispatcher.remove(this.overlayRef);\n this.outsideClickDispatcher.add(this.overlayRef);\n return;\n }\n\n const componentInjector = Injector.create({\n providers: [{ provide: SI_TOUR_TOKEN, useValue: this.tourToken }],\n parent: this.injector\n });\n\n // first the highlighter,\n const hlPortal = new ComponentPortal(SiTourHighlightComponent, undefined, componentInjector);\n this.overlayRefHighlight = this.overlay.create({\n positionStrategy: this.overlay.position().global()\n });\n this.overlayRefHighlight.attach(hlPortal);\n\n // then the dialog\n this.portal = new ComponentPortal(SiTourComponent, undefined, componentInjector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n this.overlayRef.attach(this.portal);\n // needs a subscriber, otherwise events will be ignored and the .backdrop CSS hack doesn't help\n this.overlayRef.outsidePointerEvents().subscribe();\n }\n\n private handleResizeSubscription(anchorElement: ElementRef<HTMLElement> | undefined): void {\n this.resizeSub?.unsubscribe();\n this.resizeSub = undefined;\n if (anchorElement) {\n this.resizeSub = merge(\n // this catches edge cases e.g. with side-panel\n this.resizeObserver.observe(this.document.body, 20, false),\n this.resizeObserver.observe(anchorElement.nativeElement, 20, false)\n )\n .pipe(\n throttleTime(20, undefined, { trailing: true }),\n map((): undefined => undefined),\n tap(() => {\n if (!this.isElementVisible(anchorElement?.nativeElement)) {\n // repositions to center if anchor disappears\n this.centerOverlay();\n } else {\n this.overlayRef?.updatePosition();\n }\n })\n )\n .subscribe(this.tourToken.sizeChange);\n }\n }\n\n private isElementVisible(element: HTMLElement | undefined): boolean {\n const rect = element?.getBoundingClientRect();\n return !!rect?.width && !!rect.height;\n }\n\n private getElement(\n selectorOrElement?: string | HTMLElement | (() => string | HTMLElement)\n ): HTMLElement | undefined {\n if (typeof selectorOrElement === 'function') {\n selectorOrElement = selectorOrElement();\n }\n if (!selectorOrElement) {\n return undefined;\n }\n if (typeof selectorOrElement === 'string') {\n const element = this.document.querySelector<HTMLElement>(selectorOrElement);\n return element ?? undefined;\n }\n return selectorOrElement;\n }\n\n private async hide(): Promise<void> {\n await this.handleBeforeNextPromise();\n this.currentStepIndex = -1;\n this.currentStep = undefined;\n this.active = false;\n this.resizeSub?.unsubscribe();\n this.positionChangeSub?.unsubscribe();\n this.overlayRef?.dispose();\n this.overlayRef = undefined;\n this.overlayRefHighlight?.dispose();\n this.overlayRefHighlight = undefined;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-tour.service';\nexport * from './si-tour.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"siemens-element-ng-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
|
+
{"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_NAVBAR_VERTICAL.TOGGLE'?: 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;;;;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@siemens/element-ng",
|
|
3
3
|
"description": "Element Angular component library, implementing the Siemens Design Language",
|
|
4
|
-
"version": "49.
|
|
4
|
+
"version": "49.8.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@ngx-formly/bootstrap": "^6.2.2",
|
|
44
44
|
"@ngx-formly/core": "^6.2.2",
|
|
45
45
|
"@siemens/element-icons": "1",
|
|
46
|
-
"@siemens/element-translate-ng": "49.
|
|
47
|
-
"@siemens/element-theme": "49.
|
|
46
|
+
"@siemens/element-translate-ng": "49.8.0",
|
|
47
|
+
"@siemens/element-theme": "49.8.0",
|
|
48
48
|
"@siemens/ngx-datatable": "22 - 26",
|
|
49
49
|
"ag-grid-community": "^34.3.1 || ^35.0.0",
|
|
50
50
|
"flag-icons": "^7.3.2",
|