@siemens/element-ng 49.0.0-rc.3 → 49.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/LICENSE.md +1 -1
  2. package/README.md +1 -1
  3. package/fesm2022/siemens-element-ng-about.mjs +3 -3
  4. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  5. package/fesm2022/siemens-element-ng-accordion.mjs +6 -6
  6. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  7. package/fesm2022/siemens-element-ng-action-modal.mjs +6 -6
  8. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  9. package/fesm2022/siemens-element-ng-ag-grid.mjs +16 -16
  10. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  11. package/fesm2022/siemens-element-ng-application-header.mjs +17 -17
  12. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  13. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +7 -7
  14. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  15. package/fesm2022/siemens-element-ng-autocomplete.mjs +5 -5
  16. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  17. package/fesm2022/siemens-element-ng-avatar.mjs +5 -5
  18. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  19. package/fesm2022/siemens-element-ng-badge.mjs +2 -2
  20. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  21. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +5 -5
  22. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  23. package/fesm2022/siemens-element-ng-breadcrumb.mjs +6 -6
  24. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  25. package/fesm2022/siemens-element-ng-card.mjs +5 -5
  26. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  27. package/fesm2022/siemens-element-ng-chat-messages.mjs +11 -11
  28. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-circle-status.mjs +3 -3
  30. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-color-picker.mjs +2 -2
  32. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +4 -4
  34. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-common.mjs +14 -14
  36. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-connection-strength.mjs +3 -3
  38. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-content-action-bar.mjs +4 -4
  40. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-copyright-notice.mjs +4 -4
  42. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-dashboard.mjs +15 -15
  44. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-datatable.mjs +3 -3
  46. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-date-range-filter.mjs +5 -5
  48. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-datepicker.mjs +19 -19
  50. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +4 -4
  52. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-empty-state.mjs +3 -3
  54. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-file-uploader.mjs +6 -6
  56. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-filter-bar.mjs +4 -4
  58. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-filtered-search.mjs +11 -11
  60. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-footer.mjs +3 -3
  62. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-form.mjs +9 -9
  64. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-formly.mjs +26 -26
  66. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-header-dropdown.mjs +5 -5
  68. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-help-button.mjs +2 -2
  70. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-icon-status.mjs +3 -3
  72. package/fesm2022/siemens-element-ng-icon-status.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-icon.mjs +23 -38
  74. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-info-page.mjs +2 -2
  76. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-inline-notification.mjs +3 -3
  78. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-ip-input.mjs +4 -4
  80. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-landing-page.mjs +7 -7
  82. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-language-switcher.mjs +3 -3
  84. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-link.mjs +4 -4
  86. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-list-details.mjs +9 -9
  88. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-loading-spinner.mjs +6 -6
  90. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-localization.mjs +4 -4
  92. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-main-detail-container.mjs +3 -3
  94. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +3 -3
  96. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  97. package/fesm2022/siemens-element-ng-menu.mjs +12 -12
  98. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  99. package/fesm2022/siemens-element-ng-modal.mjs +6 -5
  100. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  101. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +11 -10
  102. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  103. package/fesm2022/siemens-element-ng-navbar.mjs +6 -6
  104. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  105. package/fesm2022/siemens-element-ng-notification-item.mjs +2 -2
  106. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  107. package/fesm2022/siemens-element-ng-number-input.mjs +3 -3
  108. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  109. package/fesm2022/siemens-element-ng-pagination.mjs +3 -3
  110. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  111. package/fesm2022/siemens-element-ng-password-strength.mjs +4 -4
  112. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  113. package/fesm2022/siemens-element-ng-password-toggle.mjs +3 -3
  114. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  115. package/fesm2022/siemens-element-ng-phone-number.mjs +4 -4
  116. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  117. package/fesm2022/siemens-element-ng-photo-upload.mjs +3 -3
  118. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  119. package/fesm2022/siemens-element-ng-pills-input.mjs +8 -8
  120. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  121. package/fesm2022/siemens-element-ng-popover-legacy.mjs +3 -3
  122. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  123. package/fesm2022/siemens-element-ng-popover.mjs +5 -5
  124. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  125. package/fesm2022/siemens-element-ng-progressbar.mjs +3 -3
  126. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  127. package/fesm2022/siemens-element-ng-resize-observer.mjs +5 -5
  128. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  129. package/fesm2022/siemens-element-ng-result-details-list.mjs +4 -4
  130. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  131. package/fesm2022/siemens-element-ng-search-bar.mjs +3 -3
  132. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  133. package/fesm2022/siemens-element-ng-select.mjs +21 -21
  134. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  135. package/fesm2022/siemens-element-ng-shadow-root.mjs +2 -2
  136. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  137. package/fesm2022/siemens-element-ng-side-panel.mjs +5 -5
  138. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  139. package/fesm2022/siemens-element-ng-skip-links.mjs +4 -4
  140. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  141. package/fesm2022/siemens-element-ng-slider.mjs +3 -3
  142. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  143. package/fesm2022/siemens-element-ng-sort-bar.mjs +13 -3
  144. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  145. package/fesm2022/siemens-element-ng-split.mjs +3 -3
  146. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  147. package/fesm2022/siemens-element-ng-status-bar.mjs +5 -5
  148. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  149. package/fesm2022/siemens-element-ng-status-counter.mjs +2 -2
  150. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  151. package/fesm2022/siemens-element-ng-status-toggle.mjs +2 -2
  152. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  153. package/fesm2022/siemens-element-ng-summary-chip.mjs +2 -2
  154. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  155. package/fesm2022/siemens-element-ng-summary-widget.mjs +2 -2
  156. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  157. package/fesm2022/siemens-element-ng-system-banner.mjs +2 -2
  158. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  159. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +5 -5
  160. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  161. package/fesm2022/siemens-element-ng-tabs.mjs +6 -6
  162. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  163. package/fesm2022/siemens-element-ng-theme.mjs +5 -19
  164. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  165. package/fesm2022/siemens-element-ng-threshold.mjs +4 -4
  166. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  167. package/fesm2022/siemens-element-ng-toast-notification.mjs +4 -4
  168. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  169. package/fesm2022/siemens-element-ng-tooltip.mjs +14 -11
  170. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  171. package/fesm2022/siemens-element-ng-tour.mjs +4 -4
  172. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  173. package/fesm2022/siemens-element-ng-translate.mjs +1 -1
  174. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  175. package/fesm2022/siemens-element-ng-tree-view.mjs +10 -10
  176. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  177. package/fesm2022/siemens-element-ng-typeahead.mjs +6 -6
  178. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  179. package/fesm2022/siemens-element-ng-wizard.mjs +5 -5
  180. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  181. package/fesm2022/siemens-element-ng.mjs +1 -1
  182. package/fesm2022/siemens-element-ng.mjs.map +1 -1
  183. package/package.json +5 -4
  184. package/schematics/migrations/data/class-member-replacement.js +1 -1
  185. package/schematics/migrations/data/element-class-changes.js +1 -1
  186. package/schematics/migrations/data/index.js +1 -1
  187. package/schematics/migrations/data/migration-test-data.js +1 -1
  188. package/schematics/migrations/data/symbol-renaming.js +29 -0
  189. package/schematics/migrations/element-migration/element-migration.js +1 -1
  190. package/schematics/migrations/element-migration/index.js +1 -1
  191. package/schematics/migrations/icon-path-migration/icon-path-migration.js +1 -1
  192. package/schematics/migrations/icon-path-migration/index.js +1 -1
  193. package/schematics/migrations/ngx-translate/index.js +1 -1
  194. package/schematics/migrations/utilities/attribute-selector.migration.js +1 -1
  195. package/schematics/migrations/utilities/class-member-replacement.migration.js +1 -1
  196. package/schematics/migrations/utilities/component-property-name.migration.js +1 -1
  197. package/schematics/migrations/utilities/element-class-change.migration.js +1 -1
  198. package/schematics/migrations/utilities/element-selector.migration.js +1 -1
  199. package/schematics/migrations/utilities/index.js +1 -1
  200. package/schematics/migrations/utilities/symbol-removal.migration.js +1 -1
  201. package/schematics/migrations/utilities/symbol-renaming.migration.js +1 -1
  202. package/schematics/ng-add/index.js +1 -1
  203. package/schematics/ng-update/index.js +13 -3
  204. package/schematics/utils/html-utils.js +1 -1
  205. package/schematics/utils/index.js +1 -1
  206. package/schematics/utils/project-utils.js +1 -1
  207. package/schematics/utils/schematics-file-system.js +1 -1
  208. package/schematics/utils/template-utils.js +1 -1
  209. package/schematics/utils/ts-compiler-host.js +1 -1
  210. package/schematics/utils/ts-utils.js +1 -1
  211. package/types/siemens-element-ng-about.d.ts +1 -1
  212. package/types/siemens-element-ng-action-modal.d.ts +1 -1
  213. package/types/siemens-element-ng-ag-grid.d.ts +3 -3
  214. package/types/siemens-element-ng-application-header.d.ts +3 -3
  215. package/types/siemens-element-ng-breadcrumb-router.d.ts +1 -1
  216. package/types/siemens-element-ng-breadcrumb.d.ts +1 -1
  217. package/types/siemens-element-ng-chat-messages.d.ts +1 -1
  218. package/types/siemens-element-ng-column-selection-dialog.d.ts +1 -1
  219. package/types/siemens-element-ng-common.d.ts +9 -9
  220. package/types/siemens-element-ng-content-action-bar.d.ts +1 -1
  221. package/types/siemens-element-ng-copyright-notice.d.ts +1 -1
  222. package/types/siemens-element-ng-datatable.d.ts +1 -1
  223. package/types/siemens-element-ng-date-range-filter.d.ts +1 -1
  224. package/types/siemens-element-ng-datepicker.d.ts +1 -1
  225. package/types/siemens-element-ng-electron-titlebar.d.ts +1 -1
  226. package/types/siemens-element-ng-file-uploader.d.ts +1 -1
  227. package/types/siemens-element-ng-filter-bar.d.ts +1 -1
  228. package/types/siemens-element-ng-filtered-search.d.ts +1 -1
  229. package/types/siemens-element-ng-form.d.ts +4 -4
  230. package/types/siemens-element-ng-formly.d.ts +5 -5
  231. package/types/siemens-element-ng-header-dropdown.d.ts +1 -1
  232. package/types/siemens-element-ng-icon-status.d.ts +1 -1
  233. package/types/siemens-element-ng-icon.d.ts +4 -11
  234. package/types/siemens-element-ng-ip-input.d.ts +1 -1
  235. package/types/siemens-element-ng-landing-page.d.ts +2 -2
  236. package/types/siemens-element-ng-language-switcher.d.ts +1 -1
  237. package/types/siemens-element-ng-link.d.ts +2 -2
  238. package/types/siemens-element-ng-localization.d.ts +1 -1
  239. package/types/siemens-element-ng-menu.d.ts +2 -2
  240. package/types/siemens-element-ng-modal.d.ts +2 -2
  241. package/types/siemens-element-ng-navbar-vertical.d.ts +1 -1
  242. package/types/siemens-element-ng-navbar.d.ts +2 -2
  243. package/types/siemens-element-ng-phone-number.d.ts +1 -1
  244. package/types/siemens-element-ng-result-details-list.d.ts +1 -1
  245. package/types/siemens-element-ng-select.d.ts +4 -4
  246. package/types/siemens-element-ng-shadow-root.d.ts +1 -1
  247. package/types/siemens-element-ng-side-panel.d.ts +1 -1
  248. package/types/siemens-element-ng-sort-bar.d.ts +10 -0
  249. package/types/siemens-element-ng-split.d.ts +1 -1
  250. package/types/siemens-element-ng-status-bar.d.ts +1 -1
  251. package/types/siemens-element-ng-status-toggle.d.ts +1 -1
  252. package/types/siemens-element-ng-tabs-legacy.d.ts +1 -1
  253. package/types/siemens-element-ng-theme.d.ts +3 -6
  254. package/types/siemens-element-ng-toast-notification.d.ts +1 -1
  255. package/types/siemens-element-ng-tooltip.d.ts +4 -3
  256. package/types/siemens-element-ng-tour.d.ts +1 -1
  257. package/types/siemens-element-ng-translate.d.ts +1 -1
  258. package/types/siemens-element-ng-tree-view.d.ts +4 -4
  259. package/types/siemens-element-ng-typeahead.d.ts +2 -2
  260. package/types/siemens-element-ng.d.ts +1 -1
  261. package/schematics/migrations/index.js +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-header-dropdown.mjs","sources":["../../../../projects/element-ng/header-dropdown/si-header.model.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-trigger.directive.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown.component.html","../../../../projects/element-ng/header-dropdown/si-header-dropdown-item.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-item.component.html","../../../../projects/element-ng/header-dropdown/si-header-dropdown-items-factory.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-items-factory.component.html","../../../../projects/element-ng/header-dropdown/index.ts","../../../../projects/element-ng/header-dropdown/siemens-element-ng-header-dropdown.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\n\n/** @internal */\nexport interface HeaderWithDropdowns {\n /** Called whenever an item is triggered that is not opening another dropdown. */\n onDropdownItemTriggered?(): void;\n /** Whether the dropdown should be opened inline. */\n inlineDropdown?: Observable<boolean>;\n /** The position of the dropdown if opened in an overlay. */\n overlayPosition?: ConnectedPosition[];\n /** Called whenever a dropdown is opened **/\n dropdownOpened?(trigger: SiHeaderDropdownTriggerDirective): void;\n /** Called whenever a dropdown is close **/\n dropdownClosed?(trigger: SiHeaderDropdownTriggerDirective): void;\n}\n\n/** @internal */\nexport const SI_HEADER_WITH_DROPDOWNS = new InjectionToken<HeaderWithDropdowns>(\n 'si-header.with-dropdowns'\n);\n\n/**\n * Can be used to pass context-specific options to a header-dropdown\n * that should / or cannot be provided by a consuming application.\n * @internal\n */\nexport interface HeaderDropdownOptions {\n /**\n * If the inline navbar is already wrapped in a focus trap,\n * set this property to prevent the header-dropdown from creating a focus trap.\n */\n disableRootFocusTrapForInlineMode: boolean;\n}\n\n/** @internal */\nexport const SI_HEADER_DROPDOWN_OPTIONS = new InjectionToken<HeaderDropdownOptions>(\n 'si-header-dropdown.options'\n);\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n inject,\n Injector,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { of, Subject } from 'rxjs';\nimport { filter, skip, take, takeUntil } from 'rxjs/operators';\n\nimport { SI_HEADER_WITH_DROPDOWNS } from './si-header.model';\n\n@Component({ template: '', host: { '[attr.aria-owns]': 'ariaOwns()' } })\nclass SiHeaderAnchorComponent {\n readonly ariaOwns = input<string>();\n}\n\n/**\n * Trigger to open dropdowns in a navbar.\n * A dropdown will always be attached to the view, even if not visible.\n *\n * If a dropdown is opened in desktop mode, it will be reattached to an overlay while being opened.\n */\n@Directive({\n selector: '[siHeaderDropdownTriggerFor]',\n host: {\n class: 'dropdown-toggle'\n },\n exportAs: 'siHeaderDropdownTrigger'\n})\nexport class SiHeaderDropdownTriggerDirective implements OnChanges, OnInit, OnDestroy {\n private static idCounter = 0;\n\n /** Template that be rendered inside the dropdown. */\n readonly dropdown = input.required<TemplateRef<unknown>>({ alias: 'siHeaderDropdownTriggerFor' });\n /** Data that should be passed as template context to the dropdown. */\n readonly dropdownData = input<unknown>();\n /** Emits whenever a dropdown is opened or closed. */\n readonly openChange = output<boolean>();\n\n private readonly dropdownClose = new Subject<void>();\n\n /** Child triggers will set themselves here if they are open. */\n private openSubmenu?: SiHeaderDropdownTriggerDirective;\n\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly parent = inject(SiHeaderDropdownTriggerDirective, {\n optional: true,\n skipSelf: true\n });\n /** @internal */\n readonly navbar = inject(SI_HEADER_WITH_DROPDOWNS, { optional: true });\n\n // we need to create a new injector, so that the parent can be injected properly\n private readonly injector = Injector.create({ parent: inject(Injector), providers: [] });\n private viewRef?: EmbeddedViewRef<unknown>;\n private portal?: TemplatePortal<unknown>;\n private overlayRef?: OverlayRef;\n\n /** @internal */\n readonly level: number = this.parent ? this.parent.level + 1 : 1;\n\n // used to prevent immediate re-creation of the overlay if this trigger was clicked while overlay is open\n private destroying = false;\n\n /** @internal */\n @HostBinding('id') readonly id =\n `si-navbar-dropdown-trigger-${SiHeaderDropdownTriggerDirective.idCounter++}`;\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n @HostBinding('class.show') @HostBinding('attr.aria-expanded') protected _isOpen = false;\n\n /** @internal */\n @HostBinding('attr.aria-controls') readonly ariaControls =\n `si-navbar-dropdown-${SiHeaderDropdownTriggerDirective.idCounter}`;\n\n private headerAnchorComponentRef?: ComponentRef<SiHeaderAnchorComponent>;\n\n /** Whether the dropdown is open. */\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n /** @internal */\n get isOverlay(): boolean {\n return !!this.overlayRef;\n }\n\n ngOnChanges(): void {\n if (this.portal) {\n this.portal.templateRef = this.dropdown();\n this.portal.context = this.dropdownData();\n }\n }\n\n ngOnInit(): void {\n // Always attach the dropdown, so that it can be used with routerLinkActive\n this.attachDropdownInline();\n }\n\n ngOnDestroy(): void {\n this.close();\n this.dropdownClose.complete();\n }\n\n /** Opens the dropdown. */\n open(): void {\n if (this.destroying || this._isOpen) {\n return;\n }\n\n (this.navbar?.inlineDropdown ?? of(false)).pipe(take(1)).subscribe(inline => {\n this._isOpen = true;\n if (!inline) {\n this.attachDropdownOverlay();\n }\n this.navbar?.inlineDropdown\n ?.pipe(skip(1), takeUntil(this.dropdownClose))\n .subscribe(() => this.close());\n });\n\n if (this.parent) {\n this.parent.openSubmenu = this;\n }\n\n if (this.navbar?.dropdownOpened) {\n this.navbar?.dropdownOpened(this);\n }\n this.openChange.emit(true);\n }\n\n /** Closes the dropdown. */\n close(options?: { all?: boolean }): void {\n if (!this._isOpen) {\n return;\n }\n\n if (this.openSubmenu) {\n this.openSubmenu.close();\n }\n\n this.dropdownClose.next();\n this._isOpen = false;\n if (this.overlayRef) {\n this.destroying = true;\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.viewRef?.destroy();\n this.portal = undefined;\n this.overlayRef = undefined;\n this.headerAnchorComponentRef?.destroy();\n // do not use queueMicrotask, it executed to early\n setTimeout(() => (this.destroying = false));\n this.attachDropdownInline();\n } else {\n this.viewRef?.markForCheck();\n }\n\n if (this.parent) {\n this.parent.openSubmenu = undefined;\n }\n\n if (options?.all && this.parent) {\n this.parent.close(options);\n } else {\n if (this.navbar?.dropdownClosed) {\n this.navbar?.dropdownClosed(this);\n }\n this.openChange.emit(false);\n }\n }\n\n @HostListener('click')\n protected click(): void {\n if (this._isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n private attachDropdownInline(): void {\n this.viewRef = this.viewContainerRef.createEmbeddedView(this.dropdown(), this.dropdownData(), {\n injector: this.injector\n });\n this.viewRef.markForCheck();\n }\n\n private attachDropdownOverlay(): void {\n this.viewRef?.destroy();\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(\n this.navbar?.overlayPosition ??\n (this.level > 1\n ? [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 2\n }\n ]\n : [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -4\n }\n ])\n )\n });\n this.portal = new TemplatePortal(\n this.dropdown(),\n this.viewContainerRef,\n this.dropdownData(),\n this.injector\n );\n this.viewRef = this.overlayRef.attach(this.portal);\n this.headerAnchorComponentRef = this.viewContainerRef.createComponent(SiHeaderAnchorComponent);\n this.headerAnchorComponentRef.setInput('ariaOwns', this.ariaControls);\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(event => event.type === 'click'),\n filter(() => !this.openSubmenu),\n takeUntil(this.dropdownClose),\n take(1)\n )\n .subscribe(() => this.close());\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n viewChild,\n DOCUMENT\n} from '@angular/core';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from './si-header.model';\n\n/**\n * Wrapper component for {@link SiHeaderDropdownItemComponent}.\n * Must only be opened using an {@link SiHeaderDropdownTriggerDirective}.\n */\n@Component({\n selector: 'si-header-dropdown',\n imports: [A11yModule],\n templateUrl: './si-header-dropdown.component.html',\n styles: ':host.sub-menu {min-inline-size: 200px}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu position-static',\n role: 'group',\n '[id]': 'trigger.ariaControls',\n '[attr.aria-labelledby]': 'trigger.id'\n }\n})\nexport class SiHeaderDropdownComponent {\n /** @internal */\n protected trigger = inject(SiHeaderDropdownTriggerDirective);\n\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private previousElement: Element | null = null;\n private readonly document = inject(DOCUMENT);\n private readonly options = inject(SI_HEADER_DROPDOWN_OPTIONS, { optional: true });\n\n constructor() {\n // The autoFocus feature of the focus trap is not enough, as this component is not newly created when opened in mobile (inline).\n // But we still need autofocus in desktop mode, as the close event is never executed (component is destroyed before).\n this.trigger.openChange.subscribe(change => {\n if (!this.trigger.isOverlay && this.trapFocus && change) {\n this.previousElement = this.document.activeElement;\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n } else {\n if (\n this.previousElement &&\n 'focus' in this.previousElement &&\n typeof this.previousElement.focus === 'function'\n ) {\n this.previousElement.focus();\n }\n this.previousElement = null;\n }\n });\n }\n\n /** @internal */\n @HostBinding('class.show')\n protected get show(): boolean {\n return this.trigger.isOpen;\n }\n\n /** @internal */\n @HostBinding('class.header-dropdown-overlay') protected get overlay(): boolean {\n return this.trigger.isOverlay;\n }\n\n /** @internal */\n @HostBinding('class.sub-menu') protected get submenu(): boolean {\n return this.trigger.level > 1;\n }\n\n /** @internal */\n protected get trapFocus(): boolean {\n return (\n this.trigger.isOverlay ||\n (!this.options?.disableRootFocusTrapForInlineMode && this.trigger.level === 1)\n );\n }\n\n /** @internal */\n @HostListener('keydown.escape')\n protected escape(): void {\n this.trigger?.close();\n }\n}\n","<div [cdkTrapFocus]=\"trapFocus\" [cdkTrapFocusAutoCapture]=\"this.trigger.isOverlay\">\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input } from '@angular/core';\nimport { elementDown2, elementOk, elementRecordFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SI_HEADER_WITH_DROPDOWNS } from './si-header.model';\n\n/**\n * Creates a dropdown-item. Must be used within an {@link SiHeaderDropdownComponent}.\n */\n@Component({\n selector: 'si-header-dropdown-item, a[si-header-dropdown-item], button[si-header-dropdown-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-dropdown-item.component.html',\n styleUrl: './si-header-dropdown-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-item focus-inside'\n }\n})\nexport class SiHeaderDropdownItemComponent {\n protected readonly icons = addIcons({ elementDown2, elementOk, elementRecordFilled });\n\n /** Optional icon that will be rendered before the label. */\n readonly icon = input<string>();\n /** Badge that is rendered after the label. */\n readonly badge = input<string | number>();\n /** Badge (always red) that is attached to the icon. */\n readonly iconBadge = input<string | number>();\n /** Color of the badge (not iconBadge). */\n readonly badgeColor = input<string>();\n /** Whether the icon is checked with a radio or check mark. */\n readonly checked = input<'radio' | 'check' | ''>();\n\n protected readonly ownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly parentTrigger = inject(SiHeaderDropdownTriggerDirective, { skipSelf: true });\n protected readonly navbar = inject(SI_HEADER_WITH_DROPDOWNS, { optional: true });\n\n @HostListener('click')\n protected click(): void {\n if (!this.ownTrigger) {\n this.parentTrigger.close({ all: true });\n if (this.navbar?.onDropdownItemTriggered) {\n this.navbar?.onDropdownItemTriggered();\n }\n }\n }\n}\n","@if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()!\" />\n}\n@if (iconBadge()) {\n <div class=\"badge-text\">{{ iconBadge() }}</div>\n}\n<span class=\"item-title text-truncate\">\n <ng-content />\n</span>\n<div class=\"item-end ps-2 d-flex me-n3 ms-auto gap-1\">\n @if (badge()) {\n <span class=\"mx-0 me-1 ms-2 badge\" [class]=\"`bg-${badgeColor() || 'default'}`\">{{\n badge()\n }}</span>\n }\n @if (checked() === 'check') {\n <si-icon [icon]=\"icons.elementOk\" />\n }\n @if (checked() === 'radio') {\n <si-icon class=\"icon-sm me-2\" [icon]=\"icons.elementRecordFilled\" />\n }\n @if (ownTrigger) {\n <si-icon class=\"dropdown-caret m-0 ps-0\" [icon]=\"icons.elementDown2\" />\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input, output } from '@angular/core';\nimport { MenuItem } from '@siemens/element-ng/common';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiHeaderDropdownItemComponent } from './si-header-dropdown-item.component';\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SiHeaderDropdownComponent } from './si-header-dropdown.component';\n\n/**\n * A factory to render multiple {@link MenuItem}.\n * Requires a wrapping {@link SiHeaderDropdownComponent}.\n *\n * @internal\n */\n@Component({\n selector: 'si-header-dropdown-items-factory',\n imports: [\n SiHeaderDropdownComponent,\n SiHeaderDropdownItemComponent,\n SiTranslatePipe,\n SiLinkDirective,\n SiHeaderDropdownTriggerDirective\n ],\n templateUrl: './si-header-dropdown-items-factory.component.html'\n})\nexport class SiHeaderDropdownItemsFactoryComponent {\n readonly items = input.required<MenuItem[]>();\n readonly activeChange = output<boolean>();\n}\n","@for (item of items(); track item) {\n @if (item.isHeading) {\n <div class=\"dropdown-item dropdown-header dropdown-item-static\">\n {{ item.title | translate }}\n </div>\n } @else {\n @if (item.title !== '-') {\n @if (item.items) {\n <button\n type=\"button\"\n si-header-dropdown-item\n [icon]=\"item.icon\"\n [badge]=\"item.badgeStyle !== 'dot' ? item.badge : undefined\"\n [badgeColor]=\"item.badgeColor\"\n [iconBadge]=\"item.badgeStyle === 'dot' ? item.badge : undefined\"\n [siHeaderDropdownTriggerFor]=\"dropdown\"\n >\n {{ item.title | translate }}\n </button>\n <ng-template #dropdown>\n <si-header-dropdown>\n <si-header-dropdown-items-factory [items]=\"item.items\" />\n </si-header-dropdown>\n </ng-template>\n } @else {\n <a\n si-header-dropdown-item\n activeClass=\"active\"\n [siLink]=\"item\"\n [icon]=\"item.icon\"\n [badge]=\"item.badgeStyle !== 'dot' ? item.badge : undefined\"\n [badgeColor]=\"item.badgeColor\"\n [iconBadge]=\"item.badgeStyle === 'dot' ? item.badge : undefined\"\n [checked]=\"item.selectionState\"\n (activeChange)=\"activeChange.emit($event)\"\n >\n {{ item.title | translate }}\n </a>\n }\n } @else {\n <div class=\"dropdown-divider\"></div>\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-header-dropdown.component';\nexport * from './si-header-dropdown-trigger.directive';\nexport * from './si-header-dropdown-item.component';\nexport * from './si-header-dropdown-items-factory.component';\nexport * from './si-header.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAwBA;MACa,wBAAwB,GAAG,IAAI,cAAc,CACxD,0BAA0B;AAgB5B;MACa,0BAA0B,GAAG,IAAI,cAAc,CAC1D,4BAA4B;;AC5C9B;;;AAGG;AA0BH,MACM,uBAAuB,CAAA;IAClB,QAAQ,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;uGAD/B,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,+QADN,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAD5B,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,YAAY,EAAE,EAAE;;AAKvE;;;;;AAKG;MAQU,gCAAgC,CAAA;AACnC,IAAA,OAAO,SAAS,GAAG,CAAC;;IAGnB,QAAQ,GAAG,KAAK,CAAC,QAAQ,oDAAyB,KAAK,EAAE,4BAA4B,EAAA,CAAG;;IAExF,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAW;;IAE/B,UAAU,GAAG,MAAM,EAAW;AAEtB,IAAA,aAAa,GAAG,IAAI,OAAO,EAAQ;;AAG5C,IAAA,WAAW;AAEF,IAAA,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAC3C,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AACxD,IAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,IAAA,MAAM,GAAG,MAAM,CAAC,gCAAgC,EAAE;AACjE,QAAA,QAAQ,EAAE,IAAI;AACd,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;;IAEO,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;AAGrD,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;AAChF,IAAA,OAAO;AACP,IAAA,MAAM;AACN,IAAA,UAAU;;AAGT,IAAA,KAAK,GAAW,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;;IAGxD,UAAU,GAAG,KAAK;;AAGE,IAAA,EAAE,GAC5B,CAAA,2BAAA,EAA8B,gCAAgC,CAAC,SAAS,EAAE,EAAE;;IAGN,OAAO,GAAG,KAAK;;AAG3C,IAAA,YAAY,GACtD,CAAA,mBAAA,EAAsB,gCAAgC,CAAC,SAAS,EAAE;AAE5D,IAAA,wBAAwB;;AAGhC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;;AAGA,IAAA,IAAI,SAAS,GAAA;AACX,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU;IAC1B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE;QAC3C;IACF;IAEA,QAAQ,GAAA;;QAEN,IAAI,CAAC,oBAAoB,EAAE;IAC7B;IAEA,WAAW,GAAA;QACT,IAAI,CAAC,KAAK,EAAE;AACZ,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;IAC/B;;IAGA,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE;YACnC;QACF;QAEA,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAG;AAC1E,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;YACnB,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,CAAC,qBAAqB,EAAE;YAC9B;YACA,IAAI,CAAC,MAAM,EAAE;AACX,kBAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;iBAC5C,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AAClC,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI;QAChC;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE;AAC/B,YAAA,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;QACnC;AACA,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B;;AAGA,IAAA,KAAK,CAAC,OAA2B,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB;QACF;AAEA,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;QAC1B;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;AACzB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI;AACtB,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;AACxB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,GAAG,SAAS;AACvB,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;AAC3B,YAAA,IAAI,CAAC,wBAAwB,EAAE,OAAO,EAAE;;AAExC,YAAA,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,oBAAoB,EAAE;QAC7B;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE;QAC9B;AAEA,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS;QACrC;QAEA,IAAI,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE;AAC/B,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE;AAC/B,gBAAA,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC;YACnC;AACA,YAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B;IACF;IAGU,KAAK,GAAA;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,EAAE;QACd;aAAO;YACL,IAAI,CAAC,IAAI,EAAE;QACb;IACF;IAEQ,oBAAoB,GAAA;AAC1B,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE;YAC5F,QAAQ,EAAE,IAAI,CAAC;AAChB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;IAC7B;IAEQ,qBAAqB,GAAA;AAC3B,QAAA,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,gBAAgB,EAAE,IAAI,CAAC;AACpB,iBAAA,QAAQ;AACR,iBAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU;AACnC,iBAAA,aAAa,CACZ,IAAI,CAAC,MAAM,EAAE,eAAe;AAC1B,iBAAC,IAAI,CAAC,KAAK,GAAG;AACZ,sBAAE;AACE,wBAAA;AACE,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,OAAO,EAAE;AACV;AACF;AACH,sBAAE;AACE,wBAAA,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;AAC3E,wBAAA;AACE,4BAAA,OAAO,EAAE,KAAK;AACd,4BAAA,OAAO,EAAE,QAAQ;AACjB,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,QAAQ,EAAE,KAAK;4BACf,OAAO,EAAE,CAAC;AACX;AACF,qBAAA,CAAC;AAEb,SAAA,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAC9B,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,YAAY,EAAE,EACnB,IAAI,CAAC,QAAQ,CACd;AACD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,uBAAuB,CAAC;QAC9F,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC;AAErE,QAAA,IAAI,CAAC;AACF,aAAA,oBAAoB;AACpB,aAAA,IAAI,CACH,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,EACvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAC/B,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAC7B,IAAI,CAAC,CAAC,CAAC;aAER,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IAClC;uGAjNW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,CAAA,yBAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAP5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA;AACD,oBAAA,QAAQ,EAAE;AACX,iBAAA;;sBAuCE,WAAW;uBAAC,IAAI;;sBAIhB,WAAW;uBAAC,YAAY;;sBAAG,WAAW;uBAAC,oBAAoB;;sBAG3D,WAAW;uBAAC,oBAAoB;;sBAmGhC,YAAY;uBAAC,OAAO;;;AC/LvB;;;AAGG;AAeH;;;AAGG;MAcU,yBAAyB,CAAA;;AAE1B,IAAA,OAAO,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAE3C,IAAA,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC;IACrD,eAAe,GAAmB,IAAI;AAC7B,IAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC3B,OAAO,GAAG,MAAM,CAAC,0BAA0B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEjF,IAAA,WAAA,GAAA;;;QAGE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,IAAG;AACzC,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE;gBACvD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa;gBAClD,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,kCAAkC,EAAE;YACjE;iBAAO;gBACL,IACE,IAAI,CAAC,eAAe;oBACpB,OAAO,IAAI,IAAI,CAAC,eAAe;oBAC/B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,KAAK,UAAU,EAChD;AACA,oBAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;gBAC9B;AACA,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI;YAC7B;AACF,QAAA,CAAC,CAAC;IACJ;;AAGA,IAAA,IACc,IAAI,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;IAC5B;;AAGA,IAAA,IAA4D,OAAO,GAAA;AACjE,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS;IAC/B;;AAGA,IAAA,IAA6C,OAAO,GAAA;AAClD,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC;IAC/B;;AAGA,IAAA,IAAc,SAAS,GAAA;AACrB,QAAA,QACE,IAAI,CAAC,OAAO,CAAC,SAAS;AACtB,aAAC,CAAC,IAAI,CAAC,OAAO,EAAE,iCAAiC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC;IAElF;;IAIU,MAAM,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;IACvB;uGAzDW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,WAAA,EAAA,+BAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIY,YAAY,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvC9D,qHAGA,gGDqBY,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAWT,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;+BACE,oBAAoB,EAAA,OAAA,EACrB,CAAC,UAAU,CAAC,mBAGJ,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,+BAA+B;AACtC,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,MAAM,EAAE,sBAAsB;AAC9B,wBAAA,wBAAwB,EAAE;AAC3B,qBAAA,EAAA,QAAA,EAAA,qHAAA,EAAA,MAAA,EAAA,CAAA,yCAAA,CAAA,EAAA;qHAM+C,YAAY,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA;sBA0B3D,WAAW;uBAAC,YAAY;;sBAMxB,WAAW;uBAAC,+BAA+B;;sBAK3C,WAAW;uBAAC,gBAAgB;;sBAa5B,YAAY;uBAAC,gBAAgB;;;AEzFhC;;;AAGG;AAQH;;AAEG;MAWU,6BAA6B,CAAA;IACrB,KAAK,GAAG,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC;;IAG5E,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAEtB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAmB;;IAEhC,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAmB;;IAEpC,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAE5B,OAAO,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAA0B;AAE/B,IAAA,UAAU,GAAG,MAAM,CAAC,gCAAgC,EAAE;AACvE,QAAA,IAAI,EAAE,IAAI;AACV,QAAA,QAAQ,EAAE;AACX,KAAA,CAAC;IACiB,aAAa,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5E,MAAM,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAGtE,KAAK,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;AACvC,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE;AACxC,gBAAA,IAAI,CAAC,MAAM,EAAE,uBAAuB,EAAE;YACxC;QACF;IACF;uGA7BW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAA7B,6BAA6B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,cAAA,EAAA,4BAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxB1C,6tBAyBA,EAAA,MAAA,EAAA,CAAA,2JAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDTY,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAQd,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;+BACE,sFAAsF,EAAA,OAAA,EACvF,CAAC,eAAe,CAAC,mBAGT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE;AACR,qBAAA,EAAA,QAAA,EAAA,6tBAAA,EAAA,MAAA,EAAA,CAAA,2JAAA,CAAA,EAAA;;sBAuBA,YAAY;uBAAC,OAAO;;;AE7CvB;;;AAGG;AAUH;;;;;AAKG;MAYU,qCAAqC,CAAA;AACvC,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAc;IACpC,YAAY,GAAG,MAAM,EAAW;uGAF9B,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qCAAqC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9BlD,g9CA4CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDda,qCAAqC,EAAA,QAAA,EAAA,kCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAR9C,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,6BAA6B,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,YAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAE7B,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,EACf,gCAAgC,4LAFhC,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA;;2FAMN,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAXjD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kCAAkC,EAAA,OAAA,EACnC;wBACP,yBAAyB;wBACzB,6BAA6B;wBAC7B,eAAe;wBACf,eAAe;wBACf;AACD,qBAAA,EAAA,QAAA,EAAA,g9CAAA,EAAA;;;AE3BH;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-header-dropdown.mjs","sources":["../../../../projects/element-ng/header-dropdown/si-header.model.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-trigger.directive.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown.component.html","../../../../projects/element-ng/header-dropdown/si-header-dropdown-item.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-item.component.html","../../../../projects/element-ng/header-dropdown/si-header-dropdown-items-factory.component.ts","../../../../projects/element-ng/header-dropdown/si-header-dropdown-items-factory.component.html","../../../../projects/element-ng/header-dropdown/index.ts","../../../../projects/element-ng/header-dropdown/siemens-element-ng-header-dropdown.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ConnectedPosition } from '@angular/cdk/overlay';\nimport { InjectionToken } from '@angular/core';\nimport { Observable } from 'rxjs';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\n\n/** @internal */\nexport interface HeaderWithDropdowns {\n /** Called whenever an item is triggered that is not opening another dropdown. */\n onDropdownItemTriggered?(): void;\n /** Whether the dropdown should be opened inline. */\n inlineDropdown?: Observable<boolean>;\n /** The position of the dropdown if opened in an overlay. */\n overlayPosition?: ConnectedPosition[];\n /** Called whenever a dropdown is opened **/\n dropdownOpened?(trigger: SiHeaderDropdownTriggerDirective): void;\n /** Called whenever a dropdown is close **/\n dropdownClosed?(trigger: SiHeaderDropdownTriggerDirective): void;\n}\n\n/** @internal */\nexport const SI_HEADER_WITH_DROPDOWNS = new InjectionToken<HeaderWithDropdowns>(\n 'si-header.with-dropdowns'\n);\n\n/**\n * Can be used to pass context-specific options to a header-dropdown\n * that should / or cannot be provided by a consuming application.\n * @internal\n */\nexport interface HeaderDropdownOptions {\n /**\n * If the inline navbar is already wrapped in a focus trap,\n * set this property to prevent the header-dropdown from creating a focus trap.\n */\n disableRootFocusTrapForInlineMode: boolean;\n}\n\n/** @internal */\nexport const SI_HEADER_DROPDOWN_OPTIONS = new InjectionToken<HeaderDropdownOptions>(\n 'si-header-dropdown.options'\n);\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ComponentRef,\n Directive,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n inject,\n Injector,\n input,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { of, Subject } from 'rxjs';\nimport { filter, skip, take, takeUntil } from 'rxjs/operators';\n\nimport { SI_HEADER_WITH_DROPDOWNS } from './si-header.model';\n\n@Component({ template: '', host: { '[attr.aria-owns]': 'ariaOwns()' } })\nclass SiHeaderAnchorComponent {\n readonly ariaOwns = input<string>();\n}\n\n/**\n * Trigger to open dropdowns in a navbar.\n * A dropdown will always be attached to the view, even if not visible.\n *\n * If a dropdown is opened in desktop mode, it will be reattached to an overlay while being opened.\n */\n@Directive({\n selector: '[siHeaderDropdownTriggerFor]',\n host: {\n class: 'dropdown-toggle'\n },\n exportAs: 'siHeaderDropdownTrigger'\n})\nexport class SiHeaderDropdownTriggerDirective implements OnChanges, OnInit, OnDestroy {\n private static idCounter = 0;\n\n /** Template that be rendered inside the dropdown. */\n readonly dropdown = input.required<TemplateRef<unknown>>({ alias: 'siHeaderDropdownTriggerFor' });\n /** Data that should be passed as template context to the dropdown. */\n readonly dropdownData = input<unknown>();\n /** Emits whenever a dropdown is opened or closed. */\n readonly openChange = output<boolean>();\n\n private readonly dropdownClose = new Subject<void>();\n\n /** Child triggers will set themselves here if they are open. */\n private openSubmenu?: SiHeaderDropdownTriggerDirective;\n\n private readonly viewContainerRef = inject(ViewContainerRef);\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly overlay = inject(Overlay);\n private readonly parent = inject(SiHeaderDropdownTriggerDirective, {\n optional: true,\n skipSelf: true\n });\n /** @internal */\n readonly navbar = inject(SI_HEADER_WITH_DROPDOWNS, { optional: true });\n\n // we need to create a new injector, so that the parent can be injected properly\n private readonly injector = Injector.create({ parent: inject(Injector), providers: [] });\n private viewRef?: EmbeddedViewRef<unknown>;\n private portal?: TemplatePortal<unknown>;\n private overlayRef?: OverlayRef;\n\n /** @internal */\n readonly level: number = this.parent ? this.parent.level + 1 : 1;\n\n // used to prevent immediate re-creation of the overlay if this trigger was clicked while overlay is open\n private destroying = false;\n\n /** @internal */\n @HostBinding('id') readonly id =\n `si-navbar-dropdown-trigger-${SiHeaderDropdownTriggerDirective.idCounter++}`;\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n @HostBinding('class.show') @HostBinding('attr.aria-expanded') protected _isOpen = false;\n\n /** @internal */\n @HostBinding('attr.aria-controls') readonly ariaControls =\n `si-navbar-dropdown-${SiHeaderDropdownTriggerDirective.idCounter}`;\n\n private headerAnchorComponentRef?: ComponentRef<SiHeaderAnchorComponent>;\n\n /** Whether the dropdown is open. */\n get isOpen(): boolean {\n return this._isOpen;\n }\n\n /** @internal */\n get isOverlay(): boolean {\n return !!this.overlayRef;\n }\n\n ngOnChanges(): void {\n if (this.portal) {\n this.portal.templateRef = this.dropdown();\n this.portal.context = this.dropdownData();\n }\n }\n\n ngOnInit(): void {\n // Always attach the dropdown, so that it can be used with routerLinkActive\n this.attachDropdownInline();\n }\n\n ngOnDestroy(): void {\n this.close();\n this.dropdownClose.complete();\n }\n\n /** Opens the dropdown. */\n open(): void {\n if (this.destroying || this._isOpen) {\n return;\n }\n\n (this.navbar?.inlineDropdown ?? of(false)).pipe(take(1)).subscribe(inline => {\n this._isOpen = true;\n if (!inline) {\n this.attachDropdownOverlay();\n }\n this.navbar?.inlineDropdown\n ?.pipe(skip(1), takeUntil(this.dropdownClose))\n .subscribe(() => this.close());\n });\n\n if (this.parent) {\n this.parent.openSubmenu = this;\n }\n\n if (this.navbar?.dropdownOpened) {\n this.navbar?.dropdownOpened(this);\n }\n this.openChange.emit(true);\n }\n\n /** Closes the dropdown. */\n close(options?: { all?: boolean }): void {\n if (!this._isOpen) {\n return;\n }\n\n if (this.openSubmenu) {\n this.openSubmenu.close();\n }\n\n this.dropdownClose.next();\n this._isOpen = false;\n if (this.overlayRef) {\n this.destroying = true;\n this.overlayRef.detach();\n this.overlayRef.dispose();\n this.viewRef?.destroy();\n this.portal = undefined;\n this.overlayRef = undefined;\n this.headerAnchorComponentRef?.destroy();\n // do not use queueMicrotask, it executed to early\n setTimeout(() => (this.destroying = false));\n this.attachDropdownInline();\n } else {\n this.viewRef?.markForCheck();\n }\n\n if (this.parent) {\n this.parent.openSubmenu = undefined;\n }\n\n if (options?.all && this.parent) {\n this.parent.close(options);\n } else {\n if (this.navbar?.dropdownClosed) {\n this.navbar?.dropdownClosed(this);\n }\n this.openChange.emit(false);\n }\n }\n\n @HostListener('click')\n protected click(): void {\n if (this._isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n private attachDropdownInline(): void {\n this.viewRef = this.viewContainerRef.createEmbeddedView(this.dropdown(), this.dropdownData(), {\n injector: this.injector\n });\n this.viewRef.markForCheck();\n }\n\n private attachDropdownOverlay(): void {\n this.viewRef?.destroy();\n this.overlayRef = this.overlay.create({\n positionStrategy: this.overlay\n .position()\n .flexibleConnectedTo(this.elementRef)\n .withPositions(\n this.navbar?.overlayPosition ??\n (this.level > 1\n ? [\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: 2\n }\n ]\n : [\n { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: -4\n }\n ])\n )\n });\n this.portal = new TemplatePortal(\n this.dropdown(),\n this.viewContainerRef,\n this.dropdownData(),\n this.injector\n );\n this.viewRef = this.overlayRef.attach(this.portal);\n this.headerAnchorComponentRef = this.viewContainerRef.createComponent(SiHeaderAnchorComponent);\n this.headerAnchorComponentRef.setInput('ariaOwns', this.ariaControls);\n\n this.overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(event => event.type === 'click'),\n filter(() => !this.openSubmenu),\n takeUntil(this.dropdownClose),\n take(1)\n )\n .subscribe(() => this.close());\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { A11yModule, CdkTrapFocus } from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n HostListener,\n inject,\n viewChild,\n DOCUMENT\n} from '@angular/core';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SI_HEADER_DROPDOWN_OPTIONS } from './si-header.model';\n\n/**\n * Wrapper component for {@link SiHeaderDropdownItemComponent}.\n * Must only be opened using an {@link SiHeaderDropdownTriggerDirective}.\n */\n@Component({\n selector: 'si-header-dropdown',\n imports: [A11yModule],\n templateUrl: './si-header-dropdown.component.html',\n styles: ':host.sub-menu {min-inline-size: 200px}',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-menu position-static',\n role: 'group',\n '[id]': 'trigger.ariaControls',\n '[attr.aria-labelledby]': 'trigger.id'\n }\n})\nexport class SiHeaderDropdownComponent {\n /** @internal */\n protected trigger = inject(SiHeaderDropdownTriggerDirective);\n\n private readonly focusTrap = viewChild.required(CdkTrapFocus);\n private previousElement: Element | null = null;\n private readonly document = inject(DOCUMENT);\n private readonly options = inject(SI_HEADER_DROPDOWN_OPTIONS, { optional: true });\n\n constructor() {\n // The autoFocus feature of the focus trap is not enough, as this component is not newly created when opened in mobile (inline).\n // But we still need autofocus in desktop mode, as the close event is never executed (component is destroyed before).\n this.trigger.openChange.subscribe(change => {\n if (!this.trigger.isOverlay && this.trapFocus && change) {\n this.previousElement = this.document.activeElement;\n this.focusTrap().focusTrap.focusFirstTabbableElementWhenReady();\n } else {\n if (\n this.previousElement &&\n 'focus' in this.previousElement &&\n typeof this.previousElement.focus === 'function'\n ) {\n this.previousElement.focus();\n }\n this.previousElement = null;\n }\n });\n }\n\n /** @internal */\n @HostBinding('class.show')\n protected get show(): boolean {\n return this.trigger.isOpen;\n }\n\n /** @internal */\n @HostBinding('class.header-dropdown-overlay') protected get overlay(): boolean {\n return this.trigger.isOverlay;\n }\n\n /** @internal */\n @HostBinding('class.sub-menu') protected get submenu(): boolean {\n return this.trigger.level > 1;\n }\n\n /** @internal */\n protected get trapFocus(): boolean {\n return (\n this.trigger.isOverlay ||\n (!this.options?.disableRootFocusTrapForInlineMode && this.trigger.level === 1)\n );\n }\n\n /** @internal */\n @HostListener('keydown.escape')\n protected escape(): void {\n this.trigger?.close();\n }\n}\n","<div [cdkTrapFocus]=\"trapFocus\" [cdkTrapFocusAutoCapture]=\"this.trigger.isOverlay\">\n <ng-content />\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, HostListener, inject, input } from '@angular/core';\nimport { elementDown2, elementOk, elementRecordFilled } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\n\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SI_HEADER_WITH_DROPDOWNS } from './si-header.model';\n\n/**\n * Creates a dropdown-item. Must be used within an {@link SiHeaderDropdownComponent}.\n */\n@Component({\n selector: 'si-header-dropdown-item, a[si-header-dropdown-item], button[si-header-dropdown-item]',\n imports: [SiIconComponent],\n templateUrl: './si-header-dropdown-item.component.html',\n styleUrl: './si-header-dropdown-item.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'dropdown-item focus-inside'\n }\n})\nexport class SiHeaderDropdownItemComponent {\n protected readonly icons = addIcons({ elementDown2, elementOk, elementRecordFilled });\n\n /** Optional icon that will be rendered before the label. */\n readonly icon = input<string>();\n /** Badge that is rendered after the label. */\n readonly badge = input<string | number>();\n /** Badge (always red) that is attached to the icon. */\n readonly iconBadge = input<string | number>();\n /** Color of the badge (not iconBadge). */\n readonly badgeColor = input<string>();\n /** Whether the icon is checked with a radio or check mark. */\n readonly checked = input<'radio' | 'check' | ''>();\n\n protected readonly ownTrigger = inject(SiHeaderDropdownTriggerDirective, {\n self: true,\n optional: true\n });\n protected readonly parentTrigger = inject(SiHeaderDropdownTriggerDirective, { skipSelf: true });\n protected readonly navbar = inject(SI_HEADER_WITH_DROPDOWNS, { optional: true });\n\n @HostListener('click')\n protected click(): void {\n if (!this.ownTrigger) {\n this.parentTrigger.close({ all: true });\n if (this.navbar?.onDropdownItemTriggered) {\n this.navbar?.onDropdownItemTriggered();\n }\n }\n }\n}\n","@if (icon()) {\n <si-icon class=\"icon\" [icon]=\"icon()!\" />\n}\n@if (iconBadge()) {\n <div class=\"badge-text\">{{ iconBadge() }}</div>\n}\n<span class=\"item-title text-truncate\">\n <ng-content />\n</span>\n<div class=\"item-end ps-2 d-flex me-n3 ms-auto gap-1\">\n @if (badge()) {\n <span class=\"mx-0 me-1 ms-2 badge\" [class]=\"`bg-${badgeColor() || 'default'}`\">{{\n badge()\n }}</span>\n }\n @if (checked() === 'check') {\n <si-icon [icon]=\"icons.elementOk\" />\n }\n @if (checked() === 'radio') {\n <si-icon class=\"icon-sm me-2\" [icon]=\"icons.elementRecordFilled\" />\n }\n @if (ownTrigger) {\n <si-icon class=\"dropdown-caret m-0 ps-0\" [icon]=\"icons.elementDown2\" />\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component, input, output } from '@angular/core';\nimport { MenuItem } from '@siemens/element-ng/common';\nimport { SiLinkDirective } from '@siemens/element-ng/link';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { SiHeaderDropdownItemComponent } from './si-header-dropdown-item.component';\nimport { SiHeaderDropdownTriggerDirective } from './si-header-dropdown-trigger.directive';\nimport { SiHeaderDropdownComponent } from './si-header-dropdown.component';\n\n/**\n * A factory to render multiple {@link MenuItem}.\n * Requires a wrapping {@link SiHeaderDropdownComponent}.\n *\n * @internal\n */\n@Component({\n selector: 'si-header-dropdown-items-factory',\n imports: [\n SiHeaderDropdownComponent,\n SiHeaderDropdownItemComponent,\n SiTranslatePipe,\n SiLinkDirective,\n SiHeaderDropdownTriggerDirective\n ],\n templateUrl: './si-header-dropdown-items-factory.component.html'\n})\nexport class SiHeaderDropdownItemsFactoryComponent {\n readonly items = input.required<MenuItem[]>();\n readonly activeChange = output<boolean>();\n}\n","@for (item of items(); track item) {\n @if (item.isHeading) {\n <div class=\"dropdown-item dropdown-header dropdown-item-static\">\n {{ item.title | translate }}\n </div>\n } @else {\n @if (item.title !== '-') {\n @if (item.items) {\n <button\n type=\"button\"\n si-header-dropdown-item\n [icon]=\"item.icon\"\n [badge]=\"item.badgeStyle !== 'dot' ? item.badge : undefined\"\n [badgeColor]=\"item.badgeColor\"\n [iconBadge]=\"item.badgeStyle === 'dot' ? item.badge : undefined\"\n [siHeaderDropdownTriggerFor]=\"dropdown\"\n >\n {{ item.title | translate }}\n </button>\n <ng-template #dropdown>\n <si-header-dropdown>\n <si-header-dropdown-items-factory [items]=\"item.items\" />\n </si-header-dropdown>\n </ng-template>\n } @else {\n <a\n si-header-dropdown-item\n activeClass=\"active\"\n [siLink]=\"item\"\n [icon]=\"item.icon\"\n [badge]=\"item.badgeStyle !== 'dot' ? item.badge : undefined\"\n [badgeColor]=\"item.badgeColor\"\n [iconBadge]=\"item.badgeStyle === 'dot' ? item.badge : undefined\"\n [checked]=\"item.selectionState\"\n (activeChange)=\"activeChange.emit($event)\"\n >\n {{ item.title | translate }}\n </a>\n }\n } @else {\n <div class=\"dropdown-divider\"></div>\n }\n }\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-header-dropdown.component';\nexport * from './si-header-dropdown-trigger.directive';\nexport * from './si-header-dropdown-item.component';\nexport * from './si-header-dropdown-items-factory.component';\nexport * from './si-header.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as i1 from '@siemens/element-ng/popover';
6
6
  import { SiPopoverDirective } from '@siemens/element-ng/popover';
7
7
 
8
8
  /**
9
- * Copyright (c) Siemens 2016 - 2025
9
+ * Copyright (c) Siemens 2016 - 2026
10
10
  * SPDX-License-Identifier: MIT
11
11
  */
12
12
  /**
@@ -52,7 +52,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
52
52
  }] });
53
53
 
54
54
  /**
55
- * Copyright (c) Siemens 2016 - 2025
55
+ * Copyright (c) Siemens 2016 - 2026
56
56
  * SPDX-License-Identifier: MIT
57
57
  */
58
58
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-help-button.mjs","sources":["../../../../projects/element-ng/help-button/si-help-button.component.ts","../../../../projects/element-ng/help-button/index.ts","../../../../projects/element-ng/help-button/siemens-element-ng-help-button.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { elementHelp } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiPopoverDirective } from '@siemens/element-ng/popover';\n\n/**\n * This component creates a help button that shows contextual help in a popover.\n *\n * @example\n * ```html\n * <button\n * type=\"button\"\n * si-help-button\n * siHelpTitle=\"Help for problem\"\n * siHelpContent=\"Use your imagination to solve this problem.\"\n * >\n * <!-- This text is only visible to screen reader. Provide a meaningful text, not only \"help\" -->\n * How to solve the problem?\n * </button>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-help-button]',\n imports: [SiIconComponent],\n template: `\n <div class=\"visually-hidden\"><ng-content /></div>\n <si-icon [icon]=\"icons.elementHelp\" />\n `,\n styleUrl: './si-help-button.component.scss',\n hostDirectives: [\n {\n directive: SiPopoverDirective,\n inputs: [\n 'siPopoverTitle:siHelpTitle',\n 'siPopover:siHelpContent',\n 'siPopoverContext:siHelpContext',\n 'siPopoverPlacement:siHelpPlacement'\n ]\n }\n ]\n})\nexport class SiHelpButtonComponent {\n protected icons = addIcons({ elementHelp });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-help-button.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;;AAGG;AAMH;;;;;;;;;;;;;;;AAeG;MAsBU,qBAAqB,CAAA;AACtB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;uGADhC,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,WAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjBtB;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAJS,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAkBd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBArBjC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,OAAA,EACzB,CAAC,eAAe,CAAC,EAAA,QAAA,EAChB;;;GAGT,EAAA,cAAA,EAEe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,kBAAkB;AAC7B,4BAAA,MAAM,EAAE;gCACN,4BAA4B;gCAC5B,yBAAyB;gCACzB,gCAAgC;gCAChC;AACD;AACF;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA;;;AC5CH;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-help-button.mjs","sources":["../../../../projects/element-ng/help-button/si-help-button.component.ts","../../../../projects/element-ng/help-button/index.ts","../../../../projects/element-ng/help-button/siemens-element-ng-help-button.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { Component } from '@angular/core';\nimport { elementHelp } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiPopoverDirective } from '@siemens/element-ng/popover';\n\n/**\n * This component creates a help button that shows contextual help in a popover.\n *\n * @example\n * ```html\n * <button\n * type=\"button\"\n * si-help-button\n * siHelpTitle=\"Help for problem\"\n * siHelpContent=\"Use your imagination to solve this problem.\"\n * >\n * <!-- This text is only visible to screen reader. Provide a meaningful text, not only \"help\" -->\n * How to solve the problem?\n * </button>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[si-help-button]',\n imports: [SiIconComponent],\n template: `\n <div class=\"visually-hidden\"><ng-content /></div>\n <si-icon [icon]=\"icons.elementHelp\" />\n `,\n styleUrl: './si-help-button.component.scss',\n hostDirectives: [\n {\n directive: SiPopoverDirective,\n inputs: [\n 'siPopoverTitle:siHelpTitle',\n 'siPopover:siHelpContent',\n 'siPopoverContext:siHelpContext',\n 'siPopoverPlacement:siHelpPlacement'\n ]\n }\n ]\n})\nexport class SiHelpButtonComponent {\n protected icons = addIcons({ elementHelp });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-help-button.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;;;AAGG;AAMH;;;;;;;;;;;;;;;AAeG;MAsBU,qBAAqB,CAAA;AACtB,IAAA,KAAK,GAAG,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;uGADhC,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,aAAA,EAAA,WAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjBtB;;;AAGT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAJS,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAkBd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBArBjC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wBAAwB,EAAA,OAAA,EACzB,CAAC,eAAe,CAAC,EAAA,QAAA,EAChB;;;GAGT,EAAA,cAAA,EAEe;AACd,wBAAA;AACE,4BAAA,SAAS,EAAE,kBAAkB;AAC7B,4BAAA,MAAM,EAAE;gCACN,4BAA4B;gCAC5B,yBAAyB;gCACzB,gCAAgC;gCAChC;AACD;AACF;AACF,qBAAA,EAAA,MAAA,EAAA,CAAA,+PAAA,CAAA,EAAA;;;AC5CH;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -3,7 +3,7 @@ import { NgModule } from '@angular/core';
3
3
  import { SiStatusCounterComponent } from '@siemens/element-ng/status-counter';
4
4
 
5
5
  /**
6
- * Copyright (c) Siemens 2016 - 2025
6
+ * Copyright (c) Siemens 2016 - 2026
7
7
  * SPDX-License-Identifier: MIT
8
8
  */
9
9
  /**
@@ -24,7 +24,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
24
24
  }] });
25
25
 
26
26
  /**
27
- * Copyright (c) Siemens 2016 - 2025
27
+ * Copyright (c) Siemens 2016 - 2026
28
28
  * SPDX-License-Identifier: MIT
29
29
  */
30
30
  /**
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
34
34
  const SiIconStatusComponent = SiStatusCounterComponent;
35
35
 
36
36
  /**
37
- * Copyright (c) Siemens 2016 - 2025
37
+ * Copyright (c) Siemens 2016 - 2026
38
38
  * SPDX-License-Identifier: MIT
39
39
  */
40
40
 
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-icon-status.mjs","sources":["../../../../projects/element-ng/icon-status/si-icon-status.module.ts","../../../../projects/element-ng/icon-status/si-icon-status.component.ts","../../../../projects/element-ng/icon-status/index.ts","../../../../projects/element-ng/icon-status/siemens-element-ng-icon-status.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\nimport { SiStatusCounterComponent } from '@siemens/element-ng/status-counter';\n\n/**\n * @deprecated Using `SiIconStatusModule` and `SiIconStatusComponent` is deprecated. Instead\n * use `SiStatusCounterComponent` and `si-status-counter`.\n */\n@NgModule({\n imports: [SiStatusCounterComponent],\n exports: [SiStatusCounterComponent]\n})\nexport class SiIconStatusModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { SiStatusCounterComponent } from '@siemens/element-ng/status-counter';\n\n/**\n * @deprecated Using `SiIconStatusComponent` is deprecated. Use `SiStatusCounterComponent` instead.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SiIconStatusComponent = SiStatusCounterComponent;\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-icon-status.module';\nexport * from './si-icon-status.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAIH;;;AAGG;MAKU,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHnB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA;AAEvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,wBAAwB,CAAA,EAAA,CAAA;;2FAGvB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB;AACnC,iBAAA;;;ACdD;;;AAGG;AAGH;;AAEG;AACH;AACO,MAAM,qBAAqB,GAAG;;ACVrC;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-icon-status.mjs","sources":["../../../../projects/element-ng/icon-status/si-icon-status.module.ts","../../../../projects/element-ng/icon-status/si-icon-status.component.ts","../../../../projects/element-ng/icon-status/index.ts","../../../../projects/element-ng/icon-status/siemens-element-ng-icon-status.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\nimport { SiStatusCounterComponent } from '@siemens/element-ng/status-counter';\n\n/**\n * @deprecated Using `SiIconStatusModule` and `SiIconStatusComponent` is deprecated. Instead\n * use `SiStatusCounterComponent` and `si-status-counter`.\n */\n@NgModule({\n imports: [SiStatusCounterComponent],\n exports: [SiStatusCounterComponent]\n})\nexport class SiIconStatusModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nimport { SiStatusCounterComponent } from '@siemens/element-ng/status-counter';\n\n/**\n * @deprecated Using `SiIconStatusComponent` is deprecated. Use `SiStatusCounterComponent` instead.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const SiIconStatusComponent = SiStatusCounterComponent;\n","/**\n * Copyright (c) Siemens 2016 - 2026\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-icon-status.module';\nexport * from './si-icon-status.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAIH;;;AAGG;MAKU,kBAAkB,CAAA;uGAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAlB,kBAAkB,EAAA,OAAA,EAAA,CAHnB,wBAAwB,CAAA,EAAA,OAAA,EAAA,CACxB,wBAAwB,CAAA,EAAA,CAAA;AAEvB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAHnB,wBAAwB,CAAA,EAAA,CAAA;;2FAGvB,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAJ9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,wBAAwB,CAAC;oBACnC,OAAO,EAAE,CAAC,wBAAwB;AACnC,iBAAA;;;ACdD;;;AAGG;AAGH;;AAEG;AACH;AACO,MAAM,qBAAqB,GAAG;;ACVrC;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -1,12 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { input, computed, ChangeDetectionStrategy, Component, inject, DestroyRef, Injectable, InjectionToken, NgModule } from '@angular/core';
3
3
  import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
4
- import { DomSanitizer } from '@angular/platform-browser';
5
4
  import { SiThemeService } from '@siemens/element-ng/theme';
6
5
  import { elementTriangleFilled, elementStateTick, elementStateQuestionMark, elementStateProgress, elementStatePause, elementStateInfo, elementStateExclamationMark, elementSquareFilled, elementSquare45Filled, elementOctagonFilled, elementCircleFilled } from '@siemens/element-icons';
7
6
 
8
7
  /**
9
- * Copyright (c) Siemens 2016 - 2025
8
+ * Copyright (c) Siemens 2016 - 2026
10
9
  * SPDX-License-Identifier: MIT
11
10
  */
12
11
  /**
@@ -74,17 +73,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
74
73
  }], 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 }] }] } });
75
74
 
76
75
  /**
77
- * Copyright (c) Siemens 2016 - 2025
76
+ * Copyright (c) Siemens 2016 - 2026
78
77
  * SPDX-License-Identifier: MIT
79
78
  */
80
- const parseDataSvgIcon = (icon, domSanitizer) => {
81
- const parsed = /^data:image\/svg\+xml;utf8,(.*)$/.exec(icon);
82
- if (!parsed) {
83
- console.error('Failed to parse icon', icon);
84
- return '';
85
- }
86
- return domSanitizer.bypassSecurityTrustHtml(parsed[1]);
87
- };
88
79
  const registeredIcons = new Map();
89
80
  /**
90
81
  * Adds the provided icons.
@@ -109,10 +100,9 @@ const registeredIcons = new Map();
109
100
  */
110
101
  const addIcons = (icons) => {
111
102
  const iconMap = {};
112
- const domSanitizer = inject(DomSanitizer);
113
- for (const [key, rawContent] of Object.entries(icons)) {
103
+ for (const [key, content] of Object.entries(icons)) {
114
104
  const registeredIcon = registeredIcons.get(key) ?? {
115
- content: parseDataSvgIcon(rawContent, domSanitizer),
105
+ content,
116
106
  referenceCount: 0
117
107
  };
118
108
  registeredIcon.referenceCount++;
@@ -154,17 +144,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
154
144
  }] });
155
145
 
156
146
  /**
157
- * Copyright (c) Siemens 2016 - 2025
147
+ * Copyright (c) Siemens 2016 - 2026
158
148
  * SPDX-License-Identifier: MIT
159
149
  */
160
150
  const ICON_CONFIG = new InjectionToken('ICON_CONFIG', {
161
151
  providedIn: 'root',
162
- factory: () => ({ disableSvgIcons: true })
152
+ factory: () => ({ disableSvgIcons: false })
163
153
  });
164
154
  /**
165
155
  * Configure how Element handles icons. Provide only once in your global configuration.
166
- *
167
- * @experimental
168
156
  */
169
157
  const provideIconConfig = (config) => ({
170
158
  provide: ICON_CONFIG,
@@ -178,8 +166,6 @@ const provideIconConfig = (config) => ({
178
166
  *
179
167
  * The content of this component is hidden in the a11y tree.
180
168
  * If needed, the consumer must set proper labels.
181
- *
182
- * @experimental
183
169
  */
184
170
  class SiIconComponent {
185
171
  /**
@@ -206,7 +192,13 @@ class SiIconComponent {
206
192
  icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
207
193
  config = inject(ICON_CONFIG);
208
194
  iconService = inject(IconService);
209
- svgIcon = computed(() => this.config.disableSvgIcons ? undefined : this.iconService.getIcon(this.icon()), ...(ngDevMode ? [{ debugName: "svgIcon" }] : []));
195
+ svgIcon = computed(() => {
196
+ const icon = this.config.disableSvgIcons ? undefined : this.iconService.getIcon(this.icon());
197
+ if (!icon) {
198
+ return undefined;
199
+ }
200
+ return `url("${icon.replace(/"/g, '\\"')}")`;
201
+ }, ...(ngDevMode ? [{ debugName: "svgIcon" }] : []));
210
202
  /** Icon class, which is ensured to be kebab-case. */
211
203
  fontIcon = computed(() => this.svgIcon() ? undefined : this.camelToKebabCase(this.icon()), ...(ngDevMode ? [{ debugName: "fontIcon" }] : []));
212
204
  isKebabCase(str) {
@@ -228,25 +220,18 @@ class SiIconComponent {
228
220
  .toLowerCase();
229
221
  }
230
222
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
231
- 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()" } }, ngImport: i0, template: ` <div
232
- aria-hidden="true"
233
- [class]="svgIcon() ? '' : fontIcon()"
234
- [innerHTML]="svgIcon()"
235
- ></div>`, isInline: true, styles: [":host{display:inline-flex;font-weight:400;vertical-align:middle;line-height:1}:host ::ng-deep svg{display:block;block-size:1em;fill:currentColor}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
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 });
236
224
  }
237
225
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiIconComponent, decorators: [{
238
226
  type: Component,
239
- args: [{ selector: 'si-icon', template: ` <div
240
- aria-hidden="true"
241
- [class]="svgIcon() ? '' : fontIcon()"
242
- [innerHTML]="svgIcon()"
243
- ></div>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
244
- '[attr.data-icon]': 'icon()'
245
- }, styles: [":host{display:inline-flex;font-weight:400;vertical-align:middle;line-height:1}:host ::ng-deep svg{display:block;block-size:1em;fill:currentColor}\n"] }]
227
+ args: [{ selector: 'si-icon', template: ` <div aria-hidden="true" [class]="svgIcon() ? 'svg-element-icon' : fontIcon()"></div>`, changeDetection: ChangeDetectionStrategy.OnPush, host: {
228
+ '[attr.data-icon]': 'icon()',
229
+ '[style.--svg-element-icon]': 'svgIcon()'
230
+ }, 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"] }]
246
231
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }] } });
247
232
 
248
233
  /**
249
- * Copyright (c) Siemens 2016 - 2025
234
+ * Copyright (c) Siemens 2016 - 2026
250
235
  * SPDX-License-Identifier: MIT
251
236
  */
252
237
  class SiIconModule {
@@ -263,7 +248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
263
248
  }] });
264
249
 
265
250
  /**
266
- * Copyright (c) Siemens 2016 - 2025
251
+ * Copyright (c) Siemens 2016 - 2026
267
252
  * SPDX-License-Identifier: MIT
268
253
  */
269
254
  /**
@@ -374,7 +359,7 @@ const STATUS_ICON_CONFIG = new InjectionToken('STATUS_ICON_CONFIG', {
374
359
  });
375
360
 
376
361
  /**
377
- * Copyright (c) Siemens 2016 - 2025
362
+ * Copyright (c) Siemens 2016 - 2026
378
363
  * SPDX-License-Identifier: MIT
379
364
  */
380
365
  class SiStatusIconComponent {
@@ -410,13 +395,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
410
395
  }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: true }] }] } });
411
396
 
412
397
  /**
413
- * Copyright (c) Siemens 2016 - 2025
398
+ * Copyright (c) Siemens 2016 - 2026
414
399
  * SPDX-License-Identifier: MIT
415
400
  */
416
401
  const elementCheckedImageShape = 'data:image/svg+xml;base64,PHN2ZyBpZD0iSWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+CiAgPHRpdGxlPm9rPC90aXRsZT4KICA8cGF0aCBkPSJNMzc5LjUxLDE1Ni43NmwtMTczLDE3My03NC03NGExMiwxMiwwLDEsMC0xNywxN2w4Mi41LDgyLjVhMTIsMTIsMCwwLDAsMTcsMGwxODEuNS0xODEuNWExMiwxMiwwLDAsMC0xNy0xN1oiLz4KPC9zdmc+Cg==';
417
402
 
418
403
  /**
419
- * Copyright (c) Siemens 2016 - 2025
404
+ * Copyright (c) Siemens 2016 - 2026
420
405
  * SPDX-License-Identifier: MIT
421
406
  */
422
407
 
@@ -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 - 2025\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 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { DestroyRef, inject, Injectable } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { SiThemeService } from '@siemens/element-ng/theme';\n\ninterface RegisteredIcon {\n content: SafeHtml | 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 parseDataSvgIcon = (icon: string, domSanitizer: DomSanitizer): SafeHtml => {\n const parsed = /^data:image\\/svg\\+xml;utf8,(.*)$/.exec(icon);\n if (!parsed) {\n console.error('Failed to parse icon', icon);\n return '';\n }\n return domSanitizer.bypassSecurityTrustHtml(parsed[1]);\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 const domSanitizer = inject(DomSanitizer);\n for (const [key, rawContent] of Object.entries<string>(icons)) {\n const registeredIcon = registeredIcons.get(key) ?? {\n content: parseDataSvgIcon(rawContent, domSanitizer),\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): SafeHtml | undefined => registeredIcons.get(key)?.content;\n\n@Injectable({ providedIn: 'root' })\nexport class IconService {\n private themeService = inject(SiThemeService);\n\n getIcon(name: string): SafeHtml | 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 - 2025\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 *\n * @experimental\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 true\n */\n disableSvgIcons?: boolean;\n}\n\nconst ICON_CONFIG = new InjectionToken<IconConfig>('ICON_CONFIG', {\n providedIn: 'root',\n factory: () => ({ disableSvgIcons: true })\n});\n\n/**\n * Configure how Element handles icons. Provide only once in your global configuration.\n *\n * @experimental\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 * @experimental\n */\n@Component({\n selector: 'si-icon',\n template: ` <div\n aria-hidden=\"true\"\n [class]=\"svgIcon() ? '' : fontIcon()\"\n [innerHTML]=\"svgIcon()\"\n ></div>`,\n styles: `\n :host {\n display: inline-flex;\n font-weight: normal;\n vertical-align: middle;\n line-height: 1;\n\n ::ng-deep svg {\n display: block;\n block-size: 1em;\n fill: currentColor;\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-icon]': 'icon()'\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 this.config.disableSvgIcons ? undefined : this.iconService.getIcon(this.icon())\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 - 2025\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 - 2025\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 - 2025\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 - 2025\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 - 2025\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 { 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":";;;;;;AAAA;;;AAGG;AAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCG;MAQU,qBAAqB,CAAA;;IAEvB,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAEtB,KAAK,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAEvB,WAAW,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAE7B,YAAY,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;;IAE9B,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;AAC1C;;;;AAIG;AACM,IAAA,IAAI,GAAG,KAAK,CAAS,MAAM,gDAAC;AAElB,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACzC,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;AACtF,IAAA,CAAC,mDAAC;uGApBS,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClDlC,sbAaA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDgCY,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAKd,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,WACjB,CAAC,eAAe,CAAC,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,sbAAA,EAAA,MAAA,EAAA,CAAA,6BAAA,CAAA,EAAA;;;AEhDjD;;;AAGG;AAUH,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B;AAEzD;;;;;;;;;;;;;;;;;;;;AAoBG;AACI,MAAM,QAAQ,GAAG,CAAmB,KAAwB,KAAuB;IACxF,MAAM,OAAO,GAAG,EAAuB;AACvC,IAAA,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAS,KAAK,CAAC,EAAE;QAC1D,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;YACjD,OAAO;AACP,YAAA,cAAc,EAAE;SACjB;QACD,cAAc,CAAC,cAAc,EAAE;AAC/B,QAAA,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC;AACxC,QAAA,OAAO,CAAC,GAAQ,CAAC,GAAG,GAAG;IACzB;;;;AAKA,IAAA,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,MAAK;QAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACpC,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/C,YAAA,IAAI,cAAe,CAAC,cAAc,KAAK,CAAC,EAAE;AACxC,gBAAA,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC;YAC7B;iBAAO;gBACL,cAAe,CAAC,cAAc,EAAE;YAClC;QACF;AACF,IAAA,CAAC,CAAC;AAEF,IAAA,OAAO,OAAO;AAChB;AAEA,MAAM,OAAO,GAAG,CAAC,GAAW,KAAyB,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO;MAGzE,WAAW,CAAA;AACd,IAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAE7C,IAAA,OAAO,CAAC,IAAY,EAAA;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;IAChF;AAEQ,IAAA,gBAAgB,CAAC,GAAW,EAAA;QAClC,OAAO,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE;uGAVW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cADE,MAAM,EAAA,CAAA;;2FACnB,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACnElC;;;AAGG;AAyBH,MAAM,WAAW,GAAG,IAAI,cAAc,CAAa,aAAa,EAAE;AAChE,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE;AAC3C,CAAA,CAAC;AAEF;;AAEG;MACU,iBAAiB,GAAG,CAAC,MAAkB,MAAgB;AAClE,IAAA,OAAO,EAAE,WAAW;AACpB,IAAA,QAAQ,EAAE;AACX,CAAA;AAED;;;;;;;;AAQG;MAWU,eAAe,CAAA;AAC1B;;;;;;;;;;;;;;;;;;;;AAoBG;AACM,IAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAU;AAEvB,IAAA,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;AAC5B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAE/B,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5F,IAAI,CAAC,IAAI,EAAE;AACT,YAAA,OAAO,SAAS;QAClB;QAEA,OAAO,CAAA,KAAA,EAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA,EAAA,CAAI;AAC9C,IAAA,CAAC,mDAAC;;IAGiB,QAAQ,GAAG,QAAQ,CAAC,MACrC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,UAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAChE;AAEO,IAAA,WAAW,CAAC,GAAW,EAAA;AAC7B,QAAA,OAAO,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC;IAC7C;AAEA;;;;;;AAMG;AACK,IAAA,gBAAgB,CAAC,GAAW,EAAA;AAClC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG;AACzB,cAAE;AACF,cAAE;AACE,kBAAE,OAAO,CAAC,oBAAoB,EAAE,OAAO;AACtC,iBAAA,OAAO,CAAC,iBAAiB,EAAE,OAAO;AAClC,iBAAA,WAAW,EAAE;IACtB;uGA3DW,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,kSARhB,CAAA,qFAAA,CAAuF,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAQtF,eAAe,EAAA,UAAA,EAAA,CAAA;kBAV3B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,YACT,CAAA,qFAAA,CAAuF,EAAA,eAAA,EAEhF,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,4BAA4B,EAAE;AAC/B,qBAAA,EAAA,MAAA,EAAA,CAAA,qYAAA,CAAA,EAAA;;;AC1DH;;;AAGG;MAUU,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAHb,eAAe,EAAE,qBAAqB,CAAA,EAAA,OAAA,EAAA,CACtC,eAAe,EAAE,qBAAqB,CAAA,EAAA,CAAA;wGAErC,YAAY,EAAA,CAAA;;2FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;AACjD,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,qBAAqB;AACjD,iBAAA;;;ACZD;;;AAGG;AAoBH;;;;AAIG;MACU,kBAAkB,GAAG,IAAI,cAAc,CAClD,oBAAoB,EACpB;AACE,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAK;AACZ,QAAA,QAAQ,CAAC;YACP,mBAAmB;YACnB,oBAAoB;YACpB,qBAAqB;YACrB,mBAAmB;YACnB,2BAA2B;YAC3B,gBAAgB;YAChB,iBAAiB;YACjB,oBAAoB;YACpB,wBAAwB;YACxB,gBAAgB;YAChB;AACD,SAAA,CAAC;QACF,OAAO;AACL,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,YAAY,EAAE,yBAAyB;AACvC,gBAAA,UAAU,EAAE,iBAAiB;AAC7B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,iCAAA,CAAmC;AAChE,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,2BAAA,CAA6B;AAC1D,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,YAAY,EAAE,yBAAyB;AACvC,gBAAA,UAAU,EAAE,iBAAiB;AAC7B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,iCAAA,CAAmC;AAChE,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,uBAAuB;AAC7B,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,YAAY,EAAE,yBAAyB;AACvC,gBAAA,UAAU,EAAE,iBAAiB;AAC7B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,iCAAA,CAAmC;AAChE,aAAA;AACD,YAAA,MAAM,EAAE;AACN,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,YAAY,EAAE,wBAAwB;AACtC,gBAAA,UAAU,EAAE,gBAAgB;AAC5B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,+BAAA,CAAiC;AAC9D,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,KAAK,EAAE,iBAAiB;AACxB,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,YAAY,EAAE,0BAA0B;AACxC,gBAAA,UAAU,EAAE,kBAAkB;AAC9B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,mCAAA,CAAqC;AAClE,aAAA;AACD,YAAA,QAAQ,EAAE;AACR,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,YAAY,EAAE,sBAAsB;AACpC,gBAAA,UAAU,EAAE,cAAc;AAC1B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,mCAAA,CAAqC;AAClE,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,YAAY,EAAE,yBAAyB;AACvC,gBAAA,UAAU,EAAE,iBAAiB;AAC7B,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,iCAAA,CAAmC;AAChE,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,IAAI,EAAE,qBAAqB;AAC3B,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,0BAA0B;AACnC,gBAAA,YAAY,EAAE,WAAW;AACzB,gBAAA,UAAU,EAAE,WAAW;AACvB,gBAAA,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC,CAAC,MAAM,SAAS,CAAA,CAAA,iCAAA,CAAmC;AAChE;SACF;IACH;AACD,CAAA;;AClIH;;;AAGG;MAsBU,qBAAqB,CAAA;AACf,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;AAEhD,IAAA,MAAM,GAAG,KAAK,CAAC,QAAQ,iDAAoB;AAEjC,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,sDAAC;uGALpE,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAXtB;;;;;;;GAOT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARS,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAY/B,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAdjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,OAAO,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;AAC3C,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY;AAC5B,iBAAA;;;ACxBD;;;AAGG;AAEI,MAAM,wBAAwB,GACnC;;ACNF;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -5,7 +5,7 @@ import { SiLinkDirective } from '@siemens/element-ng/link';
5
5
  import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
6
6
 
7
7
  /**
8
- * Copyright (c) Siemens 2016 - 2025
8
+ * Copyright (c) Siemens 2016 - 2026
9
9
  * SPDX-License-Identifier: MIT
10
10
  */
11
11
  /**
@@ -49,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
49
49
  }], 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
50
 
51
51
  /**
52
- * Copyright (c) Siemens 2016 - 2025
52
+ * Copyright (c) Siemens 2016 - 2026
53
53
  * SPDX-License-Identifier: MIT
54
54
  */
55
55
 
@@ -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 - 2025\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 - 2025\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 { 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;;;;"}