@siemens/element-ng 51.0.0-rc.3 → 51.0.0-rc.5

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 (179) hide show
  1. package/fesm2022/siemens-element-ng-about.mjs +7 -7
  2. package/fesm2022/siemens-element-ng-accordion.mjs +21 -19
  3. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-action-modal.mjs +19 -19
  5. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-ag-grid.mjs +6 -6
  7. package/fesm2022/siemens-element-ng-application-header.mjs +83 -78
  8. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +19 -19
  10. package/fesm2022/siemens-element-ng-autocomplete.mjs +13 -13
  11. package/fesm2022/siemens-element-ng-avatar.mjs +6 -6
  12. package/fesm2022/siemens-element-ng-badge.mjs +3 -3
  13. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +10 -10
  14. package/fesm2022/siemens-element-ng-breadcrumb.mjs +14 -13
  15. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-card.mjs +16 -16
  17. package/fesm2022/siemens-element-ng-carousel.mjs +8 -7
  18. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-chat-messages.mjs +43 -43
  20. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-circle-status.mjs +9 -8
  22. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-color-picker.mjs +5 -4
  24. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +13 -11
  26. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  28. package/fesm2022/siemens-element-ng-connection-strength.mjs +7 -7
  29. package/fesm2022/siemens-element-ng-content-action-bar.mjs +12 -12
  30. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-copyright-notice.mjs +7 -7
  32. package/fesm2022/siemens-element-ng-dashboard.mjs +77 -77
  33. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-datatable.mjs +7 -7
  35. package/fesm2022/siemens-element-ng-date-range-filter.mjs +16 -16
  36. package/fesm2022/siemens-element-ng-datepicker.mjs +69 -61
  37. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  38. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +9 -9
  39. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  40. package/fesm2022/siemens-element-ng-empty-state.mjs +7 -7
  41. package/fesm2022/siemens-element-ng-file-uploader.mjs +33 -31
  42. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-filter-bar.mjs +14 -13
  44. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-filtered-search.mjs +42 -40
  46. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-footer.mjs +7 -7
  48. package/fesm2022/siemens-element-ng-form.mjs +127 -78
  49. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  50. package/fesm2022/siemens-element-ng-formly-legacy.mjs +7 -7
  51. package/fesm2022/siemens-element-ng-formly.mjs +74 -73
  52. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-header-dropdown.mjs +17 -16
  54. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-help-button.mjs +3 -3
  56. package/fesm2022/siemens-element-ng-icon.mjs +16 -16
  57. package/fesm2022/siemens-element-ng-info-page.mjs +3 -3
  58. package/fesm2022/siemens-element-ng-inline-notification.mjs +7 -7
  59. package/fesm2022/siemens-element-ng-ip-input.mjs +15 -19
  60. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-landing-page.mjs +23 -23
  62. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-language-switcher.mjs +7 -7
  64. package/fesm2022/siemens-element-ng-link.mjs +10 -10
  65. package/fesm2022/siemens-element-ng-list-details.mjs +27 -26
  66. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-loading-spinner.mjs +25 -51
  68. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-localization.mjs +9 -9
  70. package/fesm2022/siemens-element-ng-main-detail-container.mjs +8 -8
  71. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  72. package/fesm2022/siemens-element-ng-maplibre.mjs +42 -0
  73. package/fesm2022/siemens-element-ng-maplibre.mjs.map +1 -0
  74. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +3 -3
  75. package/fesm2022/siemens-element-ng-menu.mjs +34 -34
  76. package/fesm2022/siemens-element-ng-modal.mjs +8 -7
  77. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  78. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +167 -161
  79. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  80. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +35 -34
  81. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  82. package/fesm2022/siemens-element-ng-navbar.mjs +18 -17
  83. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  84. package/fesm2022/siemens-element-ng-notification-item.mjs +3 -3
  85. package/fesm2022/siemens-element-ng-number-input.mjs +9 -8
  86. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-pagination.mjs +7 -7
  88. package/fesm2022/siemens-element-ng-password-strength.mjs +11 -11
  89. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  90. package/fesm2022/siemens-element-ng-password-toggle.mjs +7 -7
  91. package/fesm2022/siemens-element-ng-phone-number.mjs +12 -11
  92. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-photo-upload.mjs +18 -16
  94. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-pills-input.mjs +19 -19
  96. package/fesm2022/siemens-element-ng-popover-legacy.mjs +10 -10
  97. package/fesm2022/siemens-element-ng-popover.mjs +21 -22
  98. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-progressbar.mjs +7 -7
  100. package/fesm2022/siemens-element-ng-resize-observer.mjs +13 -13
  101. package/fesm2022/siemens-element-ng-result-details-list.mjs +8 -8
  102. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-search-bar.mjs +15 -16
  104. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-select.mjs +79 -82
  106. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  108. package/fesm2022/siemens-element-ng-side-panel.mjs +31 -33
  109. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  110. package/fesm2022/siemens-element-ng-skip-links.mjs +17 -21
  111. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-slider.mjs +9 -8
  113. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-split.mjs +76 -110
  115. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-status-bar.mjs +18 -14
  117. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-status-counter.mjs +3 -3
  119. package/fesm2022/siemens-element-ng-status-toggle.mjs +7 -5
  120. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-summary-chip.mjs +4 -4
  122. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-summary-widget.mjs +3 -3
  124. package/fesm2022/siemens-element-ng-system-banner.mjs +3 -3
  125. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +14 -12
  126. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-tabs.mjs +32 -43
  128. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-theme.mjs +27 -5
  130. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-threshold.mjs +12 -12
  132. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-toast-notification.mjs +9 -9
  134. package/fesm2022/siemens-element-ng-tooltip.mjs +67 -42
  135. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-tour.mjs +9 -9
  137. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-tree-view.mjs +57 -34
  139. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-typeahead.mjs +14 -16
  141. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-wizard.mjs +10 -10
  143. package/maplibre/package.json +4 -0
  144. package/maplibre/styles/_index.scss +1 -0
  145. package/maplibre/styles/maplibre-gl.scss +715 -0
  146. package/package.json +20 -4
  147. package/schematics/ng-update/migrate-split-sizes.js +105 -0
  148. package/schematics/ng-update/migrate-to-v51.js +3 -1
  149. package/template-i18n.json +42 -41
  150. package/types/siemens-element-ng-application-header.d.ts +7 -7
  151. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  152. package/types/siemens-element-ng-chat-messages.d.ts +5 -5
  153. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  154. package/types/siemens-element-ng-dashboard.d.ts +2 -2
  155. package/types/siemens-element-ng-datepicker.d.ts +2 -2
  156. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  157. package/types/siemens-element-ng-file-uploader.d.ts +8 -8
  158. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  159. package/types/siemens-element-ng-filtered-search.d.ts +3 -3
  160. package/types/siemens-element-ng-form.d.ts +47 -8
  161. package/types/siemens-element-ng-ip-input.d.ts +1 -1
  162. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  163. package/types/siemens-element-ng-loading-spinner.d.ts +7 -17
  164. package/types/siemens-element-ng-maplibre.d.ts +26 -0
  165. package/types/siemens-element-ng-navbar-vertical-next.d.ts +80 -37
  166. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  167. package/types/siemens-element-ng-navbar.d.ts +3 -3
  168. package/types/siemens-element-ng-photo-upload.d.ts +4 -4
  169. package/types/siemens-element-ng-popover.d.ts +2 -2
  170. package/types/siemens-element-ng-search-bar.d.ts +1 -1
  171. package/types/siemens-element-ng-select.d.ts +1 -1
  172. package/types/siemens-element-ng-side-panel.d.ts +3 -3
  173. package/types/siemens-element-ng-split.d.ts +16 -19
  174. package/types/siemens-element-ng-tabs.d.ts +1 -2
  175. package/types/siemens-element-ng-theme.d.ts +12 -2
  176. package/types/siemens-element-ng-threshold.d.ts +1 -1
  177. package/types/siemens-element-ng-tooltip.d.ts +7 -7
  178. package/types/siemens-element-ng-translate.d.ts +1 -0
  179. package/types/siemens-element-ng-tree-view.d.ts +14 -3
@@ -138,10 +138,10 @@ class SiAboutComponent {
138
138
  });
139
139
  }
140
140
  }
141
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAboutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiAboutComponent, isStandalone: true, selector: "si-about", inputs: { logoAlt: { classPropertyName: "logoAlt", publicName: "logoAlt", isSignal: true, isRequired: false, transformFunction: null }, aboutTitle: { classPropertyName: "aboutTitle", publicName: "aboutTitle", isSignal: true, isRequired: true, transformFunction: null }, licenseInfo: { classPropertyName: "licenseInfo", publicName: "licenseInfo", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: true, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, acceptableUsePolicyLink: { classPropertyName: "acceptableUsePolicyLink", publicName: "acceptableUsePolicyLink", isSignal: true, isRequired: false, transformFunction: null }, imprintLink: { classPropertyName: "imprintLink", publicName: "imprintLink", isSignal: true, isRequired: false, transformFunction: null }, privacyLink: { classPropertyName: "privacyLink", publicName: "privacyLink", isSignal: true, isRequired: false, transformFunction: null }, cookieNoticeLink: { classPropertyName: "cookieNoticeLink", publicName: "cookieNoticeLink", isSignal: true, isRequired: false, transformFunction: null }, termsLink: { classPropertyName: "termsLink", publicName: "termsLink", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, copyrightDetails: { classPropertyName: "copyrightDetails", publicName: "copyrightDetails", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div>\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"list-group-item\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-body focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:16px}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiCollapsiblePanelComponent, selector: "si-collapsible-panel", inputs: ["heading", "headerCssClasses", "contentBgClasses", "contentCssClasses", "opened", "icon", "disabled", "colorVariant", "badge", "badgeColor"], outputs: ["openedChange", "panelToggle"] }, { kind: "component", type: SiCopyrightNoticeComponent, selector: "si-copyright-notice", inputs: ["copyright"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAboutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: SiAboutComponent, isStandalone: true, selector: "si-about", inputs: { logoAlt: { classPropertyName: "logoAlt", publicName: "logoAlt", isSignal: true, isRequired: false, transformFunction: null }, aboutTitle: { classPropertyName: "aboutTitle", publicName: "aboutTitle", isSignal: true, isRequired: true, transformFunction: null }, licenseInfo: { classPropertyName: "licenseInfo", publicName: "licenseInfo", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconName: { classPropertyName: "iconName", publicName: "iconName", isSignal: true, isRequired: false, transformFunction: null }, appName: { classPropertyName: "appName", publicName: "appName", isSignal: true, isRequired: true, transformFunction: null }, subheading: { classPropertyName: "subheading", publicName: "subheading", isSignal: true, isRequired: false, transformFunction: null }, acceptableUsePolicyLink: { classPropertyName: "acceptableUsePolicyLink", publicName: "acceptableUsePolicyLink", isSignal: true, isRequired: false, transformFunction: null }, imprintLink: { classPropertyName: "imprintLink", publicName: "imprintLink", isSignal: true, isRequired: false, transformFunction: null }, privacyLink: { classPropertyName: "privacyLink", publicName: "privacyLink", isSignal: true, isRequired: false, transformFunction: null }, cookieNoticeLink: { classPropertyName: "cookieNoticeLink", publicName: "cookieNoticeLink", isSignal: true, isRequired: false, transformFunction: null }, termsLink: { classPropertyName: "termsLink", publicName: "termsLink", isSignal: true, isRequired: false, transformFunction: null }, links: { classPropertyName: "links", publicName: "links", isSignal: true, isRequired: false, transformFunction: null }, copyrightDetails: { classPropertyName: "copyrightDetails", publicName: "copyrightDetails", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"row mx-6 mt-6\">\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\">\n <div class=\"card-header text-truncate\">\n {{ aboutTitle() }}\n </div>\n\n <div>\n <div class=\"list-group-item text-center\">\n @let appIcon = iconName();\n @if (icon()) {\n <img\n class=\"rounded-circle\"\n height=\"150\"\n [src]=\"icon()\"\n [alt]=\"logoAlt() | translate: { appName: appName() }\"\n />\n } @else if (appIcon) {\n <si-icon class=\"app-icon\" [icon]=\"appIcon\" />\n }\n <h3>{{ appName() }}</h3>\n @for (item of subheading(); track $index) {\n <p>{{ item }}</p>\n }\n <si-copyright-notice [copyright]=\"copyrightDetails()\" />\n </div>\n\n @if (imprintLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: imprintLink() }\"\n />\n }\n @if (privacyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: privacyLink() }\"\n />\n }\n @if (cookieNoticeLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: cookieNoticeLink() }\"\n />\n }\n @if (termsLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: termsLink() }\"\n />\n }\n @if (acceptableUsePolicyLink()) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: acceptableUsePolicyLink() }\"\n />\n }\n @for (item of links(); track $index) {\n <ng-container\n [ngTemplateOutlet]=\"linkTemplate\"\n [ngTemplateOutletContext]=\"{ link: item }\"\n />\n }\n </div>\n </div>\n </div>\n\n <div class=\"col-md-6 mb-6\">\n <div class=\"card overflow-hidden\" [class.h-100]=\"licenseInfo().iframe\">\n <div class=\"card-header text-truncate\">\n {{ licenseInfo().title }}\n </div>\n\n <div class=\"h-100\">\n @if (licenseInfo().text) {\n <pre class=\"list-group-item\">{{ licenseInfo().text }}</pre>\n }\n\n @if (sanitizedUrl()) {\n <iframe class=\"w-100 h-100\" [src]=\"sanitizedUrl()\" [title]=\"licenseInfo().title\"></iframe>\n }\n\n @if (licenseInfo().api) {\n @for (api of licenseApi(); track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api\"\n [heading]=\"api.name\"\n (panelToggle)=\"toggleLoadLicenseApi(api)\"\n >\n @for (file of api.files; track $index) {\n <si-collapsible-panel\n colorVariant=\"base-0\"\n class=\"license-api-file\"\n [icon]=\"licenseInfo().icon ? licenseInfo().icon : icons.elementDocument\"\n [heading]=\"file.name\"\n (panelToggle)=\"toggleLoadLicenseContent(file)\"\n >\n <pre class=\"license-api-file-content px-6 py-6 my-0 border-0\">{{\n file.content\n }}</pre>\n </si-collapsible-panel>\n }\n </si-collapsible-panel>\n }\n }\n </div>\n </div>\n </div>\n</div>\n\n<ng-template #linkTemplate let-link=\"link\">\n <a\n class=\"list-group-item si-h5 text-body focus-inside\"\n siLinkDefaultTarget=\"_blank\"\n [siLink]=\"link\"\n >\n {{ link.title | translate }}\n </a>\n</ng-template>\n", styles: [".list-group-item{border-width:0 0 1px;padding-inline:16px}.list-group-item.with-border:first-child{border-block-start-width:1px}.list-group-item:last-child{border-block-end-width:0}.app-icon{font-size:150px}iframe{border-style:none;min-block-size:500px;margin-block-end:-5px}pre{word-break:break-word;white-space:pre-wrap}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiCollapsiblePanelComponent, selector: "si-collapsible-panel", inputs: ["heading", "headerCssClasses", "contentBgClasses", "contentCssClasses", "opened", "icon", "disabled", "colorVariant", "badge", "badgeColor"], outputs: ["openedChange", "panelToggle"] }, { kind: "component", type: SiCopyrightNoticeComponent, selector: "si-copyright-notice", inputs: ["copyright"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
143
143
  }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAboutComponent, decorators: [{
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAboutComponent, decorators: [{
145
145
  type: Component,
146
146
  args: [{ selector: 'si-about', imports: [
147
147
  NgTemplateOutlet,
@@ -158,11 +158,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
158
158
  * SPDX-License-Identifier: MIT
159
159
  */
160
160
  class SiAboutModule {
161
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
162
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent], exports: [SiAboutComponent] });
163
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent] });
161
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAboutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
162
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent], exports: [SiAboutComponent] });
163
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAboutModule, imports: [SiAboutComponent] });
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAboutModule, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAboutModule, decorators: [{
166
166
  type: NgModule,
167
167
  args: [{
168
168
  imports: [SiAboutComponent],
@@ -25,10 +25,10 @@ class SiAccordionHCollapseService {
25
25
  * Subject to emit to open the accordion.
26
26
  */
27
27
  open$ = new Subject();
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionHCollapseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionHCollapseService, providedIn: null });
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionHCollapseService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionHCollapseService, providedIn: null });
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionHCollapseService, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionHCollapseService, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: null
@@ -52,10 +52,10 @@ class SiAccordionService {
52
52
  */
53
53
  fullHeight = signal(null, /* @ts-ignore */
54
54
  ...(ngDevMode ? [{ debugName: "fullHeight" }] : /* istanbul ignore next */ []));
55
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionService, providedIn: null });
55
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
56
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionService, providedIn: null });
57
57
  }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionService, decorators: [{
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionService, decorators: [{
59
59
  type: Injectable,
60
60
  args: [{
61
61
  providedIn: null
@@ -151,7 +151,8 @@ class SiCollapsiblePanelComponent {
151
151
  });
152
152
  /** Restore the content scroll position between open/close of the panel. */
153
153
  lastScrollPos = 0;
154
- contentRef = viewChild.required('content');
154
+ contentRef = viewChild.required('content', /* @ts-ignore */
155
+ ...(ngDevMode ? [{ debugName: "contentRef" }] : /* istanbul ignore next */ []));
155
156
  constructor() {
156
157
  this.isHCollapsible = !!this.accordionHCollapseService;
157
158
  this.accordionService?.toggle$
@@ -195,18 +196,19 @@ class SiCollapsiblePanelComponent {
195
196
  this.doToggle(undefined);
196
197
  }
197
198
  }
198
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiCollapsiblePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
199
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiCollapsiblePanelComponent, isStandalone: true, selector: "si-collapsible-panel", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, headerCssClasses: { classPropertyName: "headerCssClasses", publicName: "headerCssClasses", isSignal: true, isRequired: false, transformFunction: null }, contentBgClasses: { classPropertyName: "contentBgClasses", publicName: "contentBgClasses", isSignal: true, isRequired: false, transformFunction: null }, contentCssClasses: { classPropertyName: "contentCssClasses", publicName: "contentCssClasses", isSignal: true, isRequired: false, transformFunction: null }, opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, colorVariant: { classPropertyName: "colorVariant", publicName: "colorVariant", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "openedChange", panelToggle: "panelToggle" }, host: { properties: { "class": "colorVariant()", "class.opened": "opened()", "class.hcollapsed": "hcollapsed()", "class.full-height": "fullHeight()", "style.--element-animations-enabled": "disableAnimation() ? \"0\" : undefined" } }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled);cursor:default}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}.content-motion{display:grid;grid-template-rows:1fr;transition:grid-template-rows calc(.5s * var(--element-animations-enabled, 1))}@starting-style{.content-motion{grid-template-rows:0fr}}.content-motion.content-leave{grid-template-rows:0fr}:host(.full-height) .content-motion{display:flex}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiTooltipDirective, selector: "[siTooltip]", inputs: ["siTooltip", "placement", "isDisabled", "tooltipScrollStrategy", "tooltipContext"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
199
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiCollapsiblePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
200
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: SiCollapsiblePanelComponent, isStandalone: true, selector: "si-collapsible-panel", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, headerCssClasses: { classPropertyName: "headerCssClasses", publicName: "headerCssClasses", isSignal: true, isRequired: false, transformFunction: null }, contentBgClasses: { classPropertyName: "contentBgClasses", publicName: "contentBgClasses", isSignal: true, isRequired: false, transformFunction: null }, contentCssClasses: { classPropertyName: "contentCssClasses", publicName: "contentCssClasses", isSignal: true, isRequired: false, transformFunction: null }, opened: { classPropertyName: "opened", publicName: "opened", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, colorVariant: { classPropertyName: "colorVariant", publicName: "colorVariant", isSignal: true, isRequired: false, transformFunction: null }, badge: { classPropertyName: "badge", publicName: "badge", isSignal: true, isRequired: false, transformFunction: null }, badgeColor: { classPropertyName: "badgeColor", publicName: "badgeColor", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "openedChange", panelToggle: "panelToggle" }, host: { attributes: { "animate.enter": "disable-animations" }, properties: { "class": "colorVariant()", "class.opened": "opened()", "class.hcollapsed": "hcollapsed()", "class.full-height": "fullHeight()", "class.disable-animations": "disableAnimation()" } }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.enter=\"content-enter\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled);cursor:default}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}.content-motion{display:grid;grid-template-rows:1fr}.content-motion.content-enter,.content-motion.content-leave{transition:grid-template-rows calc(.5s * var(--element-animations-enabled, 1))}@starting-style{.content-motion.content-enter{grid-template-rows:0fr}}.content-motion.content-leave{grid-template-rows:0fr}:host(.full-height) .content-motion{display:flex}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiTooltipDirective, selector: "[siTooltip]", inputs: ["siTooltip", "placement", "isDisabled", "tooltipScrollStrategy", "tooltipContext"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
200
201
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiCollapsiblePanelComponent, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiCollapsiblePanelComponent, decorators: [{
202
203
  type: Component,
203
204
  args: [{ selector: 'si-collapsible-panel', imports: [SiIconComponent, SiTranslatePipe, SiTooltipDirective], host: {
204
205
  '[class]': 'colorVariant()',
205
206
  '[class.opened]': 'opened()',
206
207
  '[class.hcollapsed]': 'hcollapsed()',
207
208
  '[class.full-height]': 'fullHeight()',
208
- '[style.--element-animations-enabled]': 'disableAnimation() ? "0" : undefined'
209
- }, template: "<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled);cursor:default}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}.content-motion{display:grid;grid-template-rows:1fr;transition:grid-template-rows calc(.5s * var(--element-animations-enabled, 1))}@starting-style{.content-motion{grid-template-rows:0fr}}.content-motion.content-leave{grid-template-rows:0fr}:host(.full-height) .content-motion{display:flex}\n"] }]
209
+ '[class.disable-animations]': 'disableAnimation()',
210
+ 'animate.enter': 'disable-animations'
211
+ }, template: "<div\n role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.enter=\"content-enter\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [":host{--__radius: var(--si-accordion-radius, var(--element-button-radius));display:flex;flex-direction:column;background:var(--element-base-0);padding-block-end:2px}:host:not(.hcollapsed) .collapsed-icon,:host:not(.hcollapsed) .badge-text{display:none}:host.hcollapsed{background:var(--element-base-1)}:host.hcollapsed .collapsible-header .autohide,:host.hcollapsed .collapsible-content{display:none}:host.hcollapsed .collapsible-header{padding-block:8px}:host.hcollapsed .collapsible-header:hover{background:var(--element-base-1-hover)}:host.full-height{transition:flex-grow calc(.5s * var(--element-animations-enabled, 1))}:host.full-height.opened,:host.full-height .collapsible-content{flex:1 1 0}:host.full-height .collapsible-content>div{flex:1 0 0}.collapsible-header{display:flex;align-items:center;background:var(--element-base-1);color:var(--element-text-primary);padding-block:12px;border-radius:var(--__radius)}.collapsible-header.disabled{color:var(--element-text-disabled);cursor:default}.collapsible-header.open{border-end-start-radius:0;border-end-end-radius:0}.collapsible-header:not(.disabled){cursor:pointer}.collapsible-header:not(.disabled):hover{text-decoration:none;background:var(--element-base-1-hover)}.dropdown-caret{transition:transform calc(.5s * var(--element-animations-enabled, 1));color:var(--element-ui-1)}.open .dropdown-caret{transform:rotate(180deg)}.collapsible-content{overflow:hidden;background:var(--element-base-1);border-end-start-radius:var(--__radius);border-end-end-radius:var(--__radius)}.collapsible-content.full-height{overflow:auto}.content-motion{display:grid;grid-template-rows:1fr}.content-motion.content-enter,.content-motion.content-leave{transition:grid-template-rows calc(.5s * var(--element-animations-enabled, 1))}@starting-style{.content-motion.content-enter{grid-template-rows:0fr}}.content-motion.content-leave{grid-template-rows:0fr}:host(.full-height) .content-motion{display:flex}\n"] }]
210
212
  }], ctorParameters: () => [], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], headerCssClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerCssClasses", required: false }] }], contentBgClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentBgClasses", required: false }] }], contentCssClasses: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentCssClasses", required: false }] }], opened: [{ type: i0.Input, args: [{ isSignal: true, alias: "opened", required: false }] }, { type: i0.Output, args: ["openedChange"] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], colorVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorVariant", required: false }] }], badge: [{ type: i0.Input, args: [{ isSignal: true, alias: "badge", required: false }] }], badgeColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeColor", required: false }] }], panelToggle: [{ type: i0.Output, args: ["panelToggle"] }], contentRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
211
213
 
212
214
  /**
@@ -253,10 +255,10 @@ class SiAccordionComponent {
253
255
  this.service.fullHeight.set(this.fullHeight() && !this.responsive);
254
256
  }
255
257
  }
256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
257
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: SiAccordionComponent, isStandalone: true, selector: "si-accordion", inputs: { expandFirstPanel: { classPropertyName: "expandFirstPanel", publicName: "expandFirstPanel", isSignal: true, isRequired: false, transformFunction: null }, fullHeight: { classPropertyName: "fullHeight", publicName: "fullHeight", isSignal: true, isRequired: false, transformFunction: null }, hcollapsed: { classPropertyName: "hcollapsed", publicName: "hcollapsed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.full-height": "fullHeight()", "class.hcollapsed": "collapsed()" } }, providers: [SiAccordionService], queries: [{ propertyName: "panels", predicate: SiCollapsiblePanelComponent, isSignal: true }], usesOnChanges: true, ngImport: i0, template: '<div><ng-content /></div>', isInline: true, styles: [":host,:host>div{display:flex;flex-direction:column}:host.full-height{block-size:100%}:host.full-height>div{overflow-y:auto;flex:1 1 0}:host.full-height.hcollapsed>div{overflow-y:unset;flex-basis:auto}\n"] });
258
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
259
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: SiAccordionComponent, isStandalone: true, selector: "si-accordion", inputs: { expandFirstPanel: { classPropertyName: "expandFirstPanel", publicName: "expandFirstPanel", isSignal: true, isRequired: false, transformFunction: null }, fullHeight: { classPropertyName: "fullHeight", publicName: "fullHeight", isSignal: true, isRequired: false, transformFunction: null }, hcollapsed: { classPropertyName: "hcollapsed", publicName: "hcollapsed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.full-height": "fullHeight()", "class.hcollapsed": "collapsed()" } }, providers: [SiAccordionService], queries: [{ propertyName: "panels", predicate: SiCollapsiblePanelComponent, isSignal: true }], usesOnChanges: true, ngImport: i0, template: '<div><ng-content /></div>', isInline: true, styles: [":host,:host>div{display:flex;flex-direction:column}:host.full-height{block-size:100%}:host.full-height>div{overflow-y:auto;flex:1 1 0}:host.full-height.hcollapsed>div{overflow-y:unset;flex-basis:auto}\n"] });
258
260
  }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionComponent, decorators: [{
261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionComponent, decorators: [{
260
262
  type: Component,
261
263
  args: [{ selector: 'si-accordion', template: '<div><ng-content /></div>', providers: [SiAccordionService], host: {
262
264
  '[class.full-height]': 'fullHeight()',
@@ -269,11 +271,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
269
271
  * SPDX-License-Identifier: MIT
270
272
  */
271
273
  class SiAccordionModule {
272
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
273
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionModule, imports: [SiAccordionComponent, SiCollapsiblePanelComponent], exports: [SiAccordionComponent, SiCollapsiblePanelComponent] });
274
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionModule, imports: [SiCollapsiblePanelComponent] });
274
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
275
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionModule, imports: [SiAccordionComponent, SiCollapsiblePanelComponent], exports: [SiAccordionComponent, SiCollapsiblePanelComponent] });
276
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionModule, imports: [SiCollapsiblePanelComponent] });
275
277
  }
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAccordionModule, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAccordionModule, decorators: [{
277
279
  type: NgModule,
278
280
  args: [{
279
281
  imports: [SiAccordionComponent, SiCollapsiblePanelComponent],
@@ -1 +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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, TranslatableString } 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 imports: [SiIconComponent, SiTranslatePipe, SiTooltipDirective],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()',\n '[style.--element-animations-enabled]': 'disableAnimation() ? \"0\" : undefined'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<TranslatableString>();\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 /**\n * Color variant for component background.\n *\n * @deprecated This input has no effect on the component styling.\n */\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 Element 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 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 protected readonly disableAnimation = signal(false);\n\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n /** Restore the content scroll position between open/close of the panel. */\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(),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\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.disableAnimation.set(!enableAnimation);\n\n if (open) {\n // Restore scroll position after opening\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n // Save scroll position before closing\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 role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\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 { 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 styleUrl: './si-accordion.component.scss',\n providers: [SiAccordionService],\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 * 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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\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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"}
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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n model,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { elementDown2 } from '@siemens/element-icons';\nimport { BackgroundColorVariant } from '@siemens/element-ng/common';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTooltipDirective } from '@siemens/element-ng/tooltip';\nimport { SiTranslatePipe, TranslatableString } 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 imports: [SiIconComponent, SiTranslatePipe, SiTooltipDirective],\n templateUrl: './si-collapsible-panel.component.html',\n styleUrl: './si-collapsible-panel.component.scss',\n host: {\n '[class]': 'colorVariant()',\n '[class.opened]': 'opened()',\n '[class.hcollapsed]': 'hcollapsed()',\n '[class.full-height]': 'fullHeight()',\n '[class.disable-animations]': 'disableAnimation()',\n 'animate.enter': 'disable-animations'\n }\n})\nexport class SiCollapsiblePanelComponent {\n /**\n * Heading for the collapsible panel.\n */\n readonly heading = input<TranslatableString>();\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 /**\n * Color variant for component background.\n *\n * @deprecated This input has no effect on the component styling.\n */\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 Element 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 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 protected readonly disableAnimation = signal(false);\n\n private readonly accordionService = inject(SiAccordionService, { optional: true });\n private readonly accordionHCollapseService = inject(SiAccordionHCollapseService, {\n optional: true\n });\n /** Restore the content scroll position between open/close of the panel. */\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(),\n filter(item => item !== this)\n )\n .subscribe(() => this.openClose(false));\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.disableAnimation.set(!enableAnimation);\n\n if (open) {\n // Restore scroll position after opening\n setTimeout(() => {\n this.contentRef().nativeElement.scrollTop = this.lastScrollPos;\n });\n } else {\n // Save scroll position before closing\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 role=\"button\"\n placement=\"start\"\n [siTooltip]=\"hcollapsed() && heading() ? (heading()! | translate) : ''\"\n [class]=\"`collapsible-header focus-inside ${headerCssClasses()}`\"\n [class.px-5]=\"hcollapsed()\"\n [class.px-6]=\"!hcollapsed()\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [id]=\"headerId\"\n [class.open]=\"opened()\"\n [class.disabled]=\"disabled()\"\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\n class=\"icon\"\n [class.p-1]=\"hcollapsed()\"\n [class.pe-2]=\"!hcollapsed()\"\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-h5 autohide\">\n {{ heading() | translate }}\n <ng-content select=\"[si-panel-heading]\" />\n </div>\n\n @if (badge() !== undefined && badge() !== '') {\n <span [class]=\"'badge autohide' + (badgeColor() ? ' bg-' + badgeColor() : '')\">\n {{ badge() }}\n </span>\n }\n <span class=\"ms-auto autohide\">\n <si-icon class=\"icon dropdown-caret\" [icon]=\"icons.elementDown2\" />\n </span>\n</div>\n<div\n #content\n role=\"region\"\n [id]=\"controlId\"\n [class]=\"`collapsible-content ${contentBgClasses()}`\"\n [attr.aria-labelledby]=\"headerId\"\n [class.full-height]=\"fullHeight()\"\n>\n @if (opened()) {\n <div class=\"content-motion\" animate.enter=\"content-enter\" animate.leave=\"content-leave\">\n <div class=\"overflow-hidden\">\n <div [class]=\"contentCssClasses()\">\n <ng-content />\n </div>\n </div>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n AfterContentInit,\n booleanAttribute,\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 { 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 styleUrl: './si-accordion.component.scss',\n providers: [SiAccordionService],\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 * 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 (c) Siemens 2016 - 2026\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 (c) Siemens 2016 - 2026\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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"}
@@ -43,10 +43,10 @@ class SiAlertDialogComponent {
43
43
  modalRef = inject((ModalRef));
44
44
  loading$ = this.modalRef.message.pipe(take(1));
45
45
  icons = addIcons({ elementCancel });
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAlertDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
48
48
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiAlertDialogComponent, decorators: [{
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiAlertDialogComponent, decorators: [{
50
50
  type: Component,
51
51
  args: [{ selector: 'si-alert-dialog', imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon 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-tertiary-ghost\"\n [attr.aria-label]=\"confirmBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('confirm')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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" }]
52
52
  }], propDecorators: { titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], confirmBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirmBtnName", required: false }] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
@@ -93,10 +93,10 @@ class SiConfirmationDialogComponent {
93
93
  ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
94
94
  modalRef = inject((ModalRef));
95
95
  loading$ = this.modalRef.message.pipe(take(1));
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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 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-tertiary-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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
96
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
97
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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 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-tertiary-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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiConfirmationDialogComponent, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiConfirmationDialogComponent, decorators: [{
100
100
  type: Component,
101
101
  args: [{ selector: 'si-confirmation-dialog', imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon 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-tertiary-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" }]
102
102
  }], propDecorators: { titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], confirmBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "confirmBtnName", required: false }] }], declineBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "declineBtnName", required: false }] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
@@ -149,10 +149,10 @@ class SiDeleteConfirmationDialogComponent {
149
149
  modalRef = inject((ModalRef));
150
150
  loading$ = this.modalRef.message.pipe(take(1));
151
151
  icons = addIcons({ elementCancel });
152
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDeleteConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
152
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiDeleteConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
153
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiDeleteConfirmationDialogComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiDeleteConfirmationDialogComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{ selector: 'si-delete-confirmation-dialog', imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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" }]
158
158
  }], propDecorators: { titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], deleteBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteBtnName", required: false }] }], cancelBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelBtnName", required: false }] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
@@ -170,10 +170,10 @@ class SiEditDiscardDialogComponent {
170
170
  /**
171
171
  * @defaultValue
172
172
  * ```
173
- * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`)
173
+ * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`)
174
174
  * ```
175
175
  */
176
- message = input(t(() => $localize `:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Do you want to save changes to the modified element?`), /* @ts-ignore */
176
+ message = input(t(() => $localize `:@@SI_EDIT_DISCARD_DIALOG.MESSAGE:Save changes?`), /* @ts-ignore */
177
177
  ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
178
178
  /**
179
179
  * @defaultValue
@@ -204,10 +204,10 @@ class SiEditDiscardDialogComponent {
204
204
  /**
205
205
  * @defaultValue
206
206
  * ```
207
- * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`)
207
+ * t(() => $localize`:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`)
208
208
  * ```
209
209
  */
210
- disableSaveMessage = input(t(() => $localize `:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Do you want to discard the changes`), /* @ts-ignore */
210
+ disableSaveMessage = input(t(() => $localize `:@@SI_EDIT_DISCARD_DIALOG.DISABLE_SAVE_MESSAGE:Discard changes?`), /* @ts-ignore */
211
211
  ...(ngDevMode ? [{ debugName: "disableSaveMessage" }] : /* istanbul ignore next */ []));
212
212
  /**
213
213
  * @defaultValue
@@ -231,10 +231,10 @@ class SiEditDiscardDialogComponent {
231
231
  modalRef = inject((ModalRef));
232
232
  loading$ = this.modalRef.message.pipe(take(1));
233
233
  icons = addIcons({ elementCancel });
234
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiEditDiscardDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
235
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
234
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiEditDiscardDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
235
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", 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 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiLoadingButtonComponent, selector: "si-loading-button", inputs: ["disabled", "loading", "type", "ariaLabel", "ariaLabelledBy", "buttonClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
236
236
  }
237
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiEditDiscardDialogComponent, decorators: [{
237
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiEditDiscardDialogComponent, decorators: [{
238
238
  type: Component,
239
239
  args: [{ selector: 'si-edit-discard-dialog', imports: [AsyncPipe, SiIconComponent, SiTranslatePipe, SiLoadingButtonComponent], template: "@let loading = loading$ | async;\n<div class=\"modal-header\">\n @if (icon()) {\n <si-icon 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-tertiary-ghost\"\n [attr.aria-label]=\"cancelBtnName() | translate\"\n [disabled]=\"!!loading\"\n (click)=\"modalRef.messageOrHide('cancel')\"\n >\n <si-icon [icon]=\"icons.elementCancel\" />\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" }]
240
240
  }], propDecorators: { titleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleId", required: false }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], saveBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "saveBtnName", required: false }] }], discardBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "discardBtnName", required: false }] }], cancelBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "cancelBtnName", required: false }] }], disableSave: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSave", required: false }] }], disableSaveMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSaveMessage", required: false }] }], disableSaveDiscardBtnName: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSaveDiscardBtnName", required: false }] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }] } });
@@ -291,10 +291,10 @@ class SiActionDialogService {
291
291
  };
292
292
  });
293
293
  }
294
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiActionDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
295
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiActionDialogService, providedIn: 'root' });
294
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiActionDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
295
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiActionDialogService, providedIn: 'root' });
296
296
  }
297
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiActionDialogService, decorators: [{
297
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: SiActionDialogService, decorators: [{
298
298
  type: Injectable,
299
299
  args: [{ providedIn: 'root' }]
300
300
  }] });