@siemens/element-ng 47.1.0 → 47.2.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 (132) hide show
  1. package/accordion/index.d.ts +9 -0
  2. package/accordion/package.json +3 -0
  3. package/accordion/si-accordion-hcollapse.service.d.ts +17 -0
  4. package/accordion/si-accordion.component.d.ts +37 -0
  5. package/accordion/si-accordion.module.d.ts +8 -0
  6. package/accordion/si-accordion.service.d.ts +17 -0
  7. package/accordion/si-collapsible-panel.component.d.ts +89 -0
  8. package/action-modal/index.d.ts +6 -0
  9. package/action-modal/package.json +3 -0
  10. package/action-modal/si-action-dialog.service.d.ts +49 -0
  11. package/action-modal/si-action-dialog.types.d.ts +92 -0
  12. package/action-modal/si-alert-dialog/si-alert-dialog.component.d.ts +32 -0
  13. package/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.d.ts +40 -0
  14. package/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.d.ts +45 -0
  15. package/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.d.ts +68 -0
  16. package/auto-collapsable-list/index.d.ts +10 -0
  17. package/auto-collapsable-list/package.json +3 -0
  18. package/auto-collapsable-list/si-auto-collapsable-list-additional-content.directive.d.ts +6 -0
  19. package/auto-collapsable-list/si-auto-collapsable-list-item.directive.d.ts +29 -0
  20. package/auto-collapsable-list/si-auto-collapsable-list-measurable.class.d.ts +16 -0
  21. package/auto-collapsable-list/si-auto-collapsable-list-overflow-item.directive.d.ts +12 -0
  22. package/auto-collapsable-list/si-auto-collapsable-list.directive.d.ts +47 -0
  23. package/auto-collapsable-list/si-auto-collapsable-list.module.d.ts +10 -0
  24. package/color-picker/index.d.ts +5 -0
  25. package/color-picker/package.json +3 -0
  26. package/color-picker/si-color-picker.component.d.ts +61 -0
  27. package/common/models/menu.model.d.ts +2 -2
  28. package/connection-strength/index.d.ts +6 -0
  29. package/connection-strength/package.json +3 -0
  30. package/connection-strength/si-connection-strength.component.d.ts +19 -0
  31. package/connection-strength/si-connection-strength.module.d.ts +7 -0
  32. package/copyright-notice/index.d.ts +7 -0
  33. package/copyright-notice/package.json +3 -0
  34. package/copyright-notice/si-copyright-notice.component.d.ts +18 -0
  35. package/copyright-notice/si-copyright-notice.d.ts +23 -0
  36. package/copyright-notice/si-copyright-notice.module.d.ts +7 -0
  37. package/empty-state/index.d.ts +6 -0
  38. package/empty-state/package.json +3 -0
  39. package/empty-state/si-empty-state.component.d.ts +18 -0
  40. package/empty-state/si-empty-state.module.d.ts +7 -0
  41. package/fesm2022/siemens-element-ng-accordion.mjs +314 -0
  42. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -0
  43. package/fesm2022/siemens-element-ng-action-modal.mjs +363 -0
  44. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -0
  45. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +312 -0
  46. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -0
  47. package/fesm2022/siemens-element-ng-color-picker.mjs +176 -0
  48. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -0
  49. package/fesm2022/siemens-element-ng-connection-strength.mjs +58 -0
  50. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -0
  51. package/fesm2022/siemens-element-ng-copyright-notice.mjs +71 -0
  52. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -0
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +59 -0
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -0
  55. package/fesm2022/siemens-element-ng-footer.mjs +55 -0
  56. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -0
  57. package/fesm2022/siemens-element-ng-icon.mjs +8 -1
  58. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-inline-notification.mjs +82 -0
  60. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -0
  61. package/fesm2022/siemens-element-ng-loading-spinner.mjs +248 -0
  62. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -0
  63. package/fesm2022/siemens-element-ng-menu.mjs +350 -0
  64. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -0
  65. package/fesm2022/siemens-element-ng-modal.mjs +345 -0
  66. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-pagination.mjs +145 -0
  68. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -0
  69. package/fesm2022/siemens-element-ng-password-toggle.mjs +88 -0
  70. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -0
  71. package/fesm2022/siemens-element-ng-summary-chip.mjs +77 -0
  72. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -0
  73. package/fesm2022/siemens-element-ng-tooltip.mjs +233 -0
  74. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -0
  75. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  76. package/footer/index.d.ts +6 -0
  77. package/footer/package.json +3 -0
  78. package/footer/si-footer.component.d.ts +14 -0
  79. package/footer/si-footer.module.d.ts +7 -0
  80. package/icon/element-icons.d.ts +7 -0
  81. package/inline-notification/index.d.ts +6 -0
  82. package/inline-notification/package.json +3 -0
  83. package/inline-notification/si-inline-notification.component.d.ts +42 -0
  84. package/inline-notification/si-inline-notification.module.d.ts +7 -0
  85. package/loading-spinner/index.d.ts +9 -0
  86. package/loading-spinner/package.json +3 -0
  87. package/loading-spinner/si-loading-button.component.d.ts +31 -0
  88. package/loading-spinner/si-loading-spinner.component.d.ts +32 -0
  89. package/loading-spinner/si-loading-spinner.directive.d.ts +36 -0
  90. package/loading-spinner/si-loading-spinner.module.d.ts +8 -0
  91. package/loading-spinner/si-loading-spinner.service.d.ts +18 -0
  92. package/menu/index.d.ts +15 -0
  93. package/menu/package.json +3 -0
  94. package/menu/si-menu-action.service.d.ts +13 -0
  95. package/menu/si-menu-bar.directive.d.ts +12 -0
  96. package/menu/si-menu-divider.directive.d.ts +5 -0
  97. package/menu/si-menu-factory-item-guard.directive.d.ts +11 -0
  98. package/menu/si-menu-factory.component.d.ts +15 -0
  99. package/menu/si-menu-header.directive.d.ts +5 -0
  100. package/menu/si-menu-item-base.directive.d.ts +16 -0
  101. package/menu/si-menu-item-checkbox.component.d.ts +10 -0
  102. package/menu/si-menu-item-radio.component.d.ts +10 -0
  103. package/menu/si-menu-item.component.d.ts +10 -0
  104. package/menu/si-menu-model.d.ts +91 -0
  105. package/menu/si-menu.directive.d.ts +6 -0
  106. package/menu/si-menu.module.d.ts +14 -0
  107. package/modal/index.d.ts +7 -0
  108. package/modal/modal.helpers.d.ts +8 -0
  109. package/modal/modalref.d.ts +64 -0
  110. package/modal/package.json +3 -0
  111. package/modal/si-modal.component.d.ts +32 -0
  112. package/modal/si-modal.service.d.ts +57 -0
  113. package/package.json +67 -3
  114. package/pagination/index.d.ts +6 -0
  115. package/pagination/package.json +3 -0
  116. package/pagination/si-pagination.component.d.ts +65 -0
  117. package/pagination/si-pagination.module.d.ts +7 -0
  118. package/password-toggle/index.d.ts +6 -0
  119. package/password-toggle/package.json +3 -0
  120. package/password-toggle/si-password-toggle.component.d.ts +39 -0
  121. package/password-toggle/si-password-toggle.module.d.ts +7 -0
  122. package/summary-chip/index.d.ts +5 -0
  123. package/summary-chip/package.json +3 -0
  124. package/summary-chip/si-summary-chip.component.d.ts +44 -0
  125. package/template-i18n.json +19 -1
  126. package/tooltip/index.d.ts +7 -0
  127. package/tooltip/package.json +3 -0
  128. package/tooltip/si-tooltip.component.d.ts +25 -0
  129. package/tooltip/si-tooltip.directive.d.ts +45 -0
  130. package/tooltip/si-tooltip.module.d.ts +7 -0
  131. package/tooltip/si-tooltip.service.d.ts +44 -0
  132. package/translate/si-translatable-keys.interface.d.ts +18 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siemens-element-ng-accordion.mjs","sources":["../../../../projects/element-ng/accordion/si-accordion-hcollapse.service.ts","../../../../projects/element-ng/accordion/si-accordion.service.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.ts","../../../../projects/element-ng/accordion/si-collapsible-panel.component.html","../../../../projects/element-ng/accordion/si-accordion.component.ts","../../../../projects/element-ng/accordion/si-accordion.module.ts","../../../../projects/element-ng/accordion/index.ts","../../../../projects/element-ng/accordion/siemens-element-ng-accordion.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionHCollapseService {\n /**\n * Emitting the current horizontal collapsed state.\n *\n * @defaultValue undefined\n */\n readonly hcollapsed = signal<boolean | undefined>(undefined);\n /**\n * Subject to emit to open the accordion.\n */\n readonly open$ = new Subject();\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { Injectable, signal } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n/** @internal */\n@Injectable({\n providedIn: null\n})\nexport class SiAccordionService {\n /**\n * Emit an item in the accordion which should be toggled.\n */\n readonly toggle$ = new Subject<any>();\n /**\n * Subject to emit when the items should be expanded to their full height or restored to normal height.\n *\n * @defaultValue null\n */\n readonly fullHeight = signal<boolean | null>(null);\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { animate, query, style, transition, trigger } from '@angular/animations';\nimport { NgClass } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n model,\n output,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { areAnimationsDisabled, BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconNextComponent, elementDown2 } from '@siemens/element-ng/icon';\nimport { SiTranslateModule } from '@siemens/element-translate-ng/translate';\nimport { filter } from 'rxjs';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\n\nlet controlIdCounter = 1;\n\n@Component({\n selector: 'si-collapsible-panel',\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n animations: [\n trigger('showHide', [\n transition('*=>hide', [\n style({ overflow: 'hidden' }),\n query(\n ':leave',\n [style({ blockSize: '*' }), animate('0.5s ease', style({ blockSize: '0' }))],\n { optional: true }\n )\n ]),\n transition('*=>show', [\n style({ overflow: 'hidden' }),\n query(\n ':enter',\n [style({ blockSize: '0' }), animate('0.5s ease', style({ blockSize: '*' }))],\n { optional: true }\n )\n ])\n ])\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgClass, SiIconNextComponent, SiTranslateModule],\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<string>();\n /**\n * Additional CSS classes for the top element.\n *\n * @defaultValue ''\n */\n readonly headerCssClasses = input('');\n /**\n * Additional CSS classes for the collapsible content region.\n *\n * @defaultValue ''\n */\n readonly contentBgClasses = input('');\n /**\n * Additional CSS classes for the wrapping content element.\n *\n * @defaultValue ''\n */\n readonly contentCssClasses = input('');\n /**\n * Expand/collapse the panel.\n *\n * @defaultValue false\n */\n readonly opened = model(false);\n /**\n * The icon to be displayed besides the heading.\n */\n readonly icon = input<string>();\n /**\n * Whether the si-collapsible-panel is disabled.\n *\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /** Color to use for component background */\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Defines the content of the optional badge. Should be a number or something like \"100+\".\n * if undefined or empty string, no badge is displayed\n */\n readonly badge = input<string | number>();\n /**\n * Defines the background color of the badge. Default is specific to SiMPL flavour.\n */\n readonly badgeColor = input<string>();\n\n /**\n * An event emitted when the user triggered expand/collapse and emit with the new open state.\n * The event is emitted before the animation happens.\n */\n readonly panelToggle = output<boolean>();\n\n /**\n * An event emitted when the user triggered expand/collapse.\n * The event is emitted before the animation happens.\n * @deprecated use {@link panelToggle} instead\n */\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly toggle = output<boolean>();\n\n protected readonly hcollapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? false\n );\n protected readonly fullHeight = computed(() => this.accordionService?.fullHeight() ?? false);\n protected controlId = '__si-collapsible-' + controlIdCounter++;\n protected headerId = this.controlId + '-header';\n protected isHCollapsible = false;\n protected readonly icons = addIcons({ elementDown2 });\n\n private readonly destroyRef = inject(DestroyRef);\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n private enableAnimation = true;\n private readonly animationsGloballyDisabled = areAnimationsDisabled();\n private lastScrollPos = 0;\n private readonly contentRef = viewChild.required<ElementRef<HTMLElement>>('content');\n\n constructor() {\n this.isHCollapsible = !!this.accordionHCollapseService;\n this.accordionService?.toggle$\n .pipe(\n takeUntilDestroyed(this.destroyRef),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\n\n this.panelToggle.subscribe(open => this.toggle.emit(open));\n }\n\n protected get showHide(): string {\n if (this.enableAnimation && !this.animationsGloballyDisabled) {\n return this.opened() ? 'show' : 'hide';\n }\n return 'disabled';\n }\n\n /**\n * Expand/collapse panel.\n * @param open - indicate the panel shall open or close\n * @param enableAnimation - with animation\n */\n openClose(open: boolean, enableAnimation = true): void {\n this.opened.set(open);\n this.enableAnimation = enableAnimation;\n\n if (open) {\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n this.lastScrollPos = this.contentRef().nativeElement.scrollTop;\n }\n }\n\n protected doToggle(event?: Event): void {\n if (this.disabled()) {\n return;\n }\n\n event?.preventDefault();\n const opened = this.opened();\n this.panelToggle.emit(!opened);\n this.openClose(this.hcollapsed() || !opened);\n this.accordionService?.toggle$.next(this);\n if (this.hcollapsed()) {\n this.accordionHCollapseService?.open$.next(this);\n }\n }\n\n protected keydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === 'Space' || event.key === ' ') {\n this.doToggle(undefined);\n }\n }\n}\n","<div\n class=\"collapsible-header focus-inside px-6\"\n role=\"button\"\n [ngClass]=\"headerCssClasses()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\n [title]=\"hcollapsed() ? (heading() | translate) : ''\"\n [attr.aria-expanded]=\"opened() && !hcollapsed()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-controls]=\"controlId\"\n [attr.aria-label]=\"hcollapsed() ? (heading() | translate) : ''\"\n (keydown)=\"keydown($event)\"\n (click)=\"doToggle($event)\"\n>\n @let headerIcon = icon();\n @if (headerIcon) {\n <si-icon-next\n class=\"icon ms-n2 me-2\"\n [icon]=\"headerIcon\"\n [class.collapsed-icon]=\"isHCollapsible\"\n />\n }\n @if (icon() && badge() !== undefined && badge() !== '') {\n <span class=\"badge-text\">\n {{ badge() }}\n </span>\n }\n <div class=\"si-title-2 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span class=\"badge autohide\" [ngClass]=\"'bg-' + badgeColor()\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto overflow-hidden\">\n <si-icon-next class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n class=\"collapsible-content\"\n role=\"region\"\n [id]=\"controlId\"\n [ngClass]=\"contentBgClasses()\"\n [@showHide]=\"showHide\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div>\n <div [ngClass]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n DestroyRef,\n ElementRef,\n inject,\n input,\n OnChanges\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { ResizeObserverService } from '@siemens/element-ng/resize-observer';\n\nimport { SiAccordionHCollapseService } from './si-accordion-hcollapse.service';\nimport { SiAccordionService } from './si-accordion.service';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\nconst PANEL_MIN_HEIGHT = 100;\n\n@Component({\n selector: 'si-accordion',\n template: '<div><ng-content /></div>',\n providers: [SiAccordionService],\n styleUrl: './si-accordion.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.full-height]': 'fullHeight()',\n '[class.hcollapsed]': 'collapsed()'\n }\n})\nexport class SiAccordionComponent implements AfterContentInit, OnChanges {\n /** @defaultValue true */\n readonly expandFirstPanel = input(true, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly fullHeight = input(false, { transform: booleanAttribute });\n /** @defaultValue false */\n readonly hcollapsed = input(false);\n /**\n * Color to use for component background\n * @deprecated This has no effect anymore. Will be removed in v48\n **/\n readonly colorVariant = input<BackgroundColorVariant>();\n /**\n * Indicate whether the accordion is collapsed.\n * @internal\n */\n readonly collapsed = computed(\n () => this.accordionHCollapseService?.hcollapsed() ?? this.hcollapsed()\n );\n\n private readonly panels = contentChildren(SiCollapsiblePanelComponent);\n private responsive = false;\n private destroyer = inject(DestroyRef);\n private service = inject(SiAccordionService);\n private resizeObserver = inject(ResizeObserverService);\n private element = inject(ElementRef);\n private accordionHCollapseService = inject(SiAccordionHCollapseService, { optional: true });\n\n ngOnChanges(): void {\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n\n ngAfterContentInit(): void {\n this.resizeObserver\n .observe(this.element.nativeElement, 100, true, true)\n .pipe(takeUntilDestroyed(this.destroyer))\n .subscribe(() => this.calcFullHeight());\n\n this.panels().at(0)?.openClose(this.expandFirstPanel(), false);\n }\n\n private calcFullHeight(): void {\n if (this.panels?.length) {\n const height = (this.element.nativeElement as HTMLElement).offsetHeight;\n this.responsive = !this.hcollapsed() && height < this.panels.length * PANEL_MIN_HEIGHT;\n this.service.fullHeight.set(this.fullHeight() && !this.responsive);\n }\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiAccordionComponent } from './si-accordion.component';\nimport { SiCollapsiblePanelComponent } from './si-collapsible-panel.component';\n\n@NgModule({\n imports: [SiAccordionComponent, SiCollapsiblePanelComponent],\n exports: [SiAccordionComponent, SiCollapsiblePanelComponent]\n})\nexport class SiAccordionModule {}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-collapsible-panel.component';\nexport * from './si-accordion.component';\nexport * from './si-accordion.service';\nexport * from './si-accordion-hcollapse.service';\nexport * from './si-accordion.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,363 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, inject, ChangeDetectionStrategy, Component, booleanAttribute, Injectable } from '@angular/core';
3
+ import { ModalRef, SiModalService, createModalConfig } from '@siemens/element-ng/modal';
4
+ import { take, Observable, switchMap } from 'rxjs';
5
+ import { AsyncPipe } from '@angular/common';
6
+ import { SiIconNextComponent } from '@siemens/element-ng/icon';
7
+ import { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';
8
+ import * as i1 from '@siemens/element-translate-ng/translate';
9
+ import { SiTranslateModule } from '@siemens/element-translate-ng/translate';
10
+
11
+ /**
12
+ * Copyright Siemens 2016 - 2025.
13
+ * SPDX-License-Identifier: MIT
14
+ */
15
+ class SiAlertDialogComponent {
16
+ titleId = input();
17
+ /** @defaultValue '' */
18
+ heading = input('');
19
+ /** @defaultValue '' */
20
+ message = input('');
21
+ /**
22
+ * @defaultValue
23
+ * ```
24
+ * $localize`:@@SI_ALERT_DIALOG.OK:OK`
25
+ * ```
26
+ */
27
+ confirmBtnName = input($localize `:@@SI_ALERT_DIALOG.OK:OK`);
28
+ /**
29
+ * @defaultValue
30
+ * ```
31
+ * {}
32
+ * ```
33
+ */
34
+ translationParams = input({});
35
+ /** @defaultValue '' */
36
+ icon = input('');
37
+ modalRef = inject((ModalRef));
38
+ loading$ = this.modalRef.message.pipe(take(1));
39
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiAlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiAlertDialogComponent, isStandalone: true, selector: "si-alert-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, confirmBtnName: { classPropertyName: "confirmBtnName", publicName: "confirmBtnName", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiAlertDialogComponent, decorators: [{
43
+ type: Component,
44
+ args: [{ selector: 'si-alert-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n" }]
45
+ }] });
46
+
47
+ /**
48
+ * Copyright Siemens 2016 - 2025.
49
+ * SPDX-License-Identifier: MIT
50
+ */
51
+ class SiConfirmationDialogComponent {
52
+ titleId = input();
53
+ /** @defaultValue '' */
54
+ heading = input('');
55
+ /** @defaultValue '' */
56
+ message = input('');
57
+ /**
58
+ * @defaultValue
59
+ * ```
60
+ * $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`
61
+ * ```
62
+ */
63
+ confirmBtnName = input($localize `:@@SI_CONFIRMATION_DIALOG.YES:Yes`);
64
+ /**
65
+ * @defaultValue
66
+ * ```
67
+ * $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`
68
+ * ```
69
+ */
70
+ declineBtnName = input($localize `:@@SI_CONFIRMATION_DIALOG.NO:No`);
71
+ /**
72
+ * @defaultValue
73
+ * ```
74
+ * {}
75
+ * ```
76
+ */
77
+ translationParams = input({});
78
+ /** @defaultValue '' */
79
+ icon = input('');
80
+ modalRef = inject((ModalRef));
81
+ loading$ = this.modalRef.message.pipe(take(1));
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiConfirmationDialogComponent, isStandalone: true, selector: "si-confirmation-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, confirmBtnName: { classPropertyName: "confirmBtnName", publicName: "confirmBtnName", isSignal: true, isRequired: false, transformFunction: null }, declineBtnName: { classPropertyName: "declineBtnName", publicName: "declineBtnName", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"declineBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'decline'\"\n [loading]=\"loading === 'decline'\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n {{ declineBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiConfirmationDialogComponent, decorators: [{
86
+ type: Component,
87
+ args: [{ selector: 'si-confirmation-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"declineBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'decline'\"\n [loading]=\"loading === 'decline'\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n {{ declineBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n" }]
88
+ }] });
89
+
90
+ /**
91
+ * Copyright Siemens 2016 - 2025.
92
+ * SPDX-License-Identifier: MIT
93
+ */
94
+ class SiDeleteConfirmationDialogComponent {
95
+ titleId = input();
96
+ /** @defaultValue '' */
97
+ heading = input('');
98
+ /**
99
+ * @defaultValue
100
+ * ```
101
+ * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`
102
+ * ```
103
+ */
104
+ message = input($localize `:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`);
105
+ /**
106
+ * @defaultValue
107
+ * ```
108
+ * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`
109
+ * ```
110
+ */
111
+ deleteBtnName = input($localize `:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`);
112
+ /**
113
+ * @defaultValue
114
+ * ```
115
+ * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`
116
+ * ```
117
+ */
118
+ cancelBtnName = input($localize `:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`);
119
+ /**
120
+ * @defaultValue
121
+ * ```
122
+ * {}
123
+ * ```
124
+ */
125
+ translationParams = input({});
126
+ /** @defaultValue '' */
127
+ icon = input('');
128
+ modalRef = inject((ModalRef));
129
+ loading$ = this.modalRef.message.pipe(take(1));
130
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiDeleteConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
131
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiDeleteConfirmationDialogComponent, isStandalone: true, selector: "si-delete-confirmation-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, deleteBtnName: { classPropertyName: "deleteBtnName", publicName: "deleteBtnName", isSignal: true, isRequired: false, transformFunction: null }, cancelBtnName: { classPropertyName: "cancelBtnName", publicName: "cancelBtnName", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'delete'\"\n [loading]=\"loading === 'delete'\"\n (click)=\"modalRef.messageOrHide('delete')\"\n >\n {{ deleteBtnName() | translate }}\n </si-loading-button>\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
132
+ }
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiDeleteConfirmationDialogComponent, decorators: [{
134
+ type: Component,
135
+ args: [{ selector: 'si-delete-confirmation-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'delete'\"\n [loading]=\"loading === 'delete'\"\n (click)=\"modalRef.messageOrHide('delete')\"\n >\n {{ deleteBtnName() | translate }}\n </si-loading-button>\n</div>\n" }]
136
+ }] });
137
+
138
+ /**
139
+ * Copyright Siemens 2016 - 2025.
140
+ * SPDX-License-Identifier: MIT
141
+ */
142
+ class SiEditDiscardDialogComponent {
143
+ titleId = input();
144
+ /** @defaultValue '' */
145
+ heading = input('');
146
+ /**
147
+ * @defaultValue
148
+ * ```
149
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`
150
+ * ```
151
+ */
152
+ message = input($localize `:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`);
153
+ /**
154
+ * @defaultValue
155
+ * ```
156
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`
157
+ * ```
158
+ */
159
+ saveBtnName = input($localize `:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`);
160
+ /**
161
+ * @defaultValue
162
+ * ```
163
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Don't save`
164
+ * ```
165
+ */
166
+ discardBtnName = input($localize `:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Don't save`);
167
+ /**
168
+ * @defaultValue
169
+ * ```
170
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`
171
+ * ```
172
+ */
173
+ cancelBtnName = input($localize `:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`);
174
+ /** @defaultValue false */
175
+ disableSave = input(false, { transform: booleanAttribute });
176
+ /**
177
+ * @defaultValue
178
+ * ```
179
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`
180
+ * ```
181
+ */
182
+ disableSaveMessage = input($localize `:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`);
183
+ /**
184
+ * @defaultValue
185
+ * ```
186
+ * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`
187
+ * ```
188
+ */
189
+ disableSaveDiscardBtnName = input($localize `:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`);
190
+ /**
191
+ * @defaultValue
192
+ * ```
193
+ * {}
194
+ * ```
195
+ */
196
+ translationParams = input({});
197
+ /** @defaultValue '' */
198
+ icon = input('');
199
+ modalRef = inject((ModalRef));
200
+ loading$ = this.modalRef.message.pipe(take(1));
201
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiEditDiscardDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
202
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.6", type: SiEditDiscardDialogComponent, isStandalone: true, selector: "si-edit-discard-dialog", inputs: { titleId: { classPropertyName: "titleId", publicName: "titleId", isSignal: true, isRequired: false, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, saveBtnName: { classPropertyName: "saveBtnName", publicName: "saveBtnName", isSignal: true, isRequired: false, transformFunction: null }, discardBtnName: { classPropertyName: "discardBtnName", publicName: "discardBtnName", isSignal: true, isRequired: false, transformFunction: null }, cancelBtnName: { classPropertyName: "cancelBtnName", publicName: "cancelBtnName", isSignal: true, isRequired: false, transformFunction: null }, disableSave: { classPropertyName: "disableSave", publicName: "disableSave", isSignal: true, isRequired: false, transformFunction: null }, disableSaveMessage: { classPropertyName: "disableSaveMessage", publicName: "disableSaveMessage", isSignal: true, isRequired: false, transformFunction: null }, disableSaveDiscardBtnName: { classPropertyName: "disableSaveDiscardBtnName", publicName: "disableSaveDiscardBtnName", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n (!disableSave() ? message() : disableSaveMessage()) | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'discard'\"\n [loading]=\"loading === 'discard'\"\n (click)=\"modalRef.messageOrHide('discard')\"\n >\n {{ (!disableSave() ? discardBtnName() : disableSaveDiscardBtnName()) | translate }}\n </si-loading-button>\n @if (!disableSave()) {\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'save'\"\n [loading]=\"loading === 'save'\"\n (click)=\"modalRef.messageOrHide('save')\"\n >\n {{ saveBtnName() | translate }}\n </si-loading-button>\n }\n</div>\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: SiIconNextComponent, selector: "si-icon-next", inputs: ["icon"] }, { kind: "ngmodule", type: SiTranslateModule }, { kind: "pipe", type: i1.SiTranslatePipe, name: "translate" }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
203
+ }
204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiEditDiscardDialogComponent, decorators: [{
205
+ type: Component,
206
+ args: [{ selector: 'si-edit-discard-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n (!disableSave() ? message() : disableSaveMessage()) | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'discard'\"\n [loading]=\"loading === 'discard'\"\n (click)=\"modalRef.messageOrHide('discard')\"\n >\n {{ (!disableSave() ? discardBtnName() : disableSaveDiscardBtnName()) | translate }}\n </si-loading-button>\n @if (!disableSave()) {\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'save'\"\n [loading]=\"loading === 'save'\"\n (click)=\"modalRef.messageOrHide('save')\"\n >\n {{ saveBtnName() | translate }}\n </si-loading-button>\n }\n</div>\n" }]
207
+ }] });
208
+
209
+ /**
210
+ * Copyright Siemens 2016 - 2025.
211
+ * SPDX-License-Identifier: MIT
212
+ */
213
+ const ACTION_DIALOG_COMPONENT = {
214
+ 'alert': SiAlertDialogComponent,
215
+ 'confirmation': SiConfirmationDialogComponent,
216
+ 'delete-confirm': SiDeleteConfirmationDialogComponent,
217
+ 'edit-discard': SiEditDiscardDialogComponent
218
+ };
219
+ const ACTION_DIALOG_DEFAULT_CLOSE_VALUE = {
220
+ 'alert': 'confirm',
221
+ 'confirmation': 'decline',
222
+ 'delete-confirm': 'cancel',
223
+ 'edit-discard': 'cancel'
224
+ };
225
+ /**
226
+ * The service provides convenient methods to show common modal dialogs.
227
+ * All return an observable, which emit the dialog results. After emitting,
228
+ * the observables complete. Therefore, clients do not need to unsubscribe.
229
+ */
230
+ class SiActionDialogService {
231
+ modalService = inject(SiModalService);
232
+ /**
233
+ * Show an alert dialog.
234
+ * @deprecated use `showActionDialog({ type: 'alert', ... })` instead
235
+ */
236
+ showAlertDialog(message, heading, confirmBtnName, translationParams, icon, diOptions) {
237
+ return this.showActionDialog({
238
+ type: 'alert',
239
+ icon,
240
+ message,
241
+ heading,
242
+ confirmBtnName,
243
+ translationParams
244
+ }, diOptions);
245
+ }
246
+ /**
247
+ * Show a confirmation dialog.
248
+ * @deprecated use `showActionDialog({ type: 'confirmation', ... })` instead
249
+ */
250
+ showConfirmationDialog(message, heading, confirmBtnName, declineBtnName, translationParams, icon, diOptions) {
251
+ return this.showActionDialog({
252
+ type: 'confirmation',
253
+ icon,
254
+ message,
255
+ heading,
256
+ confirmBtnName,
257
+ declineBtnName,
258
+ translationParams
259
+ }, diOptions);
260
+ }
261
+ /**
262
+ * Show an edit dialog with the option to discard.
263
+ * @deprecated use `showActionDialog({ type: 'edit-discard', ... })` instead
264
+ */
265
+ showEditDiscardDialog(disableSave, message, heading, saveBtnName, discardBtnName, cancelBtnName, disableSaveMessage, disableSaveDiscardBtnName, translationParams, icon, diOptions) {
266
+ return this.showActionDialog({
267
+ type: 'edit-discard',
268
+ message,
269
+ heading,
270
+ icon,
271
+ disableSave,
272
+ saveBtnName,
273
+ cancelBtnName,
274
+ discardBtnName,
275
+ disableSaveMessage,
276
+ disableSaveDiscardBtnName,
277
+ translationParams
278
+ }, diOptions);
279
+ }
280
+ /**
281
+ * Show a dialog confirming a deletion.
282
+ * @deprecated use `showActionDialog({ type: 'delete-confirm', ... })` instead
283
+ */
284
+ showDeleteConfirmationDialog(message, heading, deleteBtnName, cancelBtnName, translationParams, icon, diOptions) {
285
+ return this.showActionDialog({
286
+ type: 'delete-confirm',
287
+ icon,
288
+ message,
289
+ heading,
290
+ deleteBtnName,
291
+ cancelBtnName,
292
+ translationParams
293
+ }, diOptions);
294
+ }
295
+ /**
296
+ * Shows an action dialog
297
+ * @param dialog - The dialog configuration
298
+ * @param diOptions - Optional DI configuration.
299
+ * @returns Observable for the result of the dialog. Need to `subscribe()` to show the dialog
300
+ */
301
+ showActionDialog(dialog, diOptions) {
302
+ return new Observable(subscriber => {
303
+ const { type, delayDismiss, ...inputs } = dialog;
304
+ const config = createModalConfig(inputs);
305
+ config.keyboard = true;
306
+ config.messageInsteadOfAutoHide = !!delayDismiss;
307
+ Object.assign(config, diOptions);
308
+ const modalRef = this.modalService.show(ACTION_DIALOG_COMPONENT[type], config, ACTION_DIALOG_DEFAULT_CLOSE_VALUE[type]);
309
+ let subscription;
310
+ if (delayDismiss) {
311
+ // `any`because TS cannot infer types correctly
312
+ subscription = modalRef.message
313
+ .pipe(take(1), switchMap(delayDismiss))
314
+ .subscribe(modalRef.hide);
315
+ }
316
+ // ModalRef always allows emitting undefined. But we know that we don't emit undefined here, so do typecast.
317
+ modalRef.hidden.subscribe(subscriber);
318
+ return () => {
319
+ subscription?.unsubscribe();
320
+ modalRef.detach();
321
+ };
322
+ });
323
+ }
324
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiActionDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
325
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiActionDialogService, providedIn: 'root' });
326
+ }
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.6", ngImport: i0, type: SiActionDialogService, decorators: [{
328
+ type: Injectable,
329
+ args: [{ providedIn: 'root' }]
330
+ }] });
331
+
332
+ /** @deprecated Will be removed in a future release. Use the string values directly. */
333
+ const AlertDialogResult = {
334
+ Confirm: 'confirm'
335
+ };
336
+ /** @deprecated Will be removed in a future release. Use the string values directly. */
337
+ const EditDiscardDialogResult = {
338
+ Save: 'save',
339
+ Discard: 'discard',
340
+ Cancel: 'cancel'
341
+ };
342
+ /** @deprecated Will be removed in a future release. Use the string values directly. */
343
+ const ConfirmationDialogResult = {
344
+ Confirm: 'confirm',
345
+ Decline: 'decline'
346
+ };
347
+ /** @deprecated Will be removed in a future release. Use the string values directly. */
348
+ const DeleteConfirmationDialogResult = {
349
+ Delete: 'delete',
350
+ Cancel: 'cancel'
351
+ };
352
+
353
+ /**
354
+ * Copyright Siemens 2016 - 2025.
355
+ * SPDX-License-Identifier: MIT
356
+ */
357
+
358
+ /**
359
+ * Generated bundle index. Do not edit.
360
+ */
361
+
362
+ export { AlertDialogResult, ConfirmationDialogResult, DeleteConfirmationDialogResult, EditDiscardDialogResult, SiActionDialogService };
363
+ //# sourceMappingURL=siemens-element-ng-action-modal.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"siemens-element-ng-action-modal.mjs","sources":["../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.ts","../../../../projects/element-ng/action-modal/si-alert-dialog/si-alert-dialog.component.html","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-confirmation-dialog/si-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.ts","../../../../projects/element-ng/action-modal/si-delete-confirmation-dialog/si-delete-confirmation-dialog.component.html","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.ts","../../../../projects/element-ng/action-modal/si-edit-discard-dialog/si-edit-discard-dialog.component.html","../../../../projects/element-ng/action-modal/si-action-dialog.service.ts","../../../../projects/element-ng/action-modal/si-action-dialog.types.ts","../../../../projects/element-ng/action-modal/index.ts","../../../../projects/element-ng/action-modal/siemens-element-ng-action-modal.ts"],"sourcesContent":["/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslateModule, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { AlertDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-alert-dialog',\n templateUrl: './si-alert-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent]\n})\nexport class SiAlertDialogComponent {\n readonly titleId = input<string>();\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /** @defaultValue '' */\n readonly message = input<TranslatableString>('');\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_ALERT_DIALOG.OK:OK`\n * ```\n */\n readonly confirmBtnName = input($localize`:@@SI_ALERT_DIALOG.OK:OK`);\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /** @defaultValue '' */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiAlertDialogComponent, AlertDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslateModule, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { ConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-confirmation-dialog',\n templateUrl: './si-confirmation-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent]\n})\nexport class SiConfirmationDialogComponent {\n readonly titleId = input<string>();\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /** @defaultValue '' */\n readonly message = input<TranslatableString>('');\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`\n * ```\n */\n readonly confirmBtnName = input($localize`:@@SI_CONFIRMATION_DIALOG.YES:Yes`);\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_CONFIRMATION_DIALOG.NO:No`\n * ```\n */\n readonly declineBtnName = input($localize`:@@SI_CONFIRMATION_DIALOG.NO:No`);\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /** @defaultValue '' */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiConfirmationDialogComponent, ConfirmationDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"declineBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'decline'\"\n [loading]=\"loading === 'decline'\"\n (click)=\"modalRef.messageOrHide('decline')\"\n >\n {{ declineBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'confirm'\"\n [loading]=\"loading === 'confirm'\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n {{ confirmBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslateModule, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { DeleteConfirmationDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-delete-confirmation-dialog',\n templateUrl: './si-delete-confirmation-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent]\n})\nexport class SiDeleteConfirmationDialogComponent {\n readonly titleId = input<string>();\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`\n * ```\n */\n readonly message = input(\n $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.MESSAGE:Do you really want to delete the selected elements?`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`\n * ```\n */\n readonly deleteBtnName = input($localize`:@@SI_DELETE_CONFIRMATION_DIALOG.DELETE_BTN:Delete`);\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`\n * ```\n */\n readonly cancelBtnName = input($localize`:@@SI_DELETE_CONFIRMATION_DIALOG.CANCEL_BTN:Cancel`);\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /** @defaultValue '' */\n readonly icon = input('');\n\n protected modalRef = inject(\n ModalRef<SiDeleteConfirmationDialogComponent, DeleteConfirmationDialogResult>\n );\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n message() | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'delete'\"\n [loading]=\"loading === 'delete'\"\n (click)=\"modalRef.messageOrHide('delete')\"\n >\n {{ deleteBtnName() | translate }}\n </si-loading-button>\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { AsyncPipe } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, inject, input } from '@angular/core';\nimport { SiIconNextComponent } from '@siemens/element-ng/icon';\nimport { SiLoadingButtonComponent } from '@siemens/element-ng/loading-spinner';\nimport { ModalRef } from '@siemens/element-ng/modal';\nimport { SiTranslateModule, TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { take } from 'rxjs';\n\nimport { EditDiscardDialogResult } from '../si-action-dialog.types';\n\n@Component({\n selector: 'si-edit-discard-dialog',\n templateUrl: './si-edit-discard-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AsyncPipe, SiIconNextComponent, SiTranslateModule, SiLoadingButtonComponent]\n})\nexport class SiEditDiscardDialogComponent {\n readonly titleId = input<string>();\n /** @defaultValue '' */\n readonly heading = input<TranslatableString>('');\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`\n * ```\n */\n readonly message = input(\n $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`\n * ```\n */\n readonly saveBtnName = input($localize`:@@SI_EDIT_DISCARD_DIALOG.SAVE_BTN:Save`);\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Don't save`\n * ```\n */\n readonly discardBtnName = input($localize`:@@SI_EDIT_DISCARD_DIALOG.DISCARD_BTN:Don't save`);\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`\n * ```\n */\n readonly cancelBtnName = input($localize`:@@SI_EDIT_DISCARD_DIALOG.CANCEL_BTN:Cancel`);\n /** @defaultValue false */\n readonly disableSave = input(false, { transform: booleanAttribute });\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`\n * ```\n */\n readonly disableSaveMessage = input<TranslatableString>(\n $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`\n );\n /**\n * @defaultValue\n * ```\n * $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`\n * ```\n */\n readonly disableSaveDiscardBtnName = input<TranslatableString>(\n $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_DISCARD_BTN:Discard`\n );\n /**\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any }>({});\n /** @defaultValue '' */\n readonly icon = input('');\n\n protected modalRef = inject(ModalRef<SiEditDiscardDialogComponent, EditDiscardDialogResult>);\n protected loading$ = this.modalRef.message.pipe(take(1));\n}\n","@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon-next class=\"icon\" [icon]=\"icon()\" />\n }\n <span class=\"modal-title\" [id]=\"titleId()\">{{ heading() | translate: translationParams() }}</span>\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost element-cancel\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n </button>\n</div>\n<div class=\"modal-body text-pre-wrap text-break\">{{\n (!disableSave() ? message() : disableSaveMessage()) | translate: translationParams()\n}}</div>\n<div class=\"modal-footer\">\n <si-loading-button\n buttonClass=\"btn btn-secondary\"\n [disabled]=\"!!loading && loading !== 'cancel'\"\n [loading]=\"loading === 'cancel'\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n {{ cancelBtnName() | translate }}\n </si-loading-button>\n <si-loading-button\n buttonClass=\"btn btn-danger\"\n [disabled]=\"!!loading && loading !== 'discard'\"\n [loading]=\"loading === 'discard'\"\n (click)=\"modalRef.messageOrHide('discard')\"\n >\n {{ (!disableSave() ? discardBtnName() : disableSaveDiscardBtnName()) | translate }}\n </si-loading-button>\n @if (!disableSave()) {\n <si-loading-button\n buttonClass=\"btn btn-primary\"\n [disabled]=\"!!loading && loading !== 'save'\"\n [loading]=\"loading === 'save'\"\n (click)=\"modalRef.messageOrHide('save')\"\n >\n {{ saveBtnName() | translate }}\n </si-loading-button>\n }\n</div>\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nimport { inject, Injectable } from '@angular/core';\nimport {\n createModalConfig,\n ModalDependencyInjectionOptions,\n SiModalService\n} from '@siemens/element-ng/modal';\nimport { Observable, Subscriber, Subscription, switchMap, take } from 'rxjs';\n\nimport {\n ActionDialog,\n ActionDialogReturnType,\n AlertDialogResult,\n ConfirmationDialogResult,\n DeleteConfirmationDialogResult,\n EditDiscardDialogResult\n} from './si-action-dialog.types';\nimport { SiAlertDialogComponent } from './si-alert-dialog/si-alert-dialog.component';\nimport { SiConfirmationDialogComponent } from './si-confirmation-dialog/si-confirmation-dialog.component';\nimport { SiDeleteConfirmationDialogComponent } from './si-delete-confirmation-dialog/si-delete-confirmation-dialog.component';\nimport { SiEditDiscardDialogComponent } from './si-edit-discard-dialog/si-edit-discard-dialog.component';\n\nconst ACTION_DIALOG_COMPONENT: Record<ActionDialog['type'], new (...args: any[]) => any> = {\n 'alert': SiAlertDialogComponent,\n 'confirmation': SiConfirmationDialogComponent,\n 'delete-confirm': SiDeleteConfirmationDialogComponent,\n 'edit-discard': SiEditDiscardDialogComponent\n};\n\nconst ACTION_DIALOG_DEFAULT_CLOSE_VALUE: Record<ActionDialog['type'], string> = {\n 'alert': 'confirm',\n 'confirmation': 'decline',\n 'delete-confirm': 'cancel',\n 'edit-discard': 'cancel'\n};\n\n/**\n * The service provides convenient methods to show common modal dialogs.\n * All return an observable, which emit the dialog results. After emitting,\n * the observables complete. Therefore, clients do not need to unsubscribe.\n */\n@Injectable({ providedIn: 'root' })\nexport class SiActionDialogService {\n private modalService = inject(SiModalService);\n\n /**\n * Show an alert dialog.\n * @deprecated use `showActionDialog({ type: 'alert', ... })` instead\n */\n showAlertDialog(\n message: string,\n heading?: string,\n confirmBtnName?: string,\n translationParams?: { [key: string]: any },\n icon?: string,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<AlertDialogResult> {\n return this.showActionDialog(\n {\n type: 'alert',\n icon,\n message,\n heading,\n confirmBtnName,\n translationParams\n },\n diOptions\n );\n }\n\n /**\n * Show a confirmation dialog.\n * @deprecated use `showActionDialog({ type: 'confirmation', ... })` instead\n */\n showConfirmationDialog(\n message: string,\n heading?: string,\n confirmBtnName?: string,\n declineBtnName?: string,\n translationParams?: { [key: string]: any },\n icon?: string,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ConfirmationDialogResult> {\n return this.showActionDialog(\n {\n type: 'confirmation',\n icon,\n message,\n heading,\n confirmBtnName,\n declineBtnName,\n translationParams\n },\n diOptions\n );\n }\n\n /**\n * Show an edit dialog with the option to discard.\n * @deprecated use `showActionDialog({ type: 'edit-discard', ... })` instead\n */\n showEditDiscardDialog(\n disableSave?: boolean,\n message?: string,\n heading?: string,\n saveBtnName?: string,\n discardBtnName?: string,\n cancelBtnName?: string,\n disableSaveMessage?: string,\n disableSaveDiscardBtnName?: string,\n translationParams?: { [key: string]: any },\n icon?: string,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<EditDiscardDialogResult> {\n return this.showActionDialog(\n {\n type: 'edit-discard',\n message,\n heading,\n icon,\n disableSave,\n saveBtnName,\n cancelBtnName,\n discardBtnName,\n disableSaveMessage,\n disableSaveDiscardBtnName,\n translationParams\n },\n diOptions\n );\n }\n\n /**\n * Show a dialog confirming a deletion.\n * @deprecated use `showActionDialog({ type: 'delete-confirm', ... })` instead\n */\n showDeleteConfirmationDialog(\n message?: string,\n heading?: string,\n deleteBtnName?: string,\n cancelBtnName?: string,\n translationParams?: { [key: string]: any },\n icon?: string,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<DeleteConfirmationDialogResult> {\n return this.showActionDialog(\n {\n type: 'delete-confirm',\n icon,\n message,\n heading,\n deleteBtnName,\n cancelBtnName,\n translationParams\n },\n diOptions\n );\n }\n\n /**\n * Shows an action dialog\n * @param dialog - The dialog configuration\n * @param diOptions - Optional DI configuration.\n * @returns Observable for the result of the dialog. Need to `subscribe()` to show the dialog\n */\n showActionDialog<T extends ActionDialog>(\n dialog: T,\n diOptions?: ModalDependencyInjectionOptions\n ): Observable<ActionDialogReturnType<T>> {\n return new Observable<ActionDialogReturnType<T>>(subscriber => {\n const { type, delayDismiss, ...inputs } = dialog;\n const config = createModalConfig(inputs);\n\n config.keyboard = true;\n config.messageInsteadOfAutoHide = !!delayDismiss;\n Object.assign(config, diOptions);\n\n const modalRef = this.modalService.show(\n ACTION_DIALOG_COMPONENT[type],\n config,\n ACTION_DIALOG_DEFAULT_CLOSE_VALUE[type] as ActionDialogReturnType<T>\n );\n\n let subscription: Subscription | undefined;\n if (delayDismiss) {\n // `any`because TS cannot infer types correctly\n subscription = modalRef.message\n .pipe(take(1), switchMap(delayDismiss as any))\n .subscribe(modalRef.hide);\n }\n // ModalRef always allows emitting undefined. But we know that we don't emit undefined here, so do typecast.\n modalRef.hidden.subscribe(subscriber as Subscriber<ActionDialogReturnType<T> | undefined>);\n\n return () => {\n subscription?.unsubscribe();\n modalRef.detach();\n };\n });\n }\n}\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport { TranslatableString } from '@siemens/element-translate-ng/translate';\nimport { Observable } from 'rxjs';\n\n/** @deprecated Will be removed in a future release. Use the string values directly. */\n\nexport const AlertDialogResult = {\n Confirm: 'confirm'\n} as const;\n\nexport type AlertDialogResult = (typeof AlertDialogResult)[keyof typeof AlertDialogResult];\n\n/** @deprecated Will be removed in a future release. Use the string values directly. */\nexport const EditDiscardDialogResult = {\n Save: 'save',\n Discard: 'discard',\n Cancel: 'cancel'\n} as const;\n\nexport type EditDiscardDialogResult =\n (typeof EditDiscardDialogResult)[keyof typeof EditDiscardDialogResult];\n\n/** @deprecated Will be removed in a future release. Use the string values directly. */\nexport const ConfirmationDialogResult = {\n Confirm: 'confirm',\n Decline: 'decline'\n} as const;\n\nexport type ConfirmationDialogResult =\n (typeof ConfirmationDialogResult)[keyof typeof ConfirmationDialogResult];\n\n/** @deprecated Will be removed in a future release. Use the string values directly. */\nexport const DeleteConfirmationDialogResult = {\n Delete: 'delete',\n Cancel: 'cancel'\n} as const;\n\nexport type DeleteConfirmationDialogResult =\n (typeof DeleteConfirmationDialogResult)[keyof typeof DeleteConfirmationDialogResult];\n\n/**\n * Base type for all action dialogs\n * @typeParam TResult - Type of the dialog result.\n */\ninterface ActionDialogBase<TResult> {\n /** The message. */\n message?: TranslatableString;\n /** The heading. */\n heading?: TranslatableString;\n /** Icon displayed in the heading. */\n icon?: string;\n /** Parameters for the translate pipe. */\n translationParams?: Record<string, any>;\n /**\n * Callback for delaying dismiss with a progress indicator until the\n * returned {@link Observable} emits.\n */\n delayDismiss?: (result: TResult) => Observable<TResult>;\n}\n\n/** An action dialog showing an alert */\nexport interface AlertDialog extends ActionDialogBase<AlertDialogResult> {\n type: 'alert';\n /** Label of the confirmation button. */\n confirmBtnName?: TranslatableString;\n}\n\n/** An action dialog for a confirmation. */\nexport interface ConfirmationDialog extends ActionDialogBase<ConfirmationDialogResult> {\n type: 'confirmation';\n /** Label of the confirmation button. */\n confirmBtnName?: TranslatableString;\n /** Label of the decline button. */\n declineBtnName?: TranslatableString;\n}\n\n/** An action dialog for an edit/discard prompt. */\nexport interface EditDiscardDialog extends ActionDialogBase<EditDiscardDialogResult> {\n type: 'edit-discard';\n /** Whether to disable the save button. */\n disableSave?: boolean;\n /** Label of the save button. */\n saveBtnName?: TranslatableString;\n /** Label of the discard button. */\n discardBtnName?: TranslatableString;\n /** Label of the cancel button. */\n cancelBtnName?: TranslatableString;\n /** Message when {@link disableSave} is set. */\n disableSaveMessage?: TranslatableString;\n /** Label of the discard button when {@link disableSave} is set. */\n disableSaveDiscardBtnName?: TranslatableString;\n}\n\n/** An action dialog for a delete confirmation. */\nexport interface DeleteConfirmationDialog extends ActionDialogBase<DeleteConfirmationDialogResult> {\n type: 'delete-confirm';\n /** Label of the delete button. */\n deleteBtnName?: TranslatableString;\n /** Label of the cancel button. */\n cancelBtnName?: TranslatableString;\n}\n\n/** All possible action dialogs. */\nexport type ActionDialog =\n | AlertDialog\n | ConfirmationDialog\n | EditDiscardDialog\n | DeleteConfirmationDialog\n | never;\n\n/** Returns the return value type for the given action dialog type */\nexport type ActionDialogReturnType<T extends ActionDialogBase<any>> = T extends AlertDialog\n ? AlertDialogResult\n : T extends ConfirmationDialog\n ? ConfirmationDialogResult\n : T extends EditDiscardDialog\n ? EditDiscardDialogResult\n : T extends DeleteConfirmationDialog\n ? DeleteConfirmationDialogResult\n : never;\n","/**\n * Copyright Siemens 2016 - 2025.\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-action-dialog.service';\nexport * from './si-action-dialog.types';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}