@siemens/element-ng 48.10.0 → 49.0.0-rc.2

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 (396) hide show
  1. package/about/package.json +2 -1
  2. package/accordion/package.json +2 -1
  3. package/action-modal/package.json +2 -1
  4. package/ag-grid/package.json +2 -1
  5. package/application-header/package.json +2 -1
  6. package/auto-collapsable-list/package.json +2 -1
  7. package/autocomplete/package.json +2 -1
  8. package/avatar/package.json +2 -1
  9. package/badge/package.json +2 -1
  10. package/breadcrumb/package.json +2 -1
  11. package/breadcrumb-router/package.json +2 -1
  12. package/card/package.json +2 -1
  13. package/chat-messages/package.json +2 -1
  14. package/circle-status/package.json +2 -1
  15. package/color-picker/package.json +2 -1
  16. package/column-selection-dialog/package.json +2 -1
  17. package/common/package.json +2 -1
  18. package/connection-strength/package.json +2 -1
  19. package/content-action-bar/package.json +2 -1
  20. package/copyright-notice/package.json +2 -1
  21. package/dashboard/package.json +2 -1
  22. package/datatable/package.json +2 -1
  23. package/date-range-filter/package.json +2 -1
  24. package/datepicker/package.json +2 -1
  25. package/electron-titlebar/package.json +2 -1
  26. package/empty-state/package.json +2 -1
  27. package/fesm2022/siemens-element-ng-about.mjs +25 -24
  28. package/fesm2022/siemens-element-ng-about.mjs.map +1 -1
  29. package/fesm2022/siemens-element-ng-accordion.mjs +49 -75
  30. package/fesm2022/siemens-element-ng-accordion.mjs.map +1 -1
  31. package/fesm2022/siemens-element-ng-action-modal.mjs +59 -55
  32. package/fesm2022/siemens-element-ng-action-modal.mjs.map +1 -1
  33. package/fesm2022/siemens-element-ng-ag-grid.mjs +33 -37
  34. package/fesm2022/siemens-element-ng-ag-grid.mjs.map +1 -1
  35. package/fesm2022/siemens-element-ng-application-header.mjs +122 -150
  36. package/fesm2022/siemens-element-ng-application-header.mjs.map +1 -1
  37. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs +30 -32
  38. package/fesm2022/siemens-element-ng-auto-collapsable-list.mjs.map +1 -1
  39. package/fesm2022/siemens-element-ng-autocomplete.mjs +34 -48
  40. package/fesm2022/siemens-element-ng-autocomplete.mjs.map +1 -1
  41. package/fesm2022/siemens-element-ng-avatar.mjs +23 -24
  42. package/fesm2022/siemens-element-ng-avatar.mjs.map +1 -1
  43. package/fesm2022/siemens-element-ng-badge.mjs +6 -6
  44. package/fesm2022/siemens-element-ng-badge.mjs.map +1 -1
  45. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs +16 -16
  46. package/fesm2022/siemens-element-ng-breadcrumb-router.mjs.map +1 -1
  47. package/fesm2022/siemens-element-ng-breadcrumb.mjs +18 -17
  48. package/fesm2022/siemens-element-ng-breadcrumb.mjs.map +1 -1
  49. package/fesm2022/siemens-element-ng-card.mjs +32 -34
  50. package/fesm2022/siemens-element-ng-card.mjs.map +1 -1
  51. package/fesm2022/siemens-element-ng-chat-messages.mjs +204 -109
  52. package/fesm2022/siemens-element-ng-chat-messages.mjs.map +1 -1
  53. package/fesm2022/siemens-element-ng-circle-status.mjs +26 -26
  54. package/fesm2022/siemens-element-ng-circle-status.mjs.map +1 -1
  55. package/fesm2022/siemens-element-ng-color-picker.mjs +18 -17
  56. package/fesm2022/siemens-element-ng-color-picker.mjs.map +1 -1
  57. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs +36 -35
  58. package/fesm2022/siemens-element-ng-column-selection-dialog.mjs.map +1 -1
  59. package/fesm2022/siemens-element-ng-common.mjs +13 -38
  60. package/fesm2022/siemens-element-ng-common.mjs.map +1 -1
  61. package/fesm2022/siemens-element-ng-connection-strength.mjs +11 -11
  62. package/fesm2022/siemens-element-ng-connection-strength.mjs.map +1 -1
  63. package/fesm2022/siemens-element-ng-content-action-bar.mjs +33 -30
  64. package/fesm2022/siemens-element-ng-content-action-bar.mjs.map +1 -1
  65. package/fesm2022/siemens-element-ng-copyright-notice.mjs +13 -13
  66. package/fesm2022/siemens-element-ng-copyright-notice.mjs.map +1 -1
  67. package/fesm2022/siemens-element-ng-dashboard.mjs +161 -169
  68. package/fesm2022/siemens-element-ng-dashboard.mjs.map +1 -1
  69. package/fesm2022/siemens-element-ng-datatable.mjs +9 -9
  70. package/fesm2022/siemens-element-ng-datatable.mjs.map +1 -1
  71. package/fesm2022/siemens-element-ng-date-range-filter.mjs +128 -149
  72. package/fesm2022/siemens-element-ng-date-range-filter.mjs.map +1 -1
  73. package/fesm2022/siemens-element-ng-datepicker.mjs +260 -271
  74. package/fesm2022/siemens-element-ng-datepicker.mjs.map +1 -1
  75. package/fesm2022/siemens-element-ng-electron-titlebar.mjs +19 -18
  76. package/fesm2022/siemens-element-ng-electron-titlebar.mjs.map +1 -1
  77. package/fesm2022/siemens-element-ng-empty-state.mjs +11 -11
  78. package/fesm2022/siemens-element-ng-empty-state.mjs.map +1 -1
  79. package/fesm2022/siemens-element-ng-file-uploader.mjs +66 -69
  80. package/fesm2022/siemens-element-ng-file-uploader.mjs.map +1 -1
  81. package/fesm2022/siemens-element-ng-filter-bar.mjs +23 -23
  82. package/fesm2022/siemens-element-ng-filter-bar.mjs.map +1 -1
  83. package/fesm2022/siemens-element-ng-filtered-search.mjs +141 -159
  84. package/fesm2022/siemens-element-ng-filtered-search.mjs.map +1 -1
  85. package/fesm2022/siemens-element-ng-footer.mjs +10 -10
  86. package/fesm2022/siemens-element-ng-footer.mjs.map +1 -1
  87. package/fesm2022/siemens-element-ng-form.mjs +99 -85
  88. package/fesm2022/siemens-element-ng-form.mjs.map +1 -1
  89. package/fesm2022/siemens-element-ng-formly.mjs +96 -94
  90. package/fesm2022/siemens-element-ng-formly.mjs.map +1 -1
  91. package/fesm2022/siemens-element-ng-header-dropdown.mjs +33 -33
  92. package/fesm2022/siemens-element-ng-header-dropdown.mjs.map +1 -1
  93. package/fesm2022/siemens-element-ng-help-button.mjs +7 -6
  94. package/fesm2022/siemens-element-ng-help-button.mjs.map +1 -1
  95. package/fesm2022/siemens-element-ng-icon-status.mjs +4 -4
  96. package/fesm2022/siemens-element-ng-icon.mjs +53 -135
  97. package/fesm2022/siemens-element-ng-icon.mjs.map +1 -1
  98. package/fesm2022/siemens-element-ng-info-page.mjs +11 -12
  99. package/fesm2022/siemens-element-ng-info-page.mjs.map +1 -1
  100. package/fesm2022/siemens-element-ng-inline-notification.mjs +15 -16
  101. package/fesm2022/siemens-element-ng-inline-notification.mjs.map +1 -1
  102. package/fesm2022/siemens-element-ng-ip-input.mjs +16 -16
  103. package/fesm2022/siemens-element-ng-ip-input.mjs.map +1 -1
  104. package/fesm2022/siemens-element-ng-landing-page.mjs +71 -71
  105. package/fesm2022/siemens-element-ng-landing-page.mjs.map +1 -1
  106. package/fesm2022/siemens-element-ng-language-switcher.mjs +13 -13
  107. package/fesm2022/siemens-element-ng-language-switcher.mjs.map +1 -1
  108. package/fesm2022/siemens-element-ng-link.mjs +22 -23
  109. package/fesm2022/siemens-element-ng-link.mjs.map +1 -1
  110. package/fesm2022/siemens-element-ng-list-details.mjs +68 -86
  111. package/fesm2022/siemens-element-ng-list-details.mjs.map +1 -1
  112. package/fesm2022/siemens-element-ng-loading-spinner.mjs +38 -52
  113. package/fesm2022/siemens-element-ng-loading-spinner.mjs.map +1 -1
  114. package/fesm2022/siemens-element-ng-localization.mjs +14 -11
  115. package/fesm2022/siemens-element-ng-localization.mjs.map +1 -1
  116. package/fesm2022/siemens-element-ng-main-detail-container.mjs +30 -30
  117. package/fesm2022/siemens-element-ng-main-detail-container.mjs.map +1 -1
  118. package/fesm2022/siemens-element-ng-markdown-renderer.mjs +5 -5
  119. package/fesm2022/siemens-element-ng-markdown-renderer.mjs.map +1 -1
  120. package/fesm2022/siemens-element-ng-menu.mjs +55 -54
  121. package/fesm2022/siemens-element-ng-menu.mjs.map +1 -1
  122. package/fesm2022/siemens-element-ng-modal.mjs +10 -13
  123. package/fesm2022/siemens-element-ng-modal.mjs.map +1 -1
  124. package/fesm2022/siemens-element-ng-navbar-vertical.mjs +183 -298
  125. package/fesm2022/siemens-element-ng-navbar-vertical.mjs.map +1 -1
  126. package/fesm2022/siemens-element-ng-navbar.mjs +43 -43
  127. package/fesm2022/siemens-element-ng-navbar.mjs.map +1 -1
  128. package/fesm2022/siemens-element-ng-notification-item.mjs +14 -13
  129. package/fesm2022/siemens-element-ng-notification-item.mjs.map +1 -1
  130. package/fesm2022/siemens-element-ng-number-input.mjs +32 -32
  131. package/fesm2022/siemens-element-ng-number-input.mjs.map +1 -1
  132. package/fesm2022/siemens-element-ng-pagination.mjs +21 -20
  133. package/fesm2022/siemens-element-ng-pagination.mjs.map +1 -1
  134. package/fesm2022/siemens-element-ng-password-strength.mjs +21 -21
  135. package/fesm2022/siemens-element-ng-password-strength.mjs.map +1 -1
  136. package/fesm2022/siemens-element-ng-password-toggle.mjs +19 -15
  137. package/fesm2022/siemens-element-ng-password-toggle.mjs.map +1 -1
  138. package/fesm2022/siemens-element-ng-phone-number.mjs +56 -50
  139. package/fesm2022/siemens-element-ng-phone-number.mjs.map +1 -1
  140. package/fesm2022/siemens-element-ng-photo-upload.mjs +48 -47
  141. package/fesm2022/siemens-element-ng-photo-upload.mjs.map +1 -1
  142. package/fesm2022/siemens-element-ng-pills-input.mjs +45 -44
  143. package/fesm2022/siemens-element-ng-pills-input.mjs.map +1 -1
  144. package/fesm2022/siemens-element-ng-popover-legacy.mjs +31 -31
  145. package/fesm2022/siemens-element-ng-popover-legacy.mjs.map +1 -1
  146. package/fesm2022/siemens-element-ng-popover.mjs +29 -29
  147. package/fesm2022/siemens-element-ng-popover.mjs.map +1 -1
  148. package/fesm2022/siemens-element-ng-progressbar.mjs +15 -15
  149. package/fesm2022/siemens-element-ng-progressbar.mjs.map +1 -1
  150. package/fesm2022/siemens-element-ng-resize-observer.mjs +25 -61
  151. package/fesm2022/siemens-element-ng-resize-observer.mjs.map +1 -1
  152. package/fesm2022/siemens-element-ng-result-details-list.mjs +13 -12
  153. package/fesm2022/siemens-element-ng-result-details-list.mjs.map +1 -1
  154. package/fesm2022/siemens-element-ng-search-bar.mjs +25 -24
  155. package/fesm2022/siemens-element-ng-search-bar.mjs.map +1 -1
  156. package/fesm2022/siemens-element-ng-select.mjs +204 -347
  157. package/fesm2022/siemens-element-ng-select.mjs.map +1 -1
  158. package/fesm2022/siemens-element-ng-shadow-root.mjs +3 -3
  159. package/fesm2022/siemens-element-ng-shadow-root.mjs.map +1 -1
  160. package/fesm2022/siemens-element-ng-side-panel.mjs +144 -69
  161. package/fesm2022/siemens-element-ng-side-panel.mjs.map +1 -1
  162. package/fesm2022/siemens-element-ng-skip-links.mjs +13 -13
  163. package/fesm2022/siemens-element-ng-skip-links.mjs.map +1 -1
  164. package/fesm2022/siemens-element-ng-slider.mjs +30 -29
  165. package/fesm2022/siemens-element-ng-slider.mjs.map +1 -1
  166. package/fesm2022/siemens-element-ng-sort-bar.mjs +14 -13
  167. package/fesm2022/siemens-element-ng-sort-bar.mjs.map +1 -1
  168. package/fesm2022/siemens-element-ng-split.mjs +26 -28
  169. package/fesm2022/siemens-element-ng-split.mjs.map +1 -1
  170. package/fesm2022/siemens-element-ng-status-bar.mjs +42 -43
  171. package/fesm2022/siemens-element-ng-status-bar.mjs.map +1 -1
  172. package/fesm2022/siemens-element-ng-status-counter.mjs +11 -12
  173. package/fesm2022/siemens-element-ng-status-counter.mjs.map +1 -1
  174. package/fesm2022/siemens-element-ng-status-toggle.mjs +15 -16
  175. package/fesm2022/siemens-element-ng-status-toggle.mjs.map +1 -1
  176. package/fesm2022/siemens-element-ng-summary-chip.mjs +16 -17
  177. package/fesm2022/siemens-element-ng-summary-chip.mjs.map +1 -1
  178. package/fesm2022/siemens-element-ng-summary-widget.mjs +16 -16
  179. package/fesm2022/siemens-element-ng-summary-widget.mjs.map +1 -1
  180. package/fesm2022/siemens-element-ng-system-banner.mjs +7 -7
  181. package/fesm2022/siemens-element-ng-system-banner.mjs.map +1 -1
  182. package/fesm2022/siemens-element-ng-tabs-legacy.mjs +16 -16
  183. package/fesm2022/siemens-element-ng-tabs-legacy.mjs.map +1 -1
  184. package/fesm2022/siemens-element-ng-tabs.mjs +44 -47
  185. package/fesm2022/siemens-element-ng-tabs.mjs.map +1 -1
  186. package/fesm2022/siemens-element-ng-theme.mjs +4 -4
  187. package/fesm2022/siemens-element-ng-theme.mjs.map +1 -1
  188. package/fesm2022/siemens-element-ng-threshold.mjs +51 -71
  189. package/fesm2022/siemens-element-ng-threshold.mjs.map +1 -1
  190. package/fesm2022/siemens-element-ng-toast-notification.mjs +26 -52
  191. package/fesm2022/siemens-element-ng-toast-notification.mjs.map +1 -1
  192. package/fesm2022/siemens-element-ng-tooltip.mjs +60 -68
  193. package/fesm2022/siemens-element-ng-tooltip.mjs.map +1 -1
  194. package/fesm2022/siemens-element-ng-tour.mjs +20 -20
  195. package/fesm2022/siemens-element-ng-tour.mjs.map +1 -1
  196. package/fesm2022/siemens-element-ng-translate.mjs.map +1 -1
  197. package/fesm2022/siemens-element-ng-tree-view.mjs +92 -117
  198. package/fesm2022/siemens-element-ng-tree-view.mjs.map +1 -1
  199. package/fesm2022/siemens-element-ng-typeahead.mjs +46 -62
  200. package/fesm2022/siemens-element-ng-typeahead.mjs.map +1 -1
  201. package/fesm2022/siemens-element-ng-wizard.mjs +49 -48
  202. package/fesm2022/siemens-element-ng-wizard.mjs.map +1 -1
  203. package/file-uploader/package.json +2 -1
  204. package/filter-bar/package.json +2 -1
  205. package/filtered-search/package.json +2 -1
  206. package/footer/package.json +2 -1
  207. package/form/package.json +2 -1
  208. package/formly/package.json +2 -1
  209. package/header-dropdown/package.json +2 -1
  210. package/help-button/package.json +2 -1
  211. package/icon/package.json +2 -1
  212. package/icon-status/package.json +2 -1
  213. package/info-page/package.json +2 -1
  214. package/inline-notification/package.json +2 -1
  215. package/ip-input/package.json +2 -1
  216. package/landing-page/package.json +2 -1
  217. package/language-switcher/package.json +2 -1
  218. package/link/package.json +2 -1
  219. package/list-details/package.json +2 -1
  220. package/loading-spinner/package.json +2 -1
  221. package/localization/package.json +2 -1
  222. package/main-detail-container/package.json +2 -1
  223. package/markdown-renderer/package.json +2 -1
  224. package/menu/package.json +2 -1
  225. package/modal/package.json +2 -1
  226. package/navbar/package.json +2 -1
  227. package/navbar-vertical/package.json +2 -1
  228. package/notification-item/package.json +2 -1
  229. package/number-input/package.json +2 -1
  230. package/package.json +115 -107
  231. package/pagination/package.json +2 -1
  232. package/password-strength/package.json +2 -1
  233. package/password-toggle/package.json +2 -1
  234. package/phone-number/package.json +2 -1
  235. package/photo-upload/package.json +2 -1
  236. package/pills-input/package.json +2 -1
  237. package/popover/package.json +2 -1
  238. package/popover-legacy/package.json +2 -1
  239. package/progressbar/package.json +2 -1
  240. package/resize-observer/package.json +2 -1
  241. package/result-details-list/package.json +2 -1
  242. package/schematics/collection.json +0 -12
  243. package/schematics/migration.json +15 -0
  244. package/schematics/migrations/data/attribute-selectors.js +1 -6
  245. package/schematics/migrations/data/component-names.js +9 -68
  246. package/schematics/migrations/data/element-selectors.js +9 -8
  247. package/schematics/migrations/data/index.js +0 -1
  248. package/schematics/migrations/data/migration-test-data.js +167 -0
  249. package/schematics/migrations/data/output-names.js +1 -7
  250. package/schematics/migrations/data/symbol-removals.js +4 -45
  251. package/schematics/migrations/element-migration/element-migration.js +1 -3
  252. package/schematics/migrations/index.js +15 -5
  253. package/schematics/migrations/ngx-translate/index.js +93 -0
  254. package/schematics/ng-update/index.js +17 -0
  255. package/schematics/ng-update/schema.json +15 -0
  256. package/schematics/simpl-siemens-migration/index.js +1 -5
  257. package/schematics/utils/ts-utils.js +135 -0
  258. package/search-bar/package.json +2 -1
  259. package/select/package.json +2 -1
  260. package/shadow-root/package.json +2 -1
  261. package/side-panel/package.json +2 -1
  262. package/skip-links/package.json +2 -1
  263. package/slider/package.json +2 -1
  264. package/sort-bar/package.json +2 -1
  265. package/split/package.json +2 -1
  266. package/status-bar/package.json +2 -1
  267. package/status-counter/package.json +2 -1
  268. package/status-toggle/package.json +2 -1
  269. package/summary-chip/package.json +2 -1
  270. package/summary-widget/package.json +2 -1
  271. package/system-banner/package.json +2 -1
  272. package/tabs/package.json +2 -1
  273. package/tabs-legacy/package.json +2 -1
  274. package/template-i18n.json +32 -25
  275. package/test-styles.scss +5 -0
  276. package/theme/package.json +2 -1
  277. package/threshold/package.json +2 -1
  278. package/toast-notification/package.json +2 -1
  279. package/tooltip/package.json +2 -1
  280. package/tour/package.json +2 -1
  281. package/translate/package.json +2 -1
  282. package/tree-view/package.json +2 -1
  283. package/typeahead/package.json +2 -1
  284. package/{accordion/index.d.ts → types/siemens-element-ng-accordion.d.ts} +2 -3
  285. package/{application-header/index.d.ts → types/siemens-element-ng-application-header.d.ts} +19 -18
  286. package/{autocomplete/index.d.ts → types/siemens-element-ng-autocomplete.d.ts} +1 -3
  287. package/{breadcrumb/index.d.ts → types/siemens-element-ng-breadcrumb.d.ts} +2 -2
  288. package/{chat-messages/index.d.ts → types/siemens-element-ng-chat-messages.d.ts} +72 -10
  289. package/{common/index.d.ts → types/siemens-element-ng-common.d.ts} +2 -30
  290. package/{content-action-bar/index.d.ts → types/siemens-element-ng-content-action-bar.d.ts} +2 -2
  291. package/{dashboard/index.d.ts → types/siemens-element-ng-dashboard.d.ts} +6 -6
  292. package/{date-range-filter/index.d.ts → types/siemens-element-ng-date-range-filter.d.ts} +28 -27
  293. package/{datepicker/index.d.ts → types/siemens-element-ng-datepicker.d.ts} +5 -6
  294. package/{electron-titlebar/index.d.ts → types/siemens-element-ng-electron-titlebar.d.ts} +4 -4
  295. package/{file-uploader/index.d.ts → types/siemens-element-ng-file-uploader.d.ts} +26 -26
  296. package/{filter-bar/index.d.ts → types/siemens-element-ng-filter-bar.d.ts} +4 -4
  297. package/{filtered-search/index.d.ts → types/siemens-element-ng-filtered-search.d.ts} +6 -21
  298. package/{form/index.d.ts → types/siemens-element-ng-form.d.ts} +4 -6
  299. package/{formly/index.d.ts → types/siemens-element-ng-formly.d.ts} +1 -1
  300. package/types/siemens-element-ng-icon.d.ts +203 -0
  301. package/{landing-page/index.d.ts → types/siemens-element-ng-landing-page.d.ts} +15 -15
  302. package/{language-switcher/index.d.ts → types/siemens-element-ng-language-switcher.d.ts} +1 -2
  303. package/{list-details/index.d.ts → types/siemens-element-ng-list-details.d.ts} +4 -11
  304. package/{loading-spinner/index.d.ts → types/siemens-element-ng-loading-spinner.d.ts} +2 -3
  305. package/{modal/index.d.ts → types/siemens-element-ng-modal.d.ts} +0 -6
  306. package/{navbar-vertical/index.d.ts → types/siemens-element-ng-navbar-vertical.d.ts} +12 -7
  307. package/{navbar/index.d.ts → types/siemens-element-ng-navbar.d.ts} +11 -11
  308. package/{notification-item/index.d.ts → types/siemens-element-ng-notification-item.d.ts} +15 -3
  309. package/{pagination/index.d.ts → types/siemens-element-ng-pagination.d.ts} +4 -4
  310. package/{password-toggle/index.d.ts → types/siemens-element-ng-password-toggle.d.ts} +6 -4
  311. package/{phone-number/index.d.ts → types/siemens-element-ng-phone-number.d.ts} +8 -11
  312. package/{pills-input/index.d.ts → types/siemens-element-ng-pills-input.d.ts} +3 -3
  313. package/{popover/index.d.ts → types/siemens-element-ng-popover.d.ts} +2 -2
  314. package/{resize-observer/index.d.ts → types/siemens-element-ng-resize-observer.d.ts} +0 -30
  315. package/{search-bar/index.d.ts → types/siemens-element-ng-search-bar.d.ts} +2 -2
  316. package/{select/index.d.ts → types/siemens-element-ng-select.d.ts} +18 -97
  317. package/{side-panel/index.d.ts → types/siemens-element-ng-side-panel.d.ts} +26 -5
  318. package/{slider/index.d.ts → types/siemens-element-ng-slider.d.ts} +4 -4
  319. package/{split/index.d.ts → types/siemens-element-ng-split.d.ts} +1 -3
  320. package/{status-bar/index.d.ts → types/siemens-element-ng-status-bar.d.ts} +6 -6
  321. package/{tabs-legacy/index.d.ts → types/siemens-element-ng-tabs-legacy.d.ts} +5 -0
  322. package/{threshold/index.d.ts → types/siemens-element-ng-threshold.d.ts} +7 -7
  323. package/{toast-notification/index.d.ts → types/siemens-element-ng-toast-notification.d.ts} +3 -4
  324. package/{tooltip/index.d.ts → types/siemens-element-ng-tooltip.d.ts} +3 -6
  325. package/{tour/index.d.ts → types/siemens-element-ng-tour.d.ts} +1 -10
  326. package/{translate/index.d.ts → types/siemens-element-ng-translate.d.ts} +8 -1
  327. package/{tree-view/index.d.ts → types/siemens-element-ng-tree-view.d.ts} +0 -1
  328. package/{typeahead/index.d.ts → types/siemens-element-ng-typeahead.d.ts} +0 -2
  329. package/{wizard/index.d.ts → types/siemens-element-ng-wizard.d.ts} +6 -6
  330. package/wizard/package.json +2 -1
  331. package/fesm2022/siemens-element-ng-unauthorized-page.mjs +0 -75
  332. package/fesm2022/siemens-element-ng-unauthorized-page.mjs.map +0 -1
  333. package/icon/index.d.ts +0 -285
  334. package/schematics/migrations/action-modal-migration/action-modal-migration.js +0 -162
  335. package/schematics/migrations/action-modal-migration/action-modal.mappings.js +0 -98
  336. package/schematics/migrations/action-modal-migration/index.js +0 -5
  337. package/schematics/migrations/wizard-migration/index.js +0 -80
  338. package/schematics/scss-import-to-siemens-migration/index.js +0 -101
  339. package/schematics/scss-import-to-siemens-migration/schema.json +0 -16
  340. package/schematics/scss-import-to-siemens-migration/style-mappings.js +0 -62
  341. package/schematics/ts-import-to-siemens-migration/index.js +0 -230
  342. package/schematics/ts-import-to-siemens-migration/mappings/charts-ng-mappings.js +0 -71
  343. package/schematics/ts-import-to-siemens-migration/mappings/dashboards-ng-mappings.js +0 -54
  344. package/schematics/ts-import-to-siemens-migration/mappings/element-ng-mappings.js +0 -705
  345. package/schematics/ts-import-to-siemens-migration/mappings/element-translate-ng-mappings.js +0 -21
  346. package/schematics/ts-import-to-siemens-migration/mappings/index.js +0 -10
  347. package/schematics/ts-import-to-siemens-migration/mappings/maps-ng-mappings.js +0 -47
  348. package/schematics/ts-import-to-siemens-migration/mappings/native-charts-ng-mappings.js +0 -33
  349. package/schematics/ts-import-to-siemens-migration/model.js +0 -4
  350. package/schematics/ts-import-to-siemens-migration/schema.json +0 -16
  351. package/unauthorized-page/index.d.ts +0 -44
  352. package/unauthorized-page/package.json +0 -3
  353. /package/{about/index.d.ts → types/siemens-element-ng-about.d.ts} +0 -0
  354. /package/{action-modal/index.d.ts → types/siemens-element-ng-action-modal.d.ts} +0 -0
  355. /package/{ag-grid/index.d.ts → types/siemens-element-ng-ag-grid.d.ts} +0 -0
  356. /package/{auto-collapsable-list/index.d.ts → types/siemens-element-ng-auto-collapsable-list.d.ts} +0 -0
  357. /package/{avatar/index.d.ts → types/siemens-element-ng-avatar.d.ts} +0 -0
  358. /package/{badge/index.d.ts → types/siemens-element-ng-badge.d.ts} +0 -0
  359. /package/{breadcrumb-router/index.d.ts → types/siemens-element-ng-breadcrumb-router.d.ts} +0 -0
  360. /package/{card/index.d.ts → types/siemens-element-ng-card.d.ts} +0 -0
  361. /package/{circle-status/index.d.ts → types/siemens-element-ng-circle-status.d.ts} +0 -0
  362. /package/{color-picker/index.d.ts → types/siemens-element-ng-color-picker.d.ts} +0 -0
  363. /package/{column-selection-dialog/index.d.ts → types/siemens-element-ng-column-selection-dialog.d.ts} +0 -0
  364. /package/{connection-strength/index.d.ts → types/siemens-element-ng-connection-strength.d.ts} +0 -0
  365. /package/{copyright-notice/index.d.ts → types/siemens-element-ng-copyright-notice.d.ts} +0 -0
  366. /package/{datatable/index.d.ts → types/siemens-element-ng-datatable.d.ts} +0 -0
  367. /package/{empty-state/index.d.ts → types/siemens-element-ng-empty-state.d.ts} +0 -0
  368. /package/{footer/index.d.ts → types/siemens-element-ng-footer.d.ts} +0 -0
  369. /package/{header-dropdown/index.d.ts → types/siemens-element-ng-header-dropdown.d.ts} +0 -0
  370. /package/{help-button/index.d.ts → types/siemens-element-ng-help-button.d.ts} +0 -0
  371. /package/{icon-status/index.d.ts → types/siemens-element-ng-icon-status.d.ts} +0 -0
  372. /package/{info-page/index.d.ts → types/siemens-element-ng-info-page.d.ts} +0 -0
  373. /package/{inline-notification/index.d.ts → types/siemens-element-ng-inline-notification.d.ts} +0 -0
  374. /package/{ip-input/index.d.ts → types/siemens-element-ng-ip-input.d.ts} +0 -0
  375. /package/{link/index.d.ts → types/siemens-element-ng-link.d.ts} +0 -0
  376. /package/{localization/index.d.ts → types/siemens-element-ng-localization.d.ts} +0 -0
  377. /package/{main-detail-container/index.d.ts → types/siemens-element-ng-main-detail-container.d.ts} +0 -0
  378. /package/{markdown-renderer/index.d.ts → types/siemens-element-ng-markdown-renderer.d.ts} +0 -0
  379. /package/{menu/index.d.ts → types/siemens-element-ng-menu.d.ts} +0 -0
  380. /package/{number-input/index.d.ts → types/siemens-element-ng-number-input.d.ts} +0 -0
  381. /package/{password-strength/index.d.ts → types/siemens-element-ng-password-strength.d.ts} +0 -0
  382. /package/{photo-upload/index.d.ts → types/siemens-element-ng-photo-upload.d.ts} +0 -0
  383. /package/{popover-legacy/index.d.ts → types/siemens-element-ng-popover-legacy.d.ts} +0 -0
  384. /package/{progressbar/index.d.ts → types/siemens-element-ng-progressbar.d.ts} +0 -0
  385. /package/{result-details-list/index.d.ts → types/siemens-element-ng-result-details-list.d.ts} +0 -0
  386. /package/{shadow-root/index.d.ts → types/siemens-element-ng-shadow-root.d.ts} +0 -0
  387. /package/{skip-links/index.d.ts → types/siemens-element-ng-skip-links.d.ts} +0 -0
  388. /package/{sort-bar/index.d.ts → types/siemens-element-ng-sort-bar.d.ts} +0 -0
  389. /package/{status-counter/index.d.ts → types/siemens-element-ng-status-counter.d.ts} +0 -0
  390. /package/{status-toggle/index.d.ts → types/siemens-element-ng-status-toggle.d.ts} +0 -0
  391. /package/{summary-chip/index.d.ts → types/siemens-element-ng-summary-chip.d.ts} +0 -0
  392. /package/{summary-widget/index.d.ts → types/siemens-element-ng-summary-widget.d.ts} +0 -0
  393. /package/{system-banner/index.d.ts → types/siemens-element-ng-system-banner.d.ts} +0 -0
  394. /package/{tabs/index.d.ts → types/siemens-element-ng-tabs.d.ts} +0 -0
  395. /package/{theme/index.d.ts → types/siemens-element-ng-theme.d.ts} +0 -0
  396. /package/{index.d.ts → types/siemens-element-ng.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
- import { NgClass } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
2
  import { input, model, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
4
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
@@ -12,14 +11,14 @@ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
12
11
  */
13
12
  class SiStatusToggleComponent {
14
13
  /** List of status items. */
15
- items = input.required();
14
+ items = input.required(...(ngDevMode ? [{ debugName: "items" }] : []));
16
15
  /**
17
16
  * Disabled state for the whole component.
18
17
  * @defaultValue false
19
18
  **/
20
- disabled = input(false);
19
+ disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
21
20
  /** Value of currently selected status item. */
22
- value = model();
21
+ value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
23
22
  /** Emitted when an item is clicked. */
24
23
  itemClick = output();
25
24
  containerElement = viewChild.required('container');
@@ -30,11 +29,11 @@ class SiStatusToggleComponent {
30
29
  onChange;
31
30
  onTouched;
32
31
  unlistenDragEvents = [];
33
- internalDisabled = signal(false);
34
- selectedIndex = signal(undefined);
35
- draggablePosition = signal('');
36
- animated = signal(false);
37
- isDisabled = computed(() => this.disabled() || this.internalDisabled());
32
+ internalDisabled = signal(false, ...(ngDevMode ? [{ debugName: "internalDisabled" }] : []));
33
+ selectedIndex = signal(undefined, ...(ngDevMode ? [{ debugName: "selectedIndex" }] : []));
34
+ draggablePosition = signal('', ...(ngDevMode ? [{ debugName: "draggablePosition" }] : []));
35
+ animated = signal(false, ...(ngDevMode ? [{ debugName: "animated" }] : []));
36
+ isDisabled = computed(() => this.disabled() || this.internalDisabled(), ...(ngDevMode ? [{ debugName: "isDisabled" }] : []));
38
37
  ngOnChanges(changes) {
39
38
  if (changes.value || changes.values) {
40
39
  this.setValue(this.value(), true, false);
@@ -160,27 +159,27 @@ class SiStatusToggleComponent {
160
159
  }
161
160
  }
162
161
  }
163
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiStatusToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
164
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiStatusToggleComponent, isStandalone: true, selector: "si-status-toggle", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", itemClick: "itemClick" }, providers: [
162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiStatusToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
163
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiStatusToggleComponent, isStandalone: true, selector: "si-status-toggle", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", itemClick: "itemClick" }, providers: [
165
164
  {
166
165
  provide: NG_VALUE_ACCESSOR,
167
166
  // eslint-disable-next-line @angular-eslint/no-forward-ref
168
167
  useExisting: forwardRef(() => SiStatusToggleComponent),
169
168
  multi: true
170
169
  }
171
- ], viewQueries: [{ propertyName: "containerElement", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "draggableElement", first: true, predicate: ["draggable"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [ngClass]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [ngClass]=\"item.activeIconStackedClass ?? item.activeIconClass + '-contrast'\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [ngClass]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n", styles: [":host{display:block;block-size:48px;border:1px solid var(--element-ui-4);border-radius:var(--element-radius-2);background:var(--element-base-2);padding:2px}.status-toggle-container{position:relative;display:flex;gap:2px;inline-size:100%;block-size:100%;border-radius:var(--element-radius-1);justify-content:space-around;z-index:0;-webkit-user-select:none;user-select:none}.status-toggle-container.disabled .toggle-draggable{display:none}.status-toggle-container.disabled .status-toggle-item{color:var(--element-text-disabled)}.status-toggle-item{display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;color:var(--element-text-secondary);border-radius:1px;cursor:pointer}.status-toggle-item.active{color:var(--element-text-primary)!important}.status-toggle-item.disabled{cursor:default;color:var(--element-text-disabled)!important}.status-toggle-item span{max-inline-size:100%;-webkit-user-select:none;user-select:none}.toggle-draggable{position:absolute;inset-block:0;z-index:1;cursor:pointer}.toggle-draggable.animated{transition:all .4s ease}.visible-toggle-draggable{inline-size:100%;block-size:100%;border-radius:1px;background:var(--element-base-1-selected)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
170
+ ], viewQueries: [{ propertyName: "containerElement", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "draggableElement", first: true, predicate: ["draggable"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [class]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [class]=\"item.activeIconStackedClass ?? `${item.activeIconClass}-contrast`\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [class]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n", styles: [":host{display:block;block-size:48px;border:1px solid var(--element-ui-4);border-radius:var(--element-radius-2);background:var(--element-base-2);padding:2px}.status-toggle-container{position:relative;display:flex;gap:2px;inline-size:100%;block-size:100%;border-radius:var(--element-radius-1);justify-content:space-around;z-index:0;-webkit-user-select:none;user-select:none}.status-toggle-container.disabled .toggle-draggable{display:none}.status-toggle-container.disabled .status-toggle-item{color:var(--element-text-disabled)}.status-toggle-item{display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;color:var(--element-text-secondary);border-radius:1px;cursor:pointer}.status-toggle-item.active{color:var(--element-text-primary)!important}.status-toggle-item.disabled{cursor:default;color:var(--element-text-disabled)!important}.status-toggle-item span{max-inline-size:100%;-webkit-user-select:none;user-select:none}.toggle-draggable{position:absolute;inset-block:0;z-index:1;cursor:pointer}.toggle-draggable.animated{transition:all .4s ease}.visible-toggle-draggable{inline-size:100%;block-size:100%;border-radius:1px;background:var(--element-base-1-selected)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
172
171
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiStatusToggleComponent, decorators: [{
172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiStatusToggleComponent, decorators: [{
174
173
  type: Component,
175
- args: [{ selector: 'si-status-toggle', imports: [NgClass, SiIconComponent, SiTranslatePipe], providers: [
174
+ args: [{ selector: 'si-status-toggle', imports: [SiIconComponent, SiTranslatePipe], providers: [
176
175
  {
177
176
  provide: NG_VALUE_ACCESSOR,
178
177
  // eslint-disable-next-line @angular-eslint/no-forward-ref
179
178
  useExisting: forwardRef(() => SiStatusToggleComponent),
180
179
  multi: true
181
180
  }
182
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [ngClass]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [ngClass]=\"item.activeIconStackedClass ?? item.activeIconClass + '-contrast'\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [ngClass]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n", styles: [":host{display:block;block-size:48px;border:1px solid var(--element-ui-4);border-radius:var(--element-radius-2);background:var(--element-base-2);padding:2px}.status-toggle-container{position:relative;display:flex;gap:2px;inline-size:100%;block-size:100%;border-radius:var(--element-radius-1);justify-content:space-around;z-index:0;-webkit-user-select:none;user-select:none}.status-toggle-container.disabled .toggle-draggable{display:none}.status-toggle-container.disabled .status-toggle-item{color:var(--element-text-disabled)}.status-toggle-item{display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;color:var(--element-text-secondary);border-radius:1px;cursor:pointer}.status-toggle-item.active{color:var(--element-text-primary)!important}.status-toggle-item.disabled{cursor:default;color:var(--element-text-disabled)!important}.status-toggle-item span{max-inline-size:100%;-webkit-user-select:none;user-select:none}.toggle-draggable{position:absolute;inset-block:0;z-index:1;cursor:pointer}.toggle-draggable.animated{transition:all .4s ease}.visible-toggle-draggable{inline-size:100%;block-size:100%;border-radius:1px;background:var(--element-base-1-selected)}\n"] }]
183
- }] });
181
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [class]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [class]=\"item.activeIconStackedClass ?? `${item.activeIconClass}-contrast`\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [class]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n", styles: [":host{display:block;block-size:48px;border:1px solid var(--element-ui-4);border-radius:var(--element-radius-2);background:var(--element-base-2);padding:2px}.status-toggle-container{position:relative;display:flex;gap:2px;inline-size:100%;block-size:100%;border-radius:var(--element-radius-1);justify-content:space-around;z-index:0;-webkit-user-select:none;user-select:none}.status-toggle-container.disabled .toggle-draggable{display:none}.status-toggle-container.disabled .status-toggle-item{color:var(--element-text-disabled)}.status-toggle-item{display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:10;color:var(--element-text-secondary);border-radius:1px;cursor:pointer}.status-toggle-item.active{color:var(--element-text-primary)!important}.status-toggle-item.disabled{cursor:default;color:var(--element-text-disabled)!important}.status-toggle-item span{max-inline-size:100%;-webkit-user-select:none;user-select:none}.toggle-draggable{position:absolute;inset-block:0;z-index:1;cursor:pointer}.toggle-draggable.animated{transition:all .4s ease}.visible-toggle-draggable{inline-size:100%;block-size:100%;border-radius:1px;background:var(--element-base-1-selected)}\n"] }]
182
+ }], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], containerElement: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], draggableElement: [{ type: i0.ViewChild, args: ['draggable', { isSignal: true }] }] } });
184
183
 
185
184
  /**
186
185
  * Copyright (c) Siemens 2016 - 2025
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-status-toggle.mjs","sources":["../../../../projects/element-ng/status-toggle/si-status-toggle.component.ts","../../../../projects/element-ng/status-toggle/si-status-toggle.component.html","../../../../projects/element-ng/status-toggle/index.ts","../../../../projects/element-ng/status-toggle/siemens-element-ng-status-toggle.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isRTL, listenGlobal } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { StatusToggleItem } from './status-toggle.model';\n\n@Component({\n selector: 'si-status-toggle',\n imports: [NgClass, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-status-toggle.component.html',\n styleUrl: './si-status-toggle.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @angular-eslint/no-forward-ref\n useExisting: forwardRef(() => SiStatusToggleComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiStatusToggleComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n /** List of status items. */\n readonly items = input.required<StatusToggleItem[]>();\n /**\n * Disabled state for the whole component.\n * @defaultValue false\n **/\n readonly disabled = input(false);\n /** Value of currently selected status item. */\n readonly value = model<string | number>();\n\n /** Emitted when an item is clicked. */\n readonly itemClick = output<string | number>();\n\n private readonly containerElement = viewChild.required<ElementRef>('container');\n private readonly draggableElement = viewChild.required<ElementRef>('draggable');\n\n private boundingX = 0;\n private x0 = 0;\n private offset0 = 0;\n private onChange?: (value: string | number) => void;\n private onTouched?: () => void;\n private unlistenDragEvents: (() => void)[] = [];\n private readonly internalDisabled = signal(false);\n\n protected readonly selectedIndex = signal<number | undefined>(undefined);\n protected readonly draggablePosition = signal('');\n protected readonly animated = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this.internalDisabled());\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value || changes.values) {\n this.setValue(this.value(), true, false);\n }\n }\n\n ngOnInit(): void {\n const selectedIndex = this.items().findIndex(v => v.value === this.value());\n if (selectedIndex >= 0) {\n this.selectItem(selectedIndex, false, false);\n }\n }\n\n ngOnDestroy(): void {\n this.handleDragEnd();\n }\n\n /** @internal */\n writeValue(value: string | number): void {\n this.setValue(value, true, false);\n }\n\n /** @internal */\n registerOnChange(fn: (value: string | number) => void): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.internalDisabled.set(isDisabled);\n }\n\n protected handleMouseDown(event: MouseEvent): void {\n if (this.isDisabled() || event.buttons !== 1) {\n return;\n }\n if (this.handleDragStart(event)) {\n this.unlistenDragEvents.push(listenGlobal('mousemove', e => this.handleDragMove(e)));\n this.unlistenDragEvents.push(listenGlobal('mouseup', e => this.handleDragEnd(e)));\n }\n }\n\n protected handleTouchStart(event: TouchEvent): void {\n if (event.touches.length !== 1 || this.disabled()) {\n return;\n }\n if (this.handleDragStart(event)) {\n this.unlistenDragEvents.push(listenGlobal('touchmove', e => this.handleDragMove(e), true));\n this.unlistenDragEvents.push(listenGlobal('touchend', e => this.handleDragEnd(e)));\n }\n }\n\n private handleDragStart(event: Event): boolean {\n const rect = this.containerElement().nativeElement.getBoundingClientRect();\n this.boundingX = rect.x;\n const draggable = this.draggableElement().nativeElement;\n\n this.offset0 = draggable.offsetLeft;\n this.x0 = this.getX(event);\n\n // adjust for click outside current selection\n const clickIndex = this.getUnderlyingIndex(this.x0, true);\n const currentIndex = this.getUnderlyingIndex(this.offset0);\n const factor = isRTL() ? -1 : 1;\n this.offset0 += (clickIndex - currentIndex) * draggable.offsetWidth * factor;\n\n this.handleDragMove(event);\n return true;\n }\n\n private handleDragEnd(event?: Event): void {\n this.arrangeToUnderlyingItem(event);\n this.unlistenDragEvents.forEach(handler => handler());\n this.unlistenDragEvents.length = 0;\n }\n\n private getOffset(event: Event, isStart = false): number {\n const containerWidth = this.containerElement().nativeElement.clientWidth;\n const draggableWidth = this.draggableElement().nativeElement.clientWidth;\n\n const dX = this.getX(event) - this.x0;\n const left = Math.min(Math.max(0, this.offset0 + dX), containerWidth - draggableWidth);\n return isStart && isRTL() ? containerWidth - draggableWidth - left : left;\n }\n\n private getUnderlyingIndex(offsetLeft: number, floor = false): number {\n const pos = offsetLeft / this.draggableElement().nativeElement.clientWidth;\n const element = floor ? Math.floor(pos) : Math.round(pos);\n const len = this.items().length;\n const index = isRTL() ? len - element - 1 : element;\n return Math.max(0, Math.min(len - 1, index));\n }\n\n private arrangeToUnderlyingItem(event?: Event): void {\n if (event && !this.isDisabled()) {\n const index = this.getUnderlyingIndex(this.getOffset(event));\n this.selectItem(this.items()[index].disabled ? this.selectedIndex() : index);\n this.onTouched?.();\n }\n }\n\n private handleDragMove(event: Event): void {\n if (event.cancelable) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.draggablePosition.set(`${this.getOffset(event, true)}px`);\n this.animated.set(false);\n }\n\n private getX(event: Event): number {\n const clientX =\n (event as MouseEvent).clientX ?? (event as TouchEvent).changedTouches[0]?.clientX ?? 0;\n return clientX - this.boundingX;\n }\n\n private setValue(val?: string | number, animated = true, emit = false): void {\n this.selectItem(\n this.items().findIndex(v => v.value === val),\n animated,\n emit\n );\n }\n\n protected selectItem(index: number | undefined, animated = true, emit = true): void {\n if (index === undefined || index === -1 || this.isDisabled()) {\n return;\n }\n\n const values = this.items();\n const value = values[index];\n if (!value.disabled) {\n const prevIndex = this.selectedIndex();\n\n this.value.set(value.value);\n this.animated.set(animated);\n this.selectedIndex.set(index);\n this.draggablePosition.set(`${(100 / values.length) * index}%`);\n\n if (emit && index !== prevIndex) {\n if (this.onChange) {\n this.onChange(this.value()!);\n }\n }\n\n if (emit) {\n this.itemClick.emit(this.value()!);\n }\n }\n }\n}\n","<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [ngClass]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [ngClass]=\"item.activeIconStackedClass ?? item.activeIconClass + '-contrast'\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [ngClass]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-status-toggle.component';\nexport * from './status-toggle.model';\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-status-toggle.mjs","sources":["../../../../projects/element-ng/status-toggle/si-status-toggle.component.ts","../../../../projects/element-ng/status-toggle/si-status-toggle.component.html","../../../../projects/element-ng/status-toggle/index.ts","../../../../projects/element-ng/status-toggle/siemens-element-ng-status-toggle.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n input,\n model,\n OnChanges,\n OnDestroy,\n OnInit,\n output,\n signal,\n SimpleChanges,\n viewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isRTL, listenGlobal } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\nimport { StatusToggleItem } from './status-toggle.model';\n\n@Component({\n selector: 'si-status-toggle',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-status-toggle.component.html',\n styleUrl: './si-status-toggle.component.scss',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @angular-eslint/no-forward-ref\n useExisting: forwardRef(() => SiStatusToggleComponent),\n multi: true\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiStatusToggleComponent implements ControlValueAccessor, OnInit, OnDestroy, OnChanges {\n /** List of status items. */\n readonly items = input.required<StatusToggleItem[]>();\n /**\n * Disabled state for the whole component.\n * @defaultValue false\n **/\n readonly disabled = input(false);\n /** Value of currently selected status item. */\n readonly value = model<string | number>();\n\n /** Emitted when an item is clicked. */\n readonly itemClick = output<string | number>();\n\n private readonly containerElement = viewChild.required<ElementRef>('container');\n private readonly draggableElement = viewChild.required<ElementRef>('draggable');\n\n private boundingX = 0;\n private x0 = 0;\n private offset0 = 0;\n private onChange?: (value: string | number) => void;\n private onTouched?: () => void;\n private unlistenDragEvents: (() => void)[] = [];\n private readonly internalDisabled = signal(false);\n\n protected readonly selectedIndex = signal<number | undefined>(undefined);\n protected readonly draggablePosition = signal('');\n protected readonly animated = signal(false);\n protected readonly isDisabled = computed(() => this.disabled() || this.internalDisabled());\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.value || changes.values) {\n this.setValue(this.value(), true, false);\n }\n }\n\n ngOnInit(): void {\n const selectedIndex = this.items().findIndex(v => v.value === this.value());\n if (selectedIndex >= 0) {\n this.selectItem(selectedIndex, false, false);\n }\n }\n\n ngOnDestroy(): void {\n this.handleDragEnd();\n }\n\n /** @internal */\n writeValue(value: string | number): void {\n this.setValue(value, true, false);\n }\n\n /** @internal */\n registerOnChange(fn: (value: string | number) => void): void {\n this.onChange = fn;\n }\n\n /** @internal */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /** @internal */\n setDisabledState(isDisabled: boolean): void {\n this.internalDisabled.set(isDisabled);\n }\n\n protected handleMouseDown(event: MouseEvent): void {\n if (this.isDisabled() || event.buttons !== 1) {\n return;\n }\n if (this.handleDragStart(event)) {\n this.unlistenDragEvents.push(listenGlobal('mousemove', e => this.handleDragMove(e)));\n this.unlistenDragEvents.push(listenGlobal('mouseup', e => this.handleDragEnd(e)));\n }\n }\n\n protected handleTouchStart(event: TouchEvent): void {\n if (event.touches.length !== 1 || this.disabled()) {\n return;\n }\n if (this.handleDragStart(event)) {\n this.unlistenDragEvents.push(listenGlobal('touchmove', e => this.handleDragMove(e), true));\n this.unlistenDragEvents.push(listenGlobal('touchend', e => this.handleDragEnd(e)));\n }\n }\n\n private handleDragStart(event: Event): boolean {\n const rect = this.containerElement().nativeElement.getBoundingClientRect();\n this.boundingX = rect.x;\n const draggable = this.draggableElement().nativeElement;\n\n this.offset0 = draggable.offsetLeft;\n this.x0 = this.getX(event);\n\n // adjust for click outside current selection\n const clickIndex = this.getUnderlyingIndex(this.x0, true);\n const currentIndex = this.getUnderlyingIndex(this.offset0);\n const factor = isRTL() ? -1 : 1;\n this.offset0 += (clickIndex - currentIndex) * draggable.offsetWidth * factor;\n\n this.handleDragMove(event);\n return true;\n }\n\n private handleDragEnd(event?: Event): void {\n this.arrangeToUnderlyingItem(event);\n this.unlistenDragEvents.forEach(handler => handler());\n this.unlistenDragEvents.length = 0;\n }\n\n private getOffset(event: Event, isStart = false): number {\n const containerWidth = this.containerElement().nativeElement.clientWidth;\n const draggableWidth = this.draggableElement().nativeElement.clientWidth;\n\n const dX = this.getX(event) - this.x0;\n const left = Math.min(Math.max(0, this.offset0 + dX), containerWidth - draggableWidth);\n return isStart && isRTL() ? containerWidth - draggableWidth - left : left;\n }\n\n private getUnderlyingIndex(offsetLeft: number, floor = false): number {\n const pos = offsetLeft / this.draggableElement().nativeElement.clientWidth;\n const element = floor ? Math.floor(pos) : Math.round(pos);\n const len = this.items().length;\n const index = isRTL() ? len - element - 1 : element;\n return Math.max(0, Math.min(len - 1, index));\n }\n\n private arrangeToUnderlyingItem(event?: Event): void {\n if (event && !this.isDisabled()) {\n const index = this.getUnderlyingIndex(this.getOffset(event));\n this.selectItem(this.items()[index].disabled ? this.selectedIndex() : index);\n this.onTouched?.();\n }\n }\n\n private handleDragMove(event: Event): void {\n if (event.cancelable) {\n event.preventDefault();\n event.stopPropagation();\n }\n this.draggablePosition.set(`${this.getOffset(event, true)}px`);\n this.animated.set(false);\n }\n\n private getX(event: Event): number {\n const clientX =\n (event as MouseEvent).clientX ?? (event as TouchEvent).changedTouches[0]?.clientX ?? 0;\n return clientX - this.boundingX;\n }\n\n private setValue(val?: string | number, animated = true, emit = false): void {\n this.selectItem(\n this.items().findIndex(v => v.value === val),\n animated,\n emit\n );\n }\n\n protected selectItem(index: number | undefined, animated = true, emit = true): void {\n if (index === undefined || index === -1 || this.isDisabled()) {\n return;\n }\n\n const values = this.items();\n const value = values[index];\n if (!value.disabled) {\n const prevIndex = this.selectedIndex();\n\n this.value.set(value.value);\n this.animated.set(animated);\n this.selectedIndex.set(index);\n this.draggablePosition.set(`${(100 / values.length) * index}%`);\n\n if (emit && index !== prevIndex) {\n if (this.onChange) {\n this.onChange(this.value()!);\n }\n }\n\n if (emit) {\n this.itemClick.emit(this.value()!);\n }\n }\n }\n}\n","<div\n #container\n role=\"radiogroup\"\n class=\"status-toggle-container\"\n [class.disabled]=\"isDisabled()\"\n (mousedown)=\"handleMouseDown($event)\"\n (touchstart)=\"handleTouchStart($event)\"\n>\n @let itemsValue = items();\n <div\n #draggable\n class=\"toggle-draggable\"\n [class.animated]=\"animated()\"\n [class.disabled]=\"isDisabled()\"\n [style.inset-inline-start]=\"draggablePosition()\"\n [style.width.%]=\"100 / itemsValue.length\"\n >\n <div class=\"visible-toggle-draggable\"></div>\n </div>\n\n @let selIndexValue = selectedIndex();\n @for (item of itemsValue; track $index) {\n <div\n #items\n class=\"status-toggle-item focus-inside px-4\"\n role=\"radio\"\n [attr.aria-checked]=\"$index === selIndexValue\"\n [attr.tabindex]=\"isDisabled() || item.disabled ? '' : '0'\"\n [attr.aria-disabled]=\"isDisabled() || item.disabled\"\n [class.active]=\"$index === selIndexValue\"\n [class.disabled]=\"item.disabled || isDisabled()\"\n [style.width.%]=\"100 / $count\"\n (keydown.enter)=\"selectItem($index)\"\n >\n <span class=\"icon icon-stack\">\n <si-icon\n [class]=\"$index === selIndexValue ? (item.activeIconClass ?? 'active') : ''\"\n [icon]=\"$index === selIndexValue ? (item.activeIcon ?? item.icon) : item.icon\"\n />\n @if ($index === selIndexValue && item.activeIconStacked) {\n <si-icon\n [class]=\"item.activeIconStackedClass ?? `${item.activeIconClass}-contrast`\"\n [icon]=\"item.activeIconStacked\"\n />\n }\n </span>\n <span\n class=\"text-truncate\"\n [class]=\"$index === selIndexValue ? (item.activeTextClass ?? 'active') : ''\"\n >\n {{ item.text | translate }}\n </span>\n </div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-status-toggle.component';\nexport * from './status-toggle.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { NgClass } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
2
  import { inject, input, model, booleanAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
4
3
  import { STATUS_ICON_CONFIG, SiIconComponent } from '@siemens/element-ng/icon';
@@ -11,34 +10,34 @@ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
11
10
  class SiSummaryChipComponent {
12
11
  statusIcons = inject(STATUS_ICON_CONFIG);
13
12
  /** Status. Alternatively, use {@link icon} and {@link color}. */
14
- status = input();
13
+ status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
15
14
  /** Icon token, see {@link https://element.siemens.io/icons/element}. */
16
- icon = input();
15
+ icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
17
16
  /** Color class, see {@link https://element.siemens.io/typography/#color-variants-classes}. */
18
- color = input();
17
+ color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
19
18
  /** Icon token, see {@link https://element.siemens.io/fundamentals/icons/}. */
20
- stackedIcon = input();
19
+ stackedIcon = input(...(ngDevMode ? [undefined, { debugName: "stackedIcon" }] : []));
21
20
  /** Color class, see {@link https://element.siemens.io/fundamentals/icons/}. */
22
- stackedColor = input();
21
+ stackedColor = input(...(ngDevMode ? [undefined, { debugName: "stackedColor" }] : []));
23
22
  /** The label. */
24
- label = input.required();
23
+ label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
25
24
  /** Value to display. */
26
- value = input();
25
+ value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
27
26
  /**
28
27
  * Selected state, will change when clicked.
29
28
  * @defaultValue false
30
29
  */
31
- selected = model(false);
30
+ selected = model(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
32
31
  /**
33
32
  * Disabled state.
34
33
  * @defaultValue false
35
34
  */
36
- disabled = input(false, { transform: booleanAttribute });
35
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
37
36
  /**
38
37
  * Whether to hide the label. Only takes effect when both {@link icon} and {@link value} are provided. The label will still be used for screen-readers.
39
38
  * @defaultValue false
40
39
  */
41
- hideLabel = input(false, { transform: booleanAttribute });
40
+ hideLabel = input(false, { ...(ngDevMode ? { debugName: "hideLabel" } : {}), transform: booleanAttribute });
42
41
  statusIcon = computed(() => {
43
42
  const status = this.status();
44
43
  return status
@@ -49,19 +48,19 @@ class SiSummaryChipComponent {
49
48
  stacked: this.stackedIcon(),
50
49
  stackedColor: this.stackedColor()
51
50
  };
52
- });
51
+ }, ...(ngDevMode ? [{ debugName: "statusIcon" }] : []));
53
52
  toggleSelected() {
54
53
  if (!this.disabled()) {
55
54
  this.selected.set(!this.selected());
56
55
  }
57
56
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSummaryChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSummaryChipComponent, isStandalone: true, selector: "si-summary-chip", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, ngImport: i0, template: "<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [ngClass]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [ngClass]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n", styles: [".chip{display:inline-flex;align-items:center;border:1px solid var(--element-ui-3);border-radius:16px;padding-block:7px;padding-inline:8px;gap:4px}.chip:not(.disabled){cursor:pointer}.chip:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
57
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSummaryChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
58
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSummaryChipComponent, isStandalone: true, selector: "si-summary-chip", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, ngImport: i0, template: "<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n", styles: [".chip{display:inline-flex;align-items:center;border:1px solid var(--element-ui-3);border-radius:16px;padding-block:7px;padding-inline:8px;gap:4px}.chip:not(.disabled){cursor:pointer}.chip:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
59
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSummaryChipComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSummaryChipComponent, decorators: [{
62
61
  type: Component,
63
- args: [{ selector: 'si-summary-chip', imports: [NgClass, SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [ngClass]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [ngClass]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n", styles: [".chip{display:inline-flex;align-items:center;border:1px solid var(--element-ui-3);border-radius:16px;padding-block:7px;padding-inline:8px;gap:4px}.chip:not(.disabled){cursor:pointer}.chip:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"] }]
64
- }] });
62
+ args: [{ selector: 'si-summary-chip', imports: [SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n", styles: [".chip{display:inline-flex;align-items:center;border:1px solid var(--element-ui-3);border-radius:16px;padding-block:7px;padding-inline:8px;gap:4px}.chip:not(.disabled){cursor:pointer}.chip:not(.disabled):not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"] }]
63
+ }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], 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 }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], hideLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideLabel", required: false }] }] } });
65
64
 
66
65
  /**
67
66
  * Copyright (c) Siemens 2016 - 2025
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-summary-chip.mjs","sources":["../../../../projects/element-ng/summary-chip/si-summary-chip.component.ts","../../../../projects/element-ng/summary-chip/si-summary-chip.component.html","../../../../projects/element-ng/summary-chip/index.ts","../../../../projects/element-ng/summary-chip/siemens-element-ng-summary-chip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model\n} from '@angular/core';\nimport { ExtendedStatusType } from '@siemens/element-ng/common';\nimport { SiIconComponent, STATUS_ICON_CONFIG } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-summary-chip',\n imports: [NgClass, SiIconComponent, SiTranslatePipe],\n templateUrl: './si-summary-chip.component.html',\n styleUrl: './si-summary-chip.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSummaryChipComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n /** Status. Alternatively, use {@link icon} and {@link color}. */\n readonly status = input<ExtendedStatusType>();\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/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 /** The label. */\n readonly label = input.required<TranslatableString>();\n /** Value to display. */\n readonly value = input<TranslatableString>();\n /**\n * Selected state, will change when clicked.\n * @defaultValue false\n */\n readonly selected = model(false);\n /**\n * Disabled state.\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /**\n * Whether to hide the label. Only takes effect when both {@link icon} and {@link value} are provided. The label will still be used for screen-readers.\n * @defaultValue false\n */\n readonly hideLabel = input(false, { transform: booleanAttribute });\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status\n ? this.statusIcons[status]\n : {\n icon: this.icon(),\n color: this.color(),\n stacked: this.stackedIcon(),\n stackedColor: this.stackedColor()\n };\n });\n\n protected toggleSelected(): void {\n if (!this.disabled()) {\n this.selected.set(!this.selected());\n }\n }\n}\n","<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [ngClass]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [ngClass]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-summary-chip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;MAsBU,sBAAsB,CAAA;AAChB,IAAA,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC;;IAEhD,MAAM,GAAG,KAAK,EAAsB;;IAEpC,IAAI,GAAG,KAAK,EAAU;;IAEtB,KAAK,GAAG,KAAK,EAAU;;IAEvB,WAAW,GAAG,KAAK,EAAU;;IAE7B,YAAY,GAAG,KAAK,EAAU;;AAE9B,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAsB;;IAE5C,KAAK,GAAG,KAAK,EAAsB;AAC5C;;;AAGG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;AAChC;;;AAGG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AACjE;;;AAGG;IACM,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAE/C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,OAAO;AACL,cAAE,IAAI,CAAC,WAAW,CAAC,MAAM;AACzB,cAAE;AACE,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;AAC3B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC;AACP,KAAC,CAAC;IAEQ,cAAc,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;;;uGA9C5B,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,o3CCzBnC,y4BA4BA,EAAA,MAAA,EAAA,CAAA,wXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,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;;2FAKxC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAPlC,SAAS;+BACE,iBAAiB,EAAA,OAAA,EAClB,CAAC,OAAO,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,eAAA,EAGnC,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,y4BAAA,EAAA,MAAA,EAAA,CAAA,wXAAA,CAAA,EAAA;;;AEvBjD;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-summary-chip.mjs","sources":["../../../../projects/element-ng/summary-chip/si-summary-chip.component.ts","../../../../projects/element-ng/summary-chip/si-summary-chip.component.html","../../../../projects/element-ng/summary-chip/index.ts","../../../../projects/element-ng/summary-chip/siemens-element-ng-summary-chip.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n inject,\n input,\n model\n} from '@angular/core';\nimport { ExtendedStatusType } from '@siemens/element-ng/common';\nimport { SiIconComponent, STATUS_ICON_CONFIG } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-summary-chip',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-summary-chip.component.html',\n styleUrl: './si-summary-chip.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSummaryChipComponent {\n private readonly statusIcons = inject(STATUS_ICON_CONFIG);\n /** Status. Alternatively, use {@link icon} and {@link color}. */\n readonly status = input<ExtendedStatusType>();\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/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 /** The label. */\n readonly label = input.required<TranslatableString>();\n /** Value to display. */\n readonly value = input<TranslatableString>();\n /**\n * Selected state, will change when clicked.\n * @defaultValue false\n */\n readonly selected = model(false);\n /**\n * Disabled state.\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n /**\n * Whether to hide the label. Only takes effect when both {@link icon} and {@link value} are provided. The label will still be used for screen-readers.\n * @defaultValue false\n */\n readonly hideLabel = input(false, { transform: booleanAttribute });\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status\n ? this.statusIcons[status]\n : {\n icon: this.icon(),\n color: this.color(),\n stacked: this.stackedIcon(),\n stackedColor: this.stackedColor()\n };\n });\n\n protected toggleSelected(): void {\n if (!this.disabled()) {\n this.selected.set(!this.selected());\n }\n }\n}\n","<div\n class=\"chip\"\n role=\"checkbox\"\n [attr.tabindex]=\"disabled() ? '' : '0'\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack my-n2 ms-n2\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n @let value = this.value();\n <div class=\"si-body\" [class.visually-hidden]=\"hideLabel() && value && actualIcon.icon\">\n {{ label() | translate }}\n </div>\n @if (value) {\n <div class=\"si-h5\">{{ value | translate }}</div>\n }\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-summary-chip.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -10,35 +10,35 @@ import { SiTranslatePipe } from '@siemens/element-translate-ng/translate';
10
10
  */
11
11
  class SiSummaryWidgetComponent {
12
12
  /** Status. Alternatively, use {@link icon} and {@link color}. */
13
- status = input();
13
+ status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
14
14
  /** Icon token, see {@link https://element.siemens.io/icons/element}. */
15
- icon = input();
15
+ icon = input(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
16
16
  /** Color class, see {@link https://element.siemens.io/fundamentals/typography/#color-variants-classes}. */
17
- color = input();
17
+ color = input(...(ngDevMode ? [undefined, { debugName: "color" }] : []));
18
18
  /** Icon token, see {@link https://element.siemens.io/fundamentals/icons/}. */
19
- stackedIcon = input();
19
+ stackedIcon = input(...(ngDevMode ? [undefined, { debugName: "stackedIcon" }] : []));
20
20
  /** Color class, see {@link https://element.siemens.io/fundamentals/icons/}. */
21
- stackedColor = input();
21
+ stackedColor = input(...(ngDevMode ? [undefined, { debugName: "stackedColor" }] : []));
22
22
  /** The label. */
23
- label = input.required();
23
+ label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
24
24
  /** Value to display. */
25
- value = input.required();
25
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
26
26
  /**
27
27
  * Selected state, will change when clicked.
28
28
  * @defaultValue false
29
29
  */
30
- selected = model(false);
30
+ selected = model(false, ...(ngDevMode ? [{ debugName: "selected" }] : []));
31
31
  /**
32
32
  * Readonly state.
33
33
  * @defaultValue false
34
34
  */
35
- readonly = input(false, { transform: booleanAttribute });
35
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
36
36
  /**
37
37
  * Disabled state.
38
38
  * @defaultValue false
39
39
  */
40
- disabled = input(false, { transform: booleanAttribute });
41
- interactive = computed(() => !this.disabled() && !this.readonly());
40
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
41
+ interactive = computed(() => !this.disabled() && !this.readonly(), ...(ngDevMode ? [{ debugName: "interactive" }] : []));
42
42
  statusIcon = computed(() => {
43
43
  const status = this.status();
44
44
  return status
@@ -49,19 +49,19 @@ class SiSummaryWidgetComponent {
49
49
  stacked: this.stackedIcon(),
50
50
  stackedColor: this.stackedColor()
51
51
  };
52
- });
52
+ }, ...(ngDevMode ? [{ debugName: "statusIcon" }] : []));
53
53
  toggleSelected() {
54
54
  if (this.interactive()) {
55
55
  this.selected.set(!this.selected());
56
56
  }
57
57
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSummaryWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSummaryWidgetComponent, isStandalone: true, selector: "si-summary-widget", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, ngImport: i0, template: "<div\n class=\"widget ps-2 pe-4 gap-2\"\n role=\"checkbox\"\n [attr.tabindex]=\"interactive() ? '0' : ''\"\n [attr.aria-disabled]=\"!interactive()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n [class.interactive]=\"interactive()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n <div class=\"d-flex flex-column py-2\" [class.ps-2]=\"!actualIcon.icon\">\n <div class=\"si-h5\">{{ value() | translate }}</div>\n <div class=\"si-body text-secondary\">{{ label() | translate }}</div>\n </div>\n</div>\n", styles: [".widget{display:inline-flex;align-items:start;block-size:100%;border-radius:var(--element-radius-1)}.widget.interactive{cursor:pointer}.widget.interactive:not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSummaryWidgetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSummaryWidgetComponent, isStandalone: true, selector: "si-summary-widget", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, stackedIcon: { classPropertyName: "stackedIcon", publicName: "stackedIcon", isSignal: true, isRequired: false, transformFunction: null }, stackedColor: { classPropertyName: "stackedColor", publicName: "stackedColor", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selectedChange" }, ngImport: i0, template: "<div\n class=\"widget ps-2 pe-4 gap-2\"\n role=\"checkbox\"\n [attr.tabindex]=\"interactive() ? '0' : ''\"\n [attr.aria-disabled]=\"!interactive()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n [class.interactive]=\"interactive()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n <div class=\"d-flex flex-column py-2\" [class.ps-2]=\"!actualIcon.icon\">\n <div class=\"si-h5\">{{ value() | translate }}</div>\n <div class=\"si-body text-secondary\">{{ label() | translate }}</div>\n </div>\n</div>\n", styles: [".widget{display:inline-flex;align-items:start;block-size:100%;border-radius:var(--element-radius-1)}.widget.interactive{cursor:pointer}.widget.interactive:not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSummaryWidgetComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSummaryWidgetComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'si-summary-widget', imports: [SiIconComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"widget ps-2 pe-4 gap-2\"\n role=\"checkbox\"\n [attr.tabindex]=\"interactive() ? '0' : ''\"\n [attr.aria-disabled]=\"!interactive()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n [class.interactive]=\"interactive()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n <div class=\"d-flex flex-column py-2\" [class.ps-2]=\"!actualIcon.icon\">\n <div class=\"si-h5\">{{ value() | translate }}</div>\n <div class=\"si-body text-secondary\">{{ label() | translate }}</div>\n </div>\n</div>\n", styles: [".widget{display:inline-flex;align-items:start;block-size:100%;border-radius:var(--element-radius-1)}.widget.interactive{cursor:pointer}.widget.interactive:not(.selected):hover{background:var(--element-base-1-hover)}.selected{background:var(--element-base-1-selected)}.disabled{opacity:var(--element-action-disabled-opacity)}\n"] }]
64
- }] });
64
+ }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], 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 }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }, { type: i0.Output, args: ["selectedChange"] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
65
65
 
66
66
  /**
67
67
  * Copyright (c) Siemens 2016 - 2025
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-summary-widget.mjs","sources":["../../../../projects/element-ng/summary-widget/si-summary-widget.component.ts","../../../../projects/element-ng/summary-widget/si-summary-widget.component.html","../../../../projects/element-ng/summary-widget/index.ts","../../../../projects/element-ng/summary-widget/siemens-element-ng-summary-widget.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model\n} from '@angular/core';\nimport { ExtendedStatusType, STATUS_ICON } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-summary-widget',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-summary-widget.component.html',\n styleUrl: './si-summary-widget.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSummaryWidgetComponent {\n /** Status. Alternatively, use {@link icon} and {@link color}. */\n readonly status = input<ExtendedStatusType>();\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 /** The label. */\n readonly label = input.required<TranslatableString>();\n /** Value to display. */\n readonly value = input.required<TranslatableString>();\n /**\n * Selected state, will change when clicked.\n * @defaultValue false\n */\n readonly selected = model(false);\n /**\n * Readonly state.\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Disabled state.\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n protected readonly interactive = computed(() => !this.disabled() && !this.readonly());\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status\n ? STATUS_ICON[status]\n : {\n icon: this.icon(),\n color: this.color(),\n stacked: this.stackedIcon(),\n stackedColor: this.stackedColor()\n };\n });\n\n protected toggleSelected(): void {\n if (this.interactive()) {\n this.selected.set(!this.selected());\n }\n }\n}\n","<div\n class=\"widget ps-2 pe-4 gap-2\"\n role=\"checkbox\"\n [attr.tabindex]=\"interactive() ? '0' : ''\"\n [attr.aria-disabled]=\"!interactive()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n [class.interactive]=\"interactive()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n <div class=\"d-flex flex-column py-2\" [class.ps-2]=\"!actualIcon.icon\">\n <div class=\"si-h5\">{{ value() | translate }}</div>\n <div class=\"si-body text-secondary\">{{ label() | translate }}</div>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-summary-widget.component';\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-summary-widget.mjs","sources":["../../../../projects/element-ng/summary-widget/si-summary-widget.component.ts","../../../../projects/element-ng/summary-widget/si-summary-widget.component.html","../../../../projects/element-ng/summary-widget/index.ts","../../../../projects/element-ng/summary-widget/siemens-element-ng-summary-widget.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model\n} from '@angular/core';\nimport { ExtendedStatusType, STATUS_ICON } from '@siemens/element-ng/common';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-summary-widget',\n imports: [SiIconComponent, SiTranslatePipe],\n templateUrl: './si-summary-widget.component.html',\n styleUrl: './si-summary-widget.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SiSummaryWidgetComponent {\n /** Status. Alternatively, use {@link icon} and {@link color}. */\n readonly status = input<ExtendedStatusType>();\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 /** The label. */\n readonly label = input.required<TranslatableString>();\n /** Value to display. */\n readonly value = input.required<TranslatableString>();\n /**\n * Selected state, will change when clicked.\n * @defaultValue false\n */\n readonly selected = model(false);\n /**\n * Readonly state.\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Disabled state.\n * @defaultValue false\n */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n protected readonly interactive = computed(() => !this.disabled() && !this.readonly());\n\n protected readonly statusIcon = computed(() => {\n const status = this.status();\n return status\n ? STATUS_ICON[status]\n : {\n icon: this.icon(),\n color: this.color(),\n stacked: this.stackedIcon(),\n stackedColor: this.stackedColor()\n };\n });\n\n protected toggleSelected(): void {\n if (this.interactive()) {\n this.selected.set(!this.selected());\n }\n }\n}\n","<div\n class=\"widget ps-2 pe-4 gap-2\"\n role=\"checkbox\"\n [attr.tabindex]=\"interactive() ? '0' : ''\"\n [attr.aria-disabled]=\"!interactive()\"\n [attr.aria-checked]=\"selected()\"\n [class.selected]=\"selected()\"\n [class.disabled]=\"disabled()\"\n [class.interactive]=\"interactive()\"\n (click)=\"toggleSelected()\"\n (keydown.enter)=\"toggleSelected()\"\n>\n @let actualIcon = statusIcon();\n @if (actualIcon.icon) {\n <span class=\"icon icon-stack\">\n <si-icon [class]=\"actualIcon.color\" [icon]=\"actualIcon.icon\" />\n @if (actualIcon.stacked) {\n <si-icon [class]=\"actualIcon.stackedColor\" [icon]=\"actualIcon.stacked\" />\n }\n </span>\n }\n <div class=\"d-flex flex-column py-2\" [class.ps-2]=\"!actualIcon.icon\">\n <div class=\"si-h5\">{{ value() | translate }}</div>\n <div class=\"si-body text-secondary\">{{ label() | translate }}</div>\n </div>\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-summary-widget.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAAA;;;AAGG;MAoBU,wBAAwB,CAAA;;IAE1B,MAAM,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAsB;;IAEpC,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;;AAE9B,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAsB;;AAE5C,IAAA,KAAK,GAAG,KAAK,CAAC,QAAQ,gDAAsB;AACrD;;;AAGG;AACM,IAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,oDAAC;AAChC;;;AAGG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACjE;;;AAGG;IACM,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE9C,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,uDAAC;AAElE,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AAC5C,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,OAAO;AACL,cAAE,WAAW,CAAC,MAAM;AACpB,cAAE;AACE,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;AACjB,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE;AAC3B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC;AACP,IAAA,CAAC,sDAAC;IAEQ,cAAc,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACrC;IACF;uGAjDW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,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,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,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,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBrC,m6BA0BA,EAAA,MAAA,EAAA,CAAA,wUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDRY,eAAe,iEAAE,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAK/B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;+BACE,mBAAmB,EAAA,OAAA,EACpB,CAAC,eAAe,EAAE,eAAe,CAAC,EAAA,eAAA,EAG1B,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,m6BAAA,EAAA,MAAA,EAAA,CAAA,wUAAA,CAAA,EAAA;;;AErBjD;;;AAGG;;ACHH;;AAEG;;;;"}
@@ -17,21 +17,21 @@ class SiSystemBannerComponent {
17
17
  *
18
18
  * @defaultValue 'info'
19
19
  */
20
- status = input('info');
20
+ status = input('info', ...(ngDevMode ? [{ debugName: "status" }] : []));
21
21
  /**
22
22
  * Message to be displayed in the system banner.
23
23
  */
24
- message = input.required();
25
- bannerClass = computed(() => `banner-${this.status()}`);
26
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSystemBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.6", type: SiSystemBannerComponent, isStandalone: true, selector: "si-system-banner", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "bannerClass()" } }, ngImport: i0, template: "<div\n class=\"text-center text-truncate si-h5 banner\"\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n>\n {{ message() | translate }}\n</div>\n", styles: [":host{display:block;inline-size:100%}:host .banner{padding-block:2px;padding-inline:12px}:host.banner-info{background-color:var(--element-status-information);color:var(--element-status-information-contrast)}:host.banner-success{background-color:var(--element-status-success);color:var(--element-status-success-contrast)}:host.banner-warning{background-color:var(--element-status-warning);color:var(--element-status-warning-contrast)}:host.banner-caution{background-color:var(--element-status-caution);color:var(--element-status-caution-contrast)}:host.banner-danger{background-color:var(--element-status-danger);color:var(--element-status-danger-contrast)}:host.banner-critical{background-color:var(--element-status-critical);color:var(--element-status-critical-contrast)}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
+ message = input.required(...(ngDevMode ? [{ debugName: "message" }] : []));
25
+ bannerClass = computed(() => `banner-${this.status()}`, ...(ngDevMode ? [{ debugName: "bannerClass" }] : []));
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSystemBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: SiSystemBannerComponent, isStandalone: true, selector: "si-system-banner", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class": "bannerClass()" } }, ngImport: i0, template: "<div\n class=\"text-center text-truncate si-h5 banner\"\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n>\n {{ message() | translate }}\n</div>\n", styles: [":host{display:block;inline-size:100%}:host .banner{padding-block:2px;padding-inline:12px}:host.banner-info{background-color:var(--element-status-information);color:var(--element-status-information-contrast)}:host.banner-success{background-color:var(--element-status-success);color:var(--element-status-success-contrast)}:host.banner-warning{background-color:var(--element-status-warning);color:var(--element-status-warning-contrast)}:host.banner-caution{background-color:var(--element-status-caution);color:var(--element-status-caution-contrast)}:host.banner-danger{background-color:var(--element-status-danger);color:var(--element-status-danger-contrast)}:host.banner-critical{background-color:var(--element-status-critical);color:var(--element-status-critical-contrast)}\n"], dependencies: [{ kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSystemBannerComponent, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSystemBannerComponent, decorators: [{
30
30
  type: Component,
31
31
  args: [{ selector: 'si-system-banner', imports: [SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
32
32
  '[class]': 'bannerClass()'
33
33
  }, template: "<div\n class=\"text-center text-truncate si-h5 banner\"\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n>\n {{ message() | translate }}\n</div>\n", styles: [":host{display:block;inline-size:100%}:host .banner{padding-block:2px;padding-inline:12px}:host.banner-info{background-color:var(--element-status-information);color:var(--element-status-information-contrast)}:host.banner-success{background-color:var(--element-status-success);color:var(--element-status-success-contrast)}:host.banner-warning{background-color:var(--element-status-warning);color:var(--element-status-warning-contrast)}:host.banner-caution{background-color:var(--element-status-caution);color:var(--element-status-caution-contrast)}:host.banner-danger{background-color:var(--element-status-danger);color:var(--element-status-danger-contrast)}:host.banner-critical{background-color:var(--element-status-critical);color:var(--element-status-critical-contrast)}\n"] }]
34
- }] });
34
+ }], propDecorators: { status: [{ type: i0.Input, args: [{ isSignal: true, alias: "status", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: true }] }] } });
35
35
 
36
36
  /**
37
37
  * Copyright (c) Siemens 2016 - 2025
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-system-banner.mjs","sources":["../../../../projects/element-ng/system-banner/system-banner.component.ts","../../../../projects/element-ng/system-banner/system-banner.component.html","../../../../projects/element-ng/system-banner/index.ts","../../../../projects/element-ng/system-banner/siemens-element-ng-system-banner.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { ExtendedStatusType } from '@siemens/element-ng/common';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * The system banner component displays a message with specific status as background.\n * Use this component for displaying system level messages on top of the page.\n */\n@Component({\n selector: 'si-system-banner',\n imports: [SiTranslatePipe],\n templateUrl: './system-banner.component.html',\n styleUrl: './system-banner.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'bannerClass()'\n }\n})\nexport class SiSystemBannerComponent {\n /**\n * Status of the system banner.\n * Possible values are 'info', 'success', 'warning', 'caution', 'danger', 'critical'.\n *\n * @defaultValue 'info'\n */\n readonly status = input<ExtendedStatusType>('info');\n /**\n * Message to be displayed in the system banner.\n */\n readonly message = input.required<TranslatableString>();\n\n protected readonly bannerClass = computed(() => `banner-${this.status()}`);\n}\n","<div\n class=\"text-center text-truncate si-h5 banner\"\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n>\n {{ message() | translate }}\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './system-banner.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAKH;;;AAGG;MAWU,uBAAuB,CAAA;AAClC;;;;;AAKG;AACM,IAAA,MAAM,GAAG,KAAK,CAAqB,MAAM,CAAC;AACnD;;AAEG;AACM,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,EAAsB;AAEpC,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,CAAC;uGAb/D,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBpC,2KAQA,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDMY,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAQd,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;+BACE,kBAAkB,EAAA,OAAA,EACnB,CAAC,eAAe,CAAC,mBAGT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,2KAAA,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA;;;AEpBH;;;AAGG;;ACHH;;AAEG;;;;"}
1
+ {"version":3,"file":"siemens-element-ng-system-banner.mjs","sources":["../../../../projects/element-ng/system-banner/system-banner.component.ts","../../../../projects/element-ng/system-banner/system-banner.component.html","../../../../projects/element-ng/system-banner/index.ts","../../../../projects/element-ng/system-banner/siemens-element-ng-system-banner.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { ExtendedStatusType } from '@siemens/element-ng/common';\nimport { SiTranslatePipe, TranslatableString } from '@siemens/element-translate-ng/translate';\n\n/**\n * The system banner component displays a message with specific status as background.\n * Use this component for displaying system level messages on top of the page.\n */\n@Component({\n selector: 'si-system-banner',\n imports: [SiTranslatePipe],\n templateUrl: './system-banner.component.html',\n styleUrl: './system-banner.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'bannerClass()'\n }\n})\nexport class SiSystemBannerComponent {\n /**\n * Status of the system banner.\n * Possible values are 'info', 'success', 'warning', 'caution', 'danger', 'critical'.\n *\n * @defaultValue 'info'\n */\n readonly status = input<ExtendedStatusType>('info');\n /**\n * Message to be displayed in the system banner.\n */\n readonly message = input.required<TranslatableString>();\n\n protected readonly bannerClass = computed(() => `banner-${this.status()}`);\n}\n","<div\n class=\"text-center text-truncate si-h5 banner\"\n role=\"alert\"\n aria-atomic=\"true\"\n aria-live=\"assertive\"\n>\n {{ message() | translate }}\n</div>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './system-banner.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;;AAGG;AAKH;;;AAGG;MAWU,uBAAuB,CAAA;AAClC;;;;;AAKG;AACM,IAAA,MAAM,GAAG,KAAK,CAAqB,MAAM,kDAAC;AACnD;;AAEG;AACM,IAAA,OAAO,GAAG,KAAK,CAAC,QAAQ,kDAAsB;AAEpC,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA,OAAA,EAAU,IAAI,CAAC,MAAM,EAAE,CAAA,CAAE,uDAAC;uGAb/D,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,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,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBpC,2KAQA,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EDMY,eAAe,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;2FAQd,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;+BACE,kBAAkB,EAAA,OAAA,EACnB,CAAC,eAAe,CAAC,mBAGT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,SAAS,EAAE;AACZ,qBAAA,EAAA,QAAA,EAAA,2KAAA,EAAA,MAAA,EAAA,CAAA,wwBAAA,CAAA,EAAA;;;AEpBH;;;AAGG;;ACHH;;AAEG;;;;"}