@siemens/element-ng 49.4.0 → 49.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/fesm2022/siemens-element-ng-chat-messages.mjs +4 -4
  2. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  3. package/fesm2022/siemens-element-ng-datatable.mjs +1 -1
  4. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  5. package/fesm2022/siemens-element-ng-date-range-filter.mjs +13 -18
  6. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  7. package/fesm2022/siemens-element-ng-datepicker.mjs +35 -5
  8. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-file-uploader.mjs +2 -2
  10. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-filtered-search.mjs +123 -91
  12. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-formly.mjs +1 -1
  14. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-list-details.mjs +1 -1
  16. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-loading-spinner.mjs +2 -2
  18. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +2 -2
  20. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-modal.mjs +6 -17
  22. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +702 -0
  24. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -0
  25. package/fesm2022/siemens-element-ng-number-input.mjs +2 -2
  26. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-side-panel.mjs +2 -2
  28. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-tooltip.mjs +2 -2
  30. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-tree-view.mjs +11 -8
  32. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  33. package/navbar-vertical-next/package.json +4 -0
  34. package/package.json +7 -3
  35. package/types/siemens-element-ng-filtered-search.d.ts +12 -10
  36. package/types/siemens-element-ng-markdown-renderer.d.ts +1 -1
  37. package/types/siemens-element-ng-navbar-vertical-next.d.ts +264 -0
  38. package/types/siemens-element-ng-tree-view.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-modal.mjs","sources":["../../../../projects/element-ng/modal/modalref.ts","../../../../projects/element-ng/modal/si-modal.component.ts","../../../../projects/element-ng/modal/si-modal.component.html","../../../../projects/element-ng/modal/si-modal.service.ts","../../../../projects/element-ng/modal/modal.helpers.ts","../../../../projects/element-ng/modal/index.ts","../../../../projects/element-ng/modal/siemens-element-ng-modal.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ElementRef } from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\n\nimport { ModalOptions } from './si-modal.service';\n\n/**\n * Reference to a modal dialog\n * @typeParam T - the type of the content\n * @typeParam CT - the close type\n */\nexport class ModalRef<T = never, CT = any> {\n /** Emits the close value when the modal is hidden. */\n hidden = new Subject<CT | undefined>();\n /** Allows messaging state to consumer w/o closing the dialog. */\n message = new Subject<CT | undefined>();\n /** Emits the modal element reference when it is shown. */\n shown = new ReplaySubject<ElementRef>(1);\n /**\n * The modal options passed during creation.\n *\n * @defaultValue `{}`\n * @see {@link SiModalService}\n */\n data: ModalOptions = {};\n /** @defaultValue true */\n ignoreBackdropClick = true;\n /**\n * Custom class for modal-dialog\n *\n * @defaultValue ''\n */\n dialogClass = '';\n /**\n * The layer of the modal. The modal with the highest layer will be shown on top.\n *\n * @defaultValue 0\n */\n layer = 0;\n /** The default close value of the modal. */\n closeValue?: CT;\n\n get content(): T {\n return undefined as unknown as T;\n }\n\n /** Set the input of a component shown in the modal. */\n setInput(input: string, value: unknown): void {}\n\n /**\n * @defaultValue `() => false`\n */\n isCurrent: () => boolean = () => false;\n /**\n * @defaultValue `() => {}`\n */\n detach: () => void = () => {};\n /**\n * Close the modal with a custom close value.\n *\n * @defaultValue `() => {}`\n */\n hide: (reason?: CT) => void = () => {};\n\n /**\n * When `data.disableAutoHide` is set, messages the `reason`, otherwise calls {@link hide}.\n */\n messageOrHide(reason?: CT): void {\n if (this.data.messageInsteadOfAutoHide) {\n this.message.next(reason);\n } else {\n this.hide(reason);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n DOCUMENT\n} from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\n\nimport { ModalRef } from './modalref';\n\n@Component({\n selector: 'si-modal',\n imports: [A11yModule],\n templateUrl: './si-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(mousedown)': 'clickStarted($event)',\n '(mouseup)': 'onClickStop($event)',\n '(window:keydown.esc)': 'onEsc($event)'\n }\n})\nexport class SiModalComponent implements OnInit, AfterViewInit, OnDestroy {\n protected readonly modalRef = inject(ModalRef<unknown, any>);\n protected readonly isAnimated = !areAnimationsDisabled() && this.modalRef.data.animated !== false;\n\n protected readonly dialogClass = this.modalRef.dialogClass ?? '';\n protected readonly titleId = this.modalRef.data?.ariaLabelledBy ?? '';\n protected init = false;\n protected readonly show = signal(false);\n protected readonly showBackdropClass = signal<boolean | undefined>(undefined);\n\n private clickStartInDialog = false;\n private origBodyOverflow?: string;\n private showTimer: any;\n private backdropTimer: any;\n private backdropGhostClickPrevention = true;\n private readonly document = inject(DOCUMENT);\n\n private readonly modalContainerRef = viewChild.required<ElementRef>('modalContainer');\n\n ngOnInit(): void {\n setTimeout(() => (this.backdropGhostClickPrevention = false), this.animationTime(300));\n this.init = true;\n this.showTimer = setTimeout(() => {\n this.show.set(true);\n }, this.animationTime(150));\n }\n\n ngAfterViewInit(): void {\n queueMicrotask(() => this.modalRef?.shown.next(this.modalContainerRef()));\n }\n\n ngOnDestroy(): void {\n this.hideBackdrop();\n }\n\n /** @internal */\n hideDialog(param?: any): void {\n clearTimeout(this.showTimer);\n\n this.show.set(false);\n // set `detach()` in modal ref to no-op so that the animation is unaffected if called\n const detach = this.modalRef.detach;\n this.modalRef.detach = () => {};\n\n setTimeout(() => {\n this.hideBackdrop();\n setTimeout(() => detach(), this.animationTime(150));\n }, this.animationTime(300));\n\n this.modalRef?.hidden.next(param);\n this.modalRef?.hidden.complete();\n this.modalRef?.message.complete();\n }\n\n /** @internal */\n showBackdrop(): void {\n if (this.modalRef?.data.animated !== false) {\n this.showBackdropClass.set(false);\n this.backdropTimer = setTimeout(() => {\n this.showBackdropClass.set(true);\n }, 16);\n } else {\n this.showBackdropClass.set(true);\n }\n this.origBodyOverflow = this.document.body.style.overflow;\n this.document.body.style.overflow = 'hidden';\n }\n\n private hideBackdrop(): void {\n clearTimeout(this.backdropTimer);\n if (this.showBackdropClass() !== undefined) {\n this.showBackdropClass.set(false);\n }\n if (this.origBodyOverflow !== undefined) {\n this.document.body.style.overflow = this.origBodyOverflow;\n this.origBodyOverflow = undefined;\n }\n }\n\n protected clickStarted(event: MouseEvent): void {\n this.clickStartInDialog = event.target !== this.modalContainerRef().nativeElement;\n }\n\n protected onClickStop(event: MouseEvent): void {\n const clickedInBackdrop =\n event.target === this.modalContainerRef().nativeElement && !this.clickStartInDialog;\n if (this.modalRef?.ignoreBackdropClick || !clickedInBackdrop) {\n this.clickStartInDialog = false;\n return;\n }\n\n if (!this.backdropGhostClickPrevention) {\n // Called when backdrop close is allowed and user clicks on the backdrop\n this.modalRef.messageOrHide(this.modalRef.closeValue);\n } else {\n // When in ghost click prevention mode, avoid text selection\n this.document.getSelection()?.removeAllRanges();\n }\n }\n\n protected onEsc(event: Event): void {\n if (this.modalRef?.data.keyboard && this.modalRef?.isCurrent()) {\n event.preventDefault();\n this.modalRef.messageOrHide(this.modalRef.closeValue);\n }\n }\n\n private animationTime(millis: number): number {\n return this.isAnimated ? millis : 0;\n }\n}\n","@if (showBackdropClass() !== undefined) {\n <div\n class=\"modal-backdrop\"\n [class.fade]=\"modalRef.data.animated !== false\"\n [class.show]=\"showBackdropClass()\"\n ></div>\n}\n@if (init) {\n <div\n #modalContainer\n role=\"dialog\"\n class=\"modal d-block\"\n aria-modal=\"true\"\n [class.fade]=\"modalRef.data.animated !== false\"\n [class.show]=\"show()\"\n [attr.aria-labelledby]=\"titleId\"\n >\n <div cdkTrapFocus cdkTrapFocusAutoCapture [class]=\"`modal-dialog ${dialogClass}`\">\n <div class=\"modal-content\">\n <ng-content />\n </div>\n </div>\n </div>\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 {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EmbeddedViewRef,\n EnvironmentInjector,\n inject,\n Injectable,\n Injector,\n StaticProvider,\n TemplateRef,\n Type\n} from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\n\nimport { ModalRef } from './modalref';\nimport { SiModalComponent } from './si-modal.component';\n\nexport interface ModalDependencyInjectionOptions {\n /** Additional providers for the modal. */\n providers?: StaticProvider[];\n /** Optional element Injector. */\n injector?: Injector;\n /** Optional environment Injector. */\n environmentInjector?: EnvironmentInjector;\n}\n\nexport interface ModalOptions<T = Record<string, any>> extends ModalDependencyInjectionOptions {\n /**\n * Use this to assign values to either `@Input()` or `input()` fields of the provided component.\n * If a template is used, the values are available in the template context.\n */\n inputValues?: Record<string, unknown>;\n /** When set to true, clicking the backdrop has no effect. */\n ignoreBackdropClick?: boolean;\n /** When set to true, backdrop click or Esc don't close the modal. Instead a message will be sent. */\n messageInsteadOfAutoHide?: boolean;\n /** Handle Esc to close/message. */\n keyboard?: boolean;\n /** Whether to enable animation. */\n animated?: boolean;\n /** Additional CSS class. */\n class?: string;\n /** aria-labelled-by value. */\n ariaLabelledBy?: string;\n}\n\nclass ModalRefImpl<T = never, CT = void> extends ModalRef<T, CT> {\n contentRef: TemplateRef<any> | Type<any>;\n viewRef?: EmbeddedViewRef<any>;\n modalCompRef?: ComponentRef<SiModalComponent>;\n componentRef?: ComponentRef<T>;\n overlayRef?: OverlayRef;\n\n override get content(): T {\n return this.componentRef?.instance as T;\n }\n\n override setInput(input: string, value: unknown): void {\n this.componentRef?.setInput(input, value);\n }\n\n constructor(\n contentRef: TemplateRef<any> | Type<any>,\n layer: number,\n data: ModalOptions,\n closeValue?: CT\n ) {\n super();\n this.contentRef = contentRef;\n this.layer = layer;\n this.data = data;\n this.ignoreBackdropClick = data.ignoreBackdropClick !== false;\n this.dialogClass = data?.class ?? '';\n this.closeValue = closeValue;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SiModalService {\n private modalsCount = 0;\n private readonly overlay = inject(Overlay);\n private appRef = inject(ApplicationRef);\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n /**\n * Shows a modal with the given content and configuration.\n * @param content - Content to be displayed in the modal can be a template reference or a component.\n * @param config - Configuration for the modal.\n * @param closeValue - Default closing value which can be overridden by calling `modalRef.hide(value)`.\n * @returns A reference to the modal.\n */\n show<T, CT = any>(\n content: TemplateRef<any> | (new (...args: any[]) => T),\n config: ModalOptions<T>,\n closeValue?: CT\n ): ModalRef<T, CT> {\n const modalRef = new ModalRefImpl<T, CT>(content, ++this.modalsCount, config, closeValue);\n const siModalRef = this.attachComponent(modalRef);\n modalRef.modalCompRef = siModalRef;\n modalRef.detach = () => this.detach(modalRef);\n modalRef.hide = (param?: CT) => siModalRef.instance.hideDialog(param);\n modalRef.isCurrent = () => modalRef.layer === this.modalsCount;\n\n if (this.modalsCount === 1) {\n siModalRef.instance.showBackdrop();\n }\n\n return modalRef;\n }\n\n private attachComponent<T, CT>(modalRef: ModalRefImpl<T, CT>): ComponentRef<SiModalComponent> {\n const providers: StaticProvider[] = [{ provide: ModalRef, useValue: modalRef }];\n modalRef.data.providers?.forEach(p => providers.push(p));\n const injector = Injector.create({\n providers,\n parent: modalRef.data.injector ?? this.buildInjector()\n });\n\n modalRef.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n const compPortal = new ComponentPortal(SiModalComponent, null, injector);\n // Ensure compatibility between Angular CDK 19 and 20 since constructor arguments have changed\n compPortal.projectableNodes = this.getContentProjectableNodes(injector, modalRef);\n return modalRef.overlayRef.attach(compPortal);\n }\n\n private getContentProjectableNodes<T, CT>(\n injector: Injector,\n modalRef: ModalRefImpl<T, CT>\n ): Node[][] {\n if (modalRef.contentRef instanceof TemplateRef) {\n modalRef.viewRef = modalRef.contentRef.createEmbeddedView({\n modalRef,\n ...modalRef.data.inputValues\n });\n this.appRef.attachView(modalRef.viewRef);\n return [modalRef.viewRef.rootNodes];\n }\n\n modalRef.componentRef = createComponent(modalRef.contentRef, {\n environmentInjector: modalRef.data.environmentInjector ?? this.environmentInjector,\n elementInjector: injector\n });\n // set initial @Input() / input()\n for (const [key, value] of Object.entries(modalRef.data?.inputValues ?? {})) {\n modalRef.componentRef?.setInput(key, value);\n }\n modalRef.componentRef.changeDetectorRef.detectChanges();\n\n this.appRef.attachView(modalRef.componentRef.hostView);\n return [[modalRef.componentRef.location.nativeElement]];\n }\n\n protected detach(modalRef: ModalRef<unknown, any>): void {\n const ref = modalRef as ModalRefImpl<unknown>;\n if (ref.modalCompRef) {\n ref.modalCompRef?.destroy();\n ref.modalCompRef = undefined;\n ref.componentRef?.destroy();\n ref.componentRef = undefined;\n ref.viewRef?.destroy();\n ref.viewRef = undefined;\n ref.overlayRef?.dispose();\n ref.shown.complete();\n this.modalsCount--;\n }\n }\n\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 protected buildInjector(): Injector {\n let injector = this.injector;\n if (!injector.get(SiTranslateService, null)) {\n injector = Injector.create({\n providers: [{ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] }],\n parent: this.injector\n });\n }\n return injector;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ModalOptions } from './si-modal.service';\n\nlet idCounter = 1;\n\nexport const createModalConfig = (inputs?: { [key: string]: any }): ModalOptions => {\n if (inputs) {\n Object.keys(inputs).forEach(k => inputs![k] === undefined && delete inputs![k]);\n } else {\n inputs = {};\n }\n const config: ModalOptions<any> = {\n inputValues: inputs as { [key: string]: any },\n ignoreBackdropClick: true,\n keyboard: false,\n animated: true,\n class: 'modal-dialog-centered'\n };\n const id = `__si-modal-id-${idCounter++}`;\n config.inputValues!.titleId = id;\n config.ariaLabelledBy = id;\n return config;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-modal.service';\nexport * from './modalref';\nexport * from './modal.helpers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AASA;;;;AAIG;MACU,QAAQ,CAAA;;AAEnB,IAAA,MAAM,GAAG,IAAI,OAAO,EAAkB;;AAEtC,IAAA,OAAO,GAAG,IAAI,OAAO,EAAkB;;AAEvC,IAAA,KAAK,GAAG,IAAI,aAAa,CAAa,CAAC,CAAC;AACxC;;;;;AAKG;IACH,IAAI,GAAiB,EAAE;;IAEvB,mBAAmB,GAAG,IAAI;AAC1B;;;;AAIG;IACH,WAAW,GAAG,EAAE;AAChB;;;;AAIG;IACH,KAAK,GAAG,CAAC;;AAET,IAAA,UAAU;AAEV,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,SAAyB;IAClC;;AAGA,IAAA,QAAQ,CAAC,KAAa,EAAE,KAAc,IAAS;AAE/C;;AAEG;AACH,IAAA,SAAS,GAAkB,MAAM,KAAK;AACtC;;AAEG;AACH,IAAA,MAAM,GAAe,MAAK,EAAE,CAAC;AAC7B;;;;AAIG;AACH,IAAA,IAAI,GAA0B,MAAK,EAAE,CAAC;AAEtC;;AAEG;AACH,IAAA,aAAa,CAAC,MAAW,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB;IACF;AACD;;AC7ED;;;AAGG;MA6BU,gBAAgB,CAAA;AACR,IAAA,QAAQ,GAAG,MAAM,EAAC,QAAsB,EAAC;AACzC,IAAA,UAAU,GAAG,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;IAE9E,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;IAC7C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE;IAC3D,IAAI,GAAG,KAAK;AACH,IAAA,IAAI,GAAG,MAAM,CAAC,KAAK,gDAAC;AACpB,IAAA,iBAAiB,GAAG,MAAM,CAAsB,SAAS,6DAAC;IAErE,kBAAkB,GAAG,KAAK;AAC1B,IAAA,gBAAgB;AAChB,IAAA,SAAS;AACT,IAAA,aAAa;IACb,4BAA4B,GAAG,IAAI;AAC1B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,IAAA,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAa,gBAAgB,CAAC;IAErF,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,OAAO,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B;IAEA,eAAe,GAAA;AACb,QAAA,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC3E;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;IACrB;;AAGA,IAAA,UAAU,CAAC,KAAW,EAAA;AACpB,QAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAE5B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAK,EAAE,CAAC;QAE/B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,UAAU,CAAC,MAAM,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;AAChC,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;IACnC;;IAGA,YAAY,GAAA;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;AAC1C,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,YAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACnC,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;YAClC,CAAC,EAAE,EAAE,CAAC;QACR;aAAO;AACL,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;QAClC;AACA,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;QACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;IAC9C;IAEQ,YAAY,GAAA;AAClB,QAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAChC,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,SAAS,EAAE;AAC1C,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;QACnC;AACA,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACvC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB;AACzD,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;QACnC;IACF;AAEU,IAAA,YAAY,CAAC,KAAiB,EAAA;AACtC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa;IACnF;AAEU,IAAA,WAAW,CAAC,KAAiB,EAAA;AACrC,QAAA,MAAM,iBAAiB,GACrB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB;QACrF,IAAI,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,iBAAiB,EAAE;AAC5D,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;YAC/B;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;;YAEtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvD;aAAO;;YAEL,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE;QACjD;IACF;AAEU,IAAA,KAAK,CAAC,KAAY,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;YAC9D,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvD;IACF;AAEQ,IAAA,aAAa,CAAC,MAAc,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC;IACrC;uGA7GW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChC7B,unBAwBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDDY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAST,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAX5B,SAAS;+BACE,UAAU,EAAA,OAAA,EACX,CAAC,UAAU,CAAC,mBAEJ,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,aAAa,EAAE,sBAAsB;AACrC,wBAAA,WAAW,EAAE,qBAAqB;AAClC,wBAAA,sBAAsB,EAAE;AACzB,qBAAA,EAAA,QAAA,EAAA,unBAAA,EAAA;+EAmBmE,gBAAgB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjDtF;;;AAGG;AAmDH,MAAM,YAAmC,SAAQ,QAAe,CAAA;AAC9D,IAAA,UAAU;AACV,IAAA,OAAO;AACP,IAAA,YAAY;AACZ,IAAA,YAAY;AACZ,IAAA,UAAU;AAEV,IAAA,IAAa,OAAO,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,QAAa;IACzC;IAES,QAAQ,CAAC,KAAa,EAAE,KAAc,EAAA;QAC7C,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAC3C;AAEA,IAAA,WAAA,CACE,UAAwC,EACxC,KAAa,EACb,IAAkB,EAClB,UAAe,EAAA;AAEf,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,KAAK,KAAK;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;AACD;MAGY,cAAc,CAAA;IACjB,WAAW,GAAG,CAAC;AACN,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAClC,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAEzD;;;;;;AAMG;AACH,IAAA,IAAI,CACF,OAAuD,EACvD,MAAuB,EACvB,UAAe,EAAA;AAEf,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAQ,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AACjD,QAAA,QAAQ,CAAC,YAAY,GAAG,UAAU;AAClC,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7C,QAAA,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAU,KAAK,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;AACrE,QAAA,QAAQ,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW;AAE9D,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;AAC1B,YAAA,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE;QACpC;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,eAAe,CAAQ,QAA6B,EAAA;AAC1D,QAAA,MAAM,SAAS,GAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/E,QAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,SAAS;YACT,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa;AACrD,SAAA,CAAC;QAEF,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACxC,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;YAC1F,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG;AAC9B,SAAA,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC;;QAExE,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjF,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;IAC/C;IAEQ,0BAA0B,CAChC,QAAkB,EAClB,QAA6B,EAAA;AAE7B,QAAA,IAAI,QAAQ,CAAC,UAAU,YAAY,WAAW,EAAE;YAC9C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACxD,QAAQ;AACR,gBAAA,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClB,aAAA,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,YAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC;QAEA,QAAQ,CAAC,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC3D,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB;AAClF,YAAA,eAAe,EAAE;AAClB,SAAA,CAAC;;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE;YAC3E,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7C;AACA,QAAA,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE;QAEvD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtD,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACzD;AAEU,IAAA,MAAM,CAAC,QAAgC,EAAA;QAC/C,MAAM,GAAG,GAAG,QAAiC;AAC7C,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE;AAC3B,YAAA,GAAG,CAAC,YAAY,GAAG,SAAS;AAC5B,YAAA,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE;AAC3B,YAAA,GAAG,CAAC,YAAY,GAAG,SAAS;AAC5B,YAAA,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE;AACtB,YAAA,GAAG,CAAC,OAAO,GAAG,SAAS;AACvB,YAAA,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE;AACzB,YAAA,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;;;IAIU,aAAa,GAAA;AACrB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;AAC3C,YAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzB,gBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACtF,MAAM,EAAE,IAAI,CAAC;AACd,aAAA,CAAC;QACJ;AACA,QAAA,OAAO,QAAQ;IACjB;uGAxGW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC/ElC,IAAI,SAAS,GAAG,CAAC;AAEV,MAAM,iBAAiB,GAAG,CAAC,MAA+B,KAAkB;IACjF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,MAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,MAAO,CAAC,CAAC,CAAC,CAAC;IACjF;SAAO;QACL,MAAM,GAAG,EAAE;IACb;AACA,IAAA,MAAM,MAAM,GAAsB;AAChC,QAAA,WAAW,EAAE,MAAgC;AAC7C,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,KAAK,EAAE;KACR;AACD,IAAA,MAAM,EAAE,GAAG,CAAA,cAAA,EAAiB,SAAS,EAAE,EAAE;AACzC,IAAA,MAAM,CAAC,WAAY,CAAC,OAAO,GAAG,EAAE;AAChC,IAAA,MAAM,CAAC,cAAc,GAAG,EAAE;AAC1B,IAAA,OAAO,MAAM;AACf;;ACzBA;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-modal.mjs","sources":["../../../../projects/element-ng/modal/modalref.ts","../../../../projects/element-ng/modal/si-modal.component.ts","../../../../projects/element-ng/modal/si-modal.component.html","../../../../projects/element-ng/modal/si-modal.service.ts","../../../../projects/element-ng/modal/modal.helpers.ts","../../../../projects/element-ng/modal/index.ts","../../../../projects/element-ng/modal/siemens-element-ng-modal.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ElementRef } from '@angular/core';\nimport { ReplaySubject, Subject } from 'rxjs';\n\nimport { ModalOptions } from './si-modal.service';\n\n/**\n * Reference to a modal dialog\n * @typeParam T - the type of the content\n * @typeParam CT - the close type\n */\nexport class ModalRef<T = never, CT = any> {\n /** Emits the close value when the modal is hidden. */\n hidden = new Subject<CT | undefined>();\n /** Allows messaging state to consumer w/o closing the dialog. */\n message = new Subject<CT | undefined>();\n /** Emits the modal element reference when it is shown. */\n shown = new ReplaySubject<ElementRef>(1);\n /**\n * The modal options passed during creation.\n *\n * @defaultValue `{}`\n * @see {@link SiModalService}\n */\n data: ModalOptions = {};\n /** @defaultValue true */\n ignoreBackdropClick = true;\n /**\n * Custom class for modal-dialog\n *\n * @defaultValue ''\n */\n dialogClass = '';\n /**\n * The layer of the modal. The modal with the highest layer will be shown on top.\n *\n * @defaultValue 0\n */\n layer = 0;\n /** The default close value of the modal. */\n closeValue?: CT;\n\n get content(): T {\n return undefined as unknown as T;\n }\n\n /** Set the input of a component shown in the modal. */\n setInput(input: string, value: unknown): void {}\n\n /**\n * @defaultValue `() => false`\n */\n isCurrent: () => boolean = () => false;\n /**\n * @defaultValue `() => {}`\n */\n detach: () => void = () => {};\n /**\n * Close the modal with a custom close value.\n *\n * @defaultValue `() => {}`\n */\n hide: (reason?: CT) => void = () => {};\n\n /**\n * When `data.disableAutoHide` is set, messages the `reason`, otherwise calls {@link hide}.\n */\n messageOrHide(reason?: CT): void {\n if (this.data.messageInsteadOfAutoHide) {\n this.message.next(reason);\n } else {\n this.hide(reason);\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule } from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n inject,\n OnDestroy,\n OnInit,\n signal,\n viewChild,\n DOCUMENT\n} from '@angular/core';\nimport { areAnimationsDisabled } from '@siemens/element-ng/common';\n\nimport { ModalRef } from './modalref';\n\n@Component({\n selector: 'si-modal',\n imports: [A11yModule],\n templateUrl: './si-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.--element-animations-enabled]': 'modalRef.data.animated === false ? 0 : null',\n '(mousedown)': 'clickStarted($event)',\n '(mouseup)': 'onClickStop($event)',\n '(window:keydown.esc)': 'onEsc($event)'\n }\n})\nexport class SiModalComponent implements OnInit, AfterViewInit, OnDestroy {\n protected readonly modalRef = inject(ModalRef<unknown, any>);\n protected readonly isAnimated = !areAnimationsDisabled() && this.modalRef.data.animated !== false;\n\n protected readonly dialogClass = this.modalRef.dialogClass ?? '';\n protected readonly titleId = this.modalRef.data?.ariaLabelledBy ?? '';\n protected init = false;\n protected readonly show = signal(false);\n protected readonly showBackdropVisible = signal(false);\n\n private clickStartInDialog = false;\n private origBodyOverflow?: string;\n private showTimer: any;\n private backdropGhostClickPrevention = true;\n private readonly document = inject(DOCUMENT);\n\n private readonly modalContainerRef = viewChild.required<ElementRef>('modalContainer');\n\n ngOnInit(): void {\n setTimeout(() => (this.backdropGhostClickPrevention = false), this.animationTime(300));\n this.init = true;\n this.showTimer = setTimeout(() => {\n this.show.set(true);\n }, this.animationTime(150));\n }\n\n ngAfterViewInit(): void {\n queueMicrotask(() => this.modalRef?.shown.next(this.modalContainerRef()));\n }\n\n ngOnDestroy(): void {\n this.hideBackdrop();\n }\n\n /** @internal */\n hideDialog(param?: any): void {\n clearTimeout(this.showTimer);\n\n this.show.set(false);\n // set `detach()` in modal ref to no-op so that the animation is unaffected if called\n const detach = this.modalRef.detach;\n this.modalRef.detach = () => {};\n\n setTimeout(() => {\n this.hideBackdrop();\n setTimeout(() => detach(), this.animationTime(150));\n }, this.animationTime(300));\n\n this.modalRef?.hidden.next(param);\n this.modalRef?.hidden.complete();\n this.modalRef?.message.complete();\n }\n\n /** @internal */\n showBackdrop(): void {\n this.showBackdropVisible.set(true);\n this.origBodyOverflow = this.document.body.style.overflow;\n this.document.body.style.overflow = 'hidden';\n }\n\n private hideBackdrop(): void {\n this.showBackdropVisible.set(false);\n if (this.origBodyOverflow !== undefined) {\n this.document.body.style.overflow = this.origBodyOverflow;\n this.origBodyOverflow = undefined;\n }\n }\n\n protected clickStarted(event: MouseEvent): void {\n this.clickStartInDialog = event.target !== this.modalContainerRef().nativeElement;\n }\n\n protected onClickStop(event: MouseEvent): void {\n const clickedInBackdrop =\n event.target === this.modalContainerRef().nativeElement && !this.clickStartInDialog;\n if (this.modalRef?.ignoreBackdropClick || !clickedInBackdrop) {\n this.clickStartInDialog = false;\n return;\n }\n\n if (!this.backdropGhostClickPrevention) {\n // Called when backdrop close is allowed and user clicks on the backdrop\n this.modalRef.messageOrHide(this.modalRef.closeValue);\n } else {\n // When in ghost click prevention mode, avoid text selection\n this.document.getSelection()?.removeAllRanges();\n }\n }\n\n protected onEsc(event: Event): void {\n if (this.modalRef?.data.keyboard && this.modalRef?.isCurrent()) {\n event.preventDefault();\n this.modalRef.messageOrHide(this.modalRef.closeValue);\n }\n }\n\n private animationTime(millis: number): number {\n return this.isAnimated ? millis : 0;\n }\n}\n","@if (showBackdropVisible()) {\n <div class=\"modal-backdrop\" animate.leave=\"backdrop-leave\"></div>\n}\n@if (init) {\n <div\n #modalContainer\n role=\"dialog\"\n class=\"modal d-block\"\n aria-modal=\"true\"\n [class.fade]=\"modalRef.data.animated !== false\"\n [class.show]=\"show()\"\n [attr.aria-labelledby]=\"titleId\"\n >\n <div cdkTrapFocus cdkTrapFocusAutoCapture [class]=\"`modal-dialog ${dialogClass}`\">\n <div class=\"modal-content\">\n <ng-content />\n </div>\n </div>\n </div>\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 {\n ApplicationRef,\n ComponentRef,\n createComponent,\n EmbeddedViewRef,\n EnvironmentInjector,\n inject,\n Injectable,\n Injector,\n StaticProvider,\n TemplateRef,\n Type\n} from '@angular/core';\nimport { isRTL } from '@siemens/element-ng/common';\nimport { SiNoTranslateService, SiTranslateService } from '@siemens/element-translate-ng/translate';\n\nimport { ModalRef } from './modalref';\nimport { SiModalComponent } from './si-modal.component';\n\nexport interface ModalDependencyInjectionOptions {\n /** Additional providers for the modal. */\n providers?: StaticProvider[];\n /** Optional element Injector. */\n injector?: Injector;\n /** Optional environment Injector. */\n environmentInjector?: EnvironmentInjector;\n}\n\nexport interface ModalOptions<T = Record<string, any>> extends ModalDependencyInjectionOptions {\n /**\n * Use this to assign values to either `@Input()` or `input()` fields of the provided component.\n * If a template is used, the values are available in the template context.\n */\n inputValues?: Record<string, unknown>;\n /** When set to true, clicking the backdrop has no effect. */\n ignoreBackdropClick?: boolean;\n /** When set to true, backdrop click or Esc don't close the modal. Instead a message will be sent. */\n messageInsteadOfAutoHide?: boolean;\n /** Handle Esc to close/message. */\n keyboard?: boolean;\n /** Whether to enable animation. */\n animated?: boolean;\n /** Additional CSS class. */\n class?: string;\n /** aria-labelled-by value. */\n ariaLabelledBy?: string;\n}\n\nclass ModalRefImpl<T = never, CT = void> extends ModalRef<T, CT> {\n contentRef: TemplateRef<any> | Type<any>;\n viewRef?: EmbeddedViewRef<any>;\n modalCompRef?: ComponentRef<SiModalComponent>;\n componentRef?: ComponentRef<T>;\n overlayRef?: OverlayRef;\n\n override get content(): T {\n return this.componentRef?.instance as T;\n }\n\n override setInput(input: string, value: unknown): void {\n this.componentRef?.setInput(input, value);\n }\n\n constructor(\n contentRef: TemplateRef<any> | Type<any>,\n layer: number,\n data: ModalOptions,\n closeValue?: CT\n ) {\n super();\n this.contentRef = contentRef;\n this.layer = layer;\n this.data = data;\n this.ignoreBackdropClick = data.ignoreBackdropClick !== false;\n this.dialogClass = data?.class ?? '';\n this.closeValue = closeValue;\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class SiModalService {\n private modalsCount = 0;\n private readonly overlay = inject(Overlay);\n private appRef = inject(ApplicationRef);\n private injector = inject(Injector);\n private environmentInjector = inject(EnvironmentInjector);\n\n /**\n * Shows a modal with the given content and configuration.\n * @param content - Content to be displayed in the modal can be a template reference or a component.\n * @param config - Configuration for the modal.\n * @param closeValue - Default closing value which can be overridden by calling `modalRef.hide(value)`.\n * @returns A reference to the modal.\n */\n show<T, CT = any>(\n content: TemplateRef<any> | (new (...args: any[]) => T),\n config: ModalOptions<T>,\n closeValue?: CT\n ): ModalRef<T, CT> {\n const modalRef = new ModalRefImpl<T, CT>(content, ++this.modalsCount, config, closeValue);\n const siModalRef = this.attachComponent(modalRef);\n modalRef.modalCompRef = siModalRef;\n modalRef.detach = () => this.detach(modalRef);\n modalRef.hide = (param?: CT) => siModalRef.instance.hideDialog(param);\n modalRef.isCurrent = () => modalRef.layer === this.modalsCount;\n\n if (this.modalsCount === 1) {\n siModalRef.instance.showBackdrop();\n }\n\n return modalRef;\n }\n\n private attachComponent<T, CT>(modalRef: ModalRefImpl<T, CT>): ComponentRef<SiModalComponent> {\n const providers: StaticProvider[] = [{ provide: ModalRef, useValue: modalRef }];\n modalRef.data.providers?.forEach(p => providers.push(p));\n const injector = Injector.create({\n providers,\n parent: modalRef.data.injector ?? this.buildInjector()\n });\n\n modalRef.overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n direction: isRTL() ? 'rtl' : 'ltr'\n });\n const compPortal = new ComponentPortal(SiModalComponent, null, injector);\n // Ensure compatibility between Angular CDK 19 and 20 since constructor arguments have changed\n compPortal.projectableNodes = this.getContentProjectableNodes(injector, modalRef);\n return modalRef.overlayRef.attach(compPortal);\n }\n\n private getContentProjectableNodes<T, CT>(\n injector: Injector,\n modalRef: ModalRefImpl<T, CT>\n ): Node[][] {\n if (modalRef.contentRef instanceof TemplateRef) {\n modalRef.viewRef = modalRef.contentRef.createEmbeddedView({\n modalRef,\n ...modalRef.data.inputValues\n });\n this.appRef.attachView(modalRef.viewRef);\n return [modalRef.viewRef.rootNodes];\n }\n\n modalRef.componentRef = createComponent(modalRef.contentRef, {\n environmentInjector: modalRef.data.environmentInjector ?? this.environmentInjector,\n elementInjector: injector\n });\n // set initial @Input() / input()\n for (const [key, value] of Object.entries(modalRef.data?.inputValues ?? {})) {\n modalRef.componentRef?.setInput(key, value);\n }\n modalRef.componentRef.changeDetectorRef.detectChanges();\n\n this.appRef.attachView(modalRef.componentRef.hostView);\n return [[modalRef.componentRef.location.nativeElement]];\n }\n\n protected detach(modalRef: ModalRef<unknown, any>): void {\n const ref = modalRef as ModalRefImpl<unknown>;\n if (ref.modalCompRef) {\n ref.modalCompRef?.destroy();\n ref.modalCompRef = undefined;\n ref.componentRef?.destroy();\n ref.componentRef = undefined;\n ref.viewRef?.destroy();\n ref.viewRef = undefined;\n ref.overlayRef?.dispose();\n ref.shown.complete();\n this.modalsCount--;\n }\n }\n\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 protected buildInjector(): Injector {\n let injector = this.injector;\n if (!injector.get(SiTranslateService, null)) {\n injector = Injector.create({\n providers: [{ provide: SiTranslateService, useClass: SiNoTranslateService, deps: [] }],\n parent: this.injector\n });\n }\n return injector;\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ModalOptions } from './si-modal.service';\n\nlet idCounter = 1;\n\nexport const createModalConfig = (inputs?: { [key: string]: any }): ModalOptions => {\n if (inputs) {\n Object.keys(inputs).forEach(k => inputs![k] === undefined && delete inputs![k]);\n } else {\n inputs = {};\n }\n const config: ModalOptions<any> = {\n inputValues: inputs as { [key: string]: any },\n ignoreBackdropClick: true,\n keyboard: false,\n animated: true,\n class: 'modal-dialog-centered'\n };\n const id = `__si-modal-id-${idCounter++}`;\n config.inputValues!.titleId = id;\n config.ariaLabelledBy = id;\n return config;\n};\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-modal.service';\nexport * from './modalref';\nexport * from './modal.helpers';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AASA;;;;AAIG;MACU,QAAQ,CAAA;;AAEnB,IAAA,MAAM,GAAG,IAAI,OAAO,EAAkB;;AAEtC,IAAA,OAAO,GAAG,IAAI,OAAO,EAAkB;;AAEvC,IAAA,KAAK,GAAG,IAAI,aAAa,CAAa,CAAC,CAAC;AACxC;;;;;AAKG;IACH,IAAI,GAAiB,EAAE;;IAEvB,mBAAmB,GAAG,IAAI;AAC1B;;;;AAIG;IACH,WAAW,GAAG,EAAE;AAChB;;;;AAIG;IACH,KAAK,GAAG,CAAC;;AAET,IAAA,UAAU;AAEV,IAAA,IAAI,OAAO,GAAA;AACT,QAAA,OAAO,SAAyB;IAClC;;AAGA,IAAA,QAAQ,CAAC,KAAa,EAAE,KAAc,IAAS;AAE/C;;AAEG;AACH,IAAA,SAAS,GAAkB,MAAM,KAAK;AACtC;;AAEG;AACH,IAAA,MAAM,GAAe,MAAK,EAAE,CAAC;AAC7B;;;;AAIG;AACH,IAAA,IAAI,GAA0B,MAAK,EAAE,CAAC;AAEtC;;AAEG;AACH,IAAA,aAAa,CAAC,MAAW,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;AACtC,YAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAC3B;aAAO;AACL,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACnB;IACF;AACD;;AC7ED;;;AAGG;MA8BU,gBAAgB,CAAA;AACR,IAAA,QAAQ,GAAG,MAAM,EAAC,QAAsB,EAAC;AACzC,IAAA,UAAU,GAAG,CAAC,qBAAqB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK;IAE9E,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE;IAC7C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,IAAI,EAAE;IAC3D,IAAI,GAAG,KAAK;AACH,IAAA,IAAI,GAAG,MAAM,CAAC,KAAK,gDAAC;AACpB,IAAA,mBAAmB,GAAG,MAAM,CAAC,KAAK,+DAAC;IAE9C,kBAAkB,GAAG,KAAK;AAC1B,IAAA,gBAAgB;AAChB,IAAA,SAAS;IACT,4BAA4B,GAAG,IAAI;AAC1B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3B,IAAA,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAa,gBAAgB,CAAC;IAErF,QAAQ,GAAA;AACN,QAAA,UAAU,CAAC,OAAO,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACtF,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,MAAK;AAC/B,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QACrB,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7B;IAEA,eAAe,GAAA;AACb,QAAA,cAAc,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC3E;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,YAAY,EAAE;IACrB;;AAGA,IAAA,UAAU,CAAC,KAAW,EAAA;AACpB,QAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;AAE5B,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;;AAEpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAK,EAAE,CAAC;QAE/B,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,YAAY,EAAE;AACnB,YAAA,UAAU,CAAC,MAAM,MAAM,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;AAChC,QAAA,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;IACnC;;IAGA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;AAClC,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;QACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ;IAC9C;IAEQ,YAAY,GAAA;AAClB,QAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC,QAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;AACvC,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB;AACzD,YAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS;QACnC;IACF;AAEU,IAAA,YAAY,CAAC,KAAiB,EAAA;AACtC,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa;IACnF;AAEU,IAAA,WAAW,CAAC,KAAiB,EAAA;AACrC,QAAA,MAAM,iBAAiB,GACrB,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,kBAAkB;QACrF,IAAI,IAAI,CAAC,QAAQ,EAAE,mBAAmB,IAAI,CAAC,iBAAiB,EAAE;AAC5D,YAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;YAC/B;QACF;AAEA,QAAA,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;;YAEtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvD;aAAO;;YAEL,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,eAAe,EAAE;QACjD;IACF;AAEU,IAAA,KAAK,CAAC,KAAY,EAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE;YAC9D,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;QACvD;IACF;AAEQ,IAAA,aAAa,CAAC,MAAc,EAAA;QAClC,OAAO,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,CAAC;IACrC;uGAlGW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,SAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,eAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oCAAA,EAAA,6CAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC7B,kiBAoBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDGY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAUT,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,SAAS;+BACE,UAAU,EAAA,OAAA,EACX,CAAC,UAAU,CAAC,mBAEJ,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,sCAAsC,EAAE,6CAA6C;AACrF,wBAAA,aAAa,EAAE,sBAAsB;AACrC,wBAAA,WAAW,EAAE,qBAAqB;AAClC,wBAAA,sBAAsB,EAAE;AACzB,qBAAA,EAAA,QAAA,EAAA,kiBAAA,EAAA;+EAkBmE,gBAAgB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEjDtF;;;AAGG;AAmDH,MAAM,YAAmC,SAAQ,QAAe,CAAA;AAC9D,IAAA,UAAU;AACV,IAAA,OAAO;AACP,IAAA,YAAY;AACZ,IAAA,YAAY;AACZ,IAAA,UAAU;AAEV,IAAA,IAAa,OAAO,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,YAAY,EAAE,QAAa;IACzC;IAES,QAAQ,CAAC,KAAa,EAAE,KAAc,EAAA;QAC7C,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAC3C;AAEA,IAAA,WAAA,CACE,UAAwC,EACxC,KAAa,EACb,IAAkB,EAClB,UAAe,EAAA;AAEf,QAAA,KAAK,EAAE;AACP,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;AAC5B,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,KAAK,KAAK;QAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE;AACpC,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;AACD;MAGY,cAAc,CAAA;IACjB,WAAW,GAAG,CAAC;AACN,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAClC,IAAA,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;AAC/B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,IAAA,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAEzD;;;;;;AAMG;AACH,IAAA,IAAI,CACF,OAAuD,EACvD,MAAuB,EACvB,UAAe,EAAA;AAEf,QAAA,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAQ,OAAO,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;AACjD,QAAA,QAAQ,CAAC,YAAY,GAAG,UAAU;AAClC,QAAA,QAAQ,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7C,QAAA,QAAQ,CAAC,IAAI,GAAG,CAAC,KAAU,KAAK,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;AACrE,QAAA,QAAQ,CAAC,SAAS,GAAG,MAAM,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW;AAE9D,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;AAC1B,YAAA,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE;QACpC;AAEA,QAAA,OAAO,QAAQ;IACjB;AAEQ,IAAA,eAAe,CAAQ,QAA6B,EAAA;AAC1D,QAAA,MAAM,SAAS,GAAqB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/E,QAAA,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACxD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC/B,SAAS;YACT,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa;AACrD,SAAA,CAAC;QAEF,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACxC,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE;YAC1F,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG;AAC9B,SAAA,CAAC;QACF,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC;;QAExE,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACjF,OAAO,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;IAC/C;IAEQ,0BAA0B,CAChC,QAAkB,EAClB,QAA6B,EAAA;AAE7B,QAAA,IAAI,QAAQ,CAAC,UAAU,YAAY,WAAW,EAAE;YAC9C,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACxD,QAAQ;AACR,gBAAA,GAAG,QAAQ,CAAC,IAAI,CAAC;AAClB,aAAA,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;AACxC,YAAA,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACrC;QAEA,QAAQ,CAAC,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC3D,mBAAmB,EAAE,QAAQ,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB;AAClF,YAAA,eAAe,EAAE;AAClB,SAAA,CAAC;;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE,CAAC,EAAE;YAC3E,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;QAC7C;AACA,QAAA,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE;QAEvD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;QACtD,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACzD;AAEU,IAAA,MAAM,CAAC,QAAgC,EAAA;QAC/C,MAAM,GAAG,GAAG,QAAiC;AAC7C,QAAA,IAAI,GAAG,CAAC,YAAY,EAAE;AACpB,YAAA,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE;AAC3B,YAAA,GAAG,CAAC,YAAY,GAAG,SAAS;AAC5B,YAAA,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE;AAC3B,YAAA,GAAG,CAAC,YAAY,GAAG,SAAS;AAC5B,YAAA,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE;AACtB,YAAA,GAAG,CAAC,OAAO,GAAG,SAAS;AACvB,YAAA,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE;AACzB,YAAA,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,WAAW,EAAE;QACpB;IACF;;;IAIU,aAAa,GAAA;AACrB,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;AAC3C,YAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AACzB,gBAAA,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBACtF,MAAM,EAAE,IAAI,CAAC;AACd,aAAA,CAAC;QACJ;AACA,QAAA,OAAO,QAAQ;IACjB;uGAxGW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAd,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;AC/ElC,IAAI,SAAS,GAAG,CAAC;AAEV,MAAM,iBAAiB,GAAG,CAAC,MAA+B,KAAkB;IACjF,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,MAAO,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,OAAO,MAAO,CAAC,CAAC,CAAC,CAAC;IACjF;SAAO;QACL,MAAM,GAAG,EAAE;IACb;AACA,IAAA,MAAM,MAAM,GAAsB;AAChC,QAAA,WAAW,EAAE,MAAgC;AAC7C,QAAA,mBAAmB,EAAE,IAAI;AACzB,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,KAAK,EAAE;KACR;AACD,IAAA,MAAM,EAAE,GAAG,CAAA,cAAA,EAAiB,SAAS,EAAE,EAAE;AACzC,IAAA,MAAM,CAAC,WAAY,CAAC,OAAO,GAAG,EAAE;AAChC,IAAA,MAAM,CAAC,cAAc,GAAG,EAAE;AAC1B,IAAA,OAAO,MAAM;AACf;;ACzBA;;;AAGG;;ACHH;;AAEG;;;;"}