@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,15 +1,15 @@
1
1
  import * as i1$3 from '@angular/cdk/overlay';
2
2
  import { CdkOverlayOrigin, OverlayModule } from '@angular/cdk/overlay';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, signal, computed, Directive, input, ChangeDetectionStrategy, Component, booleanAttribute, output, inject, Input, HostListener, ElementRef, HostBinding, viewChild, contentChild, TemplateRef, NgModule } from '@angular/core';
4
+ import { InjectionToken, Directive, input, ChangeDetectionStrategy, Component, booleanAttribute, output, computed, signal, inject, Input, HostListener, ElementRef, HostBinding, viewChild, contentChild, TemplateRef, NgModule } from '@angular/core';
5
5
  import { SI_FORM_ITEM_CONTROL } from '@siemens/element-ng/form';
6
6
  import { SiTranslatePipe, t } from '@siemens/element-translate-ng/translate';
7
- import { buildTrackByIdentity } from '@siemens/element-ng/common';
7
+ import { elementDown2, elementOk, elementSearch } from '@siemens/element-icons';
8
8
  import * as i1 from '@siemens/element-ng/auto-collapsable-list';
9
9
  import { SiAutoCollapsableListModule } from '@siemens/element-ng/auto-collapsable-list';
10
- import { SiIconComponent, addIcons, elementDown2, elementOk, elementSearch } from '@siemens/element-ng/icon';
10
+ import { SiIconComponent, addIcons } from '@siemens/element-ng/icon';
11
11
  import * as i1$2 from '@angular/common';
12
- import { NgClass, NgTemplateOutlet, CommonModule } from '@angular/common';
12
+ import { NgTemplateOutlet, CommonModule } from '@angular/common';
13
13
  import * as i1$1 from '@siemens/element-ng/autocomplete';
14
14
  import { SiAutocompleteDirective, SiAutocompleteModule } from '@siemens/element-ng/autocomplete';
15
15
  import { SiLoadingSpinnerComponent } from '@siemens/element-ng/loading-spinner';
@@ -25,179 +25,13 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
25
25
  */
26
26
  const SI_SELECT_OPTIONS_STRATEGY = new InjectionToken('si-select.options-strategy');
27
27
 
28
- /**
29
- * Copyright (c) Siemens 2016 - 2025
30
- * SPDX-License-Identifier: MIT
31
- */
32
- /**
33
- * Input options strategy base class, for eagerly fetched options.
34
- */
35
- class SiSelectOptionsStrategyBase {
36
- value = signal([]);
37
- filterValue = signal('');
38
- /**
39
- * Rows that should be shown.
40
- *
41
- * @defaultValue []
42
- */
43
- rows = computed(() => {
44
- const filterValue = this.filterValue();
45
- if (filterValue) {
46
- const filterValueLC = filterValue.toLowerCase();
47
- const checkRow = (row) => (row.typeaheadLabel ?? row.label).toLowerCase().includes(filterValueLC);
48
- return this.allRows().reduce((rows, row) => {
49
- if (row.type === 'option' && checkRow(row)) {
50
- rows.push(row);
51
- }
52
- else if (row.type === 'group') {
53
- if (row.label.toLowerCase().includes(filterValueLC)) {
54
- rows.push(row);
55
- }
56
- else {
57
- const options = row.options.filter(checkRow);
58
- if (options.length) {
59
- rows.push({ ...row, options });
60
- }
61
- }
62
- }
63
- return rows;
64
- }, []);
65
- }
66
- else {
67
- return this.allRows();
68
- }
69
- });
70
- selectedRows = computed(() => {
71
- const values = this.value();
72
- return this.allRows()
73
- .map(row => (row.type === 'group' ? row.options : row))
74
- .flat()
75
- .filter(option => values.some(value => this.optionsEqual()(value, option.value)));
76
- });
77
- onValueChange(value) {
78
- this.value.set(value);
79
- }
80
- onFilter(filterValue) {
81
- this.filterValue.set(filterValue ?? '');
82
- }
83
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionsStrategyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
84
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectOptionsStrategyBase, isStandalone: true, ngImport: i0 });
85
- }
86
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionsStrategyBase, decorators: [{
87
- type: Directive
88
- }] });
89
-
90
- /**
91
- * Copyright (c) Siemens 2016 - 2025
92
- * SPDX-License-Identifier: MIT
93
- */
94
- /**
95
- * The directive allows passing custom options.
96
- * Otherwise, use the {@link SiSelectSimpleOptionsDirective} directive.
97
- *
98
- * @deprecated Use {@link SiSelectSimpleOptionsDirective} instead.
99
- *
100
- * @example
101
- * ```html
102
- * <si-select [complexOptions]="['v1', 'v2', 'v3']"></si-select>
103
- * <si-select [complexOptions]="{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1']}"></si-select>
104
- * ```
105
- */
106
- class SiSelectComplexOptionsDirective extends SiSelectOptionsStrategyBase {
107
- /** Options to be shown in select dropdown. */
108
- complexOptions = input();
109
- /**
110
- * @deprecated Property has no effect and can be removed.
111
- *
112
- * @defaultValue
113
- * ```
114
- * buildTrackByIdentity<T>()
115
- * ```
116
- */
117
- trackBy = input(buildTrackByIdentity());
118
- /**
119
- * By default, values are check on equality by reference. Override to customize the behavior.
120
- *
121
- * @defaultValue
122
- * ```
123
- * (a: T, b: T): boolean => a === b
124
- * ```
125
- */
126
- optionsEqual = input((a, b) => a === b, {
127
- // eslint-disable-next-line @angular-eslint/no-input-rename
128
- alias: 'optionEqualCheckFn'
129
- });
130
- /**
131
- * The valueProvider is used to extract the display text of a value.
132
- */
133
- valueProvider = input();
134
- /**
135
- * Provides Value for the display text of the dropdown group
136
- *
137
- * @defaultValue
138
- * ```
139
- * () => undefined
140
- * ```
141
- */
142
- groupProvider = input(() => undefined);
143
- /**
144
- * The disabledProvider is used to display menu items as disabled.
145
- *
146
- * @defaultValue
147
- * ```
148
- * () => false
149
- * ```
150
- */
151
- disabledProvider = input(() => false);
152
- allRows = computed(() => {
153
- const complexOptions = this.complexOptions();
154
- if (complexOptions instanceof Array) {
155
- return this.convertOptionsArray(complexOptions);
156
- }
157
- else if (complexOptions) {
158
- const groupProvider = this.groupProvider();
159
- return Object.entries(complexOptions).map(([key, value]) => ({
160
- type: 'group',
161
- key,
162
- label: groupProvider(key) ?? key,
163
- options: this.convertOptionsArray(value)
164
- }));
165
- }
166
- else {
167
- return [];
168
- }
169
- });
170
- convertOptionsArray(options) {
171
- const provide = this.valueProvider();
172
- return options.map(option => {
173
- return {
174
- type: 'option',
175
- value: option,
176
- label: (provide ? provide(option) : undefined) ?? option + '',
177
- typeaheadLabel: provide ? provide(option) : undefined,
178
- disabled: this.disabledProvider()(option)
179
- };
180
- });
181
- }
182
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComplexOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
183
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectComplexOptionsDirective, isStandalone: true, selector: "si-select[complexOptions]", inputs: { complexOptions: { classPropertyName: "complexOptions", publicName: "complexOptions", isSignal: true, isRequired: false, transformFunction: null }, trackBy: { classPropertyName: "trackBy", publicName: "trackBy", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null }, valueProvider: { classPropertyName: "valueProvider", publicName: "valueProvider", isSignal: true, isRequired: false, transformFunction: null }, groupProvider: { classPropertyName: "groupProvider", publicName: "groupProvider", isSignal: true, isRequired: false, transformFunction: null }, disabledProvider: { classPropertyName: "disabledProvider", publicName: "disabledProvider", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }], usesInheritance: true, ngImport: i0 });
184
- }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComplexOptionsDirective, decorators: [{
186
- type: Directive,
187
- args: [{
188
- // eslint-disable-next-line @angular-eslint/directive-selector
189
- selector: 'si-select[complexOptions]',
190
- providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectComplexOptionsDirective }]
191
- }]
192
- }] });
193
-
194
28
  /**
195
29
  * Copyright (c) Siemens 2016 - 2025
196
30
  * SPDX-License-Identifier: MIT
197
31
  */
198
32
  /**
199
33
  * The directive allows to template/customize the value option rendering.
200
- * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.
34
+ * This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
201
35
  *
202
36
  * @example
203
37
  * ```html
@@ -211,10 +45,10 @@ class SiSelectOptionTemplateDirective {
211
45
  static ngTemplateContextGuard(directive, context) {
212
46
  return true;
213
47
  }
214
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
215
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectOptionTemplateDirective, isStandalone: true, selector: "[siSelectOptionTemplate]", ngImport: i0 });
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
49
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionTemplateDirective, isStandalone: true, selector: "[siSelectOptionTemplate]", ngImport: i0 });
216
50
  }
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionTemplateDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionTemplateDirective, decorators: [{
218
52
  type: Directive,
219
53
  args: [{
220
54
  selector: '[siSelectOptionTemplate]'
@@ -226,23 +60,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
226
60
  * SPDX-License-Identifier: MIT
227
61
  */
228
62
  class SiSelectOptionComponent {
229
- option = input.required();
230
- optionTemplate = input();
231
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
232
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectOptionComponent, isStandalone: true, selector: "si-select-option", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center overflow-hidden" }, ngImport: i0, template: "<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon class=\"icon me-2\" [icon]=\"item.stackedIcon\" [ngClass]=\"item.stackedIconColor\" />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n", dependencies: [{ 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: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "directive", type: SiSelectOptionTemplateDirective, selector: "[siSelectOptionTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
+ option = input.required(...(ngDevMode ? [{ debugName: "option" }] : []));
64
+ optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectOptionComponent, isStandalone: true, selector: "si-select-option", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "d-flex align-items-center overflow-hidden" }, ngImport: i0, template: "<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [class]=\"!item.disabled && item.iconColor ? item.iconColor : ''\"\n />\n @if (item.stackedIcon) {\n <si-icon\n class=\"icon me-2\"\n [class]=\"item.stackedIconColor ?? ''\"\n [icon]=\"item.stackedIcon\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSelectOptionTemplateDirective, selector: "[siSelectOptionTemplate]" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
233
67
  }
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionComponent, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionComponent, decorators: [{
235
69
  type: Component,
236
- args: [{ selector: 'si-select-option', imports: [
237
- NgClass,
238
- NgTemplateOutlet,
239
- SiIconComponent,
240
- SiTranslatePipe,
241
- SiSelectOptionTemplateDirective
242
- ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
70
+ args: [{ selector: 'si-select-option', imports: [NgTemplateOutlet, SiIconComponent, SiTranslatePipe, SiSelectOptionTemplateDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
243
71
  class: 'd-flex align-items-center overflow-hidden'
244
- }, template: "<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [ngClass]=\"[(!item.disabled && item.iconColor) || '']\"\n />\n @if (item.stackedIcon) {\n <si-icon class=\"icon me-2\" [icon]=\"item.stackedIcon\" [ngClass]=\"item.stackedIconColor\" />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n" }]
245
- }] });
72
+ }, template: "<ng-container\n [ngTemplateOutlet]=\"optionTemplate() ?? defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: option() }\"\n/>\n\n<ng-template #defaultOptionTemplate let-item siSelectOptionTemplate>\n @if (item.icon) {\n <i class=\"icon-stack\">\n <si-icon\n class=\"icon me-2\"\n [icon]=\"item.icon\"\n [class]=\"!item.disabled && item.iconColor ? item.iconColor : ''\"\n />\n @if (item.stackedIcon) {\n <si-icon\n class=\"icon me-2\"\n [class]=\"item.stackedIconColor ?? ''\"\n [icon]=\"item.stackedIcon\"\n />\n }\n </i>\n }\n @if (item.label) {\n <span class=\"text-truncate\">{{ item.label | translate }}</span>\n }\n</ng-template>\n" }]
73
+ }], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }] } });
246
74
 
247
75
  /**
248
76
  * Copyright (c) Siemens 2016 - 2025
@@ -258,7 +86,7 @@ class SiSelectSelectionStrategy {
258
86
  * @defaultValue false
259
87
  */
260
88
  // eslint-disable-next-line @angular-eslint/no-input-rename
261
- disabledInput = input(false, { alias: 'disabled', transform: booleanAttribute });
89
+ disabledInput = input(false, { ...(ngDevMode ? { debugName: "disabledInput" } : {}), alias: 'disabled', transform: booleanAttribute });
262
90
  /**
263
91
  * The selected value(s).
264
92
  */
@@ -271,16 +99,16 @@ class SiSelectSelectionStrategy {
271
99
  * Provides the internal value always as an array
272
100
  * @internal
273
101
  */
274
- arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value));
102
+ arrayValue = computed(() => this.selectOptions.selectedRows().map(option => option.value), ...(ngDevMode ? [{ debugName: "arrayValue" }] : []));
275
103
  /**
276
104
  * Registered form callback which shall be called on blur.
277
105
  * @internal
278
106
  */
279
107
  onTouched = () => { };
280
108
  /** @internal */
281
- disabled = computed(() => this.disabledInput() || this.disabledNgControl());
109
+ disabled = computed(() => this.disabledInput() || this.disabledNgControl(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
282
110
  onChange = () => { };
283
- disabledNgControl = signal(false);
111
+ disabledNgControl = signal(false, ...(ngDevMode ? [{ debugName: "disabledNgControl" }] : []));
284
112
  selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
285
113
  registerOnTouched(fn) {
286
114
  this.onTouched = fn;
@@ -307,50 +135,50 @@ class SiSelectSelectionStrategy {
307
135
  updateFromInput(values) {
308
136
  this.selectOptions.onValueChange(values);
309
137
  }
310
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectSelectionStrategy, isStandalone: true, inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled()" } }, ngImport: i0 });
138
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Directive });
139
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectSelectionStrategy, isStandalone: true, inputs: { disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { properties: { "class.disabled": "disabled()" } }, ngImport: i0 });
312
140
  }
313
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSelectionStrategy, decorators: [{
141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSelectionStrategy, decorators: [{
314
142
  type: Directive,
315
143
  args: [{
316
144
  host: {
317
145
  '[class.disabled]': 'disabled()'
318
146
  }
319
147
  }]
320
- }], propDecorators: { value: [{
148
+ }], propDecorators: { disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{
321
149
  type: Input
322
- }] } });
150
+ }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
323
151
 
324
152
  /**
325
153
  * Copyright (c) Siemens 2016 - 2025
326
154
  * SPDX-License-Identifier: MIT
327
155
  */
328
156
  class SiSelectInputComponent {
329
- baseId = input.required();
157
+ baseId = input.required(...(ngDevMode ? [{ debugName: "baseId" }] : []));
330
158
  /**
331
159
  * Aria labelledby of the select.
332
160
  *
333
161
  * @defaultValue null
334
162
  */
335
- labelledby = input(null);
163
+ labelledby = input(null, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
336
164
  /**
337
165
  * Aria label of the select.
338
166
  *
339
167
  * @defaultValue null
340
168
  */
341
- ariaLabel = input(null);
169
+ ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
342
170
  /** @defaultValue false */
343
- open = input(false, { transform: booleanAttribute });
344
- placeholder = input();
345
- controls = input.required();
346
- optionTemplate = input();
171
+ open = input(false, { ...(ngDevMode ? { debugName: "open" } : {}), transform: booleanAttribute });
172
+ placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
173
+ controls = input.required(...(ngDevMode ? [{ debugName: "controls" }] : []));
174
+ optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
347
175
  /** @defaultValue false */
348
- readonly = input(false, { transform: booleanAttribute });
176
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
349
177
  openListbox = output();
350
178
  selectionStrategy = inject((SiSelectSelectionStrategy));
351
179
  selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
352
180
  selectedRows = this.selectOptions.selectedRows;
353
- labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`);
181
+ labeledBy = computed(() => `${this.baseId()}-aria-label ${this.labelledby()}`, ...(ngDevMode ? [{ debugName: "labeledBy" }] : []));
354
182
  icons = addIcons({ elementDown2 });
355
183
  blur() {
356
184
  if (!this.open()) {
@@ -361,10 +189,10 @@ class SiSelectInputComponent {
361
189
  event?.preventDefault();
362
190
  this.openListbox.emit();
363
191
  }
364
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
365
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectInputComponent, isStandalone: true, selector: "si-select-input", inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openListbox: "openListbox" }, host: { attributes: { "aria-autocomplete": "none" }, listeners: { "blur": "blur()", "click": "click()", "keydown.arrowDown": "click($event)", "keydown.alt.arrowDown": "click($event)", "keydown.arrowUp": "click($event)", "keydown.enter": "click()", "keydown.space": "click()" }, properties: { "attr.role": "readonly() ? \"textbox\": \"combobox\"", "attr.aria-haspopup": "readonly() ? undefined : \"listbox\"", "attr.aria-expanded": "readonly() ? undefined : open()", "attr.aria-controls": "readonly() ? undefined : controls()", "attr.aria-readonly": "readonly()", "attr.aria-labelledby": "labeledBy()", "attr.aria-disabled": "selectionStrategy.disabled()", "attr.tabindex": "selectionStrategy.disabled() ? \"-1\" : \"0\"", "class.disabled": "selectionStrategy.disabled()", "class.active": "open()" }, classAttribute: "select focus-none dropdown-toggle d-flex align-items-center ps-4" }, ngImport: i0, template: "@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;font-weight:600;min-inline-size:72px;block-size:100%;color:var(--element-text-primary);padding-block:4px;padding-inline-end:calc(12px + var(--si-feedback-icon-offset, 0px))}:host.disabled{color:var(--element-text-disabled)}:host-context(.form-control) :host{font-weight:400;padding-block:3px}:host-context(.dropdown:not(.form-control)) :host:not(.disabled):hover{background:var(--element-base-1-hover)}:host-context(.dropdown:not(.form-control)) :host:not(.disabled).active{background:var(--element-base-1-selected)}si-select-option+si-select-option:before{content:\",\\a0\"}.overflow-item{border-radius:var(--element-radius-3);background:var(--element-base-0);margin-inline-start:4px;padding-inline:8px}.dropdown-caret{transform:translate(var(--si-feedback-icon-offset, 0))}\n"], dependencies: [{ kind: "ngmodule", type: SiAutoCollapsableListModule }, { kind: "directive", type: i1.SiAutoCollapsableListDirective, selector: "[siAutoCollapsableList]", inputs: ["siAutoCollapsableList", "gap", "siAutoCollapsableListContainerElement"], exportAs: ["siAutoCollapsableList"] }, { kind: "directive", type: i1.SiAutoCollapsableListItemDirective, selector: "[siAutoCollapsableListItem]", inputs: ["forceHide"], exportAs: ["siAutoCollapsableListItem"] }, { kind: "directive", type: i1.SiAutoCollapsableListOverflowItemDirective, selector: "[siAutoCollapsableListOverflowItem]", exportAs: ["siAutoCollapsableListOverflowItem"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
192
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
193
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectInputComponent, isStandalone: true, selector: "si-select-input", inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, controls: { classPropertyName: "controls", publicName: "controls", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openListbox: "openListbox" }, host: { attributes: { "aria-autocomplete": "none" }, listeners: { "blur": "blur()", "click": "click()", "keydown.arrowDown": "click($event)", "keydown.alt.arrowDown": "click($event)", "keydown.arrowUp": "click($event)", "keydown.enter": "click()", "keydown.space": "click()" }, properties: { "attr.role": "readonly() ? \"textbox\": \"combobox\"", "attr.aria-haspopup": "readonly() ? undefined : \"listbox\"", "attr.aria-expanded": "readonly() ? undefined : open()", "attr.aria-controls": "readonly() ? undefined : controls()", "attr.aria-readonly": "readonly()", "attr.aria-labelledby": "labeledBy()", "attr.aria-disabled": "selectionStrategy.disabled()", "attr.tabindex": "selectionStrategy.disabled() ? \"-1\" : \"0\"", "class.disabled": "selectionStrategy.disabled()", "class.active": "open()" }, classAttribute: "select focus-none dropdown-toggle d-flex align-items-center ps-4" }, ngImport: i0, template: "@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;font-weight:600;min-inline-size:72px;block-size:100%;color:var(--element-text-primary);padding-block:4px;padding-inline-end:calc(12px + var(--si-feedback-icon-offset, 0px))}:host.disabled{color:var(--element-text-disabled)}:host-context(.form-control) :host{font-weight:400;padding-block:3px}:host-context(.dropdown:not(.form-control)) :host:not(.disabled):hover{background:var(--element-base-1-hover)}:host-context(.dropdown:not(.form-control)) :host:not(.disabled).active{background:var(--element-base-1-selected)}si-select-option+si-select-option:before{content:\",\\a0\"}.overflow-item{border-radius:var(--element-radius-3);background:var(--element-base-0);margin-inline-start:4px;padding-inline:8px}.dropdown-caret{transform:translate(var(--si-feedback-icon-offset, 0))}\n"], dependencies: [{ kind: "ngmodule", type: SiAutoCollapsableListModule }, { kind: "directive", type: i1.SiAutoCollapsableListDirective, selector: "[siAutoCollapsableList]", inputs: ["siAutoCollapsableList", "gap", "siAutoCollapsableListContainerElement"], exportAs: ["siAutoCollapsableList"] }, { kind: "directive", type: i1.SiAutoCollapsableListItemDirective, selector: "[siAutoCollapsableListItem]", inputs: ["forceHide"], exportAs: ["siAutoCollapsableListItem"] }, { kind: "directive", type: i1.SiAutoCollapsableListOverflowItemDirective, selector: "[siAutoCollapsableListOverflowItem]", exportAs: ["siAutoCollapsableListOverflowItem"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
366
194
  }
367
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectInputComponent, decorators: [{
195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectInputComponent, decorators: [{
368
196
  type: Component,
369
197
  args: [{ selector: 'si-select-input', imports: [SiAutoCollapsableListModule, SiIconComponent, SiSelectOptionComponent, SiTranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
370
198
  // In readonly mode, the select needs to be announced as a textbox.
@@ -382,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
382
210
  '[class.disabled]': 'selectionStrategy.disabled()',
383
211
  '[class.active]': 'open()'
384
212
  }, template: "@if (ariaLabel()) {\n <span class=\"visually-hidden\" [id]=\"baseId() + '-aria-label'\">{{ ariaLabel() }}</span>\n}\n<div\n class=\"d-flex align-items-center flex-grow-1\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n [id]=\"baseId() + '-content'\"\n [siAutoCollapsableList]=\"selectionStrategy.allowMultiple\"\n>\n @for (activeOption of selectedRows(); track activeOption) {\n @if (activeOption) {\n <si-select-option\n siAutoCollapsableListItem\n [option]=\"activeOption\"\n [optionTemplate]=\"optionTemplate()\"\n [class.overflow-hidden]=\"!selectionStrategy.allowMultiple\"\n />\n }\n } @empty {\n <div class=\"text-secondary\">{{ placeholder() | translate }}</div>\n }\n @if (selectionStrategy.allowMultiple) {\n <div #overflowItem=\"siAutoCollapsableListOverflowItem\" siAutoCollapsableListOverflowItem>\n <div class=\"overflow-item\"> {{ overflowItem.hiddenItemCount }}+</div>\n </div>\n }\n</div>\n<si-icon\n class=\"dropdown-caret icon flip-rtl\"\n [class.text-muted]=\"readonly()\"\n [icon]=\"icons.elementDown2\"\n/>\n", styles: ["@charset \"UTF-8\";:host{cursor:pointer;font-weight:600;min-inline-size:72px;block-size:100%;color:var(--element-text-primary);padding-block:4px;padding-inline-end:calc(12px + var(--si-feedback-icon-offset, 0px))}:host.disabled{color:var(--element-text-disabled)}:host-context(.form-control) :host{font-weight:400;padding-block:3px}:host-context(.dropdown:not(.form-control)) :host:not(.disabled):hover{background:var(--element-base-1-hover)}:host-context(.dropdown:not(.form-control)) :host:not(.disabled).active{background:var(--element-base-1-selected)}si-select-option+si-select-option:before{content:\",\\a0\"}.overflow-item{border-radius:var(--element-radius-3);background:var(--element-base-0);margin-inline-start:4px;padding-inline:8px}.dropdown-caret{transform:translate(var(--si-feedback-icon-offset, 0))}\n"] }]
385
- }], propDecorators: { blur: [{
213
+ }], propDecorators: { baseId: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseId", required: true }] }], labelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], open: [{ type: i0.Input, args: [{ isSignal: true, alias: "open", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], controls: [{ type: i0.Input, args: [{ isSignal: true, alias: "controls", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], openListbox: [{ type: i0.Output, args: ["openListbox"] }], blur: [{
386
214
  type: HostListener,
387
215
  args: ['blur']
388
216
  }], click: [{
@@ -410,23 +238,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
410
238
  * SPDX-License-Identifier: MIT
411
239
  */
412
240
  class SiSelectOptionRowComponent {
413
- option = input.required();
414
- optionTemplate = input();
241
+ option = input.required(...(ngDevMode ? [{ debugName: "option" }] : []));
242
+ optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
415
243
  /** @defaultValue false */
416
- selected = input(false, { transform: booleanAttribute });
244
+ selected = input(false, { ...(ngDevMode ? { debugName: "selected" } : {}), transform: booleanAttribute });
417
245
  icons = addIcons({ elementOk });
418
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
419
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectOptionRowComponent, isStandalone: true, selector: "si-select-option-row", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.disabled": "!!this.option().disabled", "attr.aria-selected": "selected()", "attr.data-id": "this.option().value" }, classAttribute: "dropdown-item focus-none pe-4 gap-4" }, ngImport: i0, template: "<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:-.25rem}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
246
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
247
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectOptionRowComponent, isStandalone: true, selector: "si-select-option-row", inputs: { option: { classPropertyName: "option", publicName: "option", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.disabled": "!!this.option().disabled", "attr.aria-selected": "selected()", "attr.data-id": "this.option().value" }, classAttribute: "dropdown-item focus-none pe-4 gap-4" }, ngImport: i0, template: "<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:0}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"], dependencies: [{ kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "component", type: SiSelectOptionComponent, selector: "si-select-option", inputs: ["option", "optionTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
420
248
  }
421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionRowComponent, decorators: [{
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowComponent, decorators: [{
422
250
  type: Component,
423
251
  args: [{ selector: 'si-select-option-row', imports: [SiIconComponent, SiSelectOptionComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
424
252
  class: 'dropdown-item focus-none pe-4 gap-4',
425
253
  '[class.disabled]': '!!this.option().disabled',
426
254
  '[attr.aria-selected]': 'selected()',
427
255
  '[attr.data-id]': 'this.option().value'
428
- }, template: "<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:-.25rem}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"] }]
429
- }] });
256
+ }, template: "<span\n class=\"form-check-input si-form-checkbox\"\n [class.checked]=\"selected()\"\n [class.disabled]=\"option().disabled\"\n></span>\n<si-select-option [option]=\"option()\" [optionTemplate]=\"optionTemplate()\" />\n@if (selected()) {\n <span class=\"ms-auto selected-marker\" aria-hidden=\"true\">\n <si-icon class=\"d-block icon\" [icon]=\"icons.elementOk\" />\n </span>\n}\n", styles: [".selected-marker>span{font-size:1.5rem;margin-inline-end:0}.form-check-input{display:none}:host-context(.si-multi-select) .selected-marker{display:none}:host-context(.si-multi-select) .form-check-input{display:block}\n"] }]
257
+ }], propDecorators: { option: [{ type: i0.Input, args: [{ isSignal: true, alias: "option", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }] } });
430
258
 
431
259
  /**
432
260
  * Copyright (c) Siemens 2016 - 2025
@@ -434,11 +262,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
434
262
  */
435
263
  /**
436
264
  * The directive allows to template/customize the group option rendering.
437
- * This requires using the {@link SiSelectComplexOptionsDirective} to specify complex options as input.
265
+ * This requires using the {@link SiSelectSimpleOptionsDirective} to specify options as input.
438
266
  *
439
267
  * @example
440
268
  * ```html
441
- * <si-select [complexOptions]="{ g1: ['g1.i1', 'g1.i2'], g2: ['g2.i1'] }" >
269
+ * <si-select [options]="[
270
+ * { type: 'group', key: 'g1', label: 'Group 1', options: [
271
+ * { type: 'option', value: 'g1.i1', label: 'Item 1' },
272
+ * { type: 'option', value: 'g1.i2', label: 'Item 2' }
273
+ * ]},
274
+ * { type: 'group', key: 'g2', label: 'Group 2', options: [
275
+ * { type: 'option', value: 'g2.i1', label: 'Item 1' }
276
+ * ]}
277
+ * ]">
442
278
  * <ng-template siSelectGroupTemplate let-group>{{ group.key | uppercase }}</ng-template>
443
279
  * </si-select>
444
280
  * ```
@@ -447,10 +283,10 @@ class SiSelectGroupTemplateDirective {
447
283
  static ngTemplateContextGuard(directive, context) {
448
284
  return true;
449
285
  }
450
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectGroupTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
451
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectGroupTemplateDirective, isStandalone: true, selector: "[siSelectGroupTemplate]", ngImport: i0 });
286
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
287
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectGroupTemplateDirective, isStandalone: true, selector: "[siSelectGroupTemplate]", ngImport: i0 });
452
288
  }
453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectGroupTemplateDirective, decorators: [{
289
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectGroupTemplateDirective, decorators: [{
454
290
  type: Directive,
455
291
  args: [{
456
292
  selector: '[siSelectGroupTemplate]'
@@ -465,10 +301,10 @@ class SiSelectOptionRowTemplateDirective {
465
301
  static ngTemplateContextGuard(directive, context) {
466
302
  return true;
467
303
  }
468
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionRowTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
469
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectOptionRowTemplateDirective, isStandalone: true, selector: "[siSelectOptionRowTemplate]", ngImport: i0 });
304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
305
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionRowTemplateDirective, isStandalone: true, selector: "[siSelectOptionRowTemplate]", ngImport: i0 });
470
306
  }
471
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectOptionRowTemplateDirective, decorators: [{
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionRowTemplateDirective, decorators: [{
472
308
  type: Directive,
473
309
  args: [{
474
310
  selector: '[siSelectOptionRowTemplate]'
@@ -480,12 +316,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
480
316
  * SPDX-License-Identifier: MIT
481
317
  */
482
318
  class SiSelectListBase {
483
- baseId = input.required();
484
- optionTemplate = input();
485
- groupTemplate = input();
319
+ baseId = input.required(...(ngDevMode ? [{ debugName: "baseId" }] : []));
320
+ optionTemplate = input(...(ngDevMode ? [undefined, { debugName: "optionTemplate" }] : []));
321
+ groupTemplate = input(...(ngDevMode ? [undefined, { debugName: "groupTemplate" }] : []));
486
322
  /** @defaultValue null */
487
- labelledby = input(null);
488
- actionsTemplate = input();
323
+ labelledby = input(null, ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
324
+ actionsTemplate = input(...(ngDevMode ? [undefined, { debugName: "actionsTemplate" }] : []));
489
325
  closeOverlay = output();
490
326
  selectionStrategy = inject(SiSelectSelectionStrategy);
491
327
  selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
@@ -514,17 +350,17 @@ class SiSelectListBase {
514
350
  this.closeOverlayAlways();
515
351
  }
516
352
  }
517
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
518
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectListBase, isStandalone: true, inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, groupTemplate: { classPropertyName: "groupTemplate", publicName: "groupTemplate", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, actionsTemplate: { classPropertyName: "actionsTemplate", publicName: "actionsTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOverlay: "closeOverlay" }, host: { listeners: { "keydown.tab": "keydownTab()" }, properties: { "class.si-multi-select": "this.multiSelect" }, classAttribute: "dropdown-menu position-static w-100 py-4 d-flex flex-column" }, ngImport: i0 });
353
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
354
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectListBase, isStandalone: true, inputs: { baseId: { classPropertyName: "baseId", publicName: "baseId", isSignal: true, isRequired: true, transformFunction: null }, optionTemplate: { classPropertyName: "optionTemplate", publicName: "optionTemplate", isSignal: true, isRequired: false, transformFunction: null }, groupTemplate: { classPropertyName: "groupTemplate", publicName: "groupTemplate", isSignal: true, isRequired: false, transformFunction: null }, labelledby: { classPropertyName: "labelledby", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, actionsTemplate: { classPropertyName: "actionsTemplate", publicName: "actionsTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closeOverlay: "closeOverlay" }, host: { listeners: { "keydown.tab": "keydownTab()" }, properties: { "class.si-multi-select": "this.multiSelect" }, classAttribute: "dropdown-menu position-static w-100 py-4 d-flex flex-column" }, ngImport: i0 });
519
355
  }
520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListBase, decorators: [{
356
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListBase, decorators: [{
521
357
  type: Directive,
522
358
  args: [{
523
359
  host: {
524
360
  class: 'dropdown-menu position-static w-100 py-4 d-flex flex-column'
525
361
  }
526
362
  }]
527
- }], propDecorators: { multiSelect: [{
363
+ }], propDecorators: { baseId: [{ type: i0.Input, args: [{ isSignal: true, alias: "baseId", required: true }] }], optionTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionTemplate", required: false }] }], groupTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupTemplate", required: false }] }], labelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], actionsTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "actionsTemplate", required: false }] }], closeOverlay: [{ type: i0.Output, args: ["closeOverlay"] }], multiSelect: [{
528
364
  type: HostBinding,
529
365
  args: ['class.si-multi-select']
530
366
  }], keydownTab: [{
@@ -538,12 +374,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
538
374
  */
539
375
  class SiSelectListHasFilterComponent extends SiSelectListBase {
540
376
  /** Placeholder for search input field. */
541
- filterPlaceholder = input.required();
377
+ filterPlaceholder = input.required(...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : []));
542
378
  /** Label if no item can be found. */
543
- noResultsFoundLabel = input.required();
379
+ noResultsFoundLabel = input.required(...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : []));
544
380
  filterInput = viewChild.required('filter');
545
381
  initIndex;
546
- id = computed(() => `${this.baseId()}-listbox`);
382
+ id = computed(() => `${this.baseId()}-listbox`, ...(ngDevMode ? [{ debugName: "id" }] : []));
547
383
  icons = addIcons({ elementSearch });
548
384
  constructor() {
549
385
  super();
@@ -552,10 +388,10 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
552
388
  }
553
389
  const firstValue = this.selectionStrategy.arrayValue()[0];
554
390
  if (firstValue) {
555
- this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue));
391
+ this.initIndex = computed(() => this.rows().findIndex(row => row.type === 'option' && row.value === firstValue), ...(ngDevMode ? [{ debugName: "initIndex" }] : []));
556
392
  }
557
393
  else {
558
- this.initIndex = signal(0);
394
+ this.initIndex = signal(0, ...(ngDevMode ? [{ debugName: "initIndex" }] : []));
559
395
  }
560
396
  }
561
397
  ngOnInit() {
@@ -580,10 +416,10 @@ class SiSelectListHasFilterComponent extends SiSelectListBase {
580
416
  }
581
417
  this.closeOverlayIfSingle();
582
418
  }
583
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListHasFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
584
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectListHasFilterComponent, isStandalone: true, selector: "si-select-list-has-filter", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: true, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "pt-0" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.5rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiAutocompleteDirective, selector: "input[siAutocomplete]", exportAs: ["siAutocomplete"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "ngmodule", type: SiAutocompleteModule }, { kind: "directive", type: i1$1.SiAutocompleteListboxDirective, selector: "[siAutocompleteListboxFor]", inputs: ["id", "siAutocompleteListboxFor", "siAutocompleteDefaultIndex"], outputs: ["siAutocompleteOptionSubmitted"], exportAs: ["siAutocompleteListbox"] }, { kind: "directive", type: i1$1.SiAutocompleteOptionDirective, selector: "[siAutocompleteOption]", inputs: ["id", "disabled", "siAutocompleteOption"], exportAs: ["siAutocompleteOption"] }, { kind: "component", type: SiLoadingSpinnerComponent, selector: "si-loading-spinner", inputs: ["isBlockingSpinner", "isSpinnerOverlay", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
419
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
420
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectListHasFilterComponent, isStandalone: true, selector: "si-select-list-has-filter", inputs: { filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: true, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "attr.id": "id()" }, classAttribute: "pt-0" }, viewQueries: [{ propertyName: "filterInput", first: true, predicate: ["filter"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.25rem}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: SiAutocompleteDirective, selector: "input[siAutocomplete]", exportAs: ["siAutocomplete"] }, { kind: "component", type: SiIconComponent, selector: "si-icon", inputs: ["icon"] }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "ngmodule", type: SiAutocompleteModule }, { kind: "directive", type: i1$1.SiAutocompleteListboxDirective, selector: "[siAutocompleteListboxFor]", inputs: ["id", "siAutocompleteListboxFor", "siAutocompleteDefaultIndex"], outputs: ["siAutocompleteOptionSubmitted"], exportAs: ["siAutocompleteListbox"] }, { kind: "directive", type: i1$1.SiAutocompleteOptionDirective, selector: "[siAutocompleteOption]", inputs: ["id", "disabled", "siAutocompleteOption"], exportAs: ["siAutocompleteOption"] }, { kind: "component", type: SiLoadingSpinnerComponent, selector: "si-loading-spinner", inputs: ["isBlockingSpinner", "isSpinnerOverlay", "ariaLabel"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
585
421
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListHasFilterComponent, decorators: [{
422
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListHasFilterComponent, decorators: [{
587
423
  type: Component,
588
424
  args: [{ selector: 'si-select-list-has-filter', imports: [
589
425
  NgTemplateOutlet,
@@ -598,8 +434,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
598
434
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
599
435
  class: 'pt-0',
600
436
  '[attr.id]': 'id()'
601
- }, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.5rem}\n"] }]
602
- }], ctorParameters: () => [] });
437
+ }, template: "<div class=\"pt-5 pb-5 px-5 top-0\">\n <div class=\"position-relative\">\n <input\n #filter\n #siAutocomplete=\"siAutocomplete\"\n siAutocomplete\n class=\"form-control ps-9 border-0 rounded-2 bg-base-0\"\n [placeholder]=\"filterPlaceholder() | translate\"\n [id]=\"baseId() + 'filter-input'\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (input)=\"input()\"\n />\n <si-icon\n class=\"icon text-secondary position-absolute top-0 bottom-0 d-flex align-items-center ps-2\"\n [icon]=\"icons.elementSearch\"\n />\n @if (selectOptions.loading?.()) {\n <si-loading-spinner class=\"position-absolute end-0 bottom-0 d-flex align-items-center p-2\" />\n }\n </div>\n</div>\n<div\n class=\"si-select-filtered-items\"\n tabindex=\"-1\"\n [siAutocompleteListboxFor]=\"siAutocomplete\"\n [siAutocompleteDefaultIndex]=\"initIndex()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (siAutocompleteOptionSubmitted)=\"select($event)\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <div class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </div>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n } @empty {\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n class=\"dropdown-item disabled text-secondary justify-content-center mb-2\"\n >\n <span>{{ noResultsFoundLabel() | translate }}</span>\n </div>\n }\n\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [siAutocompleteOption]=\"option.value\"\n [disabled]=\"option.disabled\"\n [selected]=\"selectionStrategy.arrayValue().includes(option.value)\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container\n [ngTemplateOutlet]=\"actionsTemplate()!\"\n [ngTemplateOutletContext]=\"{\n searchText: filter.value,\n visibleOptionsCount: rows().length\n }\"\n />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh - 56px,266px);overflow-y:auto}si-loading-spinner{--loading-spinner-size: 1.25rem}\n"] }]
438
+ }], ctorParameters: () => [], propDecorators: { filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: true }] }], noResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsFoundLabel", required: true }] }], filterInput: [{ type: i0.ViewChild, args: ['filter', { isSignal: true }] }] } });
603
439
 
604
440
  /**
605
441
  * Copyright (c) Siemens 2016 - 2025
@@ -616,10 +452,10 @@ class SiSelectListComponent extends SiSelectListBase {
616
452
  listBoxValueChange(changeEvent) {
617
453
  this.selectionStrategy.updateFromUser(changeEvent.value.slice());
618
454
  }
619
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
620
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectListComponent, isStandalone: true, selector: "si-select-list", viewQueries: [{ propertyName: "listbox", first: true, predicate: CdkListbox, descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh,266px);overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }, { kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
455
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
456
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectListComponent, isStandalone: true, selector: "si-select-list", viewQueries: [{ propertyName: "listbox", first: true, predicate: CdkListbox, descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh,266px);overflow-y:auto}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: CdkListbox, selector: "[cdkListbox]", inputs: ["id", "tabindex", "cdkListboxValue", "cdkListboxMultiple", "cdkListboxDisabled", "cdkListboxUseActiveDescendant", "cdkListboxOrientation", "cdkListboxCompareWith", "cdkListboxNavigationWrapDisabled", "cdkListboxNavigatesDisabledOptions"], outputs: ["cdkListboxValueChange"], exportAs: ["cdkListbox"] }, { kind: "directive", type: CdkOption, selector: "[cdkOption]", inputs: ["id", "cdkOption", "cdkOptionTypeaheadLabel", "cdkOptionDisabled", "tabindex"], exportAs: ["cdkOption"] }, { kind: "directive", type: SiSelectOptionRowTemplateDirective, selector: "[siSelectOptionRowTemplate]" }, { kind: "directive", type: SiSelectGroupTemplateDirective, selector: "[siSelectGroupTemplate]" }, { kind: "component", type: SiSelectOptionRowComponent, selector: "si-select-option-row", inputs: ["option", "optionTemplate", "selected"] }, { kind: "pipe", type: SiTranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
621
457
  }
622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectListComponent, decorators: [{
458
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectListComponent, decorators: [{
623
459
  type: Component,
624
460
  args: [{ selector: 'si-select-list', imports: [
625
461
  CommonModule,
@@ -630,7 +466,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
630
466
  SiSelectGroupTemplateDirective,
631
467
  SiSelectOptionRowComponent
632
468
  ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n cdkListbox\n class=\"si-select-filtered-items focus-none\"\n [id]=\"baseId() + '-listbox'\"\n [cdkListboxMultiple]=\"selectionStrategy.allowMultiple\"\n [cdkListboxValue]=\"selectionStrategy.arrayValue()\"\n [attr.aria-labelledby]=\"baseId() + '-aria-label' + ' ' + labelledby()\"\n (cdkListboxValueChange)=\"listBoxValueChange($event)\"\n (click)=\"closeOverlayIfSingle()\"\n (keydown.enter)=\"closeOverlayIfSingle()\"\n (keydown.space)=\"closeOverlayIfSingle()\"\n>\n @for (item of rows(); track item; let index = $index) {\n @if (item.type === 'group') {\n <div\n role=\"group\"\n class=\"ps-0\"\n aria-disabled=\"false\"\n [attr.aria-labelledby]=\"baseId() + '-' + index + '-group-header'\"\n >\n <span class=\"dropdown-header\" [id]=\"baseId() + '-' + index + '-group-header'\">\n <ng-container\n [ngTemplateOutlet]=\"groupTemplate() ?? defaultGroupTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n </span>\n @for (optionRow of item.options; track optionRow) {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: optionRow }\"\n />\n }\n </div>\n }\n @if (item.type === 'option') {\n <ng-container\n [ngTemplateOutlet]=\"optionRowTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n />\n }\n }\n <ng-template #optionRowTemplate let-option siSelectOptionRowTemplate>\n <si-select-option-row\n #cdkOption=\"cdkOption\"\n [option]=\"option\"\n [optionTemplate]=\"optionTemplate()\"\n [cdkOption]=\"option.value\"\n [cdkOptionDisabled]=\"!!option.disabled\"\n [cdkOptionTypeaheadLabel]=\"(option.typeaheadLabel | translate)!\"\n [class.active]=\"cdkOption.isActive()\"\n [selected]=\"cdkOption.isSelected()\"\n />\n </ng-template>\n</div>\n@if (actionsTemplate()) {\n <div class=\"dropdown-divider\"></div>\n <div class=\"d-flex flex-column align-items-start\">\n <ng-container [ngTemplateOutlet]=\"actionsTemplate()!\" />\n </div>\n}\n\n<ng-template #defaultGroupTemplate let-group siSelectGroupTemplate>\n {{ group.label | translate }}\n</ng-template>\n", styles: [".si-select-filtered-items{max-block-size:min(100vh,266px);overflow-y:auto}\n"] }]
633
- }] });
469
+ }], propDecorators: { listbox: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkListbox), { ...{
470
+ read: ElementRef
471
+ }, isSignal: true }] }] } });
634
472
 
635
473
  /**
636
474
  * Copyright (c) Siemens 2016 - 2025
@@ -641,10 +479,10 @@ class SiSelectActionsDirective {
641
479
  static ngTemplateContextGuard(directive, context) {
642
480
  return true;
643
481
  }
644
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
645
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectActionsDirective, isStandalone: true, selector: "[siSelectActions]", exportAs: ["si-select-actions"], ngImport: i0 });
482
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
483
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectActionsDirective, isStandalone: true, selector: "[siSelectActions]", exportAs: ["si-select-actions"], ngImport: i0 });
646
484
  }
647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectActionsDirective, decorators: [{
485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionsDirective, decorators: [{
648
486
  type: Directive,
649
487
  args: [{
650
488
  selector: '[siSelectActions]',
@@ -666,19 +504,19 @@ class SiSelectComponent {
666
504
  * `__si-select-${SiSelectComponent.idCounter++}`
667
505
  * ```
668
506
  */
669
- id = input(`__si-select-${SiSelectComponent.idCounter++}`);
507
+ id = input(`__si-select-${SiSelectComponent.idCounter++}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
670
508
  /**
671
509
  * Aria label of the select.
672
510
  *
673
511
  * @defaultValue null
674
512
  */
675
- ariaLabel = input(null);
513
+ ariaLabel = input(null, ...(ngDevMode ? [{ debugName: "ariaLabel" }] : []));
676
514
  /**
677
515
  * Aria labelledby of the select.
678
516
  * @defaultValue undefined
679
517
  */
680
518
  // eslint-disable-next-line @angular-eslint/no-input-rename
681
- labelledbyInput = input(undefined, { alias: 'labelledby' });
519
+ labelledbyInput = input(undefined, { ...(ngDevMode ? { debugName: "labelledbyInput" } : {}), alias: 'labelledby' });
682
520
  /**
683
521
  * Placeholder for search input field.
684
522
  *
@@ -687,7 +525,7 @@ class SiSelectComponent {
687
525
  * t(() => $localize`:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`)
688
526
  * ```
689
527
  */
690
- filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`));
528
+ filterPlaceholder = input(t(() => $localize `:@@SI_SELECT.SEARCH-PLACEHOLDER:Search...`), ...(ngDevMode ? [{ debugName: "filterPlaceholder" }] : []));
691
529
  /**
692
530
  * Label if no item can be found.
693
531
  *
@@ -696,31 +534,26 @@ class SiSelectComponent {
696
534
  * t(() => $localize`:@@SI_SELECT.NO-RESULTS-FOUND:No results found`)
697
535
  * ```
698
536
  */
699
- noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`));
537
+ noResultsFoundLabel = input(t(() => $localize `:@@SI_SELECT.NO-RESULTS-FOUND:No results found`), ...(ngDevMode ? [{ debugName: "noResultsFoundLabel" }] : []));
700
538
  /** Placeholder text to display when no options are selected. */
701
- placeholder = input();
539
+ placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
702
540
  /**
703
541
  * Readonly state. Similar to disabled but with higher contrast *
704
542
  *
705
543
  * @defaultValue false
706
544
  */
707
- readonly = input(false, { transform: booleanAttribute });
708
- /**
709
- * Emits on selection dropdown close.
710
- * @deprecated Use {@link openChange} instead.
711
- */
712
- dropdownClose = output();
545
+ readonly = input(false, { ...(ngDevMode ? { debugName: "readonly" } : {}), transform: booleanAttribute });
713
546
  /** Emits when the dropdown open state changes. */
714
547
  openChange = output();
715
- isOpen = signal(false);
716
- optionTemplate = contentChild(SiSelectOptionTemplateDirective, { read: TemplateRef });
717
- groupTemplate = contentChild(SiSelectGroupTemplateDirective, { read: TemplateRef });
718
- actionsTemplate = contentChild(SiSelectActionsDirective, { read: TemplateRef });
548
+ isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
549
+ optionTemplate = contentChild(SiSelectOptionTemplateDirective, { ...(ngDevMode ? { debugName: "optionTemplate" } : {}), read: TemplateRef });
550
+ groupTemplate = contentChild(SiSelectGroupTemplateDirective, { ...(ngDevMode ? { debugName: "groupTemplate" } : {}), read: TemplateRef });
551
+ actionsTemplate = contentChild(SiSelectActionsDirective, { ...(ngDevMode ? { debugName: "actionsTemplate" } : {}), read: TemplateRef });
719
552
  trigger = viewChild.required(CdkOverlayOrigin, {
720
553
  read: ElementRef
721
554
  });
722
555
  /** @internal */
723
- labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label');
556
+ labelledby = computed(() => this.labelledbyInput() ?? this.id() + '-label', ...(ngDevMode ? [{ debugName: "labelledby" }] : []));
724
557
  /**
725
558
  * This ID will be bound to the `aria-describedby` attribute of the select.
726
559
  * Use this to reference the element containing the error message(s) for the select.
@@ -731,26 +564,17 @@ class SiSelectComponent {
731
564
  * `${this.id()}-errormessage`
732
565
  * ```
733
566
  */
734
- errormessageId = input(`${this.id()}-errormessage`);
567
+ errormessageId = input(`${this.id()}-errormessage`, ...(ngDevMode ? [{ debugName: "errormessageId" }] : []));
735
568
  rows = [];
736
569
  overlayWidth = 0;
737
570
  selectionStrategy = inject((SiSelectSelectionStrategy));
738
571
  backdropClicked = false;
739
- selectOptions = inject(SI_SELECT_OPTIONS_STRATEGY);
740
572
  /**
741
573
  * Enables the filter input
742
574
  * @defaultValue false
743
575
  * @defaultref {@link SiSelectComponent#_hasFilter}
744
576
  */
745
- hasFilter = input(false, { transform: booleanAttribute });
746
- ngOnChanges(changes) {
747
- if (changes.hasFilter && this.hasFilter()) {
748
- this.verifyValueProvider();
749
- }
750
- }
751
- ngAfterContentInit() {
752
- this.verifyValueProvider();
753
- }
577
+ hasFilter = input(false, { ...(ngDevMode ? { debugName: "hasFilter" } : {}), transform: booleanAttribute });
754
578
  /** Opens the `si-select`. */
755
579
  open() {
756
580
  if (this.readonly() || this.selectionStrategy.disabled()) {
@@ -770,25 +594,16 @@ class SiSelectComponent {
770
594
  this.backdropClicked = false;
771
595
  this.selectionStrategy.onTouched();
772
596
  }
773
- this.dropdownClose.emit();
774
597
  this.openChange.emit(false);
775
598
  }
776
599
  backdropClick() {
777
600
  this.backdropClicked = true;
778
601
  this.isOpen.set(false);
779
602
  }
780
- verifyValueProvider() {
781
- if (this.hasFilter() &&
782
- this.optionTemplate() &&
783
- this.selectOptions instanceof SiSelectComplexOptionsDirective &&
784
- !this.selectOptions.valueProvider()) {
785
- console.error('A valueProvider is required when [hasFilter]="true" and having custom option template on si-select');
786
- }
787
- }
788
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
789
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.6", type: SiSelectComponent, isStandalone: true, selector: "si-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledbyInput: { classPropertyName: "labelledbyInput", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null }, hasFilter: { classPropertyName: "hasFilter", publicName: "hasFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownClose: "dropdownClose", openChange: "openChange" }, host: { properties: { "class.readonly": "readonly()", "class.open": "isOpen()", "class.si-select-has-filter": "hasFilter()" }, classAttribute: "dropdown" }, providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: SiSelectOptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: SiSelectGroupTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "actionsTemplate", first: true, predicate: SiSelectActionsDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkOverlayOrigin, descendants: true, read: ElementRef, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId()\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiSelectInputComponent, selector: "si-select-input", inputs: ["baseId", "labelledby", "ariaLabel", "open", "placeholder", "controls", "optionTemplate", "readonly"], outputs: ["openListbox"] }, { kind: "component", type: SiSelectListComponent, selector: "si-select-list" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
603
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
604
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: SiSelectComponent, isStandalone: true, selector: "si-select", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, labelledbyInput: { classPropertyName: "labelledbyInput", publicName: "labelledby", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, noResultsFoundLabel: { classPropertyName: "noResultsFoundLabel", publicName: "noResultsFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, errormessageId: { classPropertyName: "errormessageId", publicName: "errormessageId", isSignal: true, isRequired: false, transformFunction: null }, hasFilter: { classPropertyName: "hasFilter", publicName: "hasFilter", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openChange: "openChange" }, host: { properties: { "class.readonly": "readonly()", "class.open": "isOpen()", "class.si-select-has-filter": "hasFilter()" }, classAttribute: "dropdown" }, providers: [{ provide: SI_FORM_ITEM_CONTROL, useExisting: SiSelectComponent }], queries: [{ propertyName: "optionTemplate", first: true, predicate: SiSelectOptionTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "groupTemplate", first: true, predicate: SiSelectGroupTemplateDirective, descendants: true, read: TemplateRef, isSignal: true }, { propertyName: "actionsTemplate", first: true, predicate: SiSelectActionsDirective, descendants: true, read: TemplateRef, isSignal: true }], viewQueries: [{ propertyName: "trigger", first: true, predicate: CdkOverlayOrigin, descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId()\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1$3.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$3.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: SiSelectInputComponent, selector: "si-select-input", inputs: ["baseId", "labelledby", "ariaLabel", "open", "placeholder", "controls", "optionTemplate", "readonly"], outputs: ["openListbox"] }, { kind: "component", type: SiSelectListComponent, selector: "si-select-list" }, { kind: "component", type: SiSelectListHasFilterComponent, selector: "si-select-list-has-filter", inputs: ["filterPlaceholder", "noResultsFoundLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
790
605
  }
791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectComponent, decorators: [{
606
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectComponent, decorators: [{
792
607
  type: Component,
793
608
  args: [{ selector: 'si-select', imports: [
794
609
  OverlayModule,
@@ -801,7 +616,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
801
616
  '[class.open]': 'isOpen()',
802
617
  '[class.si-select-has-filter]': 'hasFilter()'
803
618
  }, template: "<si-select-input\n #trigger=\"cdkOverlayOrigin\"\n cdkOverlayOrigin\n [baseId]=\"id()\"\n [labelledby]=\"labelledby()\"\n [optionTemplate]=\"optionTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [controls]=\"id() + '-listbox'\"\n [open]=\"isOpen()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [attr.aria-describedby]=\"errormessageId()\"\n (openListbox)=\"open()\"\n/>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isOpen()\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n [cdkConnectedOverlayOffsetX]=\"-1\"\n [cdkConnectedOverlayMinWidth]=\"overlayWidth\"\n (backdropClick)=\"backdropClick()\"\n (detach)=\"close()\"\n>\n @if (!hasFilter()) {\n <si-select-list\n [baseId]=\"id()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n } @else {\n <si-select-list-has-filter\n [baseId]=\"id()\"\n [filterPlaceholder]=\"filterPlaceholder()\"\n [noResultsFoundLabel]=\"noResultsFoundLabel()\"\n [optionTemplate]=\"optionTemplate()\"\n [groupTemplate]=\"groupTemplate()\"\n [labelledby]=\"labelledby()\"\n [actionsTemplate]=\"actionsTemplate()\"\n (closeOverlay)=\"close()\"\n />\n }\n</ng-template>\n", styles: [":host{display:inline-block;padding:0;block-size:2rem;--si-action-icon-offset: 20px}:host:focus-within,:host.open:not(.si-select-has-filter){outline:var(--element-button-focus-width) solid var(--element-focus-default);outline-offset:var(--element-button-focus-overlay-width)}:host.readonly,:host.disabled{pointer-events:none}\n"] }]
804
- }] });
619
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], labelledbyInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelledby", required: false }] }], filterPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterPlaceholder", required: false }] }], noResultsFoundLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsFoundLabel", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], openChange: [{ type: i0.Output, args: ["openChange"] }], optionTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectOptionTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], groupTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectGroupTemplateDirective), { ...{ read: TemplateRef }, isSignal: true }] }], actionsTemplate: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SiSelectActionsDirective), { ...{ read: TemplateRef }, isSignal: true }] }], trigger: [{ type: i0.ViewChild, args: [i0.forwardRef(() => CdkOverlayOrigin), { ...{
620
+ read: ElementRef
621
+ }, isSignal: true }] }], errormessageId: [{ type: i0.Input, args: [{ isSignal: true, alias: "errormessageId", required: false }] }], hasFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasFilter", required: false }] }] } });
805
622
 
806
623
  /**
807
624
  * Copyright (c) Siemens 2016 - 2025
@@ -812,18 +629,18 @@ class SiSelectLazyOptionsDirective {
812
629
  * {@inheritDoc SiSelectOptionsStrategy#loading}
813
630
  * @defaultValue false
814
631
  */
815
- loading = signal(false);
632
+ loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
816
633
  /**
817
634
  * {@inheritDoc SiSelectOptionsStrategy#rows}
818
635
  * @defaultValue []
819
636
  */
820
- rows = signal([]);
637
+ rows = signal([], ...(ngDevMode ? [{ debugName: "rows" }] : []));
821
638
  /**
822
639
  * {@inheritDoc SiSelectOptionsStrategy#selectedRows}
823
640
  * @defaultValue []
824
641
  */
825
- selectedRows = signal([]);
826
- optionSource = input.required();
642
+ selectedRows = signal([], ...(ngDevMode ? [{ debugName: "selectedRows" }] : []));
643
+ optionSource = input.required(...(ngDevMode ? [{ debugName: "optionSource" }] : []));
827
644
  valueChange = new Subject();
828
645
  filterChange = new Subject();
829
646
  constructor() {
@@ -894,17 +711,79 @@ class SiSelectLazyOptionsDirective {
894
711
  }
895
712
  return false;
896
713
  }
897
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectLazyOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
898
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectLazyOptionsDirective, isStandalone: true, selector: "si-select[optionSource]", inputs: { optionSource: { classPropertyName: "optionSource", publicName: "optionSource", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }], ngImport: i0 });
714
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
715
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectLazyOptionsDirective, isStandalone: true, selector: "si-select[optionSource]", inputs: { optionSource: { classPropertyName: "optionSource", publicName: "optionSource", isSignal: true, isRequired: true, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }], ngImport: i0 });
899
716
  }
900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectLazyOptionsDirective, decorators: [{
717
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectLazyOptionsDirective, decorators: [{
901
718
  type: Directive,
902
719
  args: [{
903
720
  // eslint-disable-next-line @angular-eslint/directive-selector
904
721
  selector: 'si-select[optionSource]',
905
722
  providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectLazyOptionsDirective }]
906
723
  }]
907
- }], ctorParameters: () => [] });
724
+ }], ctorParameters: () => [], propDecorators: { optionSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionSource", required: true }] }] } });
725
+
726
+ /**
727
+ * Copyright (c) Siemens 2016 - 2025
728
+ * SPDX-License-Identifier: MIT
729
+ */
730
+ /**
731
+ * Input options strategy base class, for eagerly fetched options.
732
+ */
733
+ class SiSelectOptionsStrategyBase {
734
+ value = signal([], ...(ngDevMode ? [{ debugName: "value" }] : []));
735
+ filterValue = signal('', ...(ngDevMode ? [{ debugName: "filterValue" }] : []));
736
+ /**
737
+ * Rows that should be shown.
738
+ *
739
+ * @defaultValue []
740
+ */
741
+ rows = computed(() => {
742
+ const filterValue = this.filterValue();
743
+ if (filterValue) {
744
+ const filterValueLC = filterValue.toLowerCase();
745
+ const checkRow = (row) => (row.typeaheadLabel ?? row.label).toLowerCase().includes(filterValueLC);
746
+ return this.allRows().reduce((rows, row) => {
747
+ if (row.type === 'option' && checkRow(row)) {
748
+ rows.push(row);
749
+ }
750
+ else if (row.type === 'group') {
751
+ if (row.label.toLowerCase().includes(filterValueLC)) {
752
+ rows.push(row);
753
+ }
754
+ else {
755
+ const options = row.options.filter(checkRow);
756
+ if (options.length) {
757
+ rows.push({ ...row, options });
758
+ }
759
+ }
760
+ }
761
+ return rows;
762
+ }, []);
763
+ }
764
+ else {
765
+ return this.allRows();
766
+ }
767
+ }, ...(ngDevMode ? [{ debugName: "rows" }] : []));
768
+ selectedRows = computed(() => {
769
+ const values = this.value();
770
+ return this.allRows()
771
+ .map(row => (row.type === 'group' ? row.options : row))
772
+ .flat()
773
+ .filter(option => values.some(value => this.optionsEqual()(value, option.value)));
774
+ }, ...(ngDevMode ? [{ debugName: "selectedRows" }] : []));
775
+ onValueChange(value) {
776
+ this.value.set(value);
777
+ }
778
+ onFilter(filterValue) {
779
+ this.filterValue.set(filterValue ?? '');
780
+ }
781
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
782
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectOptionsStrategyBase, isStandalone: true, ngImport: i0 });
783
+ }
784
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectOptionsStrategyBase, decorators: [{
785
+ type: Directive
786
+ }] });
908
787
 
909
788
  /**
910
789
  * Copyright (c) Siemens 2016 - 2025
@@ -921,7 +800,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
921
800
  */
922
801
  class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
923
802
  /** Options to be shown in select dropdown */
924
- options = input();
803
+ options = input(...(ngDevMode ? [undefined, { debugName: "options" }] : []));
925
804
  /**
926
805
  * By default, values are check on referential equality. Provide a function to customize the behavior.
927
806
  *
@@ -930,39 +809,21 @@ class SiSelectSimpleOptionsDirective extends SiSelectOptionsStrategyBase {
930
809
  * (a: T, b: T): boolean => a === b
931
810
  * ```
932
811
  */
933
- optionsEqual = input((a, b) => a === b, {
812
+ optionsEqual = input((a, b) => a === b, { ...(ngDevMode ? { debugName: "optionsEqual" } : {}),
934
813
  // eslint-disable-next-line @angular-eslint/no-input-rename
935
- alias: 'optionEqualCheckFn'
936
- });
937
- allRows = computed(() => {
938
- const options = this.options();
939
- if (options) {
940
- return options?.map(option => option.type
941
- ? option
942
- : {
943
- type: 'option',
944
- value: option.id,
945
- label: option.title,
946
- iconColor: option.color,
947
- icon: option.icon,
948
- disabled: option.disabled
949
- });
950
- }
951
- else {
952
- return [];
953
- }
954
- });
955
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSimpleOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
956
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectSimpleOptionsDirective, isStandalone: true, selector: "si-select[options]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }], usesInheritance: true, ngImport: i0 });
814
+ alias: 'optionEqualCheckFn' });
815
+ allRows = computed(() => this.options() ?? [], ...(ngDevMode ? [{ debugName: "allRows" }] : []));
816
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
817
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectSimpleOptionsDirective, isStandalone: true, selector: "si-select[options]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsEqual: { classPropertyName: "optionsEqual", publicName: "optionEqualCheckFn", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }], usesInheritance: true, ngImport: i0 });
957
818
  }
958
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSimpleOptionsDirective, decorators: [{
819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSimpleOptionsDirective, decorators: [{
959
820
  type: Directive,
960
821
  args: [{
961
822
  // eslint-disable-next-line @angular-eslint/directive-selector
962
823
  selector: 'si-select[options]',
963
824
  providers: [{ provide: SI_SELECT_OPTIONS_STRATEGY, useExisting: SiSelectSimpleOptionsDirective }]
964
825
  }]
965
- }] });
826
+ }], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsEqual: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionEqualCheckFn", required: false }] }] } });
966
827
 
967
828
  /**
968
829
  * Copyright (c) Siemens 2016 - 2025
@@ -993,8 +854,8 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
993
854
  fromArrayValue([value]) {
994
855
  return value;
995
856
  }
996
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSingleValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
997
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectSingleValueDirective, isStandalone: true, selector: "si-select:not([multi])", providers: [
857
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSingleValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
858
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectSingleValueDirective, isStandalone: true, selector: "si-select:not([multi])", providers: [
998
859
  { provide: SiSelectSelectionStrategy, useExisting: SiSelectSingleValueDirective },
999
860
  {
1000
861
  provide: NG_VALUE_ACCESSOR,
@@ -1003,7 +864,7 @@ class SiSelectSingleValueDirective extends SiSelectSelectionStrategy {
1003
864
  }
1004
865
  ], usesInheritance: true, ngImport: i0 });
1005
866
  }
1006
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectSingleValueDirective, decorators: [{
867
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectSingleValueDirective, decorators: [{
1007
868
  type: Directive,
1008
869
  args: [{
1009
870
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1048,8 +909,8 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
1048
909
  toArrayValue(value) {
1049
910
  return value ?? [];
1050
911
  }
1051
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectMultiValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
1052
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.6", type: SiSelectMultiValueDirective, isStandalone: true, selector: "si-select[multi]", providers: [
912
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectMultiValueDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
913
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.8", type: SiSelectMultiValueDirective, isStandalone: true, selector: "si-select[multi]", providers: [
1053
914
  { provide: SiSelectSelectionStrategy, useExisting: SiSelectMultiValueDirective },
1054
915
  {
1055
916
  provide: NG_VALUE_ACCESSOR,
@@ -1058,7 +919,7 @@ class SiSelectMultiValueDirective extends SiSelectSelectionStrategy {
1058
919
  }
1059
920
  ], usesInheritance: true, ngImport: i0 });
1060
921
  }
1061
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectMultiValueDirective, decorators: [{
922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectMultiValueDirective, decorators: [{
1062
923
  type: Directive,
1063
924
  args: [{
1064
925
  // eslint-disable-next-line @angular-eslint/directive-selector
@@ -1084,16 +945,16 @@ class SiSelectActionDirective {
1084
945
  * Close the select drop down on click.
1085
946
  * @defaultValue false
1086
947
  */
1087
- selectActionAutoClose = input(false, { transform: booleanAttribute });
948
+ selectActionAutoClose = input(false, { ...(ngDevMode ? { debugName: "selectActionAutoClose" } : {}), transform: booleanAttribute });
1088
949
  close() {
1089
950
  if (this.selectActionAutoClose()) {
1090
951
  this.select.close();
1091
952
  }
1092
953
  }
1093
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1094
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.6", type: SiSelectActionDirective, isStandalone: true, selector: "[siSelectAction]", inputs: { selectActionAutoClose: { classPropertyName: "selectActionAutoClose", publicName: "selectActionAutoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, classAttribute: "mx-5 my-4" }, exportAs: ["si-select-action"], ngImport: i0 });
954
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
955
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.8", type: SiSelectActionDirective, isStandalone: true, selector: "[siSelectAction]", inputs: { selectActionAutoClose: { classPropertyName: "selectActionAutoClose", publicName: "selectActionAutoClose", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "close()" }, classAttribute: "mx-5 my-4" }, exportAs: ["si-select-action"], ngImport: i0 });
1095
956
  }
1096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectActionDirective, decorators: [{
957
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectActionDirective, decorators: [{
1097
958
  type: Directive,
1098
959
  args: [{
1099
960
  selector: '[siSelectAction]',
@@ -1102,7 +963,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1102
963
  },
1103
964
  exportAs: 'si-select-action'
1104
965
  }]
1105
- }], propDecorators: { close: [{
966
+ }], propDecorators: { selectActionAutoClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectActionAutoClose", required: false }] }], close: [{
1106
967
  type: HostListener,
1107
968
  args: ['click']
1108
969
  }] } });
@@ -1112,10 +973,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1112
973
  * SPDX-License-Identifier: MIT
1113
974
  */
1114
975
  class SiSelectModule {
1115
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1116
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.6", ngImport: i0, type: SiSelectModule, imports: [SiSelectActionDirective,
976
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
977
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectActionDirective,
1117
978
  SiSelectActionsDirective,
1118
- SiSelectComplexOptionsDirective,
1119
979
  SiSelectComponent,
1120
980
  SiSelectGroupTemplateDirective,
1121
981
  SiSelectMultiValueDirective,
@@ -1123,22 +983,20 @@ class SiSelectModule {
1123
983
  SiSelectSimpleOptionsDirective,
1124
984
  SiSelectSingleValueDirective], exports: [SiSelectActionDirective,
1125
985
  SiSelectActionsDirective,
1126
- SiSelectComplexOptionsDirective,
1127
986
  SiSelectComponent,
1128
987
  SiSelectGroupTemplateDirective,
1129
988
  SiSelectMultiValueDirective,
1130
989
  SiSelectOptionTemplateDirective,
1131
990
  SiSelectSimpleOptionsDirective,
1132
991
  SiSelectSingleValueDirective] });
1133
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectModule, imports: [SiSelectComponent] });
992
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, imports: [SiSelectComponent] });
1134
993
  }
1135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImport: i0, type: SiSelectModule, decorators: [{
994
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SiSelectModule, decorators: [{
1136
995
  type: NgModule,
1137
996
  args: [{
1138
997
  imports: [
1139
998
  SiSelectActionDirective,
1140
999
  SiSelectActionsDirective,
1141
- SiSelectComplexOptionsDirective,
1142
1000
  SiSelectComponent,
1143
1001
  SiSelectGroupTemplateDirective,
1144
1002
  SiSelectMultiValueDirective,
@@ -1149,7 +1007,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1149
1007
  exports: [
1150
1008
  SiSelectActionDirective,
1151
1009
  SiSelectActionsDirective,
1152
- SiSelectComplexOptionsDirective,
1153
1010
  SiSelectComponent,
1154
1011
  SiSelectGroupTemplateDirective,
1155
1012
  SiSelectMultiValueDirective,
@@ -1169,5 +1026,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.6", ngImpor
1169
1026
  * Generated bundle index. Do not edit.
1170
1027
  */
1171
1028
 
1172
- export { SiSelectActionDirective, SiSelectActionsDirective, SiSelectComplexOptionsDirective, SiSelectComponent, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective };
1029
+ export { SiSelectActionDirective, SiSelectActionsDirective, SiSelectComponent, SiSelectGroupTemplateDirective, SiSelectLazyOptionsDirective, SiSelectListHasFilterComponent, SiSelectModule, SiSelectMultiValueDirective, SiSelectOptionTemplateDirective, SiSelectSimpleOptionsDirective, SiSelectSingleValueDirective };
1173
1030
  //# sourceMappingURL=siemens-element-ng-select.mjs.map