@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,9 +1,10 @@
1
- import { NgClass, NgTemplateOutlet } from '@angular/common';
1
+ import { NgTemplateOutlet } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
3
  import { input, computed, Component, model, booleanAttribute, output, viewChildren, NgModule } from '@angular/core';
4
4
  import * as i1 from '@angular/forms';
5
5
  import { FormsModule } from '@angular/forms';
6
- import { SiIconComponent, addIcons, elementPlus, elementDelete } from '@siemens/element-ng/icon';
6
+ import { elementPlus, elementDelete } from '@siemens/element-icons';
7
+ import { SiIconComponent, addIcons } from '@siemens/element-ng/icon';
7
8
  import { SiNumberInputComponent } from '@siemens/element-ng/number-input';
8
9
  import { SiSelectComponent, SiSelectSingleValueDirective, SiSelectSimpleOptionsDirective } from '@siemens/element-ng/select';
9
10
  import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
@@ -13,61 +14,46 @@ import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
13
14
  * SPDX-License-Identifier: MIT
14
15
  */
15
16
  class SiReadonlyThresholdOptionComponent {
16
- value = input.required();
17
- options = input.required();
17
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
18
+ options = input.required(...(ngDevMode ? [{ debugName: "options" }] : []));
18
19
  option = computed(() => {
19
20
  const options = this.options();
20
21
  const value = this.value();
21
22
  if (value && options) {
22
- return options.find(opt => (opt.type === 'option' ? opt.value === value : opt.id === value));
23
+ return options.find(opt => opt.value === value);
23
24
  }
24
25
  return undefined;
25
- });
26
+ }, ...(ngDevMode ? [{ debugName: "option" }] : []));
26
27
  color = computed(() => {
27
28
  const option = this.option();
28
- return !option || option.disabled
29
- ? undefined
30
- : option.type === 'option'
31
- ? option.iconColor
32
- : option.color;
33
- });
34
- label = computed(() => {
35
- const option = this.option();
36
- return option?.type === 'option' ? option.label : option?.title;
37
- });
38
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiReadonlyThresholdOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
39
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiReadonlyThresholdOptionComponent, isStandalone: true, selector: "si-readonly-threshold-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center py-2 my-4 px-4 si-h5" }, ngImport: i0, template: `@let opt = option();
29
+ return !option || option.disabled ? undefined : option.iconColor;
30
+ }, ...(ngDevMode ? [{ debugName: "color" }] : []));
31
+ label = computed(() => this.option()?.label, ...(ngDevMode ? [{ debugName: "label" }] : []));
32
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiReadonlyThresholdOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiReadonlyThresholdOptionComponent, isStandalone: true, selector: "si-readonly-threshold-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center py-2 my-4 px-4 si-h5" }, ngImport: i0, template: `@let opt = option();
40
34
  @if (opt && opt.icon) {
41
35
  <i class="icon-stack">
42
- <si-icon
43
- class="icon me-2"
44
- [icon]="opt.icon"
45
- [ngClass]="[(!opt.disabled && color()) || '']"
46
- />
47
- @if (opt.type === 'option' && opt.stackedIcon) {
48
- <si-icon class="icon me-2" [icon]="opt.stackedIcon" [ngClass]="opt.stackedIconColor" />
36
+ <si-icon class="icon me-2" [class]="color()" [icon]="opt.icon" />
37
+ @if (opt.stackedIcon) {
38
+ <si-icon class="icon me-2" [class]="opt.stackedIconColor" [icon]="opt.stackedIcon" />
49
39
  }
50
40
  </i>
51
41
  }
52
- <span class="text-truncate">{{ label() | translate }}</span>`, isInline: true, styles: [":host{block-size:2rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }] });
42
+ <span class="text-truncate">{{ label() | translate }}</span>`, isInline: true, styles: [":host{block-size:2rem}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
53
43
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiReadonlyThresholdOptionComponent, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiReadonlyThresholdOptionComponent, decorators: [{
55
45
  type: Component,
56
- args: [{ selector: 'si-readonly-threshold-option', imports: [NgClass, SiTranslatePipe, SiIconComponent], template: `@let opt = option();
46
+ args: [{ selector: 'si-readonly-threshold-option', imports: [SiTranslatePipe, SiIconComponent], template: `@let opt = option();
57
47
  @if (opt && opt.icon) {
58
48
  <i class="icon-stack">
59
- <si-icon
60
- class="icon me-2"
61
- [icon]="opt.icon"
62
- [ngClass]="[(!opt.disabled && color()) || '']"
63
- />
64
- @if (opt.type === 'option' && opt.stackedIcon) {
65
- <si-icon class="icon me-2" [icon]="opt.stackedIcon" [ngClass]="opt.stackedIconColor" />
49
+ <si-icon class="icon me-2" [class]="color()" [icon]="opt.icon" />
50
+ @if (opt.stackedIcon) {
51
+ <si-icon class="icon me-2" [class]="opt.stackedIconColor" [icon]="opt.stackedIcon" />
66
52
  }
67
53
  </i>
68
54
  }
69
55
  <span class="text-truncate">{{ label() | translate }}</span>`, host: { class: 'd-flex align-items-center py-2 my-4 px-4 si-h5' }, styles: [":host{block-size:2rem}\n"] }]
70
- }] });
56
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }] } });
71
57
 
72
58
  /**
73
59
  * Copyright (c) Siemens 2016 - 2025
@@ -79,79 +65,79 @@ class SiThresholdComponent {
79
65
  *
80
66
  * @defaultValue []
81
67
  */
82
- options = input([]);
68
+ options = input([], ...(ngDevMode ? [{ debugName: "options" }] : []));
83
69
  /**
84
70
  * The thresholds
85
71
  *
86
72
  * @defaultValue []
87
73
  */
88
- thresholdSteps = model([]);
74
+ thresholdSteps = model([], ...(ngDevMode ? [{ debugName: "thresholdSteps" }] : []));
89
75
  /**
90
76
  * The unit to show
91
77
  *
92
78
  * @defaultValue ''
93
79
  */
94
- unit = input('');
80
+ unit = input('', ...(ngDevMode ? [{ debugName: "unit" }] : []));
95
81
  /**
96
82
  * The min. value for the threshold value
97
83
  *
98
84
  * @defaultValue 0
99
85
  */
100
- minValue = input(0);
86
+ minValue = input(0, ...(ngDevMode ? [{ debugName: "minValue" }] : []));
101
87
  /**
102
88
  * The max. value for the threshold value
103
89
  *
104
90
  * @defaultValue 100
105
91
  */
106
- maxValue = input(100);
92
+ maxValue = input(100, ...(ngDevMode ? [{ debugName: "maxValue" }] : []));
107
93
  /**
108
94
  * The step size for the threshold value
109
95
  *
110
96
  * @defaultValue 1
111
97
  */
112
- stepSize = input(1);
98
+ stepSize = input(1, ...(ngDevMode ? [{ debugName: "stepSize" }] : []));
113
99
  /**
114
100
  * Max. number of steps, 0 for no hard limit
115
101
  *
116
102
  * @defaultValue 0
117
103
  */
118
- maxSteps = input(0);
104
+ maxSteps = input(0, ...(ngDevMode ? [{ debugName: "maxSteps" }] : []));
119
105
  /**
120
106
  * Do validation?
121
107
  *
122
108
  * @defaultValue true
123
109
  */
124
- validation = input(true, { transform: booleanAttribute });
110
+ validation = input(true, { ...(ngDevMode ? { debugName: "validation" } : {}), transform: booleanAttribute });
125
111
  /**
126
112
  * When disabled, steps cannot be added/removed
127
113
  *
128
114
  * @defaultValue true
129
115
  */
130
- canAddRemoveSteps = input(true, { transform: booleanAttribute });
116
+ canAddRemoveSteps = input(true, { ...(ngDevMode ? { debugName: "canAddRemoveSteps" } : {}), transform: booleanAttribute });
131
117
  /**
132
118
  * Use horizontal layout?
133
119
  *
134
120
  * @defaultValue false
135
121
  */
136
- horizontalLayout = input(false, { transform: booleanAttribute });
122
+ horizontalLayout = input(false, { ...(ngDevMode ? { debugName: "horizontalLayout" } : {}), transform: booleanAttribute });
137
123
  /**
138
124
  * Show dec/inc buttons?
139
125
  *
140
126
  * @defaultValue true
141
127
  */
142
- showDecIncButtons = input(true, { transform: booleanAttribute });
128
+ showDecIncButtons = input(true, { ...(ngDevMode ? { debugName: "showDecIncButtons" } : {}), transform: booleanAttribute });
143
129
  /**
144
130
  * The obvious
145
131
  *
146
132
  * @defaultValue false
147
133
  */
148
- readonly = input(false, { transform: booleanAttribute });
134
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
149
135
  /**
150
136
  * Indicate that the threshold options are readonly and cannot be changed. This will also disable adding / removing steps.
151
137
  *
152
138
  * @defaultValue false
153
139
  */
154
- readonlyConditions = input(false, { transform: booleanAttribute });
140
+ readonlyConditions = input(false, { ...(ngDevMode ? { debugName: "readonlyConditions" } : {}), transform: booleanAttribute });
155
141
  /**
156
142
  * The aria-label for delete button
157
143
  *
@@ -160,7 +146,7 @@ class SiThresholdComponent {
160
146
  * t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`)
161
147
  * ```
162
148
  */
163
- deleteAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.DELETE:Delete step`));
149
+ deleteAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.DELETE:Delete step`), ...(ngDevMode ? [{ debugName: "deleteAriaLabel" }] : []));
164
150
  /**
165
151
  * The aria-label for add button
166
152
  *
@@ -169,7 +155,7 @@ class SiThresholdComponent {
169
155
  * t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`)
170
156
  * ```
171
157
  */
172
- addAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.ADD:Add step`));
158
+ addAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.ADD:Add step`), ...(ngDevMode ? [{ debugName: "addAriaLabel" }] : []));
173
159
  /**
174
160
  * The aria-label for input field
175
161
  *
@@ -178,7 +164,7 @@ class SiThresholdComponent {
178
164
  * t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`)
179
165
  * ```
180
166
  */
181
- inputAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`));
167
+ inputAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`), ...(ngDevMode ? [{ debugName: "inputAriaLabel" }] : []));
182
168
  /**
183
169
  * The aria-label for status selection
184
170
  *
@@ -187,21 +173,16 @@ class SiThresholdComponent {
187
173
  * t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`)
188
174
  * ```
189
175
  */
190
- statusAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.STATUS:Status`));
176
+ statusAriaLabel = input(t(() => $localize `:@@SI_THRESHOLD.STATUS:Status`), ...(ngDevMode ? [{ debugName: "statusAriaLabel" }] : []));
191
177
  /** Fired when validation status changes */
192
178
  validChange = output();
193
179
  colors = computed(() => {
194
180
  const colorMap = new Map();
195
181
  for (const opt of this.options()) {
196
- if (opt.type === 'option') {
197
- colorMap.set(opt.value, opt.iconColor ?? '');
198
- }
199
- else if (!opt.type) {
200
- colorMap.set(opt.id, opt.color ?? '');
201
- }
182
+ colorMap.set(opt.value, opt.iconColor ?? '');
202
183
  }
203
184
  return this.thresholdSteps().map(ths => colorMap.get(ths.optionValue) ?? '');
204
- });
185
+ }, ...(ngDevMode ? [{ debugName: "colors" }] : []));
205
186
  icons = addIcons({ elementDelete, elementPlus });
206
187
  _valid = true;
207
188
  /**
@@ -210,7 +191,7 @@ class SiThresholdComponent {
210
191
  get valid() {
211
192
  return this._valid;
212
193
  }
213
- numberInputs = viewChildren(SiNumberInputComponent);
194
+ numberInputs = viewChildren(SiNumberInputComponent, ...(ngDevMode ? [{ debugName: "numberInputs" }] : []));
214
195
  ngOnChanges() {
215
196
  this.validate();
216
197
  }
@@ -257,14 +238,13 @@ class SiThresholdComponent {
257
238
  this.validChange.emit(this.valid);
258
239
  }
259
240
  }
260
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
261
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiThresholdComponent, isStandalone: true, selector: "si-threshold", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, thresholdSteps: { classPropertyName: "thresholdSteps", publicName: "thresholdSteps", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, stepSize: { classPropertyName: "stepSize", publicName: "stepSize", isSignal: true, isRequired: false, transformFunction: null }, maxSteps: { classPropertyName: "maxSteps", publicName: "maxSteps", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, canAddRemoveSteps: { classPropertyName: "canAddRemoveSteps", publicName: "canAddRemoveSteps", isSignal: true, isRequired: false, transformFunction: null }, horizontalLayout: { classPropertyName: "horizontalLayout", publicName: "horizontalLayout", isSignal: true, isRequired: false, transformFunction: null }, showDecIncButtons: { classPropertyName: "showDecIncButtons", publicName: "showDecIncButtons", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, readonlyConditions: { classPropertyName: "readonlyConditions", publicName: "readonlyConditions", isSignal: true, isRequired: false, transformFunction: null }, deleteAriaLabel: { classPropertyName: "deleteAriaLabel", publicName: "deleteAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, addAriaLabel: { classPropertyName: "addAriaLabel", publicName: "addAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, inputAriaLabel: { classPropertyName: "inputAriaLabel", publicName: "inputAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, statusAriaLabel: { classPropertyName: "statusAriaLabel", publicName: "statusAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thresholdSteps: "thresholdStepsChange", validChange: "validChange" }, host: { properties: { "class.add-remove": "canAddRemoveSteps()", "class.horizontal": "horizontalLayout()", "class.dec-inc-buttons": "showDecIncButtons()" } }, viewQueries: [{ propertyName: "numberInputs", predicate: SiNumberInputComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [ngClass]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [ngClass]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{--direction-main: column;--direction-option: row;--direction-value: row;--input-width: calc(var(--input-base-width, 90px) + var(--buttons-width, 0px))}:host.horizontal{--direction-main: row;--direction-option: column;--direction-value: column-reverse;--value-margin: -24px;padding-inline:calc(var(--value-margin) * -1)}:host.dec-inc-buttons{--buttons-width: 48px}:host,.ths-step{display:flex;flex-direction:var(--direction-main)}.ths-option{flex-direction:var(--direction-option);min-inline-size:var(--option-width, 160px)}.ths-value{flex-direction:var(--direction-value);margin-inline:var(--value-margin)}si-select{border-radius:var(--element-button-radius);overflow:hidden}.form-control{inline-size:var(--input-width);block-size:calc(1rem + 16px);position:relative;z-index:1}.line{align-self:stretch;flex-basis:16px;display:flex;flex-direction:var(--direction-main);align-items:center;color:var(--element-ui-2);gap:4px}.segment{flex:1;border:1px solid currentColor}.dot{inline-size:6px;block-size:6px;border:1px solid var(--element-ui-2);border-radius:50%}.startend{inline-size:calc(var(--input-width) / 2)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "errormessageId", "hasFilter"], outputs: ["dropdownClose", "openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "component", type: SiReadonlyThresholdOptionComponent, selector: "si-readonly-threshold-option", inputs: ["value", "options"] }] });
241
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
242
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiThresholdComponent, isStandalone: true, selector: "si-threshold", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, thresholdSteps: { classPropertyName: "thresholdSteps", publicName: "thresholdSteps", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "minValue", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, stepSize: { classPropertyName: "stepSize", publicName: "stepSize", isSignal: true, isRequired: false, transformFunction: null }, maxSteps: { classPropertyName: "maxSteps", publicName: "maxSteps", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, canAddRemoveSteps: { classPropertyName: "canAddRemoveSteps", publicName: "canAddRemoveSteps", isSignal: true, isRequired: false, transformFunction: null }, horizontalLayout: { classPropertyName: "horizontalLayout", publicName: "horizontalLayout", isSignal: true, isRequired: false, transformFunction: null }, showDecIncButtons: { classPropertyName: "showDecIncButtons", publicName: "showDecIncButtons", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, readonlyConditions: { classPropertyName: "readonlyConditions", publicName: "readonlyConditions", isSignal: true, isRequired: false, transformFunction: null }, deleteAriaLabel: { classPropertyName: "deleteAriaLabel", publicName: "deleteAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, addAriaLabel: { classPropertyName: "addAriaLabel", publicName: "addAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, inputAriaLabel: { classPropertyName: "inputAriaLabel", publicName: "inputAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, statusAriaLabel: { classPropertyName: "statusAriaLabel", publicName: "statusAriaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { thresholdSteps: "thresholdStepsChange", validChange: "validChange" }, host: { properties: { "class.add-remove": "canAddRemoveSteps()", "class.horizontal": "horizontalLayout()", "class.dec-inc-buttons": "showDecIncButtons()" } }, viewQueries: [{ propertyName: "numberInputs", predicate: SiNumberInputComponent, descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [class]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [class]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [class]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [class]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{--direction-main: column;--direction-option: row;--direction-value: row;--input-width: calc(var(--input-base-width, 90px) + var(--buttons-width, 0px))}:host.horizontal{--direction-main: row;--direction-option: column;--direction-value: column-reverse;--value-margin: -24px;padding-inline:calc(var(--value-margin) * -1)}:host.dec-inc-buttons{--buttons-width: 48px}:host,.ths-step{display:flex;flex-direction:var(--direction-main)}.ths-option{flex-direction:var(--direction-option);min-inline-size:var(--option-width, 160px)}.ths-value{flex-direction:var(--direction-value);margin-inline:var(--value-margin)}si-select{border-radius:var(--element-button-radius);overflow:hidden}.form-control{inline-size:var(--input-width);block-size:calc(1rem + 16px);position:relative;z-index:1}.line{align-self:stretch;flex-basis:16px;display:flex;flex-direction:var(--direction-main);align-items:center;color:var(--element-ui-2);gap:4px}.segment{flex:1;border:1px solid currentColor}.dot{inline-size:6px;block-size:6px;border:1px solid var(--element-ui-2);border-radius:50%}.startend{inline-size:calc(var(--input-width) / 2)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiNumberInputComponent, selector: "si-number-input", inputs: ["min", "max", "step", "value", "unit", "showButtons", "aria-label", "inputId", "disabled", "readonly", "placeholder", "errormessageId"], outputs: ["valueChange"] }, { kind: "component", type: SiSelectComponent, selector: "si-select", inputs: ["id", "ariaLabel", "labelledby", "filterPlaceholder", "noResultsFoundLabel", "placeholder", "readonly", "errormessageId", "hasFilter"], outputs: ["openChange"] }, { kind: "directive", type: SiSelectSingleValueDirective, selector: "si-select:not([multi])" }, { kind: "directive", type: SiSelectSimpleOptionsDirective, selector: "si-select[options]", inputs: ["options", "optionEqualCheckFn"] }, { kind: "component", type: SiReadonlyThresholdOptionComponent, selector: "si-readonly-threshold-option", inputs: ["value", "options"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }] });
262
243
  }
263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdComponent, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdComponent, decorators: [{
264
245
  type: Component,
265
246
  args: [{ selector: 'si-threshold', imports: [
266
247
  FormsModule,
267
- NgClass,
268
248
  NgTemplateOutlet,
269
249
  SiIconComponent,
270
250
  SiNumberInputComponent,
@@ -277,19 +257,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
277
257
  '[class.add-remove]': 'canAddRemoveSteps()',
278
258
  '[class.horizontal]': 'horizontalLayout()',
279
259
  '[class.dec-inc-buttons]': 'showDecIncButtons()'
280
- }, template: "@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [ngClass]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [ngClass]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{--direction-main: column;--direction-option: row;--direction-value: row;--input-width: calc(var(--input-base-width, 90px) + var(--buttons-width, 0px))}:host.horizontal{--direction-main: row;--direction-option: column;--direction-value: column-reverse;--value-margin: -24px;padding-inline:calc(var(--value-margin) * -1)}:host.dec-inc-buttons{--buttons-width: 48px}:host,.ths-step{display:flex;flex-direction:var(--direction-main)}.ths-option{flex-direction:var(--direction-option);min-inline-size:var(--option-width, 160px)}.ths-value{flex-direction:var(--direction-value);margin-inline:var(--value-margin)}si-select{border-radius:var(--element-button-radius);overflow:hidden}.form-control{inline-size:var(--input-width);block-size:calc(1rem + 16px);position:relative;z-index:1}.line{align-self:stretch;flex-basis:16px;display:flex;flex-direction:var(--direction-main);align-items:center;color:var(--element-ui-2);gap:4px}.segment{flex:1;border:1px solid currentColor}.dot{inline-size:6px;block-size:6px;border:1px solid var(--element-ui-2);border-radius:50%}.startend{inline-size:calc(var(--input-width) / 2)}\n"] }]
281
- }] });
260
+ }, template: "@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [class]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [class]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [class]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [class]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n", styles: [":host{--direction-main: column;--direction-option: row;--direction-value: row;--input-width: calc(var(--input-base-width, 90px) + var(--buttons-width, 0px))}:host.horizontal{--direction-main: row;--direction-option: column;--direction-value: column-reverse;--value-margin: -24px;padding-inline:calc(var(--value-margin) * -1)}:host.dec-inc-buttons{--buttons-width: 48px}:host,.ths-step{display:flex;flex-direction:var(--direction-main)}.ths-option{flex-direction:var(--direction-option);min-inline-size:var(--option-width, 160px)}.ths-value{flex-direction:var(--direction-value);margin-inline:var(--value-margin)}si-select{border-radius:var(--element-button-radius);overflow:hidden}.form-control{inline-size:var(--input-width);block-size:calc(1rem + 16px);position:relative;z-index:1}.line{align-self:stretch;flex-basis:16px;display:flex;flex-direction:var(--direction-main);align-items:center;color:var(--element-ui-2);gap:4px}.segment{flex:1;border:1px solid currentColor}.dot{inline-size:6px;block-size:6px;border:1px solid var(--element-ui-2);border-radius:50%}.startend{inline-size:calc(var(--input-width) / 2)}\n"] }]
261
+ }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], thresholdSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "thresholdSteps", required: false }] }, { type: i0.Output, args: ["thresholdStepsChange"] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "minValue", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxValue", required: false }] }], stepSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "stepSize", required: false }] }], maxSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxSteps", required: false }] }], validation: [{ type: i0.Input, args: [{ isSignal: true, alias: "validation", required: false }] }], canAddRemoveSteps: [{ type: i0.Input, args: [{ isSignal: true, alias: "canAddRemoveSteps", required: false }] }], horizontalLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontalLayout", required: false }] }], showDecIncButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDecIncButtons", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], readonlyConditions: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonlyConditions", required: false }] }], deleteAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "deleteAriaLabel", required: false }] }], addAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "addAriaLabel", required: false }] }], inputAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputAriaLabel", required: false }] }], statusAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "statusAriaLabel", required: false }] }], validChange: [{ type: i0.Output, args: ["validChange"] }], numberInputs: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => SiNumberInputComponent), { isSignal: true }] }] } });
282
262
 
283
263
  /**
284
264
  * Copyright (c) Siemens 2016 - 2025
285
265
  * SPDX-License-Identifier: MIT
286
266
  */
287
267
  class SiThresholdModule {
288
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
289
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdModule, imports: [SiThresholdComponent], exports: [SiThresholdComponent] });
290
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdModule, imports: [SiThresholdComponent] });
268
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
269
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdModule, imports: [SiThresholdComponent], exports: [SiThresholdComponent] });
270
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdModule, imports: [SiThresholdComponent] });
291
271
  }
292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiThresholdModule, decorators: [{
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiThresholdModule, decorators: [{
293
273
  type: NgModule,
294
274
  args: [{
295
275
  imports: [SiThresholdComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"siemens-element-ng-threshold.mjs","sources":["../../../../projects/element-ng/threshold/si-readonly-threshold-option.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.html","../../../../projects/element-ng/threshold/si-threshold.module.ts","../../../../projects/element-ng/threshold/index.ts","../../../../projects/element-ng/threshold/siemens-element-ng-threshold.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass } from '@angular/common';\nimport { Component, computed, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SelectOption, SelectOptionLegacy } from '@siemens/element-ng/select';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-readonly-threshold-option',\n imports: [NgClass, SiTranslatePipe, SiIconComponent],\n template: `@let opt = option();\n @if (opt && opt.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"opt.icon\"\n [ngClass]=\"[(!opt.disabled && color()) || '']\"\n />\n @if (opt.type === 'option' && opt.stackedIcon) {\n <si-icon class=\"icon me-2\" [icon]=\"opt.stackedIcon\" [ngClass]=\"opt.stackedIconColor\" />\n }\n </i>\n }\n <span class=\"text-truncate\">{{ label() | translate }}</span>`,\n styleUrl: './si-readonly-threshold-option.component.scss',\n host: { class: 'd-flex align-items-center py-2 my-4 px-4 si-h5' }\n})\nexport class SiReadonlyThresholdOptionComponent {\n readonly value = input.required<string>();\n readonly options = input.required<SelectOptionLegacy[] | SelectOption<unknown>[]>();\n\n protected readonly option = computed(() => {\n const options = this.options();\n const value = this.value();\n if (value && options) {\n return options.find(opt => (opt.type === 'option' ? opt.value === value : opt.id === value));\n }\n return undefined;\n });\n\n protected readonly color = computed(() => {\n const option = this.option();\n return !option || option.disabled\n ? undefined\n : option.type === 'option'\n ? option.iconColor\n : option.color;\n });\n\n protected readonly label = computed(() => {\n const option = this.option();\n return option?.type === 'option' ? option.label : option?.title;\n });\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgClass, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n input,\n model,\n OnChanges,\n output,\n viewChildren\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { addIcons, elementDelete, elementPlus, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiNumberInputComponent } from '@siemens/element-ng/number-input';\nimport {\n SelectOption,\n SelectOptionLegacy,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n} from '@siemens/element-ng/select';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiReadonlyThresholdOptionComponent } from './si-readonly-threshold-option.component';\n\n/**\n * One step in a list of thresholds\n */\nexport interface ThresholdStep {\n /** Threshold value, the first step has no value */\n value?: number;\n /** One of the `SelectOption.id` */\n optionValue: string;\n /** When set to `false`, input fields are highlighted as invalid */\n valid?: boolean;\n}\n\n@Component({\n selector: 'si-threshold',\n imports: [\n FormsModule,\n NgClass,\n NgTemplateOutlet,\n SiIconComponent,\n SiNumberInputComponent,\n SiSelectComponent,\n SiSelectSingleValueDirective,\n SiSelectSimpleOptionsDirective,\n SiTranslatePipe,\n SiReadonlyThresholdOptionComponent\n ],\n templateUrl: './si-threshold.component.html',\n styleUrl: './si-threshold.component.scss',\n host: {\n '[class.add-remove]': 'canAddRemoveSteps()',\n '[class.horizontal]': 'horizontalLayout()',\n '[class.dec-inc-buttons]': 'showDecIncButtons()'\n }\n})\nexport class SiThresholdComponent implements OnChanges {\n /**\n * Options to be shown in select dropdown\n *\n * @defaultValue []\n */\n readonly options = input<SelectOptionLegacy[] | SelectOption<unknown>[]>([]);\n /**\n * The thresholds\n *\n * @defaultValue []\n */\n readonly thresholdSteps = model<ThresholdStep[]>([]);\n /**\n * The unit to show\n *\n * @defaultValue ''\n */\n readonly unit = input('');\n /**\n * The min. value for the threshold value\n *\n * @defaultValue 0\n */\n readonly minValue = input(0);\n /**\n * The max. value for the threshold value\n *\n * @defaultValue 100\n */\n readonly maxValue = input(100);\n /**\n * The step size for the threshold value\n *\n * @defaultValue 1\n */\n readonly stepSize = input(1);\n /**\n * Max. number of steps, 0 for no hard limit\n *\n * @defaultValue 0\n */\n readonly maxSteps = input(0);\n /**\n * Do validation?\n *\n * @defaultValue true\n */\n readonly validation = input(true, { transform: booleanAttribute });\n /**\n * When disabled, steps cannot be added/removed\n *\n * @defaultValue true\n */\n readonly canAddRemoveSteps = input(true, { transform: booleanAttribute });\n /**\n * Use horizontal layout?\n *\n * @defaultValue false\n */\n readonly horizontalLayout = input(false, { transform: booleanAttribute });\n /**\n * Show dec/inc buttons?\n *\n * @defaultValue true\n */\n readonly showDecIncButtons = input(true, { transform: booleanAttribute });\n /**\n * The obvious\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Indicate that the threshold options are readonly and cannot be changed. This will also disable adding / removing steps.\n *\n * @defaultValue false\n */\n readonly readonlyConditions = input(false, { transform: booleanAttribute });\n /**\n * The aria-label for delete button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`)\n * ```\n */\n readonly deleteAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`));\n /**\n * The aria-label for add button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`)\n * ```\n */\n readonly addAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`));\n /**\n * The aria-label for input field\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`)\n * ```\n */\n readonly inputAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`));\n /**\n * The aria-label for status selection\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`)\n * ```\n */\n readonly statusAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`));\n\n /** Fired when validation status changes */\n readonly validChange = output<boolean>();\n\n protected readonly colors = computed(() => {\n const colorMap = new Map<unknown, string>();\n for (const opt of this.options()) {\n if (opt.type === 'option') {\n colorMap.set(opt.value, opt.iconColor ?? '');\n } else if (!opt.type) {\n colorMap.set(opt.id, opt.color ?? '');\n }\n }\n return this.thresholdSteps().map(ths => colorMap.get(ths.optionValue) ?? '');\n });\n\n protected readonly icons = addIcons({ elementDelete, elementPlus });\n private _valid = true;\n /**\n * Whether the current input value is valid or not.\n */\n get valid(): boolean {\n return this._valid;\n }\n\n private readonly numberInputs = viewChildren(SiNumberInputComponent);\n\n ngOnChanges(): void {\n this.validate();\n }\n\n protected deleteStep(index: number): void {\n const updated = [...this.thresholdSteps()];\n updated.splice(index, 1);\n this.thresholdSteps.set(updated);\n this.validate();\n }\n\n protected addStep(index: number): void {\n const newStep: ThresholdStep = { ...this.thresholdSteps()[index], value: undefined };\n const updated = [...this.thresholdSteps()];\n updated.splice(index + 1, 0, newStep);\n this.thresholdSteps.set(updated);\n this.validate();\n setTimeout(() => this.numberInputs()[index].inputElement().nativeElement.focus());\n }\n\n protected stepChange(): void {\n this.thresholdSteps.set([...this.thresholdSteps()]);\n this.validate();\n }\n\n private validate(): void {\n const prevValid = this.valid;\n this._valid = true;\n for (let i = 1; i < this.thresholdSteps().length; i++) {\n const step = this.thresholdSteps()[i];\n\n if (this.validation()) {\n const prev = this.thresholdSteps()[i - 1];\n const next = this.thresholdSteps()[i + 1];\n\n // valid: withing min/max, each step is lower than next step with step size between\n step.valid =\n step.value != null &&\n step.value >= this.minValue() &&\n step.value <= this.maxValue() &&\n (prev.value == null || step.value - this.stepSize() >= prev.value) &&\n (next?.value == null || step.value + this.stepSize() <= next.value);\n this._valid &&= step.valid;\n } else {\n step.valid = true;\n }\n }\n if (this.valid !== prevValid) {\n this.validChange.emit(this.valid);\n }\n }\n}\n","@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [ngClass]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-sm btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [ngClass]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [ngClass]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiThresholdComponent } from './si-threshold.component';\n\n@NgModule({\n imports: [SiThresholdComponent],\n exports: [SiThresholdComponent]\n})\nexport class SiThresholdModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-threshold.component';\nexport * from './si-threshold.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"siemens-element-ng-threshold.mjs","sources":["../../../../projects/element-ng/threshold/si-readonly-threshold-option.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.ts","../../../../projects/element-ng/threshold/si-threshold.component.html","../../../../projects/element-ng/threshold/si-threshold.module.ts","../../../../projects/element-ng/threshold/index.ts","../../../../projects/element-ng/threshold/siemens-element-ng-threshold.ts"],"sourcesContent":["/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { Component, computed, input } from '@angular/core';\nimport { SiIconComponent } from '@siemens/element-ng/icon';\nimport { SelectOption } from '@siemens/element-ng/select';\nimport { SiTranslatePipe } from '@siemens/element-translate-ng/translate';\n\n@Component({\n selector: 'si-readonly-threshold-option',\n imports: [SiTranslatePipe, SiIconComponent],\n template: `@let opt = option();\n @if (opt && opt.icon) {\n <i class=\"icon-stack\">\n <si-icon class=\"icon me-2\" [class]=\"color()\" [icon]=\"opt.icon\" />\n @if (opt.stackedIcon) {\n <si-icon class=\"icon me-2\" [class]=\"opt.stackedIconColor\" [icon]=\"opt.stackedIcon\" />\n }\n </i>\n }\n <span class=\"text-truncate\">{{ label() | translate }}</span>`,\n styleUrl: './si-readonly-threshold-option.component.scss',\n host: { class: 'd-flex align-items-center py-2 my-4 px-4 si-h5' }\n})\nexport class SiReadonlyThresholdOptionComponent {\n readonly value = input.required<string>();\n readonly options = input.required<SelectOption<unknown>[]>();\n\n protected readonly option = computed(() => {\n const options = this.options();\n const value = this.value();\n if (value && options) {\n return options.find(opt => opt.value === value);\n }\n return undefined;\n });\n\n protected readonly color = computed(() => {\n const option = this.option();\n return !option || option.disabled ? undefined : option.iconColor;\n });\n\n protected readonly label = computed(() => this.option()?.label);\n}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n input,\n model,\n OnChanges,\n output,\n viewChildren\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { elementDelete, elementPlus } from '@siemens/element-icons';\nimport { addIcons, SiIconComponent } from '@siemens/element-ng/icon';\nimport { SiNumberInputComponent } from '@siemens/element-ng/number-input';\nimport {\n SelectOption,\n SiSelectComponent,\n SiSelectSimpleOptionsDirective,\n SiSelectSingleValueDirective\n} from '@siemens/element-ng/select';\nimport { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';\n\nimport { SiReadonlyThresholdOptionComponent } from './si-readonly-threshold-option.component';\n\n/**\n * One step in a list of thresholds\n */\nexport interface ThresholdStep {\n /** Threshold value, the first step has no value */\n value?: number;\n /** One of the `SelectOption.id` */\n optionValue: string;\n /** When set to `false`, input fields are highlighted as invalid */\n valid?: boolean;\n}\n\n@Component({\n selector: 'si-threshold',\n imports: [\n FormsModule,\n NgTemplateOutlet,\n SiIconComponent,\n SiNumberInputComponent,\n SiSelectComponent,\n SiSelectSingleValueDirective,\n SiSelectSimpleOptionsDirective,\n SiTranslatePipe,\n SiReadonlyThresholdOptionComponent\n ],\n templateUrl: './si-threshold.component.html',\n styleUrl: './si-threshold.component.scss',\n host: {\n '[class.add-remove]': 'canAddRemoveSteps()',\n '[class.horizontal]': 'horizontalLayout()',\n '[class.dec-inc-buttons]': 'showDecIncButtons()'\n }\n})\nexport class SiThresholdComponent implements OnChanges {\n /**\n * Options to be shown in select dropdown\n *\n * @defaultValue []\n */\n readonly options = input<SelectOption<unknown>[]>([]);\n /**\n * The thresholds\n *\n * @defaultValue []\n */\n readonly thresholdSteps = model<ThresholdStep[]>([]);\n /**\n * The unit to show\n *\n * @defaultValue ''\n */\n readonly unit = input('');\n /**\n * The min. value for the threshold value\n *\n * @defaultValue 0\n */\n readonly minValue = input(0);\n /**\n * The max. value for the threshold value\n *\n * @defaultValue 100\n */\n readonly maxValue = input(100);\n /**\n * The step size for the threshold value\n *\n * @defaultValue 1\n */\n readonly stepSize = input(1);\n /**\n * Max. number of steps, 0 for no hard limit\n *\n * @defaultValue 0\n */\n readonly maxSteps = input(0);\n /**\n * Do validation?\n *\n * @defaultValue true\n */\n readonly validation = input(true, { transform: booleanAttribute });\n /**\n * When disabled, steps cannot be added/removed\n *\n * @defaultValue true\n */\n readonly canAddRemoveSteps = input(true, { transform: booleanAttribute });\n /**\n * Use horizontal layout?\n *\n * @defaultValue false\n */\n readonly horizontalLayout = input(false, { transform: booleanAttribute });\n /**\n * Show dec/inc buttons?\n *\n * @defaultValue true\n */\n readonly showDecIncButtons = input(true, { transform: booleanAttribute });\n /**\n * The obvious\n *\n * @defaultValue false\n */\n readonly readonly = input(false, { transform: booleanAttribute });\n /**\n * Indicate that the threshold options are readonly and cannot be changed. This will also disable adding / removing steps.\n *\n * @defaultValue false\n */\n readonly readonlyConditions = input(false, { transform: booleanAttribute });\n /**\n * The aria-label for delete button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`)\n * ```\n */\n readonly deleteAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.DELETE:Delete step`));\n /**\n * The aria-label for add button\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`)\n * ```\n */\n readonly addAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.ADD:Add step`));\n /**\n * The aria-label for input field\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`)\n * ```\n */\n readonly inputAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.INPUT_LABEL:Threshold value`));\n /**\n * The aria-label for status selection\n *\n * @defaultValue\n * ```\n * t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`)\n * ```\n */\n readonly statusAriaLabel = input(t(() => $localize`:@@SI_THRESHOLD.STATUS:Status`));\n\n /** Fired when validation status changes */\n readonly validChange = output<boolean>();\n\n protected readonly colors = computed(() => {\n const colorMap = new Map<unknown, string>();\n for (const opt of this.options()) {\n colorMap.set(opt.value, opt.iconColor ?? '');\n }\n return this.thresholdSteps().map(ths => colorMap.get(ths.optionValue) ?? '');\n });\n\n protected readonly icons = addIcons({ elementDelete, elementPlus });\n private _valid = true;\n /**\n * Whether the current input value is valid or not.\n */\n get valid(): boolean {\n return this._valid;\n }\n\n private readonly numberInputs = viewChildren(SiNumberInputComponent);\n\n ngOnChanges(): void {\n this.validate();\n }\n\n protected deleteStep(index: number): void {\n const updated = [...this.thresholdSteps()];\n updated.splice(index, 1);\n this.thresholdSteps.set(updated);\n this.validate();\n }\n\n protected addStep(index: number): void {\n const newStep: ThresholdStep = { ...this.thresholdSteps()[index], value: undefined };\n const updated = [...this.thresholdSteps()];\n updated.splice(index + 1, 0, newStep);\n this.thresholdSteps.set(updated);\n this.validate();\n setTimeout(() => this.numberInputs()[index].inputElement().nativeElement.focus());\n }\n\n protected stepChange(): void {\n this.thresholdSteps.set([...this.thresholdSteps()]);\n this.validate();\n }\n\n private validate(): void {\n const prevValid = this.valid;\n this._valid = true;\n for (let i = 1; i < this.thresholdSteps().length; i++) {\n const step = this.thresholdSteps()[i];\n\n if (this.validation()) {\n const prev = this.thresholdSteps()[i - 1];\n const next = this.thresholdSteps()[i + 1];\n\n // valid: withing min/max, each step is lower than next step with step size between\n step.valid =\n step.value != null &&\n step.value >= this.minValue() &&\n step.value <= this.maxValue() &&\n (prev.value == null || step.value - this.stepSize() >= prev.value) &&\n (next?.value == null || step.value + this.stepSize() <= next.value);\n this._valid &&= step.valid;\n } else {\n step.valid = true;\n }\n }\n if (this.valid !== prevValid) {\n this.validChange.emit(this.valid);\n }\n }\n}\n","@for (step of thresholdSteps(); track step) {\n <div class=\"ths-step\">\n @if (!$first) {\n <div class=\"ths-value d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-ghost m-4\"\n [attr.aria-label]=\"deleteAriaLabel() | translate\"\n (click)=\"deleteStep($index)\"\n >\n <si-icon [icon]=\"icons.elementDelete\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\">\n <div class=\"segment\" [class]=\"colors()[$index - 1]\"></div>\n <div class=\"dot\"></div>\n <div class=\"segment\" [class]=\"colors()[$index]\"></div>\n </div>\n <div class=\"d-flex align-items-center text-nowrap m-4\">\n <si-number-input\n #valueInput=\"ngModel\"\n class=\"form-control text-end\"\n [class.is-invalid]=\"step.valid === false\"\n [aria-label]=\"inputAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [min]=\"minValue()\"\n [max]=\"maxValue()\"\n [step]=\"stepSize()\"\n [unit]=\"unit()\"\n [showButtons]=\"showDecIncButtons()\"\n [required]=\"true\"\n [(ngModel)]=\"step.value\"\n (ngModelChange)=\"stepChange()\"\n />\n </div>\n </div>\n }\n @if ($first && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n <div class=\"ths-option d-flex align-items-center\">\n @if (canAddRemoveSteps() && !readonly() && !readonlyConditions()) {\n <button\n type=\"button\"\n class=\"btn btn-circle btn-secondary m-4\"\n [disabled]=\"maxSteps() && $count >= maxSteps()\"\n [attr.aria-label]=\"addAriaLabel() | translate\"\n (click)=\"addStep($index)\"\n >\n <si-icon [icon]=\"icons.elementPlus\" />\n </button>\n }\n @if (!canAddRemoveSteps() || readonly() || readonlyConditions()) {\n <div class=\"py-4 my-4\">&#8203;</div>\n }\n <div class=\"line\" [class]=\"colors()[$index]\">\n <div class=\"segment\"></div>\n </div>\n @if (!readonly() && !readonlyConditions()) {\n <si-select\n class=\"my-4\"\n [ariaLabel]=\"statusAriaLabel() | translate\"\n [readonly]=\"readonly()\"\n [options]=\"options()\"\n [(value)]=\"step.optionValue\"\n (valueChange)=\"stepChange()\"\n />\n }\n @if (readonly() || readonlyConditions()) {\n <si-readonly-threshold-option [options]=\"options()\" [value]=\"step.optionValue\" />\n }\n </div>\n @if ($last && horizontalLayout()) {\n <ng-container\n [ngTemplateOutlet]=\"startend\"\n [ngTemplateOutletContext]=\"{ color: colors()[$index] }\"\n />\n }\n </div>\n}\n\n<ng-template #startend let-color=\"color\">\n <div class=\"ths-value d-flex align-items-center startend\">\n <div class=\"py-4 my-4\">&#8203;</div>\n <div class=\"line\">\n <div class=\"segment\" [class]=\"color\"></div>\n </div>\n </div>\n</ng-template>\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nimport { NgModule } from '@angular/core';\n\nimport { SiThresholdComponent } from './si-threshold.component';\n\n@NgModule({\n imports: [SiThresholdComponent],\n exports: [SiThresholdComponent]\n})\nexport class SiThresholdModule {}\n","/**\n * Copyright (c) Siemens 2016 - 2025\n * SPDX-License-Identifier: MIT\n */\nexport * from './si-threshold.component';\nexport * from './si-threshold.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}