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

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 (229) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/siemens-element-ng-about.mjs +41 -25
  3. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  4. package/fesm2022/siemens-element-ng-accordion.mjs +56 -39
  5. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  6. package/fesm2022/siemens-element-ng-action-modal.mjs +81 -51
  7. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  8. package/fesm2022/siemens-element-ng-ag-grid.mjs +15 -12
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  10. package/fesm2022/siemens-element-ng-application-header.mjs +142 -137
  11. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  12. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +34 -28
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  14. package/fesm2022/siemens-element-ng-autocomplete.mjs +27 -22
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  16. package/fesm2022/siemens-element-ng-avatar.mjs +31 -21
  17. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  18. package/fesm2022/siemens-element-ng-badge.mjs +9 -8
  19. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  20. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +17 -14
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  22. package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -15
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/siemens-element-ng-card.mjs +71 -46
  25. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  26. package/fesm2022/siemens-element-ng-carousel.mjs +55 -32
  27. package/fesm2022/siemens-element-ng-carousel.mjs.map +1 -1
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs +175 -111
  29. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  30. package/fesm2022/siemens-element-ng-circle-status.mjs +37 -24
  31. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  32. package/fesm2022/siemens-element-ng-color-picker.mjs +24 -16
  33. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +52 -33
  35. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  36. package/fesm2022/siemens-element-ng-common.mjs +12 -12
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +14 -12
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +35 -26
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +19 -14
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +327 -213
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +8 -8
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +119 -72
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +358 -234
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +21 -16
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +15 -12
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +93 -81
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +29 -22
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +243 -147
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +12 -10
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +267 -84
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly-legacy.mjs +99 -0
  66. package/fesm2022/siemens-element-ng-formly-legacy.mjs.map +1 -0
  67. package/fesm2022/siemens-element-ng-formly.mjs +220 -315
  68. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-header-dropdown.mjs +38 -29
  70. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-help-button.mjs +5 -5
  72. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +46 -47
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +17 -11
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +19 -14
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +19 -15
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +118 -72
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +16 -12
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +31 -21
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +73 -54
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +42 -33
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +14 -12
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +46 -29
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +6 -5
  96. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-menu.mjs +56 -48
  98. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-modal.mjs +12 -10
  100. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs +133 -94
  102. package/fesm2022/siemens-element-ng-navbar-vertical-next.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +117 -81
  104. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-navbar.mjs +67 -41
  106. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-notification-item.mjs +19 -11
  108. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-number-input.mjs +38 -27
  110. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-pagination.mjs +31 -20
  112. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-password-strength.mjs +31 -22
  114. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-password-toggle.mjs +18 -13
  116. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-phone-number.mjs +121 -138
  118. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-photo-upload.mjs +76 -45
  120. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-pills-input.mjs +63 -58
  122. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-popover-legacy.mjs +43 -28
  124. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-popover.mjs +33 -26
  126. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-progressbar.mjs +23 -16
  128. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-resize-observer.mjs +32 -43
  130. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-result-details-list.mjs +12 -10
  132. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-search-bar.mjs +32 -24
  134. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-select.mjs +212 -154
  136. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  138. package/fesm2022/siemens-element-ng-side-panel.mjs +119 -75
  139. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-skip-links.mjs +14 -13
  141. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-slider.mjs +42 -28
  143. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-split.mjs +268 -254
  145. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-status-bar.mjs +57 -47
  147. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-status-counter.mjs +15 -11
  149. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-status-toggle.mjs +22 -14
  151. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-summary-chip.mjs +25 -16
  153. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-summary-widget.mjs +27 -17
  155. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-system-banner.mjs +11 -8
  157. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -15
  159. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-tabs.mjs +59 -45
  161. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-theme.mjs +5 -4
  163. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-threshold.mjs +59 -40
  165. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-toast-notification.mjs +45 -40
  167. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-tooltip.mjs +52 -54
  169. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-tour.mjs +28 -19
  171. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-translate.mjs +0 -1
  173. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-tree-view.mjs +92 -73
  175. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-typeahead.mjs +75 -67
  177. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-wizard.mjs +72 -48
  179. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  180. package/formly-legacy/package.json +4 -0
  181. package/package.json +20 -22
  182. package/schematics/migration.json +4 -4
  183. package/schematics/migrations/data/class-member-replacement.js +1 -19
  184. package/schematics/migrations/data/component-property-names.js +1 -25
  185. package/schematics/migrations/data/element-class-changes.js +1 -28
  186. package/schematics/migrations/data/element-migration-data.js +2 -0
  187. package/schematics/migrations/data/element-selectors.js +1 -11
  188. package/schematics/migrations/data/index.js +0 -4
  189. package/schematics/migrations/data/migration-test-data.js +9 -6
  190. package/schematics/migrations/data/provider-function-removals.js +7 -0
  191. package/schematics/migrations/data/symbol-removals.js +7 -7
  192. package/schematics/migrations/data/symbol-renaming.js +1 -48
  193. package/schematics/migrations/element-migration/element-migration.js +3 -6
  194. package/schematics/migrations/utilities/import-removal.js +39 -0
  195. package/schematics/migrations/utilities/index.js +2 -0
  196. package/schematics/migrations/utilities/provider-function-removal.migration.js +116 -0
  197. package/schematics/ng-update/index.js +1 -1
  198. package/schematics/ng-update/{migrate-to-v49.js → migrate-to-v51.js} +2 -2
  199. package/template-i18n.json +3 -6
  200. package/types/siemens-element-ng-application-header.d.ts +1 -21
  201. package/types/siemens-element-ng-chat-messages.d.ts +6 -4
  202. package/types/siemens-element-ng-circle-status.d.ts +1 -1
  203. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  204. package/types/siemens-element-ng-datepicker.d.ts +1 -12
  205. package/types/siemens-element-ng-file-uploader.d.ts +5 -23
  206. package/types/siemens-element-ng-filtered-search.d.ts +1 -1
  207. package/types/siemens-element-ng-form.d.ts +134 -37
  208. package/types/siemens-element-ng-formly-legacy.d.ts +40 -0
  209. package/types/siemens-element-ng-formly.d.ts +34 -167
  210. package/types/siemens-element-ng-icon.d.ts +2 -19
  211. package/types/siemens-element-ng-navbar-vertical-next.d.ts +6 -1
  212. package/types/siemens-element-ng-notification-item.d.ts +12 -0
  213. package/types/siemens-element-ng-phone-number.d.ts +5 -8
  214. package/types/siemens-element-ng-resize-observer.d.ts +0 -17
  215. package/types/siemens-element-ng-split.d.ts +95 -63
  216. package/types/siemens-element-ng-status-bar.d.ts +5 -13
  217. package/types/siemens-element-ng-status-counter.d.ts +1 -1
  218. package/types/siemens-element-ng-toast-notification.d.ts +0 -1
  219. package/types/siemens-element-ng-translate.d.ts +1 -5
  220. package/fesm2022/siemens-element-ng-icon-status.mjs +0 -46
  221. package/fesm2022/siemens-element-ng-icon-status.mjs.map +0 -1
  222. package/fesm2022/siemens-element-ng-sort-bar.mjs +0 -99
  223. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +0 -1
  224. package/icon-status/package.json +0 -4
  225. package/schematics/vitest-setup.js +0 -5
  226. package/sort-bar/package.json +0 -4
  227. package/types/siemens-element-ng-icon-status.d.ts +0 -25
  228. package/types/siemens-element-ng-sort-bar.d.ts +0 -59
  229. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component, inject, DestroyRef, Injectable, InjectionToken, NgModule } from '@angular/core';
2
+ import { input, computed, Component, inject, DestroyRef, Injectable, NgModule, InjectionToken } from '@angular/core';
3
3
  import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
4
4
  import { SiThemeService } from '@siemens/element-ng/theme';
5
5
  import { elementTriangleFilled, elementStateTick, elementStateQuestionMark, elementStateProgress, elementStatePause, elementStateInfo, elementStateExclamationMark, elementSquareFilled, elementSquare45Filled, elementOctagonFilled, elementCircleFilled } from '@siemens/element-icons';
@@ -46,30 +46,37 @@ import { elementTriangleFilled, elementStateTick, elementStateQuestionMark, elem
46
46
  */
47
47
  class SiIconLegacyComponent {
48
48
  /** Icon token, see {@link https://element.siemens.io/icons/element} */
49
- icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
49
+ icon = input(/* @ts-ignore */
50
+ ...(ngDevMode ? [undefined, { debugName: "icon" }] : /* istanbul ignore next */ []));
50
51
  /** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes} */
51
- color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
52
+ color = input(/* @ts-ignore */
53
+ ...(ngDevMode ? [undefined, { debugName: "color" }] : /* istanbul ignore next */ []));
52
54
  /** Icon token, see {@link https://element.siemens.io/fundamentals/icons/} */
53
- stackedIcon = input(...(ngDevMode ? [undefined, { debugName: "stackedIcon" }] : []));
55
+ stackedIcon = input(/* @ts-ignore */
56
+ ...(ngDevMode ? [undefined, { debugName: "stackedIcon" }] : /* istanbul ignore next */ []));
54
57
  /** Color class, see {@link https://element.siemens.io/fundamentals/icons/} */
55
- stackedColor = input(...(ngDevMode ? [undefined, { debugName: "stackedColor" }] : []));
58
+ stackedColor = input(/* @ts-ignore */
59
+ ...(ngDevMode ? [undefined, { debugName: "stackedColor" }] : /* istanbul ignore next */ []));
56
60
  /** Alternative name or translation key for icon. Used for A11y. */
57
- alt = input(...(ngDevMode ? [undefined, { debugName: "alt" }] : []));
61
+ alt = input(/* @ts-ignore */
62
+ ...(ngDevMode ? [undefined, { debugName: "alt" }] : /* istanbul ignore next */ []));
58
63
  /**
59
64
  * Text-size class for icon size, see {@link https://element.siemens.io/fundamentals/typography/#type-styles-classes}
60
65
  *
61
66
  * @defaultValue 'icon'
62
67
  */
63
- size = input('icon', ...(ngDevMode ? [{ debugName: "size" }] : []));
68
+ size = input('icon', /* @ts-ignore */
69
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
64
70
  altText = computed(() => {
65
71
  return this.alt() ?? this.icon()?.replace('element-', '').split('-').join(' ') ?? '';
66
- }, ...(ngDevMode ? [{ debugName: "altText" }] : []));
67
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiIconLegacyComponent, isStandalone: true, selector: "si-icon-legacy", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n", styles: [":host,span{line-height:1}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ }, /* @ts-ignore */
73
+ ...(ngDevMode ? [{ debugName: "altText" }] : /* istanbul ignore next */ []));
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiIconLegacyComponent, isStandalone: true, selector: "si-icon-legacy", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n", styles: [":host,span{line-height:1}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
69
76
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconLegacyComponent, decorators: [{
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconLegacyComponent, decorators: [{
71
78
  type: Component,
72
- args: [{ selector: 'si-icon-legacy', imports: [SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n", styles: [":host,span{line-height:1}\n"] }]
79
+ args: [{ selector: 'si-icon-legacy', imports: [SiTranslatePipe], template: "<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n", styles: [":host,span{line-height:1}\n"] }]
73
80
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], stackedIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "stackedIcon", required: false }] }], stackedColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "stackedColor", required: false }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
74
81
 
75
82
  /**
@@ -135,10 +142,10 @@ class IconService {
135
142
  kebabToCamelCase(str) {
136
143
  return str?.replace(/-./g, match => match.charAt(1).toUpperCase());
137
144
  }
138
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
139
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconService, providedIn: 'root' });
145
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IconService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
146
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IconService, providedIn: 'root' });
140
147
  }
141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconService, decorators: [{
148
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: IconService, decorators: [{
142
149
  type: Injectable,
143
150
  args: [{ providedIn: 'root' }]
144
151
  }] });
@@ -147,17 +154,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
147
154
  * Copyright (c) Siemens 2016 - 2026
148
155
  * SPDX-License-Identifier: MIT
149
156
  */
150
- const ICON_CONFIG = new InjectionToken('ICON_CONFIG', {
151
- providedIn: 'root',
152
- factory: () => ({ disableSvgIcons: false })
153
- });
154
- /**
155
- * Configure how Element handles icons. Provide only once in your global configuration.
156
- */
157
- const provideIconConfig = (config) => ({
158
- provide: ICON_CONFIG,
159
- useValue: config
160
- });
161
157
  /**
162
158
  * Component to render a font or SVG icon depending on the configuration.
163
159
  * If no SVG icon is found, the component will fall back to render the icon-font.
@@ -189,18 +185,20 @@ class SiIconComponent {
189
185
  * }
190
186
  * ```
191
187
  */
192
- icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
193
- config = inject(ICON_CONFIG);
188
+ icon = input.required(/* @ts-ignore */
189
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
194
190
  iconService = inject(IconService);
195
191
  svgIcon = computed(() => {
196
- const icon = this.config.disableSvgIcons ? undefined : this.iconService.getIcon(this.icon());
192
+ const icon = this.iconService.getIcon(this.icon());
197
193
  if (!icon) {
198
194
  return undefined;
199
195
  }
200
196
  return `url("${icon.replace(/"/g, '\\"')}")`;
201
- }, ...(ngDevMode ? [{ debugName: "svgIcon" }] : []));
197
+ }, /* @ts-ignore */
198
+ ...(ngDevMode ? [{ debugName: "svgIcon" }] : /* istanbul ignore next */ []));
202
199
  /** Icon class, which is ensured to be kebab-case. */
203
- fontIcon = computed(() => this.svgIcon() ? undefined : this.camelToKebabCase(this.icon()), ...(ngDevMode ? [{ debugName: "fontIcon" }] : []));
200
+ fontIcon = computed(() => this.svgIcon() ? undefined : this.camelToKebabCase(this.icon()), /* @ts-ignore */
201
+ ...(ngDevMode ? [{ debugName: "fontIcon" }] : /* istanbul ignore next */ []));
204
202
  isKebabCase(str) {
205
203
  return /^[a-z0-9]+(-[a-z0-9]+)*$/.test(str);
206
204
  }
@@ -219,12 +217,12 @@ class SiIconComponent {
219
217
  .replace(/([0-9])([A-Z])/g, '$1-$2')
220
218
  .toLowerCase();
221
219
  }
222
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
223
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiIconComponent, isStandalone: true, selector: "si-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.data-icon": "icon()", "style.--svg-element-icon": "svgIcon()" } }, ngImport: i0, template: ` <div aria-hidden="true" [class]="svgIcon() ? 'svg-element-icon' : fontIcon()"></div>`, isInline: true, styles: [":host{display:inline-flex;font-weight:400;vertical-align:middle;line-height:1}.svg-element-icon{background-color:currentColor;-webkit-mask-image:var(--svg-element-icon);mask-image:var(--svg-element-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center;block-size:1em;inline-size:1em}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
220
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: SiIconComponent, isStandalone: true, selector: "si-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.data-icon": "icon()", "style.--svg-element-icon": "svgIcon()" } }, ngImport: i0, template: ` <div aria-hidden="true" [class]="svgIcon() ? 'svg-element-icon' : fontIcon()"></div>`, isInline: true, styles: [":host{display:inline-flex;font-weight:400;vertical-align:middle;line-height:1}.svg-element-icon{background-color:currentColor;-webkit-mask-image:var(--svg-element-icon);mask-image:var(--svg-element-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center;block-size:1em;inline-size:1em}\n"] });
224
222
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconComponent, decorators: [{
223
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconComponent, decorators: [{
226
224
  type: Component,
227
- args: [{ selector: 'si-icon', template: ` <div aria-hidden="true" [class]="svgIcon() ? 'svg-element-icon' : fontIcon()"></div>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
225
+ args: [{ selector: 'si-icon', template: ` <div aria-hidden="true" [class]="svgIcon() ? 'svg-element-icon' : fontIcon()"></div>`, host: {
228
226
  '[attr.data-icon]': 'icon()',
229
227
  '[style.--svg-element-icon]': 'svgIcon()'
230
228
  }, styles: [":host{display:inline-flex;font-weight:400;vertical-align:middle;line-height:1}.svg-element-icon{background-color:currentColor;-webkit-mask-image:var(--svg-element-icon);mask-image:var(--svg-element-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-position:center;mask-position:center;block-size:1em;inline-size:1em}\n"] }]
@@ -235,11 +233,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
235
233
  * SPDX-License-Identifier: MIT
236
234
  */
237
235
  class SiIconModule {
238
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
239
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiIconModule, imports: [SiIconComponent, SiIconLegacyComponent], exports: [SiIconComponent, SiIconLegacyComponent] });
240
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconModule });
236
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
237
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiIconModule, imports: [SiIconComponent, SiIconLegacyComponent], exports: [SiIconComponent, SiIconLegacyComponent] });
238
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconModule });
241
239
  }
242
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconModule, decorators: [{
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiIconModule, decorators: [{
243
241
  type: NgModule,
244
242
  args: [{
245
243
  imports: [SiIconComponent, SiIconLegacyComponent],
@@ -364,19 +362,21 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
364
362
  */
365
363
  class SiStatusIconComponent {
366
364
  statusIcons = inject(STATUS_ICON_CONFIG);
367
- status = input.required(...(ngDevMode ? [{ debugName: "status" }] : []));
368
- statusIcon = computed(() => this.statusIcons[this.status()], ...(ngDevMode ? [{ debugName: "statusIcon" }] : []));
369
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiStatusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
370
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiStatusIconComponent, isStandalone: true, selector: "si-status-icon", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "icon-stack" }, ngImport: i0, template: `
365
+ status = input.required(/* @ts-ignore */
366
+ ...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
367
+ statusIcon = computed(() => this.statusIcons[this.status()], /* @ts-ignore */
368
+ ...(ngDevMode ? [{ debugName: "statusIcon" }] : /* istanbul ignore next */ []));
369
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiStatusIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
370
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiStatusIconComponent, isStandalone: true, selector: "si-status-icon", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "icon-stack" }, ngImport: i0, template: `
371
371
  @let iconValue = statusIcon();
372
372
  @if (iconValue) {
373
373
  <si-icon [class]="iconValue.color" [icon]="iconValue.icon" />
374
374
  <si-icon [class]="iconValue.stackedColor" [icon]="iconValue.stacked" />
375
375
  <span class="visually-hidden">{{ iconValue.ariaLabel | translate }}</span>
376
376
  }
377
- `, isInline: true, dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
377
+ `, isInline: true, dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
378
378
  }
379
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiStatusIconComponent, decorators: [{
379
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiStatusIconComponent, decorators: [{
380
380
  type: Component,
381
381
  args: [{
382
382
  selector: 'si-status-icon',
@@ -389,7 +389,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
389
389
  <span class="visually-hidden">{{ iconValue.ariaLabel | translate }}</span>
390
390
  }
391
391
  `,
392
- changeDetection: ChangeDetectionStrategy.OnPush,
393
392
  host: { class: 'icon-stack' }
394
393
  }]
395
394
  }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: true }] }] } });
@@ -409,5 +408,5 @@ const elementCheckedImageShape = 'data:image/svg+xml;base64,PHN2ZyBpZD0iSWNvbiIg
409
408
  * Generated bundle index. Do not edit.
410
409
  */
411
410
 
412
- export { STATUS_ICON_CONFIG, SiIconComponent, SiIconLegacyComponent, SiIconModule, SiStatusIconComponent, addIcons, elementCheckedImageShape, provideIconConfig };
411
+ export { STATUS_ICON_CONFIG, SiIconComponent, SiIconLegacyComponent, SiIconModule, SiStatusIconComponent, addIcons, elementCheckedImageShape };
413
412
  //# sourceMappingURL=siemens-element-ng-icon.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-icon.mjs","sources":["../../../../projects/element-ng/icon/si-icon-legacy.component.ts","../../../../projects/element-ng/icon/si-icon-legacy.component.html","../../../../projects/element-ng/icon/si-icons.ts","../../../../projects/element-ng/icon/si-icon.component.ts","../../../../projects/element-ng/icon/si-icon.module.ts","../../../../projects/element-ng/icon/status-icon.ts","../../../../projects/element-ng/icon/si-status-icon.component.ts","../../../../projects/element-ng/icon/element-icons.ts","../../../../projects/element-ng/icon/index.ts","../../../../projects/element-ng/icon/siemens-element-ng-icon.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * @deprecated This component should no longer be used.\n * Use the {@link SiIconComponent} instead.\n * Existing usages can be replaced as follows:\n *\n * ```html\n * <!-- before -->\n * <si-icon icon=\"element-user\" color=\"text-danger\" />\n * <!-- after -->\n * <si-icon icon=\"element-user\" class=\"icon text-danger\" />\n * ```\n *\n * **Important:** Previously, the class `icon` was automatically applied. Unless not needed,\n * it must now be applied manually.\n * The icon class scales up the icon compared to its surrounding text.\n *\n * Stacked icons need to be constructed in HTML directly.\n * If applicable, the `si-status-icon` component should be used instead.\n *\n * ```html\n * <!-- before -->\n * <si-icon\n * icon=\"element-circle-filled\"\n * color=\"status-success\"\n * stackedIcon=\"element-state-tick\"\n * stackedColor=\"status-success-contrast\"\n * alt=\"Success\"\n * />\n *\n * <!-- after -->\n * <div class=\"icon-stack icon\" aria-label=\"Success\">\n * <si-icon icon=\"element-circle-filled\" class=\"status-success\" />\n * <si-icon icon=\"element-state-tick\" class=\"status-success-contrast\" />\n * </div>\n * ```\n */\n@Component({\n selector: 'si-icon-legacy',\n imports: [SiTranslatePipe],\n templateUrl: './si-icon-legacy.component.html',\n styles: ':host, span { line-height: 1; }',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiIconLegacyComponent {\n /** Icon token, see {@link https://element.siemens.io/icons/element} */\n readonly icon = input<string>();\n /** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes} */\n readonly color = input<string>();\n /** Icon token, see {@link https://element.siemens.io/fundamentals/icons/} */\n readonly stackedIcon = input<string>();\n /** Color class, see {@link https://element.siemens.io/fundamentals/icons/} */\n readonly stackedColor = input<string>();\n /** Alternative name or translation key for icon. Used for A11y. */\n readonly alt = input<TranslatableString>();\n /**\n * Text-size class for icon size, see {@link https://element.siemens.io/fundamentals/typography/#type-styles-classes}\n *\n * @defaultValue 'icon'\n */\n readonly size = input<string>('icon');\n\n protected readonly altText = computed(() => {\n return this.alt() ?? this.icon()?.replace('element-', '').split('-').join(' ') ?? '';\n });\n}\n","<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { DestroyRef, inject, Injectable } from '@angular/core';\nimport { SiThemeService } from '@siemens/element-ng/theme';\n\ninterface RegisteredIcon {\n content: string | undefined;\n // Count how often an icon was registered to only remove it if it is no longer in use.\n referenceCount: number;\n}\n\nconst registeredIcons = new Map<string, RegisteredIcon>();\n\n/**\n * Adds the provided icons.\n * It requires an Angular InjectionContent.\n * The Icons are available until the component is destroyed.\n * Call this function only in the component which actually uses the icon.\n * Importing all icons on the global level is discouraged.\n *\n * When using a string instead of the object to use an icon,\n * use the kebab-case version of the icon name.\n *\n * @example\n * ```ts\n * import { elementIcon } from '@siemens/element-icons';\n * import { addIcons } from '@siemens/element-ng/icon';\n *\n * @Component({`<si-icon [icon]=\"icons.elementIcon\"`})\n * class MyComponent {\n * icons = addIcons({ elementIcon })\n * }\n * ```\n */\nexport const addIcons = <T extends string>(icons: Record<T, string>): Record<T, string> => {\n const iconMap = {} as Record<T, string>;\n for (const [key, content] of Object.entries<string>(icons)) {\n const registeredIcon = registeredIcons.get(key) ?? {\n content,\n referenceCount: 0\n };\n registeredIcon.referenceCount++;\n registeredIcons.set(key, registeredIcon);\n iconMap[key as T] = key;\n }\n\n // Delete registered Icons after Component is destroyed to optimize memory usage.\n // WeakMap must not be used, as the Icon can only be removed on component destruction.\n // When using a WeakMap it would also get destroyed if it is not referenced, but the component may use it later again.\n inject(DestroyRef).onDestroy(() => {\n for (const key of Object.keys(icons)) {\n const registeredIcon = registeredIcons.get(key);\n if (registeredIcon!.referenceCount === 1) {\n registeredIcons.delete(key);\n } else {\n registeredIcon!.referenceCount--;\n }\n }\n });\n\n return iconMap;\n};\n\nconst getIcon = (key: string): string | undefined => registeredIcons.get(key)?.content;\n\n@Injectable({ providedIn: 'root' })\nexport class IconService {\n private themeService = inject(SiThemeService);\n\n getIcon(name: string): string | undefined {\n const camelCaseName = this.kebabToCamelCase(name);\n return this.themeService.themeIcons()[camelCaseName] ?? getIcon(camelCaseName);\n }\n\n private kebabToCamelCase(str: string): string {\n return str?.replace(/-./g, match => match.charAt(1).toUpperCase());\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n InjectionToken,\n input,\n Provider\n} from '@angular/core';\n\nimport { IconService } from './si-icons';\n\n/**\n * Global configuration for icons.\n */\nexport interface IconConfig {\n /**\n * If true, the si-icon component will always render the icon font instead of the svg.\n *\n * @defaultValue false\n */\n disableSvgIcons?: boolean;\n}\n\nconst ICON_CONFIG = new InjectionToken<IconConfig>('ICON_CONFIG', {\n providedIn: 'root',\n factory: () => ({ disableSvgIcons: false })\n});\n\n/**\n * Configure how Element handles icons. Provide only once in your global configuration.\n */\nexport const provideIconConfig = (config: IconConfig): Provider => ({\n provide: ICON_CONFIG,\n useValue: config\n});\n\n/**\n * Component to render a font or SVG icon depending on the configuration.\n * If no SVG icon is found, the component will fall back to render the icon-font.\n * In that case, an application must ensure that the icon font is loaded.\n * This component will only attach the respective class.\n *\n * The content of this component is hidden in the a11y tree.\n * If needed, the consumer must set proper labels.\n */\n@Component({\n selector: 'si-icon',\n template: ` <div aria-hidden=\"true\" [class]=\"svgIcon() ? 'svg-element-icon' : fontIcon()\"></div>`,\n styleUrl: './si-icon.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-icon]': 'icon()',\n '[style.--svg-element-icon]': 'svgIcon()'\n }\n})\nexport class SiIconComponent {\n /**\n * Define which icon should be rendered.\n * Provide using:\n * - value of the icon map provided by `addIcons`\n * - (not recommended): plain string in kebab-case or camelCase\n *\n * @example\n * ```ts\n * import { elementUser } from '@siemens/element-icons';\n *\n * @Component({template: `\n * <si-icon [icon]=\"icons.elementUser\" />\n * <si-icon icon=\"element-user\" />\n * <si-icon icon=\"elementUser\" />\n *\n * `})\n * class MyComponent {\n * icons = addIcons(elementUser);\n * }\n * ```\n */\n readonly icon = input.required<string>();\n\n private readonly config = inject(ICON_CONFIG);\n private readonly iconService = inject(IconService);\n\n protected readonly svgIcon = computed(() => {\n const icon = this.config.disableSvgIcons ? undefined : this.iconService.getIcon(this.icon());\n if (!icon) {\n return undefined;\n }\n\n return `url(\"${icon.replace(/\"/g, '\\\\\"')}\")`;\n });\n\n /** Icon class, which is ensured to be kebab-case. */\n protected readonly fontIcon = computed(() =>\n this.svgIcon() ? undefined : this.camelToKebabCase(this.icon())\n );\n\n private isKebabCase(str: string): boolean {\n return /^[a-z0-9]+(-[a-z0-9]+)*$/.test(str);\n }\n\n /**\n * Converts a camelCase string to kebab-case.\n * If the string is already in kebab-case, it returns it unchanged.\n *\n * Note: This conversion has limitations with mixed alphanumeric cases.\n * Complex number-letter combinations may not convert as expected.\n */\n private camelToKebabCase(str: string): string {\n return this.isKebabCase(str)\n ? str\n : str\n ?.replace(/([a-z])([A-Z0-9])/g, '$1-$2')\n .replace(/([0-9])([A-Z])/g, '$1-$2')\n .toLowerCase();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiIconLegacyComponent } from './si-icon-legacy.component';\nimport { SiIconComponent } from './si-icon.component';\n\n@NgModule({\n imports: [SiIconComponent, SiIconLegacyComponent],\n exports: [SiIconComponent, SiIconLegacyComponent]\n})\nexport class SiIconModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken } from '@angular/core';\nimport {\n elementCircleFilled,\n elementOctagonFilled,\n elementSquare45Filled,\n elementSquareFilled,\n elementStateExclamationMark,\n elementStateInfo,\n elementStatePause,\n elementStateProgress,\n elementStateQuestionMark,\n elementStateTick,\n elementTriangleFilled\n} from '@siemens/element-icons';\nimport { EntityStatusType, StatusIcon } from '@siemens/element-ng/common';\nimport { t } from '@siemens/element-translate-ng/translate';\n\nimport { addIcons } from './si-icons';\n\n/**\n * The status icon configuration.\n *\n * @experimental\n */\nexport const STATUS_ICON_CONFIG = new InjectionToken<{ [key in EntityStatusType]: StatusIcon }>(\n 'STATUS_ICON_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n addIcons({\n elementCircleFilled,\n elementOctagonFilled,\n elementSquare45Filled,\n elementSquareFilled,\n elementStateExclamationMark,\n elementStateInfo,\n elementStatePause,\n elementStateProgress,\n elementStateQuestionMark,\n elementStateTick,\n elementTriangleFilled\n });\n return {\n success: {\n icon: 'elementCircleFilled',\n color: 'status-success',\n stacked: 'elementStateTick',\n stackedColor: 'status-success-contrast',\n background: 'bg-base-success',\n severity: 5,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.SUCCESS:Success`)\n },\n info: {\n icon: 'elementSquareFilled',\n color: 'status-info',\n stacked: 'elementStateInfo',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 4,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.INFO:Info`)\n },\n caution: {\n icon: 'elementSquare45Filled',\n color: 'status-caution',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 3,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.CAUTION:Caution`)\n },\n warning: {\n icon: 'elementTriangleFilled',\n color: 'status-warning',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-warning-contrast',\n background: 'bg-base-warning',\n severity: 2,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.WARNING:Warning`)\n },\n danger: {\n icon: 'elementCircleFilled',\n color: 'status-danger',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-danger-contrast',\n background: 'bg-base-danger',\n severity: 1,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.DANGER:Danger`)\n },\n critical: {\n icon: 'elementOctagonFilled',\n color: 'status-critical',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-critical-contrast',\n background: 'bg-base-critical',\n severity: 0,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.CRITICAL:Critical`)\n },\n progress: {\n icon: 'elementCircleFilled',\n color: 'status-info',\n stacked: 'elementStateProgress',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 7,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.PROGRESS:Progress`)\n },\n pending: {\n icon: 'elementCircleFilled',\n color: 'status-caution',\n stacked: 'elementStatePause',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 6,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.PENDING:Pending`)\n },\n unknown: {\n icon: 'elementCircleFilled',\n color: 'status-neutral',\n stacked: 'elementStateQuestionMark',\n stackedColor: 'text-body',\n background: 'bg-base-0',\n severity: 8,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.UNKNOWN:Unknown`)\n }\n };\n }\n }\n);\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { EntityStatusType } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiIconComponent } from './si-icon.component';\nimport { STATUS_ICON_CONFIG } from './status-icon';\n\n@Component({\n selector: 'si-status-icon',\n imports: [SiIconComponent, SiTranslatePipe],\n template: `\n @let iconValue = statusIcon();\n @if (iconValue) {\n <si-icon [class]=\"iconValue.color\" [icon]=\"iconValue.icon\" />\n <si-icon [class]=\"iconValue.stackedColor\" [icon]=\"iconValue.stacked\" />\n <span class=\"visually-hidden\">{{ iconValue.ariaLabel | translate }}</span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'icon-stack' }\n})\nexport class SiStatusIconComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n\n readonly status = input.required<EntityStatusType>();\n\n protected readonly statusIcon = computed(() => this.statusIcons[this.status()]);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nexport const elementCheckedImageShape =\n 'data:image/svg+xml;base64,PHN2ZyBpZD0iSWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgPHRpdGxlPm9rPC90aXRsZT4KICA8cGF0aCBkPSJNMzc5LjUxLDE1Ni43NmwtMTczLDE3My03NC03NGExMiwxMiwwLDEsMC0xNywxN2w4Mi41LDgyLjVhMTIsMTIsMCwwLDAsMTcsMGwxODEuNS0xODEuNWExMiwxMiwwLDAsMC0xNy0xN1oiLz4KPC9zdmc+Cg==';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-icon.module';\nexport * from './status-icon';\nexport { addIcons } from './si-icons';\nexport * from './si-icon.component';\nexport * from './si-icon-legacy.component';\nexport * from './si-status-icon.component';\nexport { elementCheckedImageShape } from './element-icons';\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-icon.mjs","sources":["../../../../projects/element-ng/icon/si-icon-legacy.component.ts","../../../../projects/element-ng/icon/si-icon-legacy.component.html","../../../../projects/element-ng/icon/si-icons.ts","../../../../projects/element-ng/icon/si-icon.component.ts","../../../../projects/element-ng/icon/si-icon.module.ts","../../../../projects/element-ng/icon/status-icon.ts","../../../../projects/element-ng/icon/si-status-icon.component.ts","../../../../projects/element-ng/icon/element-icons.ts","../../../../projects/element-ng/icon/index.ts","../../../../projects/element-ng/icon/siemens-element-ng-icon.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input } from '@angular/core';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * @deprecated This component should no longer be used.\n * Use the {@link SiIconComponent} instead.\n * Existing usages can be replaced as follows:\n *\n * ```html\n * <!-- before -->\n * <si-icon icon=\"element-user\" color=\"text-danger\" />\n * <!-- after -->\n * <si-icon icon=\"element-user\" class=\"icon text-danger\" />\n * ```\n *\n * **Important:** Previously, the class `icon` was automatically applied. Unless not needed,\n * it must now be applied manually.\n * The icon class scales up the icon compared to its surrounding text.\n *\n * Stacked icons need to be constructed in HTML directly.\n * If applicable, the `si-status-icon` component should be used instead.\n *\n * ```html\n * <!-- before -->\n * <si-icon\n * icon=\"element-circle-filled\"\n * color=\"status-success\"\n * stackedIcon=\"element-state-tick\"\n * stackedColor=\"status-success-contrast\"\n * alt=\"Success\"\n * />\n *\n * <!-- after -->\n * <div class=\"icon-stack icon\" aria-label=\"Success\">\n * <si-icon icon=\"element-circle-filled\" class=\"status-success\" />\n * <si-icon icon=\"element-state-tick\" class=\"status-success-contrast\" />\n * </div>\n * ```\n */\n@Component({\n selector: 'si-icon-legacy',\n imports: [SiTranslatePipe],\n templateUrl: './si-icon-legacy.component.html',\n styles: ':host, span { line-height: 1; }'\n})\nexport class SiIconLegacyComponent {\n /** Icon token, see {@link https://element.siemens.io/icons/element} */\n readonly icon = input<string>();\n /** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes} */\n readonly color = input<string>();\n /** Icon token, see {@link https://element.siemens.io/fundamentals/icons/} */\n readonly stackedIcon = input<string>();\n /** Color class, see {@link https://element.siemens.io/fundamentals/icons/} */\n readonly stackedColor = input<string>();\n /** Alternative name or translation key for icon. Used for A11y. */\n readonly alt = input<TranslatableString>();\n /**\n * Text-size class for icon size, see {@link https://element.siemens.io/fundamentals/typography/#type-styles-classes}\n *\n * @defaultValue 'icon'\n */\n readonly size = input<string>('icon');\n\n protected readonly altText = computed(() => {\n return this.alt() ?? this.icon()?.replace('element-', '').split('-').join(' ') ?? '';\n });\n}\n","<span\n [class]=\"`d-inline-block position-relative ${icon() ?? ''} ${color() ?? ''} ${size()}`\"\n [attr.aria-label]=\"altText() ? (altText() | translate) : null\"\n [attr.aria-hidden]=\"!altText()\"\n [attr.role]=\"altText() ? 'img' : 'presentation'\"\n>\n @if (stackedIcon()) {\n <i\n aria-hidden=\"true\"\n [class]=\"`position-absolute start-0 ${stackedIcon()} ${stackedColor() ?? ''}`\"\n ></i>\n }\n</span>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { DestroyRef, inject, Injectable } from '@angular/core';\nimport { SiThemeService } from '@siemens/element-ng/theme';\n\ninterface RegisteredIcon {\n content: string | undefined;\n // Count how often an icon was registered to only remove it if it is no longer in use.\n referenceCount: number;\n}\n\nconst registeredIcons = new Map<string, RegisteredIcon>();\n\n/**\n * Adds the provided icons.\n * It requires an Angular InjectionContent.\n * The Icons are available until the component is destroyed.\n * Call this function only in the component which actually uses the icon.\n * Importing all icons on the global level is discouraged.\n *\n * When using a string instead of the object to use an icon,\n * use the kebab-case version of the icon name.\n *\n * @example\n * ```ts\n * import { elementIcon } from '@siemens/element-icons';\n * import { addIcons } from '@siemens/element-ng/icon';\n *\n * @Component({`<si-icon [icon]=\"icons.elementIcon\"`})\n * class MyComponent {\n * icons = addIcons({ elementIcon })\n * }\n * ```\n */\nexport const addIcons = <T extends string>(icons: Record<T, string>): Record<T, string> => {\n const iconMap = {} as Record<T, string>;\n for (const [key, content] of Object.entries<string>(icons)) {\n const registeredIcon = registeredIcons.get(key) ?? {\n content,\n referenceCount: 0\n };\n registeredIcon.referenceCount++;\n registeredIcons.set(key, registeredIcon);\n iconMap[key as T] = key;\n }\n\n // Delete registered Icons after Component is destroyed to optimize memory usage.\n // WeakMap must not be used, as the Icon can only be removed on component destruction.\n // When using a WeakMap it would also get destroyed if it is not referenced, but the component may use it later again.\n inject(DestroyRef).onDestroy(() => {\n for (const key of Object.keys(icons)) {\n const registeredIcon = registeredIcons.get(key);\n if (registeredIcon!.referenceCount === 1) {\n registeredIcons.delete(key);\n } else {\n registeredIcon!.referenceCount--;\n }\n }\n });\n\n return iconMap;\n};\n\nconst getIcon = (key: string): string | undefined => registeredIcons.get(key)?.content;\n\n@Injectable({ providedIn: 'root' })\nexport class IconService {\n private themeService = inject(SiThemeService);\n\n getIcon(name: string): string | undefined {\n const camelCaseName = this.kebabToCamelCase(name);\n return this.themeService.themeIcons()[camelCaseName] ?? getIcon(camelCaseName);\n }\n\n private kebabToCamelCase(str: string): string {\n return str?.replace(/-./g, match => match.charAt(1).toUpperCase());\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, inject, input } from '@angular/core';\n\nimport { IconService } from './si-icons';\n\n/**\n * Component to render a font or SVG icon depending on the configuration.\n * If no SVG icon is found, the component will fall back to render the icon-font.\n * In that case, an application must ensure that the icon font is loaded.\n * This component will only attach the respective class.\n *\n * The content of this component is hidden in the a11y tree.\n * If needed, the consumer must set proper labels.\n */\n@Component({\n selector: 'si-icon',\n template: ` <div aria-hidden=\"true\" [class]=\"svgIcon() ? 'svg-element-icon' : fontIcon()\"></div>`,\n styleUrl: './si-icon.component.scss',\n host: {\n '[attr.data-icon]': 'icon()',\n '[style.--svg-element-icon]': 'svgIcon()'\n }\n})\nexport class SiIconComponent {\n /**\n * Define which icon should be rendered.\n * Provide using:\n * - value of the icon map provided by `addIcons`\n * - (not recommended): plain string in kebab-case or camelCase\n *\n * @example\n * ```ts\n * import { elementUser } from '@siemens/element-icons';\n *\n * @Component({template: `\n * <si-icon [icon]=\"icons.elementUser\" />\n * <si-icon icon=\"element-user\" />\n * <si-icon icon=\"elementUser\" />\n *\n * `})\n * class MyComponent {\n * icons = addIcons(elementUser);\n * }\n * ```\n */\n readonly icon = input.required<string>();\n\n private readonly iconService = inject(IconService);\n\n protected readonly svgIcon = computed(() => {\n const icon = this.iconService.getIcon(this.icon());\n if (!icon) {\n return undefined;\n }\n\n return `url(\"${icon.replace(/\"/g, '\\\\\"')}\")`;\n });\n\n /** Icon class, which is ensured to be kebab-case. */\n protected readonly fontIcon = computed(() =>\n this.svgIcon() ? undefined : this.camelToKebabCase(this.icon())\n );\n\n private isKebabCase(str: string): boolean {\n return /^[a-z0-9]+(-[a-z0-9]+)*$/.test(str);\n }\n\n /**\n * Converts a camelCase string to kebab-case.\n * If the string is already in kebab-case, it returns it unchanged.\n *\n * Note: This conversion has limitations with mixed alphanumeric cases.\n * Complex number-letter combinations may not convert as expected.\n */\n private camelToKebabCase(str: string): string {\n return this.isKebabCase(str)\n ? str\n : str\n ?.replace(/([a-z])([A-Z0-9])/g, '$1-$2')\n .replace(/([0-9])([A-Z])/g, '$1-$2')\n .toLowerCase();\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiIconLegacyComponent } from './si-icon-legacy.component';\nimport { SiIconComponent } from './si-icon.component';\n\n@NgModule({\n imports: [SiIconComponent, SiIconLegacyComponent],\n exports: [SiIconComponent, SiIconLegacyComponent]\n})\nexport class SiIconModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { InjectionToken } from '@angular/core';\nimport {\n elementCircleFilled,\n elementOctagonFilled,\n elementSquare45Filled,\n elementSquareFilled,\n elementStateExclamationMark,\n elementStateInfo,\n elementStatePause,\n elementStateProgress,\n elementStateQuestionMark,\n elementStateTick,\n elementTriangleFilled\n} from '@siemens/element-icons';\nimport { EntityStatusType, StatusIcon } from '@siemens/element-ng/common';\nimport { t } from '@siemens/element-translate-ng/translate';\n\nimport { addIcons } from './si-icons';\n\n/**\n * The status icon configuration.\n *\n * @experimental\n */\nexport const STATUS_ICON_CONFIG = new InjectionToken<{ [key in EntityStatusType]: StatusIcon }>(\n 'STATUS_ICON_CONFIG',\n {\n providedIn: 'root',\n factory: () => {\n addIcons({\n elementCircleFilled,\n elementOctagonFilled,\n elementSquare45Filled,\n elementSquareFilled,\n elementStateExclamationMark,\n elementStateInfo,\n elementStatePause,\n elementStateProgress,\n elementStateQuestionMark,\n elementStateTick,\n elementTriangleFilled\n });\n return {\n success: {\n icon: 'elementCircleFilled',\n color: 'status-success',\n stacked: 'elementStateTick',\n stackedColor: 'status-success-contrast',\n background: 'bg-base-success',\n severity: 5,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.SUCCESS:Success`)\n },\n info: {\n icon: 'elementSquareFilled',\n color: 'status-info',\n stacked: 'elementStateInfo',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 4,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.INFO:Info`)\n },\n caution: {\n icon: 'elementSquare45Filled',\n color: 'status-caution',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 3,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.CAUTION:Caution`)\n },\n warning: {\n icon: 'elementTriangleFilled',\n color: 'status-warning',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-warning-contrast',\n background: 'bg-base-warning',\n severity: 2,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.WARNING:Warning`)\n },\n danger: {\n icon: 'elementCircleFilled',\n color: 'status-danger',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-danger-contrast',\n background: 'bg-base-danger',\n severity: 1,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.DANGER:Danger`)\n },\n critical: {\n icon: 'elementOctagonFilled',\n color: 'status-critical',\n stacked: 'elementStateExclamationMark',\n stackedColor: 'status-critical-contrast',\n background: 'bg-base-critical',\n severity: 0,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.CRITICAL:Critical`)\n },\n progress: {\n icon: 'elementCircleFilled',\n color: 'status-info',\n stacked: 'elementStateProgress',\n stackedColor: 'status-info-contrast',\n background: 'bg-base-info',\n severity: 7,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.PROGRESS:Progress`)\n },\n pending: {\n icon: 'elementCircleFilled',\n color: 'status-caution',\n stacked: 'elementStatePause',\n stackedColor: 'status-caution-contrast',\n background: 'bg-base-caution',\n severity: 6,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.PENDING:Pending`)\n },\n unknown: {\n icon: 'elementCircleFilled',\n color: 'status-neutral',\n stacked: 'elementStateQuestionMark',\n stackedColor: 'text-body',\n background: 'bg-base-0',\n severity: 8,\n ariaLabel: t(() => $localize`:@@SI_ICON_STATUS.UNKNOWN:Unknown`)\n }\n };\n }\n }\n);\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, inject, input } from '@angular/core';\nimport { EntityStatusType } from '@siemens/element-ng/common';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiIconComponent } from './si-icon.component';\nimport { STATUS_ICON_CONFIG } from './status-icon';\n\n@Component({\n selector: 'si-status-icon',\n imports: [SiIconComponent, SiTranslatePipe],\n template: `\n @let iconValue = statusIcon();\n @if (iconValue) {\n <si-icon [class]=\"iconValue.color\" [icon]=\"iconValue.icon\" />\n <si-icon [class]=\"iconValue.stackedColor\" [icon]=\"iconValue.stacked\" />\n <span class=\"visually-hidden\">{{ iconValue.ariaLabel | translate }}</span>\n }\n `,\n host: { class: 'icon-stack' }\n})\nexport class SiStatusIconComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n\n readonly status = input.required<EntityStatusType>();\n\n protected readonly statusIcon = computed(() => this.statusIcons[this.status()]);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\n\nexport const elementCheckedImageShape =\n 'data:image/svg+xml;base64,PHN2ZyBpZD0iSWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgPHRpdGxlPm9rPC90aXRsZT4KICA8cGF0aCBkPSJNMzc5LjUxLDE1Ni43NmwtMTczLDE3My03NC03NGExMiwxMiwwLDEsMC0xNywxN2w4Mi41LDgyLjVhMTIsMTIsMCwwLDAsMTcsMGwxODEuNS0xODEuNWExMiwxMiwwLDAsMC0xNy0xN1oiLz4KPC9zdmc+Cg==';\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-icon.module';\nexport * from './status-icon';\nexport { addIcons } from './si-icons';\nexport * from './si-icon.component';\nexport * from './si-icon-legacy.component';\nexport * from './si-status-icon.component';\nexport { elementCheckedImageShape } from './element-icons';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, Component } from '@angular/core';
3
3
  import { SiIconComponent } from '@siemens/element-ng/icon';
4
4
  import { SiLinkDirective } from '@siemens/element-ng/link';
5
5
  import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
@@ -20,32 +20,38 @@ class SiInfoPageComponent {
20
20
  *
21
21
  * @defaultValue 'element-warning-filled'
22
22
  */
23
- icon = input('element-warning-filled', ...(ngDevMode ? [{ debugName: "icon" }] : []));
23
+ icon = input('element-warning-filled', /* @ts-ignore */
24
+ ...(ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []));
24
25
  /**
25
26
  * Icon color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes}
26
27
  *
27
28
  * @defaultValue 'status-warning'
28
29
  */
29
- iconColor = input('status-warning', ...(ngDevMode ? [{ debugName: "iconColor" }] : []));
30
+ iconColor = input('status-warning', /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "iconColor" }] : /* istanbul ignore next */ []));
30
32
  /** A short and concise title to explain the error. */
31
- titleText = input.required(...(ngDevMode ? [{ debugName: "titleText" }] : []));
33
+ titleText = input.required(/* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "titleText" }] : /* istanbul ignore next */ []));
32
35
  /** A more detailed explanation of the error, outlining the reasoning for it and how a user can resolve it. */
33
- copyText = input(...(ngDevMode ? [undefined, { debugName: "copyText" }] : []));
36
+ copyText = input(/* @ts-ignore */
37
+ ...(ngDevMode ? [undefined, { debugName: "copyText" }] : /* istanbul ignore next */ []));
34
38
  /** A detailed instruction on how a user can resolve the error. */
35
- instructions = input(...(ngDevMode ? [undefined, { debugName: "instructions" }] : []));
39
+ instructions = input(/* @ts-ignore */
40
+ ...(ngDevMode ? [undefined, { debugName: "instructions" }] : /* istanbul ignore next */ []));
36
41
  /**
37
42
  * Use the link object if you have one option to follow. A link object
38
43
  * has a title to be displayed and can be configured with an external link,
39
44
  * a router link, or a custom action. If you want to provide multiple options,
40
45
  * add your own content into the component.
41
46
  */
42
- link = input(...(ngDevMode ? [undefined, { debugName: "link" }] : []));
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInfoPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiInfoPageComponent, isStandalone: true, selector: "si-info-page", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: true, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, instructions: { classPropertyName: "instructions", publicName: "instructions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ link = input(/* @ts-ignore */
48
+ ...(ngDevMode ? [undefined, { debugName: "link" }] : /* istanbul ignore next */ []));
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInfoPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiInfoPageComponent, isStandalone: true, selector: "si-info-page", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconColor: { classPropertyName: "iconColor", publicName: "iconColor", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: true, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, instructions: { classPropertyName: "instructions", publicName: "instructions", isSignal: true, isRequired: false, transformFunction: null }, link: { classPropertyName: "link", publicName: "link", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
45
51
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInfoPageComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInfoPageComponent, decorators: [{
47
53
  type: Component,
48
- args: [{ selector: 'si-info-page', imports: [SiLinkDirective, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"] }]
54
+ args: [{ selector: 'si-info-page', imports: [SiLinkDirective, SiIconComponent, SiTranslatePipe], template: "<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n", styles: [":host ::ng-deep .icon-size{font-size:96px}\n"] }]
49
55
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], iconColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconColor", required: false }] }], titleText: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleText", required: true }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], instructions: [{ type: i0.Input, args: [{ isSignal: true, alias: "instructions", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }] } });
50
56
 
51
57
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-info-page.mjs","sources":["../../../../projects/element-ng/info-page/si-info-page.component.ts","../../../../projects/element-ng/info-page/si-info-page.component.html","../../../../projects/element-ng/info-page/index.ts","../../../../projects/element-ng/info-page/siemens-element-ng-info-page.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * The component displays application info messages. A message uses an icon and a title, optionally a copy text,\n * instructions and a link. Replace the integrated icon by content projection of another icon or image with the\n * CSS class `.si-info-image`. Use content projection with the CSS class `si-info-actions` to inject more buttons\n * and options to interact with the page.\n */\n@Component({\n selector: 'si-info-page',\n imports: [SiLinkDirective, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-info-page.component.html',\n styleUrl: './si-info-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiInfoPageComponent {\n /**\n * The element warning icon.\n *\n * @defaultValue 'element-warning-filled'\n */\n readonly icon = input<string>('element-warning-filled');\n /**\n * Icon color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes}\n *\n * @defaultValue 'status-warning'\n */\n readonly iconColor = input<string | undefined>('status-warning');\n /** A short and concise title to explain the error. */\n readonly titleText = input.required<TranslatableString>();\n /** A more detailed explanation of the error, outlining the reasoning for it and how a user can resolve it. */\n readonly copyText = input<TranslatableString>();\n /** A detailed instruction on how a user can resolve the error. */\n readonly instructions = input<TranslatableString>();\n /**\n * Use the link object if you have one option to follow. A link object\n * has a title to be displayed and can be configured with an external link,\n * a router link, or a custom action. If you want to provide multiple options,\n * add your own content into the component.\n */\n readonly link = input<Link>();\n}\n","<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-info-page.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;AAMH;;;;;AAKG;MAQU,mBAAmB,CAAA;AAC9B;;;;AAIG;AACM,IAAA,IAAI,GAAG,KAAK,CAAS,wBAAwB,gDAAC;AACvD;;;;AAIG;AACM,IAAA,SAAS,GAAG,KAAK,CAAqB,gBAAgB,qDAAC;;AAEvD,IAAA,SAAS,GAAG,KAAK,CAAC,QAAQ,oDAAsB;;IAEhD,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;;IAEtC,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AACnD;;;;;AAKG;IACM,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAQ;uGAzBlB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,m1BCtBhC,gqBAgBA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCY,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKhD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAP/B,SAAS;+BACE,cAAc,EAAA,OAAA,EACf,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,eAAA,EAG3C,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gqBAAA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA;;;AEpBjD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-info-page.mjs","sources":["../../../../projects/element-ng/info-page/si-info-page.component.ts","../../../../projects/element-ng/info-page/si-info-page.component.html","../../../../projects/element-ng/info-page/index.ts","../../../../projects/element-ng/info-page/siemens-element-ng-info-page.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * The component displays application info messages. A message uses an icon and a title, optionally a copy text,\n * instructions and a link. Replace the integrated icon by content projection of another icon or image with the\n * CSS class `.si-info-image`. Use content projection with the CSS class `si-info-actions` to inject more buttons\n * and options to interact with the page.\n */\n@Component({\n selector: 'si-info-page',\n imports: [SiLinkDirective, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-info-page.component.html',\n styleUrl: './si-info-page.component.scss'\n})\nexport class SiInfoPageComponent {\n /**\n * The element warning icon.\n *\n * @defaultValue 'element-warning-filled'\n */\n readonly icon = input<string>('element-warning-filled');\n /**\n * Icon color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes}\n *\n * @defaultValue 'status-warning'\n */\n readonly iconColor = input<string | undefined>('status-warning');\n /** A short and concise title to explain the error. */\n readonly titleText = input.required<TranslatableString>();\n /** A more detailed explanation of the error, outlining the reasoning for it and how a user can resolve it. */\n readonly copyText = input<TranslatableString>();\n /** A detailed instruction on how a user can resolve the error. */\n readonly instructions = input<TranslatableString>();\n /**\n * Use the link object if you have one option to follow. A link object\n * has a title to be displayed and can be configured with an external link,\n * a router link, or a custom action. If you want to provide multiple options,\n * add your own content into the component.\n */\n readonly link = input<Link>();\n}\n","<div class=\"h-100 d-flex flex-column justify-content-center align-items-center p-6\">\n <ng-content select=\".si-info-image\">\n <si-icon class=\"icon-size\" [class]=\"iconColor()\" [icon]=\"icon()\" />\n </ng-content>\n <h1 class=\"my-9\">{{ titleText() | translate }}</h1>\n @if (copyText()) {\n <h2 class=\"mb-9\">{{ copyText() | translate }}</h2>\n }\n @if (instructions()) {\n <p class=\"text-pre-wrap text-center si-body-lg mb-9\">{{ instructions() | translate }}</p>\n }\n @if (link()?.title) {\n <a class=\"btn btn-primary\" [siLink]=\"link()\">{{ link()?.title | translate }}</a>\n }\n <ng-content select=\".si-info-actions\" />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-info-page.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;AAMH;;;;;AAKG;MAOU,mBAAmB,CAAA;AAC9B;;;;AAIG;IACM,IAAI,GAAG,KAAK,CAAS,wBAAwB;6EAAC;AACvD;;;;AAIG;IACM,SAAS,GAAG,KAAK,CAAqB,gBAAgB;kFAAC;;IAEvD,SAAS,GAAG,KAAK,CAAC,QAAQ;kFAAsB;;AAEhD,IAAA,QAAQ,GAAG,KAAK;4FAAsB;;AAEtC,IAAA,YAAY,GAAG,KAAK;gGAAsB;AACnD;;;;;AAKG;AACM,IAAA,IAAI,GAAG,KAAK;wFAAQ;uGAzBlB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,m1BCrBhC,gqBAgBA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCY,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAIhD,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,WACf,CAAC,eAAe,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,gqBAAA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA;;;AEjB9D;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -12,19 +12,23 @@ class SiInlineNotificationComponent {
12
12
  /**
13
13
  * Status of inline notification.
14
14
  */
15
- severity = input.required(...(ngDevMode ? [{ debugName: "severity" }] : []));
15
+ severity = input.required(/* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "severity" }] : /* istanbul ignore next */ []));
16
17
  /**
17
18
  * Heading of the message.
18
19
  */
19
- heading = input(...(ngDevMode ? [undefined, { debugName: "heading" }] : []));
20
+ heading = input(/* @ts-ignore */
21
+ ...(ngDevMode ? [undefined, { debugName: "heading" }] : /* istanbul ignore next */ []));
20
22
  /**
21
23
  * Main message of this inline notification.
22
24
  */
23
- message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
25
+ message = input.required(/* @ts-ignore */
26
+ ...(ngDevMode ? [{ debugName: "message" }] : /* istanbul ignore next */ []));
24
27
  /**
25
28
  * Optional link action for inline notification events.
26
29
  */
27
- action = input(...(ngDevMode ? [undefined, { debugName: "action" }] : []));
30
+ action = input(/* @ts-ignore */
31
+ ...(ngDevMode ? [undefined, { debugName: "action" }] : /* istanbul ignore next */ []));
28
32
  /**
29
33
  * Params passed to the translation pipe
30
34
  *
@@ -33,19 +37,20 @@ class SiInlineNotificationComponent {
33
37
  * {}
34
38
  * ```
35
39
  */
36
- translationParams = input({}, ...(ngDevMode ? [{ debugName: "translationParams" }] : []));
40
+ translationParams = input({}, /* @ts-ignore */
41
+ ...(ngDevMode ? [{ debugName: "translationParams" }] : /* istanbul ignore next */ []));
37
42
  /**
38
43
  * Displays in embedded style, w/o radius and indicator bar
39
44
  *
40
45
  * @defaultValue false
41
46
  */
42
- embedded = input(false, { ...(ngDevMode ? { debugName: "embedded" } : {}), transform: booleanAttribute });
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiInlineNotificationComponent, isStandalone: true, selector: "si-inline-notification", inputs: { severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiStatusIconComponent, selector: "si-status-icon", inputs: ["status"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default });
47
+ embedded = input(false, { ...(ngDevMode ? { debugName: "embedded" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.5", type: SiInlineNotificationComponent, isStandalone: true, selector: "si-inline-notification", inputs: { severity: { classPropertyName: "severity", publicName: "severity", isSignal: true, isRequired: true, transformFunction: null }, heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, translationParams: { classPropertyName: "translationParams", publicName: "translationParams", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"], dependencies: [{ kind: "directive", type: SiLinkDirective, selector: "[siLink]", inputs: ["siLink", "siLinkDefaultTarget", "actionParam", "activeClass", "exactMatch", "ariaCurrent"], outputs: ["activeChange"], exportAs: ["siLink"] }, { kind: "component", type: SiStatusIconComponent, selector: "si-status-icon", inputs: ["status"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Eager });
45
50
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationComponent, decorators: [{
47
52
  type: Component,
48
- args: [{ selector: 'si-inline-notification', imports: [SiLinkDirective, SiTranslatePipe, SiStatusIconComponent], changeDetection: ChangeDetectionStrategy.Default, template: "<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"] }]
53
+ args: [{ selector: 'si-inline-notification', imports: [SiLinkDirective, SiTranslatePipe, SiStatusIconComponent], changeDetection: ChangeDetectionStrategy.Eager, template: "<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n", styles: [":host{display:block;overflow:hidden;flex-shrink:0;border-radius:var(--element-button-radius)}.alert :is(div,a){padding-block-start:1px}\n"] }]
49
54
  }], propDecorators: { severity: [{ type: i0.Input, args: [{ isSignal: true, alias: "severity", required: true }] }], heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], translationParams: [{ type: i0.Input, args: [{ isSignal: true, alias: "translationParams", required: false }] }], embedded: [{ type: i0.Input, args: [{ isSignal: true, alias: "embedded", required: false }] }] } });
50
55
 
51
56
  /**
@@ -53,11 +58,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
53
58
  * SPDX-License-Identifier: MIT
54
59
  */
55
60
  class SiInlineNotificationModule {
56
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
57
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent], exports: [SiInlineNotificationComponent] });
58
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent] });
61
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
62
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent], exports: [SiInlineNotificationComponent] });
63
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationModule, imports: [SiInlineNotificationComponent] });
59
64
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiInlineNotificationModule, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: SiInlineNotificationModule, decorators: [{
61
66
  type: NgModule,
62
67
  args: [{
63
68
  imports: [SiInlineNotificationComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-inline-notification.mjs","sources":["../../../../projects/element-ng/inline-notification/si-inline-notification.component.ts","../../../../projects/element-ng/inline-notification/si-inline-notification.component.html","../../../../projects/element-ng/inline-notification/si-inline-notification.module.ts","../../../../projects/element-ng/inline-notification/index.ts","../../../../projects/element-ng/inline-notification/siemens-element-ng-inline-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { StatusType } from '@siemens/element-ng/common';\nimport { SiStatusIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-inline-notification',\n imports: [SiLinkDirective, SiTranslatePipe, SiStatusIconComponent],\n templateUrl: './si-inline-notification.component.html',\n styleUrl: './si-inline-notification.component.scss',\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class SiInlineNotificationComponent {\n /**\n * Status of inline notification.\n */\n readonly severity = input.required<StatusType>();\n\n /**\n * Heading of the message.\n */\n readonly heading = input<TranslatableString>();\n\n /**\n * Main message of this inline notification.\n */\n readonly message = input.required<TranslatableString>();\n\n /**\n * Optional link action for inline notification events.\n */\n readonly action = input<Link>();\n\n /**\n * Params passed to the translation pipe\n *\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any } | undefined>({});\n\n /**\n * Displays in embedded style, w/o radius and indicator bar\n *\n * @defaultValue false\n */\n readonly embedded = input(false, { transform: booleanAttribute });\n}\n","<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiInlineNotificationComponent } from './si-inline-notification.component';\n\n@NgModule({\n imports: [SiInlineNotificationComponent],\n exports: [SiInlineNotificationComponent]\n})\nexport class SiInlineNotificationModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-inline-notification.component';\nexport * from './si-inline-notification.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;MAcU,6BAA6B,CAAA;AACxC;;AAEG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAC,QAAQ,mDAAc;AAEhD;;AAEG;IACM,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AAE9C;;AAEG;AACM,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,kDAAsB;AAEvD;;AAEG;IACM,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAQ;AAE/B;;;;;;;AAOG;AACM,IAAA,iBAAiB,GAAG,KAAK,CAAqC,EAAE,6DAAC;AAE1E;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;uGApCtD,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,i3BCjB1C,gtBAqBA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTY,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAmB,qBAAqB,0EAAtC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,OAAA,EAAA,CAAA;;2FAK/B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;+BACE,wBAAwB,EAAA,OAAA,EACzB,CAAC,eAAe,EAAE,eAAe,EAAE,qBAAqB,CAAC,EAAA,eAAA,EAGjD,uBAAuB,CAAC,OAAO,EAAA,QAAA,EAAA,gtBAAA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA;;;AEflD;;;AAGG;MASU,0BAA0B,CAAA;uGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAA1B,0BAA0B,EAAA,OAAA,EAAA,CAH3B,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAC7B,6BAA6B,CAAA,EAAA,CAAA;AAE5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAH3B,6BAA6B,CAAA,EAAA,CAAA;;2FAG5B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,6BAA6B,CAAC;oBACxC,OAAO,EAAE,CAAC,6BAA6B;AACxC,iBAAA;;;ACXD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-inline-notification.mjs","sources":["../../../../projects/element-ng/inline-notification/si-inline-notification.component.ts","../../../../projects/element-ng/inline-notification/si-inline-notification.component.html","../../../../projects/element-ng/inline-notification/si-inline-notification.module.ts","../../../../projects/element-ng/inline-notification/index.ts","../../../../projects/element-ng/inline-notification/siemens-element-ng-inline-notification.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { booleanAttribute, ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { StatusType } from '@siemens/element-ng/common';\nimport { SiStatusIconComponent } from '@siemens/element-ng/icon';\nimport { Link, SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-inline-notification',\n imports: [SiLinkDirective, SiTranslatePipe, SiStatusIconComponent],\n templateUrl: './si-inline-notification.component.html',\n styleUrl: './si-inline-notification.component.scss',\n changeDetection: ChangeDetectionStrategy.Eager\n})\nexport class SiInlineNotificationComponent {\n /**\n * Status of inline notification.\n */\n readonly severity = input.required<StatusType>();\n\n /**\n * Heading of the message.\n */\n readonly heading = input<TranslatableString>();\n\n /**\n * Main message of this inline notification.\n */\n readonly message = input.required<TranslatableString>();\n\n /**\n * Optional link action for inline notification events.\n */\n readonly action = input<Link>();\n\n /**\n * Params passed to the translation pipe\n *\n * @defaultValue\n * ```\n * {}\n * ```\n */\n readonly translationParams = input<{ [key: string]: any } | undefined>({});\n\n /**\n * Displays in embedded style, w/o radius and indicator bar\n *\n * @defaultValue false\n */\n readonly embedded = input(false, { transform: booleanAttribute });\n}\n","<div\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n [class]=\"`alert d-flex align-items-start ${severity() ? `alert-${severity()}` : ''}`\"\n [hidden]=\"!severity()\"\n>\n <si-status-icon class=\"icon me-4 flex-shrink-0\" [status]=\"severity()\" />\n\n <div class=\"d-flex flex-grow-1 flex-wrap\">\n @if (heading()) {\n <strong class=\"pe-2\">{{ heading() | translate: translationParams() }} </strong>\n }\n <span>{{ message() | translate: translationParams() }}</span>\n </div>\n @if (action() && action()?.title) {\n <a class=\"alert-link ms-4 flex-shrink-0\" [siLink]=\"action()\">\n {{ action()?.title | translate: translationParams() }}\n </a>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiInlineNotificationComponent } from './si-inline-notification.component';\n\n@NgModule({\n imports: [SiInlineNotificationComponent],\n exports: [SiInlineNotificationComponent]\n})\nexport class SiInlineNotificationModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-inline-notification.component';\nexport * from './si-inline-notification.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;MAcU,6BAA6B,CAAA;AACxC;;AAEG;IACM,QAAQ,GAAG,KAAK,CAAC,QAAQ;iFAAc;AAEhD;;AAEG;AACM,IAAA,OAAO,GAAG,KAAK;2FAAsB;AAE9C;;AAEG;IACM,OAAO,GAAG,KAAK,CAAC,QAAQ;gFAAsB;AAEvD;;AAEG;AACM,IAAA,MAAM,GAAG,KAAK;0FAAQ;AAE/B;;;;;;;AAOG;IACM,iBAAiB,GAAG,KAAK,CAAqC,EAAE;0FAAC;AAE1E;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;uGApCtD,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,i3BCjB1C,gtBAqBA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTY,eAAe,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAmB,qBAAqB,0EAAtC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA;;2FAK/B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAPzC,SAAS;+BACE,wBAAwB,EAAA,OAAA,EACzB,CAAC,eAAe,EAAE,eAAe,EAAE,qBAAqB,CAAC,EAAA,eAAA,EAGjD,uBAAuB,CAAC,KAAK,EAAA,QAAA,EAAA,gtBAAA,EAAA,MAAA,EAAA,CAAA,2IAAA,CAAA,EAAA;;;AEfhD;;;AAGG;MASU,0BAA0B,CAAA;uGAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAA1B,0BAA0B,EAAA,OAAA,EAAA,CAH3B,6BAA6B,CAAA,EAAA,OAAA,EAAA,CAC7B,6BAA6B,CAAA,EAAA,CAAA;AAE5B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YAH3B,6BAA6B,CAAA,EAAA,CAAA;;2FAG5B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,6BAA6B,CAAC;oBACxC,OAAO,EAAE,CAAC,6BAA6B;AACxC,iBAAA;;;ACXD;;;AAGG;;ACHH;;AAEG;;;;"}