@siemens/ix 3.0.0-alpha.4 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1093) hide show
  1. package/components/ix-action-card.js +4 -4
  2. package/components/ix-action-card.js.map +1 -1
  3. package/components/ix-application-header.js +1 -1
  4. package/components/ix-application-switch-modal.js +4 -4
  5. package/components/ix-application.js +3 -3
  6. package/components/ix-application.js.map +1 -1
  7. package/components/ix-avatar.js +1 -1
  8. package/components/ix-basic-navigation.js +5 -5
  9. package/components/ix-blind.js +6 -7
  10. package/components/ix-blind.js.map +1 -1
  11. package/components/ix-breadcrumb.js +3 -5
  12. package/components/ix-breadcrumb.js.map +1 -1
  13. package/components/ix-button.js +1 -1
  14. package/components/ix-card-accordion.js +1 -1
  15. package/components/ix-card-content.js +1 -1
  16. package/components/ix-card-list.js +9 -11
  17. package/components/ix-card-list.js.map +1 -1
  18. package/components/ix-card-title.js +1 -1
  19. package/components/ix-card.js +1 -1
  20. package/components/ix-category-filter.js +6 -6
  21. package/components/ix-category-filter.js.map +1 -1
  22. package/components/ix-checkbox-group.js +55 -8
  23. package/components/ix-checkbox-group.js.map +1 -1
  24. package/components/ix-checkbox.js +15 -7
  25. package/components/ix-checkbox.js.map +1 -1
  26. package/components/ix-chip.js +8 -7
  27. package/components/ix-chip.js.map +1 -1
  28. package/components/ix-col.js +1 -1
  29. package/components/ix-content-header.js +2 -2
  30. package/components/ix-content.js +4 -4
  31. package/components/ix-content.js.map +1 -1
  32. package/components/ix-custom-field.js +6 -6
  33. package/components/ix-custom-field.js.map +1 -1
  34. package/components/ix-date-dropdown.js +12 -16
  35. package/components/ix-date-dropdown.js.map +1 -1
  36. package/components/ix-date-input.js +14 -14
  37. package/components/ix-date-input.js.map +1 -1
  38. package/components/ix-date-picker.js +1 -1
  39. package/components/ix-date-time-card.js +1 -1
  40. package/components/ix-datetime-picker.js +12 -22
  41. package/components/ix-datetime-picker.js.map +1 -1
  42. package/components/ix-divider.js +1 -1
  43. package/components/ix-drawer.js +1 -1
  44. package/components/ix-dropdown-button.js +5 -6
  45. package/components/ix-dropdown-button.js.map +1 -1
  46. package/components/ix-dropdown-header.js +2 -2
  47. package/components/ix-dropdown-header.js.map +1 -1
  48. package/components/ix-dropdown-quick-actions.js +1 -1
  49. package/components/ix-dropdown-quick-actions.js.map +1 -1
  50. package/components/ix-dropdown.js +1 -1
  51. package/components/ix-empty-state.js +3 -3
  52. package/components/ix-empty-state.js.map +1 -1
  53. package/components/ix-expanding-search.js +5 -6
  54. package/components/ix-expanding-search.js.map +1 -1
  55. package/components/ix-field-label.js +1 -1
  56. package/components/ix-field-wrapper.js +1 -1
  57. package/components/ix-filter-chip.js +1 -1
  58. package/components/ix-flip-tile.js +5 -7
  59. package/components/ix-flip-tile.js.map +1 -1
  60. package/components/ix-group-context-menu.js +1 -1
  61. package/components/ix-group.js +2 -2
  62. package/components/ix-helper-text.js +2 -2
  63. package/components/ix-icon-button.js +1 -1
  64. package/components/ix-icon-toggle-button.js +1 -1
  65. package/components/ix-icon-toggle-button.js.map +1 -1
  66. package/components/ix-input-group.js +1 -1
  67. package/components/ix-input-group.js.map +1 -1
  68. package/components/ix-input.js +18 -11
  69. package/components/ix-input.js.map +1 -1
  70. package/components/ix-key-value-list.js +1 -1
  71. package/components/ix-key-value-list.js.map +1 -1
  72. package/components/ix-key-value.js +1 -1
  73. package/components/ix-key-value.js.map +1 -1
  74. package/components/ix-layout-auto.js +1 -1
  75. package/components/ix-layout-auto.js.map +1 -1
  76. package/components/ix-layout-grid.js +1 -1
  77. package/components/ix-link-button.js +3 -3
  78. package/components/ix-link-button.js.map +1 -1
  79. package/components/ix-map-navigation-overlay.js +1 -1
  80. package/components/ix-map-navigation.js +8 -9
  81. package/components/ix-map-navigation.js.map +1 -1
  82. package/components/ix-menu-about-news.js +3 -3
  83. package/components/ix-menu-about.js +4 -4
  84. package/components/ix-menu-avatar.js +6 -8
  85. package/components/ix-menu-avatar.js.map +1 -1
  86. package/components/ix-menu-category.js +10 -10
  87. package/components/ix-menu-category.js.map +1 -1
  88. package/components/ix-menu-expand-icon.js +1 -1
  89. package/components/ix-menu-item.js +1 -1
  90. package/components/ix-menu-settings.js +1 -1
  91. package/components/ix-menu.js +17 -19
  92. package/components/ix-menu.js.map +1 -1
  93. package/components/ix-message-bar.js +1 -1
  94. package/components/ix-modal-content.js +1 -1
  95. package/components/ix-modal-footer.js +1 -1
  96. package/components/ix-modal-footer.js.map +1 -1
  97. package/components/ix-modal-header.js +1 -1
  98. package/components/ix-modal.js +3 -7
  99. package/components/ix-modal.js.map +1 -1
  100. package/components/ix-number-input.js +20 -15
  101. package/components/ix-number-input.js.map +1 -1
  102. package/components/ix-pagination.js +10 -10
  103. package/components/ix-pagination.js.map +1 -1
  104. package/components/ix-pane-layout.js +1 -1
  105. package/components/ix-pane-layout.js.map +1 -1
  106. package/components/ix-pane.js +8 -8
  107. package/components/ix-pane.js.map +1 -1
  108. package/components/ix-pill.js +2 -2
  109. package/components/ix-push-card.js +6 -7
  110. package/components/ix-push-card.js.map +1 -1
  111. package/components/ix-radio-group.js +37 -11
  112. package/components/ix-radio-group.js.map +1 -1
  113. package/components/ix-radio.js +25 -7
  114. package/components/ix-radio.js.map +1 -1
  115. package/components/ix-row.js +1 -1
  116. package/components/ix-select.js +1 -1
  117. package/components/ix-slider.js +8 -8
  118. package/components/ix-slider.js.map +1 -1
  119. package/components/ix-split-button.js +4 -5
  120. package/components/ix-split-button.js.map +1 -1
  121. package/components/ix-tab-item.js +1 -1
  122. package/components/ix-tabs.js +1 -1
  123. package/components/ix-textarea.js +8 -8
  124. package/components/ix-textarea.js.map +1 -1
  125. package/components/ix-time-picker.js +1 -1
  126. package/components/ix-toast-container.js +2 -2
  127. package/components/ix-toast.js +1 -1
  128. package/components/ix-toggle-button.js +3 -3
  129. package/components/ix-toggle-button.js.map +1 -1
  130. package/components/ix-toggle.js +38 -5
  131. package/components/ix-toggle.js.map +1 -1
  132. package/components/ix-tooltip.js +1 -1
  133. package/components/ix-tree.js +56 -52
  134. package/components/ix-tree.js.map +1 -1
  135. package/components/ix-typography.js +1 -1
  136. package/components/ix-upload.js +1 -1
  137. package/components/ix-validation-tooltip.js +3 -5
  138. package/components/ix-validation-tooltip.js.map +1 -1
  139. package/components/{p-DFQ_caA4.js → p-8eL4ti2y.js} +4 -4
  140. package/components/{p-DFQ_caA4.js.map → p-8eL4ti2y.js.map} +1 -1
  141. package/components/{p-Dfzl82x1.js → p-B19EzNYi.js} +3 -3
  142. package/components/{p-Dfzl82x1.js.map → p-B19EzNYi.js.map} +1 -1
  143. package/components/{p-B9lvhAOc.js → p-B60BmY2x.js} +3 -3
  144. package/components/{p-B9lvhAOc.js.map → p-B60BmY2x.js.map} +1 -1
  145. package/components/{p-BuK5WByk.js → p-B9XDeCpV.js} +4 -4
  146. package/components/{p-BuK5WByk.js.map → p-B9XDeCpV.js.map} +1 -1
  147. package/components/{p-12nKYxsa.js → p-BPVegBx7.js} +9 -11
  148. package/components/p-BPVegBx7.js.map +1 -0
  149. package/components/{p-C8vn2GFY.js → p-BRCAzgk8.js} +4 -4
  150. package/components/p-BRCAzgk8.js.map +1 -0
  151. package/components/{p-iEAZQC4t.js → p-BXPo5zF6.js} +3 -3
  152. package/components/{p-iEAZQC4t.js.map → p-BXPo5zF6.js.map} +1 -1
  153. package/components/{p-CB1ADCkU.js → p-B_C2-EkQ.js} +4 -5
  154. package/components/p-B_C2-EkQ.js.map +1 -0
  155. package/components/{p-DIzxAERt.js → p-Bcmjgmqd.js} +4 -5
  156. package/components/p-Bcmjgmqd.js.map +1 -0
  157. package/components/{p-bM5r59DG.js → p-Bw3J9644.js} +5 -5
  158. package/components/{p-bM5r59DG.js.map → p-Bw3J9644.js.map} +1 -1
  159. package/components/{p-DylMlJTZ.js → p-C8xOvcAt.js} +4 -7
  160. package/components/p-C8xOvcAt.js.map +1 -0
  161. package/components/{p-2g5-4fWy.js → p-CGLA6FT7.js} +5 -6
  162. package/components/p-CGLA6FT7.js.map +1 -0
  163. package/components/{p-C7EBCKmV.js → p-CKoR0lxP.js} +3 -3
  164. package/components/{p-C7EBCKmV.js.map → p-CKoR0lxP.js.map} +1 -1
  165. package/components/{p-pyY5jSfE.js → p-CPs2id8p.js} +5 -5
  166. package/components/{p-pyY5jSfE.js.map → p-CPs2id8p.js.map} +1 -1
  167. package/components/{p-CniBfLG8.js → p-CTuKljhZ.js} +3 -3
  168. package/components/{p-CniBfLG8.js.map → p-CTuKljhZ.js.map} +1 -1
  169. package/components/{p-CVSy9bZ3.js → p-ClepN0Ea.js} +3 -3
  170. package/components/{p-CVSy9bZ3.js.map → p-ClepN0Ea.js.map} +1 -1
  171. package/components/{p-DXzHgqiB.js → p-Cu4GsGII.js} +3 -3
  172. package/components/p-Cu4GsGII.js.map +1 -0
  173. package/components/{p-C1BF91hb.js → p-CufZ3bGn.js} +3 -3
  174. package/components/{p-C1BF91hb.js.map → p-CufZ3bGn.js.map} +1 -1
  175. package/components/{p-0nVQO6bk.js → p-CwYYFZjd.js} +7 -7
  176. package/components/{p-0nVQO6bk.js.map → p-CwYYFZjd.js.map} +1 -1
  177. package/components/{p-BwyqOnwc.js → p-CxztL6IE.js} +18 -25
  178. package/components/p-CxztL6IE.js.map +1 -0
  179. package/components/{p-B-zHEqXz.js → p-Cyxle5Ec.js} +5 -5
  180. package/components/{p-B-zHEqXz.js.map → p-Cyxle5Ec.js.map} +1 -1
  181. package/components/{p-DPZsirnB.js → p-DAYuUWi5.js} +5 -5
  182. package/components/{p-DPZsirnB.js.map → p-DAYuUWi5.js.map} +1 -1
  183. package/components/{p-B55mem60.js → p-DPZN-4Ph.js} +4 -4
  184. package/components/{p-B55mem60.js.map → p-DPZN-4Ph.js.map} +1 -1
  185. package/components/{p-BgpUzYBq.js → p-DUuL9bnV.js} +3 -3
  186. package/components/{p-BgpUzYBq.js.map → p-DUuL9bnV.js.map} +1 -1
  187. package/components/{p-BBSHeR_p.js → p-DVOgkNlf.js} +3 -3
  188. package/components/p-DVOgkNlf.js.map +1 -0
  189. package/components/p-Dn_WjwtW.js.map +1 -1
  190. package/components/{p-D0LdqSVb.js → p-FayACwNG.js} +10 -18
  191. package/components/p-FayACwNG.js.map +1 -0
  192. package/components/{p-CjvgrV9j.js → p-QHGR-zzJ.js} +3 -3
  193. package/components/{p-CjvgrV9j.js.map → p-QHGR-zzJ.js.map} +1 -1
  194. package/components/{p-DDisdyRU.js → p-R4QcECdA.js} +5 -5
  195. package/components/{p-DDisdyRU.js.map → p-R4QcECdA.js.map} +1 -1
  196. package/components/{p-Bnux5wOx.js → p-UMH0sD7L.js} +5 -5
  197. package/components/{p-Bnux5wOx.js.map → p-UMH0sD7L.js.map} +1 -1
  198. package/components/{p-DM43N7pD.js → p-VXLdiXU0.js} +11 -19
  199. package/components/p-VXLdiXU0.js.map +1 -0
  200. package/components/{p-DGeWaNlt.js → p-aw_FhcJ5.js} +4 -2
  201. package/components/p-aw_FhcJ5.js.map +1 -0
  202. package/components/{p-D_wwWxx8.js → p-d7CnwTHv.js} +3 -6
  203. package/components/p-d7CnwTHv.js.map +1 -0
  204. package/components/{p-Dy35mbzK.js → p-uhiF1LKf.js} +4 -6
  205. package/components/p-uhiF1LKf.js.map +1 -0
  206. package/components/{p-qnnCtPgc.js → p-zx7LlxPa.js} +3 -3
  207. package/components/{p-qnnCtPgc.js.map → p-zx7LlxPa.js.map} +1 -1
  208. package/dist/cjs/index-DIFIjYrm.js.map +1 -1
  209. package/dist/cjs/{input.util-DuJG4-L-.js → input.util-DOEvwiFv.js} +4 -4
  210. package/dist/cjs/input.util-DOEvwiFv.js.map +1 -0
  211. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  212. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  213. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  214. package/dist/cjs/ix-application-header.cjs.entry.js +3 -5
  215. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  216. package/dist/cjs/ix-application-header.entry.cjs.js.map +1 -1
  217. package/dist/cjs/ix-application.cjs.entry.js +3 -3
  218. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  219. package/dist/cjs/ix-application.entry.cjs.js.map +1 -1
  220. package/dist/cjs/ix-avatar.ix-menu-avatar-item.entry.cjs.js.map +1 -1
  221. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  222. package/dist/cjs/ix-blind.cjs.entry.js +5 -6
  223. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  224. package/dist/cjs/ix-blind.entry.cjs.js.map +1 -1
  225. package/dist/cjs/ix-breadcrumb.cjs.entry.js +2 -4
  226. package/dist/cjs/ix-breadcrumb.cjs.entry.js.map +1 -1
  227. package/dist/cjs/ix-breadcrumb.entry.cjs.js.map +1 -1
  228. package/dist/cjs/ix-button.cjs.entry.js +2 -5
  229. package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
  230. package/dist/cjs/ix-button.entry.cjs.js.map +1 -1
  231. package/dist/cjs/ix-card-accordion.ix-card-title.entry.cjs.js.map +1 -1
  232. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +4 -5
  233. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  234. package/dist/cjs/ix-card-list.cjs.entry.js +4 -6
  235. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  236. package/dist/cjs/ix-card-list.entry.cjs.js.map +1 -1
  237. package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
  238. package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
  239. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  240. package/dist/cjs/ix-category-filter.cjs.entry.js +3 -3
  241. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  242. package/dist/cjs/ix-category-filter.entry.cjs.js.map +1 -1
  243. package/dist/cjs/ix-checkbox-group.cjs.entry.js +47 -3
  244. package/dist/cjs/ix-checkbox-group.cjs.entry.js.map +1 -1
  245. package/dist/cjs/ix-checkbox-group.entry.cjs.js.map +1 -1
  246. package/dist/cjs/ix-checkbox.cjs.entry.js +12 -5
  247. package/dist/cjs/ix-checkbox.cjs.entry.js.map +1 -1
  248. package/dist/cjs/ix-checkbox.entry.cjs.js.map +1 -1
  249. package/dist/cjs/ix-chip.cjs.entry.js +5 -4
  250. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  251. package/dist/cjs/ix-chip.entry.cjs.js.map +1 -1
  252. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  253. package/dist/cjs/ix-col_4.cjs.entry.js +9 -17
  254. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  255. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  256. package/dist/cjs/ix-content.cjs.entry.js.map +1 -1
  257. package/dist/cjs/ix-content.entry.cjs.js.map +1 -1
  258. package/dist/cjs/ix-custom-field.cjs.entry.js +2 -2
  259. package/dist/cjs/ix-custom-field.cjs.entry.js.map +1 -1
  260. package/dist/cjs/ix-custom-field.entry.cjs.js.map +1 -1
  261. package/dist/cjs/ix-date-dropdown.cjs.entry.js +4 -8
  262. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  263. package/dist/cjs/ix-date-dropdown.entry.cjs.js.map +1 -1
  264. package/dist/cjs/ix-date-input.cjs.entry.js +5 -5
  265. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  267. package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
  268. package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
  269. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  270. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -12
  271. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  272. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  273. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  274. package/dist/cjs/ix-divider.cjs.entry.js.map +1 -1
  275. package/dist/cjs/ix-divider.entry.cjs.js.map +1 -1
  276. package/dist/cjs/ix-dropdown-button.cjs.entry.js +2 -3
  277. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  278. package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
  279. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  280. package/dist/cjs/ix-dropdown-header.cjs.entry.js.map +1 -1
  281. package/dist/cjs/ix-dropdown-header.entry.cjs.js.map +1 -1
  282. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  283. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js.map +1 -1
  284. package/dist/cjs/ix-dropdown-quick-actions.entry.cjs.js.map +1 -1
  285. package/dist/cjs/ix-dropdown.cjs.entry.js +2 -4
  286. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ix-dropdown.entry.cjs.js.map +1 -1
  288. package/dist/cjs/ix-empty-state.cjs.entry.js +1 -1
  289. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  290. package/dist/cjs/ix-empty-state.entry.cjs.js.map +1 -1
  291. package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -5
  292. package/dist/cjs/ix-expanding-search.cjs.entry.js.map +1 -1
  293. package/dist/cjs/ix-expanding-search.entry.cjs.js.map +1 -1
  294. package/dist/cjs/ix-field-label.ix-field-wrapper.entry.cjs.js.map +1 -1
  295. package/dist/cjs/ix-field-label_2.cjs.entry.js +1 -1
  296. package/dist/cjs/ix-field-label_2.cjs.entry.js.map +1 -1
  297. package/dist/cjs/ix-filter-chip.ix-select-item.entry.cjs.js.map +1 -1
  298. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +1 -2
  299. package/dist/cjs/ix-filter-chip_2.cjs.entry.js.map +1 -1
  300. package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -6
  301. package/dist/cjs/ix-flip-tile.cjs.entry.js.map +1 -1
  302. package/dist/cjs/ix-flip-tile.entry.cjs.js.map +1 -1
  303. package/dist/cjs/ix-helper-text.cjs.entry.js +1 -1
  304. package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
  305. package/dist/cjs/ix-icon-button_2.cjs.entry.js +1 -4
  306. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  307. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +1 -1
  308. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js.map +1 -1
  309. package/dist/cjs/ix-icon-toggle-button.entry.cjs.js.map +1 -1
  310. package/dist/cjs/ix-input-group.cjs.entry.js +1 -1
  311. package/dist/cjs/ix-input-group.cjs.entry.js.map +1 -1
  312. package/dist/cjs/ix-input-group.entry.cjs.js.map +1 -1
  313. package/dist/cjs/ix-input.cjs.entry.js +12 -6
  314. package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
  315. package/dist/cjs/ix-input.entry.cjs.js.map +1 -1
  316. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  317. package/dist/cjs/ix-key-value-list.cjs.entry.js.map +1 -1
  318. package/dist/cjs/ix-key-value-list.entry.cjs.js.map +1 -1
  319. package/dist/cjs/ix-key-value.cjs.entry.js +1 -1
  320. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  321. package/dist/cjs/ix-key-value.entry.cjs.js.map +1 -1
  322. package/dist/cjs/ix-layout-auto.cjs.entry.js +1 -1
  323. package/dist/cjs/ix-layout-auto.cjs.entry.js.map +1 -1
  324. package/dist/cjs/ix-layout-auto.entry.cjs.js.map +1 -1
  325. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  326. package/dist/cjs/ix-link-button.cjs.entry.js.map +1 -1
  327. package/dist/cjs/ix-link-button.entry.cjs.js.map +1 -1
  328. package/dist/cjs/ix-map-navigation.cjs.entry.js +2 -3
  329. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  330. package/dist/cjs/ix-map-navigation.entry.cjs.js.map +1 -1
  331. package/dist/cjs/ix-menu-avatar.cjs.entry.js +2 -4
  332. package/dist/cjs/ix-menu-avatar.cjs.entry.js.map +1 -1
  333. package/dist/cjs/ix-menu-avatar.entry.cjs.js.map +1 -1
  334. package/dist/cjs/ix-menu-category.cjs.entry.js +5 -5
  335. package/dist/cjs/ix-menu-category.cjs.entry.js.map +1 -1
  336. package/dist/cjs/ix-menu-category.entry.cjs.js.map +1 -1
  337. package/dist/cjs/ix-menu-item.cjs.entry.js +3 -3
  338. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  339. package/dist/cjs/ix-menu-item.entry.cjs.js.map +1 -1
  340. package/dist/cjs/ix-menu.cjs.entry.js +12 -14
  341. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  342. package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
  343. package/dist/cjs/ix-modal-content.ix-modal-header.entry.cjs.js.map +1 -1
  344. package/dist/cjs/ix-modal-content_2.cjs.entry.js +2 -2
  345. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  346. package/dist/cjs/ix-modal-footer.cjs.entry.js +1 -1
  347. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  348. package/dist/cjs/ix-modal-footer.entry.cjs.js.map +1 -1
  349. package/dist/cjs/ix-modal.cjs.entry.js +3 -7
  350. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  351. package/dist/cjs/ix-modal.entry.cjs.js.map +1 -1
  352. package/dist/cjs/ix-number-input.cjs.entry.js +14 -10
  353. package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -1
  354. package/dist/cjs/ix-number-input.entry.cjs.js.map +1 -1
  355. package/dist/cjs/ix-pagination.cjs.entry.js +2 -2
  356. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  357. package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
  358. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  359. package/dist/cjs/ix-pane-layout.cjs.entry.js.map +1 -1
  360. package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
  361. package/dist/cjs/ix-pane.cjs.entry.js +6 -6
  362. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  363. package/dist/cjs/ix-pane.entry.cjs.js.map +1 -1
  364. package/dist/cjs/ix-push-card.cjs.entry.js +1 -2
  365. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  366. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  367. package/dist/cjs/ix-radio-group.cjs.entry.js +29 -6
  368. package/dist/cjs/ix-radio-group.cjs.entry.js.map +1 -1
  369. package/dist/cjs/ix-radio-group.entry.cjs.js.map +1 -1
  370. package/dist/cjs/ix-radio.cjs.entry.js +23 -6
  371. package/dist/cjs/ix-radio.cjs.entry.js.map +1 -1
  372. package/dist/cjs/ix-radio.entry.cjs.js.map +1 -1
  373. package/dist/cjs/ix-select.cjs.entry.js +9 -16
  374. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  375. package/dist/cjs/ix-select.entry.cjs.js.map +1 -1
  376. package/dist/cjs/ix-slider.cjs.entry.js +6 -6
  377. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  378. package/dist/cjs/ix-slider.entry.cjs.js.map +1 -1
  379. package/dist/cjs/ix-split-button.cjs.entry.js +1 -2
  380. package/dist/cjs/ix-split-button.cjs.entry.js.map +1 -1
  381. package/dist/cjs/ix-split-button.entry.cjs.js.map +1 -1
  382. package/dist/cjs/ix-tab-item.ix-tabs.entry.cjs.js.map +1 -1
  383. package/dist/cjs/ix-tab-item_2.cjs.entry.js +5 -5
  384. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  385. package/dist/cjs/ix-textarea.cjs.entry.js +4 -4
  386. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
  387. package/dist/cjs/ix-textarea.entry.cjs.js.map +1 -1
  388. package/dist/cjs/ix-time-picker.cjs.entry.js +4 -12
  389. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  390. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  391. package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
  392. package/dist/cjs/ix-toggle-button.cjs.entry.js.map +1 -1
  393. package/dist/cjs/ix-toggle-button.entry.cjs.js.map +1 -1
  394. package/dist/cjs/ix-toggle.cjs.entry.js +35 -3
  395. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  396. package/dist/cjs/ix-toggle.entry.cjs.js.map +1 -1
  397. package/dist/cjs/ix-tooltip.cjs.entry.js +1 -2
  398. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  399. package/dist/cjs/ix-tooltip.entry.cjs.js.map +1 -1
  400. package/dist/cjs/ix-tree.cjs.entry.js +55 -51
  401. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  402. package/dist/cjs/ix-tree.entry.cjs.js.map +1 -1
  403. package/dist/cjs/ix-typography.cjs.entry.js +1 -1
  404. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  405. package/dist/cjs/ix-typography.entry.cjs.js.map +1 -1
  406. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -5
  407. package/dist/cjs/ix-validation-tooltip.cjs.entry.js.map +1 -1
  408. package/dist/cjs/ix-validation-tooltip.entry.cjs.js.map +1 -1
  409. package/dist/cjs/loader.cjs.js +1 -1
  410. package/dist/cjs/siemens-ix.cjs.js +1 -1
  411. package/dist/cjs/{validation-B-wzGaWF.js → validation-othAjI_Z.js} +4 -2
  412. package/dist/cjs/validation-othAjI_Z.js.map +1 -0
  413. package/dist/collection/components/action-card/action-card.js +1 -4
  414. package/dist/collection/components/action-card/action-card.js.map +1 -1
  415. package/dist/collection/components/application/application.js +3 -6
  416. package/dist/collection/components/application/application.js.map +1 -1
  417. package/dist/collection/components/application-header/application-header.js +5 -13
  418. package/dist/collection/components/application-header/application-header.js.map +1 -1
  419. package/dist/collection/components/avatar/avatar.js +2 -11
  420. package/dist/collection/components/avatar/avatar.js.map +1 -1
  421. package/dist/collection/components/blind/blind.js +8 -18
  422. package/dist/collection/components/blind/blind.js.map +1 -1
  423. package/dist/collection/components/breadcrumb/breadcrumb.js +3 -8
  424. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  425. package/dist/collection/components/button/button.js +4 -13
  426. package/dist/collection/components/button/button.js.map +1 -1
  427. package/dist/collection/components/card/card.js +5 -11
  428. package/dist/collection/components/card/card.js.map +1 -1
  429. package/dist/collection/components/card-accordion/card-accordion.js +4 -11
  430. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  431. package/dist/collection/components/card-content/card-content.js +1 -4
  432. package/dist/collection/components/card-content/card-content.js.map +1 -1
  433. package/dist/collection/components/card-list/card-list.js +5 -13
  434. package/dist/collection/components/card-list/card-list.js.map +1 -1
  435. package/dist/collection/components/card-title/card-title.js +1 -3
  436. package/dist/collection/components/card-title/card-title.js.map +1 -1
  437. package/dist/collection/components/category-filter/category-filter.js +4 -7
  438. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  439. package/dist/collection/components/checkbox/checkbox.js +47 -7
  440. package/dist/collection/components/checkbox/checkbox.js.map +1 -1
  441. package/dist/collection/components/checkbox-group/checkbox-group.js +115 -5
  442. package/dist/collection/components/checkbox-group/checkbox-group.js.map +1 -1
  443. package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js +48 -0
  444. package/dist/collection/components/checkbox-group/test/checkbox-group.ct.js.map +1 -0
  445. package/dist/collection/components/chip/chip.js +6 -8
  446. package/dist/collection/components/chip/chip.js.map +1 -1
  447. package/dist/collection/components/col/col.js +1 -4
  448. package/dist/collection/components/col/col.js.map +1 -1
  449. package/dist/collection/components/content/content.css +1 -3
  450. package/dist/collection/components/content/content.js +3 -4
  451. package/dist/collection/components/content/content.js.map +1 -1
  452. package/dist/collection/components/custom-field/custom-field.js +1 -4
  453. package/dist/collection/components/custom-field/custom-field.js.map +1 -1
  454. package/dist/collection/components/date-dropdown/date-dropdown.js +7 -23
  455. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  456. package/dist/collection/components/date-input/date-input.js +6 -9
  457. package/dist/collection/components/date-input/date-input.js.map +1 -1
  458. package/dist/collection/components/date-picker/date-picker.js +15 -53
  459. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  460. package/dist/collection/components/date-time-card/date-time-card.css +2 -2
  461. package/dist/collection/components/datetime-picker/datetime-picker.css +4 -0
  462. package/dist/collection/components/datetime-picker/datetime-picker.js +15 -67
  463. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  464. package/dist/collection/components/divider/divider.js +1 -4
  465. package/dist/collection/components/divider/divider.js.map +1 -1
  466. package/dist/collection/components/dropdown/dropdown.js +3 -8
  467. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  468. package/dist/collection/components/dropdown-button/dropdown-button.js +4 -14
  469. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  470. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -4
  471. package/dist/collection/components/dropdown-header/dropdown-header.js.map +1 -1
  472. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -4
  473. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js.map +1 -1
  474. package/dist/collection/components/empty-state/empty-state.js +1 -4
  475. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  476. package/dist/collection/components/expanding-search/expanding-search.js +5 -9
  477. package/dist/collection/components/expanding-search/expanding-search.js.map +1 -1
  478. package/dist/collection/components/filter-chip/filter-chip.js +2 -6
  479. package/dist/collection/components/filter-chip/filter-chip.js.map +1 -1
  480. package/dist/collection/components/flip-tile/flip-tile.js +6 -14
  481. package/dist/collection/components/flip-tile/flip-tile.js.map +1 -1
  482. package/dist/collection/components/icon-button/icon-button.js +4 -16
  483. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  484. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -4
  485. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js.map +1 -1
  486. package/dist/collection/components/input/input.fc.js +1 -1
  487. package/dist/collection/components/input/input.fc.js.map +1 -1
  488. package/dist/collection/components/input/input.js +32 -6
  489. package/dist/collection/components/input/input.js.map +1 -1
  490. package/dist/collection/components/input/number-input.js +35 -10
  491. package/dist/collection/components/input/number-input.js.map +1 -1
  492. package/dist/collection/components/input/tests/form-ready.ct.js +10 -0
  493. package/dist/collection/components/input/tests/form-ready.ct.js.map +1 -1
  494. package/dist/collection/components/input/tests/validation.ct.js +48 -8
  495. package/dist/collection/components/input/tests/validation.ct.js.map +1 -1
  496. package/dist/collection/components/input/textarea.js +3 -4
  497. package/dist/collection/components/input/textarea.js.map +1 -1
  498. package/dist/collection/components/input-group/input-group.js +2 -2
  499. package/dist/collection/components/input-group/input-group.js.map +1 -1
  500. package/dist/collection/components/key-value/key-value.js +1 -3
  501. package/dist/collection/components/key-value/key-value.js.map +1 -1
  502. package/dist/collection/components/key-value-list/key-value-list.js +1 -4
  503. package/dist/collection/components/key-value-list/key-value-list.js.map +1 -1
  504. package/dist/collection/components/layout-auto/layout-auto.js +1 -4
  505. package/dist/collection/components/layout-auto/layout-auto.js.map +1 -1
  506. package/dist/collection/components/layout-grid/layout-grid.js +2 -5
  507. package/dist/collection/components/layout-grid/layout-grid.js.map +1 -1
  508. package/dist/collection/components/link-button/link-button.js +3 -6
  509. package/dist/collection/components/link-button/link-button.js.map +1 -1
  510. package/dist/collection/components/map-navigation/map-navigation.js +2 -6
  511. package/dist/collection/components/map-navigation/map-navigation.js.map +1 -1
  512. package/dist/collection/components/menu/menu.js +13 -18
  513. package/dist/collection/components/menu/menu.js.map +1 -1
  514. package/dist/collection/components/menu-avatar/menu-avatar.js +5 -16
  515. package/dist/collection/components/menu-avatar/menu-avatar.js.map +1 -1
  516. package/dist/collection/components/menu-category/menu-category.js +5 -8
  517. package/dist/collection/components/menu-category/menu-category.js.map +1 -1
  518. package/dist/collection/components/menu-item/menu-item.js +4 -7
  519. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  520. package/dist/collection/components/modal/modal.js +5 -15
  521. package/dist/collection/components/modal/modal.js.map +1 -1
  522. package/dist/collection/components/modal-content/modal-content.js +1 -4
  523. package/dist/collection/components/modal-content/modal-content.js.map +1 -1
  524. package/dist/collection/components/modal-footer/modal-footer.js +1 -4
  525. package/dist/collection/components/modal-footer/modal-footer.js.map +1 -1
  526. package/dist/collection/components/modal-header/modal-header.js +1 -4
  527. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  528. package/dist/collection/components/pagination/pagination.js +2 -5
  529. package/dist/collection/components/pagination/pagination.js.map +1 -1
  530. package/dist/collection/components/pane/pane.js +6 -9
  531. package/dist/collection/components/pane/pane.js.map +1 -1
  532. package/dist/collection/components/pane-layout/pane-layout.js +1 -4
  533. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  534. package/dist/collection/components/push-card/push-card.js +2 -9
  535. package/dist/collection/components/push-card/push-card.js.map +1 -1
  536. package/dist/collection/components/radio/radio.js +61 -8
  537. package/dist/collection/components/radio/radio.js.map +1 -1
  538. package/dist/collection/components/radio-group/radio-group.js +96 -7
  539. package/dist/collection/components/radio-group/radio-group.js.map +1 -1
  540. package/dist/collection/components/radio-group/test/radio-group.ct.js +17 -0
  541. package/dist/collection/components/radio-group/test/radio-group.ct.js.map +1 -1
  542. package/dist/collection/components/row/row.js +1 -4
  543. package/dist/collection/components/row/row.js.map +1 -1
  544. package/dist/collection/components/select/select.js +25 -80
  545. package/dist/collection/components/select/select.js.map +1 -1
  546. package/dist/collection/components/slider/slider.js +6 -8
  547. package/dist/collection/components/slider/slider.js.map +1 -1
  548. package/dist/collection/components/split-button/split-button.js +2 -6
  549. package/dist/collection/components/split-button/split-button.js.map +1 -1
  550. package/dist/collection/components/tab-item/tab-item.js +4 -7
  551. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  552. package/dist/collection/components/tabs/tabs.js +3 -6
  553. package/dist/collection/components/tabs/tabs.js.map +1 -1
  554. package/dist/collection/components/time-picker/time-picker.js +8 -28
  555. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  556. package/dist/collection/components/toggle/toggle.js +63 -5
  557. package/dist/collection/components/toggle/toggle.js.map +1 -1
  558. package/dist/collection/components/toggle-button/toggle-button.css +15 -0
  559. package/dist/collection/components/toggle-button/toggle-button.js +2 -5
  560. package/dist/collection/components/toggle-button/toggle-button.js.map +1 -1
  561. package/dist/collection/components/tooltip/tooltip.js +2 -8
  562. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  563. package/dist/collection/components/tree/tree.js +68 -61
  564. package/dist/collection/components/tree/tree.js.map +1 -1
  565. package/dist/collection/components/typography/typography.js +1 -4
  566. package/dist/collection/components/typography/typography.js.map +1 -1
  567. package/dist/collection/components/utils/input/index.js.map +1 -1
  568. package/dist/collection/components/utils/input/validation.js +2 -0
  569. package/dist/collection/components/utils/input/validation.js.map +1 -1
  570. package/dist/collection/components/validation-tooltip/validation-tooltip.css +1 -0
  571. package/dist/collection/components/validation-tooltip/validation-tooltip.js +5 -8
  572. package/dist/collection/components/validation-tooltip/validation-tooltip.js.map +1 -1
  573. package/dist/esm/index-CrTP-icT.js.map +1 -1
  574. package/dist/esm/{input.util-DpnoI5lb.js → input.util-DORL_qfP.js} +4 -4
  575. package/dist/esm/input.util-DORL_qfP.js.map +1 -0
  576. package/dist/esm/ix-action-card.entry.js +1 -1
  577. package/dist/esm/ix-action-card.entry.js.map +1 -1
  578. package/dist/esm/ix-application-header.entry.js +3 -5
  579. package/dist/esm/ix-application-header.entry.js.map +1 -1
  580. package/dist/esm/ix-application.entry.js +3 -3
  581. package/dist/esm/ix-application.entry.js.map +1 -1
  582. package/dist/esm/ix-avatar.ix-menu-avatar-item.entry.js.map +1 -1
  583. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  584. package/dist/esm/ix-blind.entry.js +5 -6
  585. package/dist/esm/ix-blind.entry.js.map +1 -1
  586. package/dist/esm/ix-breadcrumb.entry.js +2 -4
  587. package/dist/esm/ix-breadcrumb.entry.js.map +1 -1
  588. package/dist/esm/ix-button.entry.js +2 -5
  589. package/dist/esm/ix-button.entry.js.map +1 -1
  590. package/dist/esm/ix-card-accordion.ix-card-title.entry.js.map +1 -1
  591. package/dist/esm/ix-card-accordion_2.entry.js +4 -5
  592. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  593. package/dist/esm/ix-card-list.entry.js +4 -6
  594. package/dist/esm/ix-card-list.entry.js.map +1 -1
  595. package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
  596. package/dist/esm/ix-card_2.entry.js +4 -4
  597. package/dist/esm/ix-card_2.entry.js.map +1 -1
  598. package/dist/esm/ix-category-filter.entry.js +3 -3
  599. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  600. package/dist/esm/ix-checkbox-group.entry.js +47 -3
  601. package/dist/esm/ix-checkbox-group.entry.js.map +1 -1
  602. package/dist/esm/ix-checkbox.entry.js +12 -5
  603. package/dist/esm/ix-checkbox.entry.js.map +1 -1
  604. package/dist/esm/ix-chip.entry.js +5 -4
  605. package/dist/esm/ix-chip.entry.js.map +1 -1
  606. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  607. package/dist/esm/ix-col_4.entry.js +9 -17
  608. package/dist/esm/ix-col_4.entry.js.map +1 -1
  609. package/dist/esm/ix-content.entry.js +4 -4
  610. package/dist/esm/ix-content.entry.js.map +1 -1
  611. package/dist/esm/ix-custom-field.entry.js +2 -2
  612. package/dist/esm/ix-custom-field.entry.js.map +1 -1
  613. package/dist/esm/ix-date-dropdown.entry.js +4 -8
  614. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  615. package/dist/esm/ix-date-input.entry.js +5 -5
  616. package/dist/esm/ix-date-input.entry.js.map +1 -1
  617. package/dist/esm/ix-date-time-card.entry.js +1 -1
  618. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  619. package/dist/esm/ix-datetime-picker.entry.js +2 -12
  620. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  621. package/dist/esm/ix-divider.entry.js +1 -1
  622. package/dist/esm/ix-divider.entry.js.map +1 -1
  623. package/dist/esm/ix-dropdown-button.entry.js +2 -3
  624. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  625. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  626. package/dist/esm/ix-dropdown-header.entry.js.map +1 -1
  627. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  628. package/dist/esm/ix-dropdown-quick-actions.entry.js.map +1 -1
  629. package/dist/esm/ix-dropdown.entry.js +2 -4
  630. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  631. package/dist/esm/ix-empty-state.entry.js +1 -1
  632. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  633. package/dist/esm/ix-expanding-search.entry.js +4 -5
  634. package/dist/esm/ix-expanding-search.entry.js.map +1 -1
  635. package/dist/esm/ix-field-label.ix-field-wrapper.entry.js.map +1 -1
  636. package/dist/esm/ix-field-label_2.entry.js +1 -1
  637. package/dist/esm/ix-field-label_2.entry.js.map +1 -1
  638. package/dist/esm/ix-filter-chip.ix-select-item.entry.js.map +1 -1
  639. package/dist/esm/ix-filter-chip_2.entry.js +1 -2
  640. package/dist/esm/ix-filter-chip_2.entry.js.map +1 -1
  641. package/dist/esm/ix-flip-tile.entry.js +4 -6
  642. package/dist/esm/ix-flip-tile.entry.js.map +1 -1
  643. package/dist/esm/ix-helper-text.entry.js +1 -1
  644. package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
  645. package/dist/esm/ix-icon-button_2.entry.js +1 -4
  646. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  647. package/dist/esm/ix-icon-toggle-button.entry.js +1 -1
  648. package/dist/esm/ix-icon-toggle-button.entry.js.map +1 -1
  649. package/dist/esm/ix-input-group.entry.js +1 -1
  650. package/dist/esm/ix-input-group.entry.js.map +1 -1
  651. package/dist/esm/ix-input.entry.js +12 -6
  652. package/dist/esm/ix-input.entry.js.map +1 -1
  653. package/dist/esm/ix-key-value-list.entry.js +1 -1
  654. package/dist/esm/ix-key-value-list.entry.js.map +1 -1
  655. package/dist/esm/ix-key-value.entry.js +1 -1
  656. package/dist/esm/ix-key-value.entry.js.map +1 -1
  657. package/dist/esm/ix-layout-auto.entry.js +1 -1
  658. package/dist/esm/ix-layout-auto.entry.js.map +1 -1
  659. package/dist/esm/ix-link-button.entry.js +3 -3
  660. package/dist/esm/ix-link-button.entry.js.map +1 -1
  661. package/dist/esm/ix-map-navigation.entry.js +2 -3
  662. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  663. package/dist/esm/ix-menu-avatar.entry.js +2 -4
  664. package/dist/esm/ix-menu-avatar.entry.js.map +1 -1
  665. package/dist/esm/ix-menu-category.entry.js +5 -5
  666. package/dist/esm/ix-menu-category.entry.js.map +1 -1
  667. package/dist/esm/ix-menu-item.entry.js +3 -3
  668. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  669. package/dist/esm/ix-menu.entry.js +12 -14
  670. package/dist/esm/ix-menu.entry.js.map +1 -1
  671. package/dist/esm/ix-modal-content.ix-modal-header.entry.js.map +1 -1
  672. package/dist/esm/ix-modal-content_2.entry.js +2 -2
  673. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  674. package/dist/esm/ix-modal-footer.entry.js +1 -1
  675. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  676. package/dist/esm/ix-modal.entry.js +3 -7
  677. package/dist/esm/ix-modal.entry.js.map +1 -1
  678. package/dist/esm/ix-number-input.entry.js +14 -10
  679. package/dist/esm/ix-number-input.entry.js.map +1 -1
  680. package/dist/esm/ix-pagination.entry.js +2 -2
  681. package/dist/esm/ix-pagination.entry.js.map +1 -1
  682. package/dist/esm/ix-pane-layout.entry.js +1 -1
  683. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  684. package/dist/esm/ix-pane.entry.js +6 -6
  685. package/dist/esm/ix-pane.entry.js.map +1 -1
  686. package/dist/esm/ix-push-card.entry.js +1 -2
  687. package/dist/esm/ix-push-card.entry.js.map +1 -1
  688. package/dist/esm/ix-radio-group.entry.js +29 -6
  689. package/dist/esm/ix-radio-group.entry.js.map +1 -1
  690. package/dist/esm/ix-radio.entry.js +23 -6
  691. package/dist/esm/ix-radio.entry.js.map +1 -1
  692. package/dist/esm/ix-select.entry.js +9 -16
  693. package/dist/esm/ix-select.entry.js.map +1 -1
  694. package/dist/esm/ix-slider.entry.js +6 -6
  695. package/dist/esm/ix-slider.entry.js.map +1 -1
  696. package/dist/esm/ix-split-button.entry.js +1 -2
  697. package/dist/esm/ix-split-button.entry.js.map +1 -1
  698. package/dist/esm/ix-tab-item.ix-tabs.entry.js.map +1 -1
  699. package/dist/esm/ix-tab-item_2.entry.js +5 -5
  700. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  701. package/dist/esm/ix-textarea.entry.js +4 -4
  702. package/dist/esm/ix-textarea.entry.js.map +1 -1
  703. package/dist/esm/ix-time-picker.entry.js +4 -12
  704. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  705. package/dist/esm/ix-toggle-button.entry.js +3 -3
  706. package/dist/esm/ix-toggle-button.entry.js.map +1 -1
  707. package/dist/esm/ix-toggle.entry.js +35 -3
  708. package/dist/esm/ix-toggle.entry.js.map +1 -1
  709. package/dist/esm/ix-tooltip.entry.js +1 -2
  710. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  711. package/dist/esm/ix-tree.entry.js +55 -51
  712. package/dist/esm/ix-tree.entry.js.map +1 -1
  713. package/dist/esm/ix-typography.entry.js +1 -1
  714. package/dist/esm/ix-typography.entry.js.map +1 -1
  715. package/dist/esm/ix-validation-tooltip.entry.js +3 -5
  716. package/dist/esm/ix-validation-tooltip.entry.js.map +1 -1
  717. package/dist/esm/loader.js +1 -1
  718. package/dist/esm/siemens-ix.js +1 -1
  719. package/dist/esm/{validation-C_w_pHgR.js → validation-CS0nhfz1.js} +4 -2
  720. package/dist/esm/validation-CS0nhfz1.js.map +1 -0
  721. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  722. package/dist/siemens-ix/ix-application-header.entry.esm.js.map +1 -1
  723. package/dist/siemens-ix/ix-application.entry.esm.js.map +1 -1
  724. package/dist/siemens-ix/ix-avatar.ix-menu-avatar-item.entry.esm.js.map +1 -1
  725. package/dist/siemens-ix/ix-blind.entry.esm.js.map +1 -1
  726. package/dist/siemens-ix/ix-breadcrumb.entry.esm.js.map +1 -1
  727. package/dist/siemens-ix/ix-button.entry.esm.js.map +1 -1
  728. package/dist/siemens-ix/ix-card-accordion.ix-card-title.entry.esm.js.map +1 -1
  729. package/dist/siemens-ix/ix-card-list.entry.esm.js.map +1 -1
  730. package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
  731. package/dist/siemens-ix/ix-category-filter.entry.esm.js.map +1 -1
  732. package/dist/siemens-ix/ix-checkbox-group.entry.esm.js.map +1 -1
  733. package/dist/siemens-ix/ix-checkbox.entry.esm.js.map +1 -1
  734. package/dist/siemens-ix/ix-chip.entry.esm.js.map +1 -1
  735. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  736. package/dist/siemens-ix/ix-content.entry.esm.js.map +1 -1
  737. package/dist/siemens-ix/ix-custom-field.entry.esm.js.map +1 -1
  738. package/dist/siemens-ix/ix-date-dropdown.entry.esm.js.map +1 -1
  739. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  740. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  741. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  742. package/dist/siemens-ix/ix-divider.entry.esm.js.map +1 -1
  743. package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
  744. package/dist/siemens-ix/ix-dropdown-header.entry.esm.js.map +1 -1
  745. package/dist/siemens-ix/ix-dropdown-quick-actions.entry.esm.js.map +1 -1
  746. package/dist/siemens-ix/ix-dropdown.entry.esm.js.map +1 -1
  747. package/dist/siemens-ix/ix-empty-state.entry.esm.js.map +1 -1
  748. package/dist/siemens-ix/ix-expanding-search.entry.esm.js.map +1 -1
  749. package/dist/siemens-ix/ix-field-label.ix-field-wrapper.entry.esm.js.map +1 -1
  750. package/dist/siemens-ix/ix-filter-chip.ix-select-item.entry.esm.js.map +1 -1
  751. package/dist/siemens-ix/ix-flip-tile.entry.esm.js.map +1 -1
  752. package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
  753. package/dist/siemens-ix/ix-icon-toggle-button.entry.esm.js.map +1 -1
  754. package/dist/siemens-ix/ix-input-group.entry.esm.js.map +1 -1
  755. package/dist/siemens-ix/ix-input.entry.esm.js.map +1 -1
  756. package/dist/siemens-ix/ix-key-value-list.entry.esm.js.map +1 -1
  757. package/dist/siemens-ix/ix-key-value.entry.esm.js.map +1 -1
  758. package/dist/siemens-ix/ix-layout-auto.entry.esm.js.map +1 -1
  759. package/dist/siemens-ix/ix-link-button.entry.esm.js.map +1 -1
  760. package/dist/siemens-ix/ix-map-navigation.entry.esm.js.map +1 -1
  761. package/dist/siemens-ix/ix-menu-avatar.entry.esm.js.map +1 -1
  762. package/dist/siemens-ix/ix-menu-category.entry.esm.js.map +1 -1
  763. package/dist/siemens-ix/ix-menu-item.entry.esm.js.map +1 -1
  764. package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
  765. package/dist/siemens-ix/ix-modal-content.ix-modal-header.entry.esm.js.map +1 -1
  766. package/dist/siemens-ix/ix-modal-footer.entry.esm.js.map +1 -1
  767. package/dist/siemens-ix/ix-modal.entry.esm.js.map +1 -1
  768. package/dist/siemens-ix/ix-number-input.entry.esm.js.map +1 -1
  769. package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
  770. package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
  771. package/dist/siemens-ix/ix-pane.entry.esm.js.map +1 -1
  772. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  773. package/dist/siemens-ix/ix-radio-group.entry.esm.js.map +1 -1
  774. package/dist/siemens-ix/ix-radio.entry.esm.js.map +1 -1
  775. package/dist/siemens-ix/ix-select.entry.esm.js.map +1 -1
  776. package/dist/siemens-ix/ix-slider.entry.esm.js.map +1 -1
  777. package/dist/siemens-ix/ix-split-button.entry.esm.js.map +1 -1
  778. package/dist/siemens-ix/ix-tab-item.ix-tabs.entry.esm.js.map +1 -1
  779. package/dist/siemens-ix/ix-textarea.entry.esm.js.map +1 -1
  780. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  781. package/dist/siemens-ix/ix-toggle-button.entry.esm.js.map +1 -1
  782. package/dist/siemens-ix/ix-toggle.entry.esm.js.map +1 -1
  783. package/dist/siemens-ix/ix-tooltip.entry.esm.js.map +1 -1
  784. package/dist/siemens-ix/ix-tree.entry.esm.js.map +1 -1
  785. package/dist/siemens-ix/ix-typography.entry.esm.js.map +1 -1
  786. package/dist/siemens-ix/ix-validation-tooltip.entry.esm.js.map +1 -1
  787. package/dist/siemens-ix/{p-0c830977.entry.js → p-04338b3f.entry.js} +2 -2
  788. package/dist/siemens-ix/p-04338b3f.entry.js.map +1 -0
  789. package/dist/siemens-ix/p-0443dc8d.entry.js +2 -0
  790. package/dist/siemens-ix/p-0443dc8d.entry.js.map +1 -0
  791. package/dist/siemens-ix/p-054136c2.entry.js +2 -0
  792. package/dist/siemens-ix/{p-518b1e6b.entry.js.map → p-054136c2.entry.js.map} +1 -1
  793. package/dist/siemens-ix/{p-0488a734.entry.js → p-06843648.entry.js} +2 -2
  794. package/dist/siemens-ix/{p-0488a734.entry.js.map → p-06843648.entry.js.map} +1 -1
  795. package/dist/siemens-ix/{p-ff2171f6.entry.js → p-071f63d6.entry.js} +2 -2
  796. package/dist/siemens-ix/p-071f63d6.entry.js.map +1 -0
  797. package/dist/siemens-ix/{p-c7384379.entry.js → p-07c17517.entry.js} +2 -2
  798. package/dist/siemens-ix/p-07c17517.entry.js.map +1 -0
  799. package/dist/siemens-ix/{p-5fef5328.entry.js → p-09b83f0e.entry.js} +2 -2
  800. package/dist/siemens-ix/p-09b83f0e.entry.js.map +1 -0
  801. package/dist/siemens-ix/p-144e4ad0.entry.js +2 -0
  802. package/dist/siemens-ix/p-144e4ad0.entry.js.map +1 -0
  803. package/dist/siemens-ix/{p-19ae7d99.entry.js → p-158d9068.entry.js} +2 -2
  804. package/dist/siemens-ix/p-158d9068.entry.js.map +1 -0
  805. package/dist/siemens-ix/{p-ac5f5042.entry.js → p-18a47d9f.entry.js} +2 -2
  806. package/dist/siemens-ix/p-18a47d9f.entry.js.map +1 -0
  807. package/dist/siemens-ix/{p-96bbbbcb.entry.js → p-1d28d516.entry.js} +2 -2
  808. package/dist/siemens-ix/p-1d28d516.entry.js.map +1 -0
  809. package/dist/siemens-ix/{p-9e3a36df.entry.js → p-1ff3556a.entry.js} +2 -2
  810. package/dist/siemens-ix/p-1ff3556a.entry.js.map +1 -0
  811. package/dist/siemens-ix/{p-08931f8c.entry.js → p-215df096.entry.js} +2 -2
  812. package/dist/siemens-ix/p-215df096.entry.js.map +1 -0
  813. package/dist/siemens-ix/{p-d1cf2407.entry.js → p-23a50a0c.entry.js} +2 -2
  814. package/dist/siemens-ix/p-23a50a0c.entry.js.map +1 -0
  815. package/dist/siemens-ix/{p-3e1a9763.entry.js → p-24339d35.entry.js} +2 -2
  816. package/dist/siemens-ix/p-24339d35.entry.js.map +1 -0
  817. package/dist/siemens-ix/{p-28055ea5.entry.js → p-27b13c4c.entry.js} +2 -2
  818. package/dist/siemens-ix/p-27b13c4c.entry.js.map +1 -0
  819. package/dist/siemens-ix/{p-3138015e.entry.js → p-27cc0e94.entry.js} +2 -2
  820. package/dist/siemens-ix/{p-3138015e.entry.js.map → p-27cc0e94.entry.js.map} +1 -1
  821. package/dist/siemens-ix/{p-eb5da5a0.entry.js → p-2b496519.entry.js} +2 -2
  822. package/dist/siemens-ix/{p-eb5da5a0.entry.js.map → p-2b496519.entry.js.map} +1 -1
  823. package/dist/siemens-ix/{p-d3f99d59.entry.js → p-32488953.entry.js} +2 -2
  824. package/dist/siemens-ix/p-32488953.entry.js.map +1 -0
  825. package/dist/siemens-ix/p-34824a84.entry.js +2 -0
  826. package/dist/siemens-ix/p-34824a84.entry.js.map +1 -0
  827. package/dist/siemens-ix/{p-4b0c3eeb.entry.js → p-356b0c5c.entry.js} +2 -2
  828. package/dist/siemens-ix/p-356b0c5c.entry.js.map +1 -0
  829. package/dist/siemens-ix/{p-93ba92af.entry.js → p-37f6a541.entry.js} +2 -2
  830. package/dist/siemens-ix/p-37f6a541.entry.js.map +1 -0
  831. package/dist/siemens-ix/p-387fd147.entry.js +2 -0
  832. package/dist/siemens-ix/p-387fd147.entry.js.map +1 -0
  833. package/dist/siemens-ix/{p-c675b650.entry.js → p-44670707.entry.js} +2 -2
  834. package/dist/siemens-ix/p-44670707.entry.js.map +1 -0
  835. package/dist/siemens-ix/p-47a889ca.entry.js +2 -0
  836. package/dist/siemens-ix/{p-b01c5093.entry.js.map → p-47a889ca.entry.js.map} +1 -1
  837. package/dist/siemens-ix/p-4cc099ea.entry.js +2 -0
  838. package/dist/siemens-ix/{p-b39463a7.entry.js.map → p-4cc099ea.entry.js.map} +1 -1
  839. package/dist/siemens-ix/{p-f8a852c3.entry.js → p-4dac8359.entry.js} +2 -2
  840. package/dist/siemens-ix/p-4dac8359.entry.js.map +1 -0
  841. package/dist/siemens-ix/{p-576fade1.entry.js → p-521dfa2a.entry.js} +2 -2
  842. package/dist/siemens-ix/p-521dfa2a.entry.js.map +1 -0
  843. package/dist/siemens-ix/p-6de38c2a.entry.js +2 -0
  844. package/dist/siemens-ix/p-6de38c2a.entry.js.map +1 -0
  845. package/dist/siemens-ix/{p-34ff567f.entry.js → p-70cbacb8.entry.js} +2 -2
  846. package/dist/siemens-ix/p-70cbacb8.entry.js.map +1 -0
  847. package/dist/siemens-ix/{p-f8b08d7b.entry.js → p-71b2c8cd.entry.js} +2 -2
  848. package/dist/siemens-ix/{p-f8b08d7b.entry.js.map → p-71b2c8cd.entry.js.map} +1 -1
  849. package/dist/siemens-ix/{p-e365aee3.entry.js → p-7535cbf6.entry.js} +2 -2
  850. package/dist/siemens-ix/{p-ce0642f0.entry.js → p-76565681.entry.js} +2 -2
  851. package/dist/siemens-ix/p-76565681.entry.js.map +1 -0
  852. package/dist/siemens-ix/{p-f7bfd5f6.entry.js → p-781e0057.entry.js} +2 -2
  853. package/dist/siemens-ix/p-781e0057.entry.js.map +1 -0
  854. package/dist/siemens-ix/{p-2295246b.entry.js → p-78b7ce69.entry.js} +2 -2
  855. package/dist/siemens-ix/p-78b7ce69.entry.js.map +1 -0
  856. package/dist/siemens-ix/p-78f99962.entry.js.map +1 -1
  857. package/dist/siemens-ix/{p-f3f6e45d.entry.js → p-827653a3.entry.js} +2 -2
  858. package/dist/siemens-ix/p-827653a3.entry.js.map +1 -0
  859. package/dist/siemens-ix/{p-cd52e37a.entry.js → p-83367279.entry.js} +2 -2
  860. package/dist/siemens-ix/p-83367279.entry.js.map +1 -0
  861. package/dist/siemens-ix/{p-c80dddf1.entry.js → p-8804a378.entry.js} +2 -2
  862. package/dist/siemens-ix/p-8804a378.entry.js.map +1 -0
  863. package/dist/siemens-ix/p-8df5873d.entry.js +2 -0
  864. package/dist/siemens-ix/p-8df5873d.entry.js.map +1 -0
  865. package/dist/siemens-ix/{p-575b3137.entry.js → p-8e525190.entry.js} +2 -2
  866. package/dist/siemens-ix/p-8e525190.entry.js.map +1 -0
  867. package/dist/siemens-ix/{p-3283a5f3.entry.js → p-94b89b14.entry.js} +2 -2
  868. package/dist/siemens-ix/p-94b89b14.entry.js.map +1 -0
  869. package/dist/siemens-ix/{p-f0575255.entry.js → p-9646b346.entry.js} +2 -2
  870. package/dist/siemens-ix/p-9646b346.entry.js.map +1 -0
  871. package/dist/siemens-ix/{p-273bd3ab.entry.js → p-9920ec79.entry.js} +2 -2
  872. package/dist/siemens-ix/{p-273bd3ab.entry.js.map → p-9920ec79.entry.js.map} +1 -1
  873. package/dist/siemens-ix/{p-734bcb23.entry.js → p-9bac6252.entry.js} +2 -2
  874. package/dist/siemens-ix/p-9bac6252.entry.js.map +1 -0
  875. package/dist/siemens-ix/{p-9a679e62.entry.js → p-9bbca220.entry.js} +2 -2
  876. package/dist/siemens-ix/p-9bbca220.entry.js.map +1 -0
  877. package/dist/siemens-ix/p-CASZsflI.js +2 -0
  878. package/dist/siemens-ix/p-CASZsflI.js.map +1 -0
  879. package/dist/siemens-ix/p-CrTP-icT.js.map +1 -1
  880. package/dist/siemens-ix/p-DHml78Yc.js +2 -0
  881. package/dist/siemens-ix/p-DHml78Yc.js.map +1 -0
  882. package/dist/siemens-ix/{p-3a0a5bc2.entry.js → p-a289764d.entry.js} +2 -2
  883. package/dist/siemens-ix/p-a289764d.entry.js.map +1 -0
  884. package/dist/siemens-ix/{p-e6c7e87a.entry.js → p-ac4548a8.entry.js} +2 -2
  885. package/dist/siemens-ix/p-ac4548a8.entry.js.map +1 -0
  886. package/dist/siemens-ix/{p-aee95ea9.entry.js → p-aca27756.entry.js} +2 -2
  887. package/dist/siemens-ix/p-aca27756.entry.js.map +1 -0
  888. package/dist/siemens-ix/{p-c0e4bf8a.entry.js → p-b35df537.entry.js} +2 -2
  889. package/dist/siemens-ix/{p-c0e4bf8a.entry.js.map → p-b35df537.entry.js.map} +1 -1
  890. package/dist/siemens-ix/{p-c93a8094.entry.js → p-b6966cc0.entry.js} +2 -2
  891. package/dist/siemens-ix/p-b6966cc0.entry.js.map +1 -0
  892. package/dist/siemens-ix/{p-9e83986f.entry.js → p-b78847d5.entry.js} +2 -2
  893. package/dist/siemens-ix/{p-9e83986f.entry.js.map → p-b78847d5.entry.js.map} +1 -1
  894. package/dist/siemens-ix/{p-3edc7dd2.entry.js → p-beed1dd8.entry.js} +2 -2
  895. package/dist/siemens-ix/p-beed1dd8.entry.js.map +1 -0
  896. package/dist/siemens-ix/p-c1b10464.entry.js +2 -0
  897. package/dist/siemens-ix/{p-3db26a34.entry.js.map → p-c1b10464.entry.js.map} +1 -1
  898. package/dist/siemens-ix/{p-87b30e60.entry.js → p-c76e3ee3.entry.js} +2 -2
  899. package/dist/siemens-ix/p-c76e3ee3.entry.js.map +1 -0
  900. package/dist/siemens-ix/{p-66fb6549.entry.js → p-c8fe1a7e.entry.js} +2 -2
  901. package/dist/siemens-ix/p-c8fe1a7e.entry.js.map +1 -0
  902. package/dist/siemens-ix/{p-89edecbd.entry.js → p-ca8a2b16.entry.js} +2 -2
  903. package/dist/siemens-ix/p-ca8a2b16.entry.js.map +1 -0
  904. package/dist/siemens-ix/p-cb7de112.entry.js +2 -0
  905. package/dist/siemens-ix/p-cb7de112.entry.js.map +1 -0
  906. package/dist/siemens-ix/{p-aeb1eb75.entry.js → p-cbf6c3bf.entry.js} +2 -2
  907. package/dist/siemens-ix/p-cbf6c3bf.entry.js.map +1 -0
  908. package/dist/siemens-ix/{p-3d8a3b8a.entry.js → p-cca07b68.entry.js} +2 -2
  909. package/dist/siemens-ix/{p-3d8a3b8a.entry.js.map → p-cca07b68.entry.js.map} +1 -1
  910. package/dist/siemens-ix/{p-20d1d114.entry.js → p-ccec1de1.entry.js} +2 -2
  911. package/dist/siemens-ix/p-ccec1de1.entry.js.map +1 -0
  912. package/dist/siemens-ix/p-d6caa4f4.entry.js +2 -0
  913. package/dist/siemens-ix/p-d6caa4f4.entry.js.map +1 -0
  914. package/dist/siemens-ix/p-da040b8b.entry.js +2 -0
  915. package/dist/siemens-ix/p-da040b8b.entry.js.map +1 -0
  916. package/dist/siemens-ix/{p-000cfb14.entry.js → p-dd11dd49.entry.js} +2 -2
  917. package/dist/siemens-ix/{p-000cfb14.entry.js.map → p-dd11dd49.entry.js.map} +1 -1
  918. package/dist/siemens-ix/{p-2290614f.entry.js → p-e09ab46a.entry.js} +2 -2
  919. package/dist/siemens-ix/{p-2290614f.entry.js.map → p-e09ab46a.entry.js.map} +1 -1
  920. package/dist/siemens-ix/{p-5963369c.entry.js → p-e3c930ac.entry.js} +2 -2
  921. package/dist/siemens-ix/p-e3c930ac.entry.js.map +1 -0
  922. package/dist/siemens-ix/{p-933f6e1f.entry.js → p-ea310106.entry.js} +2 -2
  923. package/dist/siemens-ix/p-ea310106.entry.js.map +1 -0
  924. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  925. package/dist/siemens-ix/siemens-ix.css +174 -0
  926. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  927. package/dist/types/components/action-card/action-card.d.ts +0 -3
  928. package/dist/types/components/application/application.d.ts +0 -3
  929. package/dist/types/components/application-header/application-header.d.ts +0 -4
  930. package/dist/types/components/avatar/avatar.d.ts +0 -7
  931. package/dist/types/components/blind/blind.d.ts +0 -3
  932. package/dist/types/components/breadcrumb/breadcrumb.d.ts +0 -2
  933. package/dist/types/components/button/button.d.ts +0 -3
  934. package/dist/types/components/card/card.d.ts +1 -4
  935. package/dist/types/components/card-accordion/card-accordion.d.ts +0 -4
  936. package/dist/types/components/card-content/card-content.d.ts +0 -3
  937. package/dist/types/components/card-list/card-list.d.ts +0 -5
  938. package/dist/types/components/card-title/card-title.d.ts +0 -2
  939. package/dist/types/components/category-filter/category-filter.d.ts +0 -2
  940. package/dist/types/components/checkbox/checkbox.d.ts +8 -2
  941. package/dist/types/components/checkbox-group/checkbox-group.d.ts +21 -2
  942. package/dist/types/components/checkbox-group/test/checkbox-group.ct.d.ts +1 -0
  943. package/dist/types/components/chip/chip.d.ts +1 -2
  944. package/dist/types/components/col/col.d.ts +0 -3
  945. package/dist/types/components/content/content.d.ts +0 -1
  946. package/dist/types/components/custom-field/custom-field.d.ts +0 -3
  947. package/dist/types/components/date-dropdown/date-dropdown.d.ts +0 -9
  948. package/dist/types/components/date-input/date-input.d.ts +2 -4
  949. package/dist/types/components/date-picker/date-picker.d.ts +0 -20
  950. package/dist/types/components/datetime-picker/datetime-picker.d.ts +0 -29
  951. package/dist/types/components/divider/divider.d.ts +0 -3
  952. package/dist/types/components/dropdown/dropdown.d.ts +0 -2
  953. package/dist/types/components/dropdown-button/dropdown-button.d.ts +0 -6
  954. package/dist/types/components/dropdown-header/dropdown-header.d.ts +0 -3
  955. package/dist/types/components/dropdown-quick-actions/dropdown-quick-actions.d.ts +0 -3
  956. package/dist/types/components/empty-state/empty-state.d.ts +0 -3
  957. package/dist/types/components/expanding-search/expanding-search.d.ts +0 -1
  958. package/dist/types/components/filter-chip/filter-chip.d.ts +0 -1
  959. package/dist/types/components/flip-tile/flip-tile.d.ts +0 -2
  960. package/dist/types/components/icon-button/icon-button.d.ts +0 -5
  961. package/dist/types/components/icon-toggle-button/icon-toggle-button.d.ts +0 -3
  962. package/dist/types/components/input/input.d.ts +5 -2
  963. package/dist/types/components/input/input.fc.d.ts +5 -4
  964. package/dist/types/components/input/number-input.d.ts +7 -2
  965. package/dist/types/components/input/textarea.d.ts +1 -2
  966. package/dist/types/components/input-group/input-group.d.ts +1 -1
  967. package/dist/types/components/key-value/key-value.d.ts +0 -2
  968. package/dist/types/components/key-value-list/key-value-list.d.ts +0 -3
  969. package/dist/types/components/layout-auto/layout-auto.d.ts +0 -3
  970. package/dist/types/components/layout-grid/layout-grid.d.ts +0 -3
  971. package/dist/types/components/link-button/link-button.d.ts +0 -3
  972. package/dist/types/components/map-navigation/map-navigation.d.ts +0 -1
  973. package/dist/types/components/menu/menu.d.ts +0 -2
  974. package/dist/types/components/menu-avatar/menu-avatar.d.ts +0 -6
  975. package/dist/types/components/menu-category/menu-category.d.ts +0 -3
  976. package/dist/types/components/menu-item/menu-item.d.ts +0 -2
  977. package/dist/types/components/modal/modal.d.ts +0 -4
  978. package/dist/types/components/modal-content/modal-content.d.ts +0 -3
  979. package/dist/types/components/modal-footer/modal-footer.d.ts +0 -3
  980. package/dist/types/components/modal-header/modal-header.d.ts +0 -3
  981. package/dist/types/components/pagination/pagination.d.ts +0 -3
  982. package/dist/types/components/pane/pane.d.ts +0 -3
  983. package/dist/types/components/pane-layout/pane-layout.d.ts +0 -3
  984. package/dist/types/components/push-card/push-card.d.ts +0 -4
  985. package/dist/types/components/radio/radio.d.ts +13 -5
  986. package/dist/types/components/radio-group/radio-group.d.ts +15 -3
  987. package/dist/types/components/row/row.d.ts +0 -3
  988. package/dist/types/components/select/select.d.ts +1 -32
  989. package/dist/types/components/slider/slider.d.ts +0 -2
  990. package/dist/types/components/split-button/split-button.d.ts +0 -1
  991. package/dist/types/components/tab-item/tab-item.d.ts +0 -2
  992. package/dist/types/components/tabs/tabs.d.ts +0 -2
  993. package/dist/types/components/time-picker/time-picker.d.ts +0 -8
  994. package/dist/types/components/toggle/toggle.d.ts +10 -2
  995. package/dist/types/components/toggle-button/toggle-button.d.ts +0 -3
  996. package/dist/types/components/tooltip/tooltip.d.ts +0 -3
  997. package/dist/types/components/tree/tree.d.ts +4 -6
  998. package/dist/types/components/typography/typography.d.ts +0 -3
  999. package/dist/types/components/utils/input/index.d.ts +1 -1
  1000. package/dist/types/components/validation-tooltip/validation-tooltip.d.ts +2 -2
  1001. package/dist/types/components.d.ts +110 -673
  1002. package/hydrate/index.js +435 -467
  1003. package/hydrate/index.mjs +435 -467
  1004. package/package.json +3 -3
  1005. package/scss/_core.scss +2 -0
  1006. package/scss/components/_button-group.scss +13 -0
  1007. package/components/p-12nKYxsa.js.map +0 -1
  1008. package/components/p-2g5-4fWy.js.map +0 -1
  1009. package/components/p-BBSHeR_p.js.map +0 -1
  1010. package/components/p-BwyqOnwc.js.map +0 -1
  1011. package/components/p-C8vn2GFY.js.map +0 -1
  1012. package/components/p-CB1ADCkU.js.map +0 -1
  1013. package/components/p-D0LdqSVb.js.map +0 -1
  1014. package/components/p-DGeWaNlt.js.map +0 -1
  1015. package/components/p-DIzxAERt.js.map +0 -1
  1016. package/components/p-DM43N7pD.js.map +0 -1
  1017. package/components/p-DXzHgqiB.js.map +0 -1
  1018. package/components/p-D_wwWxx8.js.map +0 -1
  1019. package/components/p-Dy35mbzK.js.map +0 -1
  1020. package/components/p-DylMlJTZ.js.map +0 -1
  1021. package/dist/cjs/input.util-DuJG4-L-.js.map +0 -1
  1022. package/dist/cjs/validation-B-wzGaWF.js.map +0 -1
  1023. package/dist/esm/input.util-DpnoI5lb.js.map +0 -1
  1024. package/dist/esm/validation-C_w_pHgR.js.map +0 -1
  1025. package/dist/siemens-ix/p-08931f8c.entry.js.map +0 -1
  1026. package/dist/siemens-ix/p-0c830977.entry.js.map +0 -1
  1027. package/dist/siemens-ix/p-19ae7d99.entry.js.map +0 -1
  1028. package/dist/siemens-ix/p-20d1d114.entry.js.map +0 -1
  1029. package/dist/siemens-ix/p-2295246b.entry.js.map +0 -1
  1030. package/dist/siemens-ix/p-28055ea5.entry.js.map +0 -1
  1031. package/dist/siemens-ix/p-2j3Ly91D.js +0 -2
  1032. package/dist/siemens-ix/p-2j3Ly91D.js.map +0 -1
  1033. package/dist/siemens-ix/p-3283a5f3.entry.js.map +0 -1
  1034. package/dist/siemens-ix/p-34ff567f.entry.js.map +0 -1
  1035. package/dist/siemens-ix/p-37fa26f9.entry.js +0 -2
  1036. package/dist/siemens-ix/p-37fa26f9.entry.js.map +0 -1
  1037. package/dist/siemens-ix/p-3a0a5bc2.entry.js.map +0 -1
  1038. package/dist/siemens-ix/p-3db26a34.entry.js +0 -2
  1039. package/dist/siemens-ix/p-3e1a9763.entry.js.map +0 -1
  1040. package/dist/siemens-ix/p-3edc7dd2.entry.js.map +0 -1
  1041. package/dist/siemens-ix/p-4b0c3eeb.entry.js.map +0 -1
  1042. package/dist/siemens-ix/p-518b1e6b.entry.js +0 -2
  1043. package/dist/siemens-ix/p-575b3137.entry.js.map +0 -1
  1044. package/dist/siemens-ix/p-576fade1.entry.js.map +0 -1
  1045. package/dist/siemens-ix/p-5963369c.entry.js.map +0 -1
  1046. package/dist/siemens-ix/p-5b1d3595.entry.js +0 -2
  1047. package/dist/siemens-ix/p-5b1d3595.entry.js.map +0 -1
  1048. package/dist/siemens-ix/p-5fef5328.entry.js.map +0 -1
  1049. package/dist/siemens-ix/p-6691703e.entry.js +0 -2
  1050. package/dist/siemens-ix/p-6691703e.entry.js.map +0 -1
  1051. package/dist/siemens-ix/p-66fb6549.entry.js.map +0 -1
  1052. package/dist/siemens-ix/p-6d197072.entry.js +0 -2
  1053. package/dist/siemens-ix/p-6d197072.entry.js.map +0 -1
  1054. package/dist/siemens-ix/p-734bcb23.entry.js.map +0 -1
  1055. package/dist/siemens-ix/p-7abb0f0c.entry.js +0 -2
  1056. package/dist/siemens-ix/p-7abb0f0c.entry.js.map +0 -1
  1057. package/dist/siemens-ix/p-87b30e60.entry.js.map +0 -1
  1058. package/dist/siemens-ix/p-87c777a1.entry.js +0 -2
  1059. package/dist/siemens-ix/p-87c777a1.entry.js.map +0 -1
  1060. package/dist/siemens-ix/p-89edecbd.entry.js.map +0 -1
  1061. package/dist/siemens-ix/p-933f6e1f.entry.js.map +0 -1
  1062. package/dist/siemens-ix/p-93ba92af.entry.js.map +0 -1
  1063. package/dist/siemens-ix/p-96bbbbcb.entry.js.map +0 -1
  1064. package/dist/siemens-ix/p-9a679e62.entry.js.map +0 -1
  1065. package/dist/siemens-ix/p-9e3a36df.entry.js.map +0 -1
  1066. package/dist/siemens-ix/p-BPfEX8mR.js +0 -2
  1067. package/dist/siemens-ix/p-BPfEX8mR.js.map +0 -1
  1068. package/dist/siemens-ix/p-ac5f5042.entry.js.map +0 -1
  1069. package/dist/siemens-ix/p-aeb1eb75.entry.js.map +0 -1
  1070. package/dist/siemens-ix/p-aee95ea9.entry.js.map +0 -1
  1071. package/dist/siemens-ix/p-b01c5093.entry.js +0 -2
  1072. package/dist/siemens-ix/p-b39463a7.entry.js +0 -2
  1073. package/dist/siemens-ix/p-c675b650.entry.js.map +0 -1
  1074. package/dist/siemens-ix/p-c7384379.entry.js.map +0 -1
  1075. package/dist/siemens-ix/p-c80dddf1.entry.js.map +0 -1
  1076. package/dist/siemens-ix/p-c93a8094.entry.js.map +0 -1
  1077. package/dist/siemens-ix/p-cd52e37a.entry.js.map +0 -1
  1078. package/dist/siemens-ix/p-ce0642f0.entry.js.map +0 -1
  1079. package/dist/siemens-ix/p-d1cf2407.entry.js.map +0 -1
  1080. package/dist/siemens-ix/p-d3f99d59.entry.js.map +0 -1
  1081. package/dist/siemens-ix/p-e501b6ca.entry.js +0 -2
  1082. package/dist/siemens-ix/p-e501b6ca.entry.js.map +0 -1
  1083. package/dist/siemens-ix/p-e6c7e87a.entry.js.map +0 -1
  1084. package/dist/siemens-ix/p-f0575255.entry.js.map +0 -1
  1085. package/dist/siemens-ix/p-f3022851.entry.js +0 -2
  1086. package/dist/siemens-ix/p-f3022851.entry.js.map +0 -1
  1087. package/dist/siemens-ix/p-f3f6e45d.entry.js.map +0 -1
  1088. package/dist/siemens-ix/p-f7bfd5f6.entry.js.map +0 -1
  1089. package/dist/siemens-ix/p-f81de54a.entry.js +0 -2
  1090. package/dist/siemens-ix/p-f81de54a.entry.js.map +0 -1
  1091. package/dist/siemens-ix/p-f8a852c3.entry.js.map +0 -1
  1092. package/dist/siemens-ix/p-ff2171f6.entry.js.map +0 -1
  1093. /package/dist/siemens-ix/{p-e365aee3.entry.js.map → p-7535cbf6.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-category-filter.entry.js","sources":["src/components/category-filter/category-filter.scss?tag=ix-category-filter&encapsulation=shadow","src/components/category-filter/category-filter.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/shadows';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n@import '../button/button';\n@import 'legacy/components/dropdown';\n@import 'legacy/components/forms';\n@import 'mixins/input';\n\n@include form;\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n height: auto;\n\n .reset-button {\n position: absolute;\n top: $tiny-space;\n right: $tiny-space;\n }\n\n .reset-button.hide-reset-button {\n display: none;\n }\n\n .input-container {\n &:not(.readonly):not(.disabled) {\n @include element-input('false');\n }\n\n &:not(.readonly):not(.disabled):hover {\n border-color: var(--theme-input--border-color--hover) !important;\n background-color: var(--theme-input--background--hover);\n }\n\n &:not(.readonly):not(.disabled).focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-input--focus--outline-offset);\n border-color: var(--theme-input--border-color--focus) !important;\n }\n\n &.disabled {\n color: var(--theme-input--color--disabled);\n border-bottom: var(--theme-input--border-thickness, 1px) solid\n var(--theme-input--border-color-bottom--disabled);\n }\n\n &.readonly {\n @include element-input;\n }\n\n display: flex;\n height: auto;\n max-height: 3.75rem;\n padding: 1px $large-space 1px 1.75rem !important;\n\n &.no-icon {\n padding-left: $tiny-space;\n }\n }\n\n .token-container {\n flex-grow: 1;\n overflow: hidden;\n }\n\n .text-input {\n @include ellipsis;\n @include text-default;\n width: auto;\n height: 1.75rem;\n min-height: $large-space;\n background: transparent;\n flex-grow: 1;\n box-shadow: none;\n\n &,\n &:hover,\n &:focus,\n &:focus-visible {\n border: none !important;\n outline: none !important;\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n\n .list-unstyled {\n display: flex;\n flex-wrap: wrap;\n height: 100%;\n overflow-y: auto;\n }\n\n ix-icon {\n position: absolute;\n top: $small-space;\n left: $small-space;\n }\n\n ix-filter-chip {\n margin-right: $tiny-space;\n }\n\n .category-preview {\n display: flex;\n align-items: center;\n height: $large-space;\n background-color: var(--theme-bg-3);\n border-top-left-radius: $default-space;\n border-bottom-left-radius: $default-space;\n padding: $small-space;\n margin: 2px 0;\n }\n\n ul {\n height: 100%;\n }\n\n .list-unstyled > span:not(.category-preview),\n input {\n padding-inline-start: 0;\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n ix-dropdown {\n min-width: 10rem !important;\n\n .dropdown-item-container {\n display: flex;\n flex-direction: column;\n\n .dropdown-item {\n @include text-default-single;\n @include ellipsis;\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n height: $large-control-height;\n margin: $tiny-space $small-space;\n padding-inline: $small-space;\n border: 1px solid transparent;\n border-radius: 100rem;\n width: auto;\n justify-content: flex-start;\n flex-grow: 1;\n }\n\n .category-item {\n border-end-end-radius: 0;\n border-start-end-radius: 0;\n }\n\n .category-item-value {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n }\n\n .btn-toggle-operator {\n width: 2rem;\n height: 2rem;\n margin-inline: $small-space;\n }\n }\n\n .display-none {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\nimport { iconClear, iconSearch } from '@siemens/ix-icons/icons';\nimport { makeRef } from '../utils/make-ref';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { A11yAttributes, a11yHostAttributes } from '../utils/a11y';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n private formKeyDownListener?: DisposableEventListener;\n private preventDefaultListener?: DisposableEventListener;\n private inputKeyDownListener?: DisposableEventListener;\n private focusInListener?: DisposableEventListener;\n private focusOutListener?: DisposableEventListener;\n private inputListener?: DisposableEventListener;\n\n private readonly textInput? = makeRef<HTMLInputElement>();\n private formElement?: HTMLFormElement;\n private isScrollStateDirty?: boolean;\n private a11yAttributes?: A11yAttributes;\n\n @Element() hostElement!: HTMLIxCategoryFilterElement;\n\n @State() showDropdown = false;\n @State() hasFocus = false;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string = '';\n @State() category: string = '';\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState?: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Configuration object hash used to populate the dropdown menu for type-ahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories?: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as type-ahead suggestions not tied to any categories.\n */\n @Prop() suggestions?: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon?: string;\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean = false;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n *\n * @since 2.2.0\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true, allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever a category gets selected in the dropdown\n */\n @Event() categoryChanged!: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged!: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged!: EventEmitter<FilterState>;\n\n /**\n * Event dispatched whenever the filter gets cleared.\n */\n @Event() filterCleared!: EventEmitter<void>;\n\n get dropdown() {\n return this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue: FilterState) {\n this.setFilterState(newValue);\n }\n\n private preventDefault(e: Event) {\n e.preventDefault();\n }\n\n private onFocusIn() {\n this.hasFocus = true;\n }\n\n private onFocusOut() {\n this.hasFocus = false;\n }\n\n private onInput() {\n this.inputValue = this.textInput?.current?.value ?? '';\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown?.show) {\n this.openDropdown();\n }\n }\n\n componentWillLoad() {\n this.a11yAttributes = a11yHostAttributes(this.hostElement);\n }\n\n componentDidLoad() {\n setTimeout(() => {\n if (this.filterState !== undefined) {\n this.setFilterState(this.filterState);\n }\n });\n\n if (this.formElement !== undefined) {\n this.formKeyDownListener = addDisposableEventListener(\n this.formElement,\n 'keydown',\n ((e: KeyboardEvent) =>\n this.handleFormElementKeyDown(e)) as EventListener\n );\n\n this.preventDefaultListener = addDisposableEventListener(\n this.formElement,\n 'submit',\n this.preventDefault\n );\n }\n\n if (this.textInput?.current == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.inputKeyDownListener = addDisposableEventListener(\n this.textInput.current,\n 'keydown',\n ((e: KeyboardEvent) => this.handleInputElementKeyDown(e)) as EventListener\n );\n\n this.focusInListener = addDisposableEventListener(\n this.textInput.current,\n 'focusin',\n () => this.onFocusIn()\n );\n\n this.focusOutListener = addDisposableEventListener(\n this.textInput.current,\n 'focusout',\n () => this.onFocusOut()\n );\n\n this.inputListener = addDisposableEventListener(\n this.textInput.current,\n 'input',\n () => this.onInput()\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.dropdown) {\n this.dropdown.show = false;\n }\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.dropdown) {\n this.dropdown.show = true;\n }\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement?.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (token === null) {\n break;\n }\n\n if (this.hasCategorySelection()) {\n if (this.category !== '') {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement?.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement?.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusElement(selector: string): boolean {\n const item = this.hostElement.shadowRoot!.querySelector(selector);\n if (item instanceof HTMLElement) {\n item.focus();\n return true;\n }\n return false;\n }\n\n private onArrowDown(e: KeyboardEvent) {\n const baseSelector = `.category-item-${\n this.category !== '' ? 'value' : 'id'\n }`;\n const fallbackSelector = '.category-item';\n\n if (this.focusElement(baseSelector)) {\n e.stopPropagation();\n return;\n }\n\n if (this.suggestions?.length && this.focusElement(fallbackSelector)) {\n e.stopPropagation();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown': {\n this.onArrowDown(e);\n break;\n }\n\n case 'Backspace':\n if (this.textInput?.current?.value !== '') {\n return;\n }\n\n if (this.category !== '') {\n this.category = '';\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(\n this.inputValue,\n this.category || this.ID_CUSTOM_FILTER_VALUE\n );\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n if (this.textInput?.current) {\n this.textInput.current.value = '';\n }\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== '') {\n this.category = '';\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput?.current?.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n if (this.textInput?.current) {\n this.textInput.current.value = '';\n }\n this.inputValue = '';\n this.textInput?.current?.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n const { defaultPrevented } = this.filterCleared.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n if (this.category) {\n this.category = '';\n this.categoryChanged.emit(undefined);\n }\n\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== '') {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories?.[value.id]?.label ??\n this.nonSelectableCategories?.[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n if (this.categories === undefined) {\n return;\n }\n\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.addToken(id, this.category);\n }}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== '') {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter(\n (id) =>\n this.categories && this.filterByInput(this.categories[id].label)\n )\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories?.[id]?.label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories?.[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== '') {\n return undefined;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput?.current?.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n disconnectedCallback() {\n if (this.preventDefaultListener) {\n this.preventDefaultListener();\n }\n if (this.formKeyDownListener) {\n this.formKeyDownListener();\n }\n if (this.inputKeyDownListener) {\n this.inputKeyDownListener?.();\n }\n if (this.focusInListener) {\n this.focusInListener();\n }\n if (this.focusOutListener) {\n this.focusOutListener();\n }\n if (this.inputListener) {\n this.inputListener();\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === '',\n }}\n ghost\n oval\n icon={iconClear}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'display-none': this.hideIcon }}\n name={this.icon ?? iconSearch}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <div class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <span\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </span>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <span\n class={{\n 'category-preview': true,\n 'display-none': this.category === '',\n }}\n >\n {this.categories[this.category]?.label}\n </span>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly || this.disabled || this.category !== '',\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={this.textInput}\n type=\"text\"\n placeholder={this.placeholder}\n {...this.a11yAttributes}\n ></input>\n </div>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput?.waitForCurrent()}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-category-filter.entry.js","sources":["src/components/category-filter/category-filter.scss?tag=ix-category-filter&encapsulation=shadow","src/components/category-filter/category-filter.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/shadows';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/text-truncation';\n@import '../button/button';\n@import 'legacy/components/dropdown';\n@import 'legacy/components/forms';\n@import 'mixins/input';\n\n@include form;\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n height: auto;\n\n .reset-button {\n position: absolute;\n top: $tiny-space;\n right: $tiny-space;\n }\n\n .reset-button.hide-reset-button {\n display: none;\n }\n\n .input-container {\n &:not(.readonly):not(.disabled) {\n @include element-input('false');\n }\n\n &:not(.readonly):not(.disabled):hover {\n border-color: var(--theme-input--border-color--hover) !important;\n background-color: var(--theme-input--background--hover);\n }\n\n &:not(.readonly):not(.disabled).focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-input--focus--outline-offset);\n border-color: var(--theme-input--border-color--focus) !important;\n }\n\n &.disabled {\n color: var(--theme-input--color--disabled);\n border-bottom: var(--theme-input--border-thickness, 1px) solid\n var(--theme-input--border-color-bottom--disabled);\n }\n\n &.readonly {\n @include element-input;\n }\n\n display: flex;\n height: auto;\n max-height: 3.75rem;\n padding: 1px $large-space 1px 1.75rem !important;\n\n &.no-icon {\n padding-left: $tiny-space;\n }\n }\n\n .token-container {\n flex-grow: 1;\n overflow: hidden;\n }\n\n .text-input {\n @include ellipsis;\n @include text-default;\n width: auto;\n height: 1.75rem;\n min-height: $large-space;\n background: transparent;\n flex-grow: 1;\n box-shadow: none;\n\n &,\n &:hover,\n &:focus,\n &:focus-visible {\n border: none !important;\n outline: none !important;\n }\n\n &.hide-placeholder::placeholder {\n opacity: 0;\n }\n }\n\n .list-unstyled {\n display: flex;\n flex-wrap: wrap;\n height: 100%;\n overflow-y: auto;\n }\n\n ix-icon {\n position: absolute;\n top: $small-space;\n left: $small-space;\n }\n\n ix-filter-chip {\n margin-right: $tiny-space;\n }\n\n .category-preview {\n display: flex;\n align-items: center;\n height: $large-space;\n background-color: var(--theme-bg-3);\n border-top-left-radius: $default-space;\n border-bottom-left-radius: $default-space;\n padding: $small-space;\n margin: 2px 0;\n }\n\n ul {\n height: 100%;\n }\n\n .list-unstyled > span:not(.category-preview),\n input {\n padding-inline-start: 0;\n padding-top: 2px;\n padding-bottom: 2px;\n }\n\n ix-dropdown {\n min-width: 10rem !important;\n\n .dropdown-item-container {\n display: flex;\n flex-direction: column;\n\n .dropdown-item {\n @include text-default-single;\n @include ellipsis;\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n }\n\n height: $large-control-height;\n margin: $tiny-space $small-space;\n padding-inline: $small-space;\n border: 1px solid transparent;\n border-radius: 100rem;\n width: auto;\n justify-content: flex-start;\n flex-grow: 1;\n }\n\n .category-item {\n border-end-end-radius: 0;\n border-start-end-radius: 0;\n }\n\n .category-item-value {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n }\n\n .btn-toggle-operator {\n width: 2rem;\n height: 2rem;\n margin-inline: $small-space;\n }\n }\n\n .display-none {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\nimport { iconClear, iconSearch } from '@siemens/ix-icons/icons';\nimport { makeRef } from '../utils/make-ref';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { A11yAttributes, a11yHostAttributes } from '../utils/a11y';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n shadow: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n private formKeyDownListener?: DisposableEventListener;\n private preventDefaultListener?: DisposableEventListener;\n private inputKeyDownListener?: DisposableEventListener;\n private focusInListener?: DisposableEventListener;\n private focusOutListener?: DisposableEventListener;\n private inputListener?: DisposableEventListener;\n\n private readonly textInput? = makeRef<HTMLInputElement>();\n private formElement?: HTMLFormElement;\n private isScrollStateDirty?: boolean;\n private a11yAttributes?: A11yAttributes;\n\n @Element() hostElement!: HTMLIxCategoryFilterElement;\n\n @State() showDropdown = false;\n @State() hasFocus = false;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string = '';\n @State() category: string = '';\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * If true the filter will be in disabled state\n */\n @Prop() disabled = false;\n\n /**\n * If true the filter will be in readonly mode\n */\n @Prop() readonly = false;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState?: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder?: string;\n\n /**\n * Configuration object hash used to populate the dropdown menu for type-ahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories?: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as type-ahead suggestions not tied to any categories.\n */\n @Prop() suggestions?: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon?: string;\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean = false;\n\n /**\n * If set categories will always be filtered via the respective logical operator.\n * Toggling of the operator will not be available to the user.\n */\n @Prop() staticOperator?: LogicalFilterOperator;\n\n /**\n * If set to true, allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever a category gets selected in the dropdown\n */\n @Event() categoryChanged!: EventEmitter<string>;\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged!: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged!: EventEmitter<FilterState>;\n\n /**\n * Event dispatched whenever the filter gets cleared.\n */\n @Event() filterCleared!: EventEmitter<void>;\n\n get dropdown() {\n return this.hostElement.shadowRoot!.querySelector('ix-dropdown');\n }\n\n @Watch('filterState')\n watchFilterState(newValue: FilterState) {\n this.setFilterState(newValue);\n }\n\n private preventDefault(e: Event) {\n e.preventDefault();\n }\n\n private onFocusIn() {\n this.hasFocus = true;\n }\n\n private onFocusOut() {\n this.hasFocus = false;\n }\n\n private onInput() {\n this.inputValue = this.textInput?.current?.value ?? '';\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n\n if (!this.dropdown?.show) {\n this.openDropdown();\n }\n }\n\n componentWillLoad() {\n this.a11yAttributes = a11yHostAttributes(this.hostElement);\n }\n\n componentDidLoad() {\n setTimeout(() => {\n if (this.filterState !== undefined) {\n this.setFilterState(this.filterState);\n }\n });\n\n if (this.formElement !== undefined) {\n this.formKeyDownListener = addDisposableEventListener(\n this.formElement,\n 'keydown',\n ((e: KeyboardEvent) =>\n this.handleFormElementKeyDown(e)) as EventListener\n );\n\n this.preventDefaultListener = addDisposableEventListener(\n this.formElement,\n 'submit',\n this.preventDefault\n );\n }\n\n if (this.textInput?.current == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.inputKeyDownListener = addDisposableEventListener(\n this.textInput.current,\n 'keydown',\n ((e: KeyboardEvent) => this.handleInputElementKeyDown(e)) as EventListener\n );\n\n this.focusInListener = addDisposableEventListener(\n this.textInput.current,\n 'focusin',\n () => this.onFocusIn()\n );\n\n this.focusOutListener = addDisposableEventListener(\n this.textInput.current,\n 'focusout',\n () => this.onFocusOut()\n );\n\n this.inputListener = addDisposableEventListener(\n this.textInput.current,\n 'input',\n () => this.onInput()\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.dropdown) {\n this.dropdown.show = false;\n }\n }\n\n private openDropdown() {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (this.dropdown) {\n this.dropdown.show = true;\n }\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement?.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (token === null) {\n break;\n }\n\n if (this.hasCategorySelection()) {\n if (this.category !== '') {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.showDropdown = true;\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement?.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement?.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusElement(selector: string): boolean {\n const item = this.hostElement.shadowRoot!.querySelector(selector);\n if (item instanceof HTMLElement) {\n item.focus();\n return true;\n }\n return false;\n }\n\n private onArrowDown(e: KeyboardEvent) {\n const baseSelector = `.category-item-${\n this.category !== '' ? 'value' : 'id'\n }`;\n const fallbackSelector = '.category-item';\n\n if (this.focusElement(baseSelector)) {\n e.stopPropagation();\n return;\n }\n\n if (this.suggestions?.length && this.focusElement(fallbackSelector)) {\n e.stopPropagation();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown': {\n this.onArrowDown(e);\n break;\n }\n\n case 'Backspace':\n if (this.textInput?.current?.value !== '') {\n return;\n }\n\n if (this.category !== '') {\n this.category = '';\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(\n this.inputValue,\n this.category || this.ID_CUSTOM_FILTER_VALUE\n );\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n if (this.textInput?.current) {\n this.textInput.current.value = '';\n }\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category !== '') {\n this.category = '';\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput?.current?.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n if (this.textInput?.current) {\n this.textInput.current.value = '';\n }\n this.inputValue = '';\n this.textInput?.current?.focus();\n this.categoryChanged.emit(category);\n }\n\n private resetFilter(e: Event) {\n const { defaultPrevented } = this.filterCleared.emit();\n\n if (defaultPrevented) {\n return;\n }\n\n e.stopPropagation();\n this.closeDropdown();\n this.filterTokens = [];\n if (this.category) {\n this.category = '';\n this.categoryChanged.emit(undefined);\n }\n\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category !== '') {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories?.[value.id]?.label ??\n this.nonSelectableCategories?.[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderOperatorButton() {\n if (this.staticOperator) {\n return '';\n }\n\n const params: BaseButtonProps = {\n type: 'button',\n variant: 'secondary',\n outline: false,\n ghost: true,\n iconOnly: true,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.staticOperator !== undefined,\n loading: false,\n icon: '',\n onClick: (e: Event) => {\n e.stopPropagation();\n this.toggleCategoryOperator();\n },\n extraClasses: {\n 'btn-icon-32': true,\n 'btn-toggle-operator': true,\n },\n };\n\n return (\n <BaseButton {...params}>\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </BaseButton>\n );\n }\n\n private getFilterOperatorString() {\n let operator: LogicalFilterOperator;\n if (this.staticOperator !== undefined) {\n operator = this.staticOperator;\n } else {\n operator = this.categoryLogicalOperator;\n }\n return `${operator === LogicalFilterOperator.EQUAL ? '=' : '!='} `;\n }\n\n private renderCategoryValues() {\n if (this.categories === undefined) {\n return;\n }\n\n return (\n <div class=\"dropdown-item-container\">\n {this.renderOperatorButton()}\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.addToken(id, this.category);\n }}\n >\n {`${this.getFilterOperatorString()} ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category !== '') {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter(\n (id) =>\n this.categories && this.filterByInput(this.categories[id].label)\n )\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories?.[id]?.label}\n key={id}\n onClick={(e) => {\n e.preventDefault();\n this.selectCategory(id);\n }}\n tabindex=\"0\"\n >\n {this.categories?.[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories !== undefined) {\n if (this.category !== '') {\n return undefined;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput?.current?.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n disconnectedCallback() {\n if (this.preventDefaultListener) {\n this.preventDefaultListener();\n }\n if (this.formKeyDownListener) {\n this.formKeyDownListener();\n }\n if (this.inputKeyDownListener) {\n this.inputKeyDownListener?.();\n }\n if (this.focusInListener) {\n this.focusInListener();\n }\n if (this.focusOutListener) {\n this.focusOutListener();\n }\n if (this.inputListener) {\n this.inputListener();\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={(e) => this.resetFilter(e)}\n class={{\n 'reset-button': true,\n 'hide-reset-button':\n !this.filterTokens.length && this.category === '',\n }}\n ghost\n oval\n icon={iconClear}\n size=\"16\"\n ></ix-icon-button>\n );\n }\n\n private getIconColor() {\n if (this.disabled) {\n return 'color-componentn-1';\n }\n\n if (this.readonly) {\n return 'color-std-txt';\n }\n\n return 'color-primary';\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n read-only={this.readonly}\n class={{\n 'input-container': true,\n disabled: this.disabled,\n focus: this.hasFocus,\n readonly: this.readonly,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n color={this.getIconColor()}\n class={{ 'display-none': this.hideIcon }}\n name={this.icon ?? iconSearch}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <div class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <span\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n disabled={this.disabled}\n readonly={this.readonly}\n onClick={(e) => e.stopPropagation()}\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </span>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <span\n class={{\n 'category-preview': true,\n 'display-none': this.category === '',\n }}\n >\n {this.categories[this.category]?.label}\n </span>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder':\n this.readonly || this.disabled || this.category !== '',\n }}\n autocomplete=\"off\"\n name=\"category-filter-input\"\n disabled={this.disabled}\n readonly={this.readonly}\n ref={this.textInput}\n type=\"text\"\n placeholder={this.placeholder}\n {...this.a11yAttributes}\n ></input>\n </div>\n </div>\n {!this.readonly && !this.disabled && this.getResetButton()}\n </div>\n </form>\n\n {this.disabled || this.readonly ? (\n ''\n ) : (\n <ix-dropdown\n show={this.showDropdown}\n closeBehavior=\"outside\"\n offset={{ mainAxis: 2 }}\n anchor={this.textInput?.waitForCurrent()}\n trigger={this.hostElement}\n header={this.getDropdownHeader()}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n )}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-BNpBEtDH.js';
2
- import { H as HookValidationLifecycle } from './validation-C_w_pHgR.js';
2
+ import { H as HookValidationLifecycle } from './validation-CS0nhfz1.js';
3
+ import { m as makeRef } from './make-ref-bcj7UEIC.js';
3
4
 
4
5
  const checkboxGroupCss = ":host{display:inline-block;position:relative}:host .checkbox-container{display:flex;flex-direction:column;gap:1rem;margin:0.375rem 0;flex-wrap:wrap}:host .checkbox-container.row-layout{flex-direction:row}";
5
6
 
@@ -24,10 +25,41 @@ const CheckboxGroup = class {
24
25
  * Show helper, info, warning, error and valid text as tooltip
25
26
  */
26
27
  this.showTextAsTooltip = false;
28
+ /**
29
+ * @internal
30
+ */
31
+ this.required = false;
27
32
  this.isInvalid = false;
28
33
  this.isInfo = false;
29
34
  this.isValid = false;
30
35
  this.isWarning = false;
36
+ this.touched = false;
37
+ this.groupRef = makeRef();
38
+ this.observer = new MutationObserver(() => {
39
+ this.checkForRequiredCheckbox();
40
+ });
41
+ }
42
+ get checkboxElements() {
43
+ return Array.from(this.hostElement.querySelectorAll('ix-checkbox'));
44
+ }
45
+ checkForRequiredCheckbox() {
46
+ this.required = this.checkboxElements.some((checkbox) => checkbox.required);
47
+ }
48
+ connectedCallback() {
49
+ this.observer.observe(this.hostElement, {
50
+ childList: true,
51
+ subtree: true,
52
+ attributes: true,
53
+ attributeFilter: ['checked', 'required'],
54
+ });
55
+ }
56
+ componentWillLoad() {
57
+ this.checkForRequiredCheckbox();
58
+ }
59
+ disconnectedCallback() {
60
+ if (this.observer) {
61
+ this.observer.disconnect();
62
+ }
31
63
  }
32
64
  onClassFieldUpdate({ isInvalid, isInvalidByRequired, isInfo, isValid, isWarning, }) {
33
65
  this.isInvalid = isInvalid || isInvalidByRequired;
@@ -35,11 +67,23 @@ const CheckboxGroup = class {
35
67
  this.isValid = isValid;
36
68
  this.isWarning = isWarning;
37
69
  }
70
+ /**
71
+ * @internal
72
+ */
73
+ isTouched() {
74
+ return Promise.resolve(this.touched);
75
+ }
76
+ /**
77
+ * @internal
78
+ */
79
+ hasValidValue() {
80
+ return Promise.resolve(this.checkboxElements.some((checkbox) => checkbox.checked));
81
+ }
38
82
  render() {
39
- return (h(Host, { key: '27aee735ce40e2c2f3b019afad6a44ed1029c2c6' }, h("ix-field-wrapper", { key: '70b0666837cc8ed83defc9844cc58003f489a22e', label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, validText: this.validText, warningText: this.warningText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isInfo: this.isInfo, isValid: this.isValid, isWarning: this.isWarning }, h("div", { key: '59485040ff9509b58b7bd8f7f50e53970585ffb5', class: {
83
+ return (h(Host, { key: '77b87f092dc2a4d95adbd496cbbbc22eb0c923c3', ref: this.groupRef, onIxBlur: () => (this.touched = true) }, h("ix-field-wrapper", { key: 'b0a0db7727ff7bd6cd554a8ef14afea3ed4ff46a', label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, validText: this.validText, warningText: this.warningText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isInfo: this.isInfo, isValid: this.isValid, isWarning: this.isWarning, controlRef: this.groupRef }, h("div", { key: '7bcf7ecacfe94c995a335f72b78f01f554a3d469', class: {
40
84
  'checkbox-container': true,
41
85
  'row-layout': this.direction === 'row',
42
- } }, h("slot", { key: 'af5f7db97a6efec492299336428bbb9ded00fbca' })))));
86
+ } }, h("slot", { key: '416117ca60b21153342224b27261faa3f81f87a2' })))));
43
87
  }
44
88
  get hostElement() { return getElement(this); }
45
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ix-checkbox-group.entry.js","sources":["src/components/checkbox-group/checkbox-group.scss?tag=ix-checkbox-group&encapsulation=shadow","src/components/checkbox-group/checkbox-group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n display: inline-block;\n position: relative;\n\n .checkbox-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin: 0.375rem 0;\n flex-wrap: wrap;\n\n &.row-layout {\n flex-direction: row;\n }\n }\n}\n","import { Component, Element, Host, Prop, State, h } from '@stencil/core';\nimport {\n FieldWrapperInterface,\n HookValidationLifecycle,\n IxFormValidationState,\n ValidationResults,\n} from '../utils/input';\nimport { IxComponent } from '../utils/internal';\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n})\nexport class CheckboxGroup\n implements FieldWrapperInterface, IxFormValidationState, IxComponent\n{\n @Element() hostElement!: HTMLIxCheckboxGroupElement;\n /**\n * Optional helper text displayed below the checkbox group\n */\n @Prop() helperText?: string;\n\n /**\n * Label for the checkbox group\n */\n @Prop() label?: string;\n\n /**\n * Alignment of the checkboxes in the group\n */\n @Prop() direction: 'row' | 'column' = 'column';\n\n /**\n * Error text for the checkbox group\n */\n @Prop() invalidText?: string;\n\n /**\n * Info text for the checkbox group\n */\n @Prop() infoText?: string;\n /**\n * Valid text for the checkbox group\n */\n @Prop() validText?: string;\n /**\n * Warning text for the checkbox group\n */\n @Prop() warningText?: string;\n\n /**\n * Show helper, info, warning, error and valid text as tooltip\n */\n @Prop() showTextAsTooltip = false;\n\n @State() isInvalid = false;\n @State() isInfo = false;\n @State() isValid = false;\n @State() isWarning = false;\n\n @HookValidationLifecycle({\n includeChildren: true,\n })\n onClassFieldUpdate({\n isInvalid,\n isInvalidByRequired,\n isInfo,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n render() {\n return (\n <Host>\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n validText={this.validText}\n warningText={this.warningText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isInfo={this.isInfo}\n isValid={this.isValid}\n isWarning={this.isWarning}\n >\n <div\n class={{\n 'checkbox-container': true,\n 'row-layout': this.direction === 'row',\n }}\n >\n <slot></slot>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;AAAA,MAAM,gBAAgB,GAAG,8MAA8M;;;;;;;;;;;;MCkB1N,aAAa,GAAA,MAAA;AAL1B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAmBE;;AAEG;AACK,QAAA,IAAS,CAAA,SAAA,GAAqB,QAAQ;AAoB9C;;AAEG;AACK,QAAA,IAAiB,CAAA,iBAAA,GAAG,KAAK;AAExB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;AACjB,QAAA,IAAM,CAAA,MAAA,GAAG,KAAK;AACd,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AACf,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK;AA8C3B;IAzCC,kBAAkB,CAAC,EACjB,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,OAAO,EACP,SAAS,GACS,EAAA;AAClB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,mBAAmB;AACjD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;;IAG5B,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAA,EAEzB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,oBAAoB,EAAE,IAAI;AAC1B,gBAAA,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,KAAK;AACvC,aAAA,EAAA,EAED,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACW,CACd;;;;AAtCX,UAAA,CAAA;AAHC,IAAA,uBAAuB,CAAC;AACvB,QAAA,eAAe,EAAE,IAAI;KACtB;CAYA,EAAA,aAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,IAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"ix-checkbox-group.entry.js","sources":["src/components/checkbox-group/checkbox-group.scss?tag=ix-checkbox-group&encapsulation=shadow","src/components/checkbox-group/checkbox-group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n display: inline-block;\n position: relative;\n\n .checkbox-container {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n margin: 0.375rem 0;\n flex-wrap: wrap;\n\n &.row-layout {\n flex-direction: row;\n }\n }\n}\n","import {\n Component,\n Element,\n Host,\n Method,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport {\n FieldWrapperInterface,\n HookValidationLifecycle,\n IxFormValidationState,\n ValidationResults,\n} from '../utils/input';\nimport { IxComponent } from '../utils/internal';\nimport { makeRef } from '../utils/make-ref';\n\n/**\n * @form-ready\n */\n@Component({\n tag: 'ix-checkbox-group',\n styleUrl: 'checkbox-group.scss',\n shadow: true,\n})\nexport class CheckboxGroup\n implements FieldWrapperInterface, IxFormValidationState, IxComponent\n{\n @Element() hostElement!: HTMLIxCheckboxGroupElement;\n /**\n * Optional helper text displayed below the checkbox group\n */\n @Prop() helperText?: string;\n\n /**\n * Label for the checkbox group\n */\n @Prop() label?: string;\n\n /**\n * Alignment of the checkboxes in the group\n */\n @Prop() direction: 'row' | 'column' = 'column';\n\n /**\n * Error text for the checkbox group\n */\n @Prop() invalidText?: string;\n\n /**\n * Info text for the checkbox group\n */\n @Prop() infoText?: string;\n /**\n * Valid text for the checkbox group\n */\n @Prop() validText?: string;\n /**\n * Warning text for the checkbox group\n */\n @Prop() warningText?: string;\n\n /**\n * Show helper, info, warning, error and valid text as tooltip\n */\n @Prop() showTextAsTooltip = false;\n\n /**\n * @internal\n */\n @Prop() required = false;\n\n @State() isInvalid = false;\n @State() isInfo = false;\n @State() isValid = false;\n @State() isWarning = false;\n\n private touched = false;\n private readonly groupRef = makeRef<HTMLIxCheckboxGroupElement>();\n\n get checkboxElements(): HTMLIxCheckboxElement[] {\n return Array.from(this.hostElement.querySelectorAll('ix-checkbox'));\n }\n\n private readonly observer = new MutationObserver(() => {\n this.checkForRequiredCheckbox();\n });\n\n private checkForRequiredCheckbox() {\n this.required = this.checkboxElements.some((checkbox) => checkbox.required);\n }\n\n connectedCallback(): void {\n this.observer.observe(this.hostElement, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'required'],\n });\n }\n\n componentWillLoad(): void | Promise<void> {\n this.checkForRequiredCheckbox();\n }\n\n disconnectedCallback(): void {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n @HookValidationLifecycle({\n includeChildren: true,\n })\n onClassFieldUpdate({\n isInvalid,\n isInvalidByRequired,\n isInfo,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n /**\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n /**\n * @internal\n */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(\n this.checkboxElements.some((checkbox) => checkbox.checked)\n );\n }\n\n render() {\n return (\n <Host ref={this.groupRef} onIxBlur={() => (this.touched = true)}>\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n validText={this.validText}\n warningText={this.warningText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isInfo={this.isInfo}\n isValid={this.isValid}\n isWarning={this.isWarning}\n controlRef={this.groupRef}\n >\n <div\n class={{\n 'checkbox-container': true,\n 'row-layout': this.direction === 'row',\n }}\n >\n <slot></slot>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-BNpBEtDH.js';
2
- import { H as HookValidationLifecycle } from './validation-C_w_pHgR.js';
3
- import { m as makeRef } from './make-ref-bcj7UEIC.js';
4
2
  import { a as a11yBoolean } from './a11y-Bb7pDeaQ.js';
3
+ import { H as HookValidationLifecycle } from './validation-CS0nhfz1.js';
4
+ import { m as makeRef } from './make-ref-bcj7UEIC.js';
5
5
 
6
6
  const checkboxCss = ":host{--ix-checkbox-check-color:var(--theme-color-primary--contrast);display:inline-block;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host button{all:unset;display:inline-flex;position:relative;align-items:center;justify-content:center;width:1.125rem;min-width:1.125rem;max-width:1.125rem;height:1.125rem;min-height:1.125rem;max-height:1.125rem;margin-right:0.5rem}:host button:disabled{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host button:focus-visible{outline:0.0625rem solid var(--theme-color-focus-bdr);outline-offset:var(--theme-checkbox--focus--outline-offset)}:host input[type=checkbox]{display:none}:host label{display:flex;justify-content:flex-start;align-items:flex-start;width:100%;height:100%}:host ix-typography{margin-top:0.125rem}:host button{background-color:var(--theme-checkbox-unchecked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color)}:host(:hover) button{background-color:var(--theme-checkbox-unchecked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--hover)}:host(:active) button{background-color:var(--theme-checkbox-unchecked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--active)}:host(.checked) button,:host(.indeterminate) button{background-color:var(--theme-checkbox-checked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color)}:host(.checked:hover) button,:host(.indeterminate:hover) button{background-color:var(--theme-checkbox-checked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--hover)}:host(.checked:active) button,:host(.indeterminate:active) button{background-color:var(--theme-checkbox-checked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--active)}:host(.disabled) button{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host(.checked.disabled) button,:host(.indeterminate.disabled) button{background-color:var(--theme-checkbox-checked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--disabled)}:host(.ix-info) button{--theme-checkbox-unchecked--background:var(\n --theme-checkbox-unchecked--background--info\n );--theme-checkbox-unchecked--background--hover:var(\n --theme-checkbox-unchecked--background--info--hover\n );--theme-checkbox-unchecked--background--active:var(\n --theme-checkbox-unchecked--background--info--active\n );--theme-checkbox-unchecked--border-color:var(\n --theme-checkbox-unchecked--border-color--info\n );--theme-checkbox-unchecked--border-color--hover:var(\n --theme-checkbox-unchecked--border-color--info--hover\n );--theme-checkbox-unchecked--border-color--active:var(\n --theme-checkbox-unchecked--border-color--info--active\n );--theme-checkbox-checked--background:var(\n --theme-checkbox-checked--background--info\n );--theme-checkbox-checked--background--hover:var(\n --theme-checkbox-checked--background--info--hover\n );--theme-checkbox-checked--background--active:var(\n --theme-checkbox-checked--background--info--active\n );--theme-checkbox-checked--border-color:var(\n --theme-checkbox-checked--border-color--info\n );--theme-checkbox-checked--border-color--hover:var(\n --theme-checkbox-checked--border-color--info--hover\n );--theme-checkbox-checked--border-color--active:var(\n --theme-checkbox-checked--border-color--info--active\n );--theme-checkbox-mixed--background:var(\n --theme-checkbox-mixed--background--info\n );--theme-checkbox-mixed--background--hover:var(\n --theme-checkbox-mixed--background--info--hover\n );--theme-checkbox-mixed--background--active:var(\n --theme-checkbox-mixed--background--info--active\n );--theme-checkbox-mixed--border-color:var(\n --theme-checkbox-mixed--border-color--info\n );--theme-checkbox-mixed--border-color--hover:var(\n --theme-checkbox-mixed--border-color--info--hover\n );--theme-checkbox-mixed--border-color--active:var(\n --theme-checkbox-mixed--border-color--info--active\n );background-color:var(--theme-checkbox-unchecked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color)}:host(.ix-info:hover) button{background-color:var(--theme-checkbox-unchecked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--hover)}:host(.ix-info:active) button{background-color:var(--theme-checkbox-unchecked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--active)}:host(.ix-info.checked) button,:host(.ix-info.indeterminate) button{background-color:var(--theme-checkbox-checked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color)}:host(.ix-info.checked:hover) button,:host(.ix-info.indeterminate:hover) button{background-color:var(--theme-checkbox-checked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--hover)}:host(.ix-info.checked:active) button,:host(.ix-info.indeterminate:active) button{background-color:var(--theme-checkbox-checked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--active)}:host(.ix-info.disabled) button{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host(.ix-info.checked.disabled) button,:host(.ix-info.indeterminate.disabled) button{background-color:var(--theme-checkbox-checked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--disabled)}:host(.ix-warning) button{--theme-checkbox-unchecked--background:var(\n --theme-checkbox-unchecked--background--warning\n );--theme-checkbox-unchecked--background--hover:var(\n --theme-checkbox-unchecked--background--warning--hover\n );--theme-checkbox-unchecked--background--active:var(\n --theme-checkbox-unchecked--background--warning--active\n );--theme-checkbox-unchecked--border-color:var(\n --theme-checkbox-unchecked--border-color--warning\n );--theme-checkbox-unchecked--border-color--hover:var(\n --theme-checkbox-unchecked--border-color--warning--hover\n );--theme-checkbox-unchecked--border-color--active:var(\n --theme-checkbox-unchecked--border-color--warning--active\n );--theme-checkbox-checked--background:var(\n --theme-checkbox-checked--background--warning\n );--theme-checkbox-checked--background--hover:var(\n --theme-checkbox-checked--background--warning--hover\n );--theme-checkbox-checked--background--active:var(\n --theme-checkbox-checked--background--warning--active\n );--theme-checkbox-checked--border-color:var(\n --theme-checkbox-checked--border-color--warning\n );--theme-checkbox-checked--border-color--hover:var(\n --theme-checkbox-checked--border-color--warning--hover\n );--theme-checkbox-checked--border-color--active:var(\n --theme-checkbox-checked--border-color--warning--active\n );--theme-checkbox-mixed--background:var(\n --theme-checkbox-mixed--background--warning\n );--theme-checkbox-mixed--background--hover:var(\n --theme-checkbox-mixed--background--warning--hover\n );--theme-checkbox-mixed--background--active:var(\n --theme-checkbox-mixed--background--warning--active\n );--theme-checkbox-mixed--border-color:var(\n --theme-checkbox-mixed--border-color--warning\n );--theme-checkbox-mixed--border-color--hover:var(\n --theme-checkbox-mixed--border-color--warning--hover\n );--theme-checkbox-mixed--border-color--active:var(\n --theme-checkbox-mixed--border-color--warning--active\n );background-color:var(--theme-checkbox-unchecked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color)}:host(.ix-warning:hover) button{background-color:var(--theme-checkbox-unchecked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--hover)}:host(.ix-warning:active) button{background-color:var(--theme-checkbox-unchecked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--active)}:host(.ix-warning.checked) button,:host(.ix-warning.indeterminate) button{background-color:var(--theme-checkbox-checked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color)}:host(.ix-warning.checked:hover) button,:host(.ix-warning.indeterminate:hover) button{background-color:var(--theme-checkbox-checked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--hover)}:host(.ix-warning.checked:active) button,:host(.ix-warning.indeterminate:active) button{background-color:var(--theme-checkbox-checked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--active)}:host(.ix-warning.disabled) button{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host(.ix-warning.checked.disabled) button,:host(.ix-warning.indeterminate.disabled) button{background-color:var(--theme-checkbox-checked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--disabled)}:host(.ix-invalid--required) button{--theme-checkbox-unchecked--background:var(\n --theme-checkbox-unchecked--background--invalid\n );--theme-checkbox-unchecked--background--hover:var(\n --theme-checkbox-unchecked--background--invalid--hover\n );--theme-checkbox-unchecked--background--active:var(\n --theme-checkbox-unchecked--background--invalid--active\n );--theme-checkbox-unchecked--border-color:var(\n --theme-checkbox-unchecked--border-color--invalid\n );--theme-checkbox-unchecked--border-color--hover:var(\n --theme-checkbox-unchecked--border-color--invalid--hover\n );--theme-checkbox-unchecked--border-color--active:var(\n --theme-checkbox-unchecked--border-color--invalid--active\n );--theme-checkbox-checked--background:var(\n --theme-checkbox-checked--background--invalid\n );--theme-checkbox-checked--background--hover:var(\n --theme-checkbox-checked--background--invalid--hover\n );--theme-checkbox-checked--background--active:var(\n --theme-checkbox-checked--background--invalid--active\n );--theme-checkbox-checked--border-color:var(\n --theme-checkbox-checked--border-color--invalid\n );--theme-checkbox-checked--border-color--hover:var(\n --theme-checkbox-checked--border-color--invalid--hover\n );--theme-checkbox-checked--border-color--active:var(\n --theme-checkbox-checked--border-color--invalid--active\n );--theme-checkbox-mixed--background:var(\n --theme-checkbox-mixed--background--invalid\n );--theme-checkbox-mixed--background--hover:var(\n --theme-checkbox-mixed--background--invalid--hover\n );--theme-checkbox-mixed--background--active:var(\n --theme-checkbox-mixed--background--invalid--active\n );--theme-checkbox-mixed--border-color:var(\n --theme-checkbox-mixed--border-color--invalid\n );--theme-checkbox-mixed--border-color--hover:var(\n --theme-checkbox-mixed--border-color--invalid--hover\n );--theme-checkbox-mixed--border-color--active:var(\n --theme-checkbox-mixed--border-color--invalid--active\n );background-color:var(--theme-checkbox-unchecked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color)}:host(.ix-invalid--required:hover) button{background-color:var(--theme-checkbox-unchecked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--hover)}:host(.ix-invalid--required:active) button{background-color:var(--theme-checkbox-unchecked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--active)}:host(.ix-invalid--required.checked) button,:host(.ix-invalid--required.indeterminate) button{background-color:var(--theme-checkbox-checked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color)}:host(.ix-invalid--required.checked:hover) button,:host(.ix-invalid--required.indeterminate:hover) button{background-color:var(--theme-checkbox-checked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--hover)}:host(.ix-invalid--required.checked:active) button,:host(.ix-invalid--required.indeterminate:active) button{background-color:var(--theme-checkbox-checked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--active)}:host(.ix-invalid--required.disabled) button{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host(.ix-invalid--required.checked.disabled) button,:host(.ix-invalid--required.indeterminate.disabled) button{background-color:var(--theme-checkbox-checked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--disabled)}:host(.ix-invalid) button{--theme-checkbox-unchecked--background:var(\n --theme-checkbox-unchecked--background--invalid\n );--theme-checkbox-unchecked--background--hover:var(\n --theme-checkbox-unchecked--background--invalid--hover\n );--theme-checkbox-unchecked--background--active:var(\n --theme-checkbox-unchecked--background--invalid--active\n );--theme-checkbox-unchecked--border-color:var(\n --theme-checkbox-unchecked--border-color--invalid\n );--theme-checkbox-unchecked--border-color--hover:var(\n --theme-checkbox-unchecked--border-color--invalid--hover\n );--theme-checkbox-unchecked--border-color--active:var(\n --theme-checkbox-unchecked--border-color--invalid--active\n );--theme-checkbox-checked--background:var(\n --theme-checkbox-checked--background--invalid\n );--theme-checkbox-checked--background--hover:var(\n --theme-checkbox-checked--background--invalid--hover\n );--theme-checkbox-checked--background--active:var(\n --theme-checkbox-checked--background--invalid--active\n );--theme-checkbox-checked--border-color:var(\n --theme-checkbox-checked--border-color--invalid\n );--theme-checkbox-checked--border-color--hover:var(\n --theme-checkbox-checked--border-color--invalid--hover\n );--theme-checkbox-checked--border-color--active:var(\n --theme-checkbox-checked--border-color--invalid--active\n );--theme-checkbox-mixed--background:var(\n --theme-checkbox-mixed--background--invalid\n );--theme-checkbox-mixed--background--hover:var(\n --theme-checkbox-mixed--background--invalid--hover\n );--theme-checkbox-mixed--background--active:var(\n --theme-checkbox-mixed--background--invalid--active\n );--theme-checkbox-mixed--border-color:var(\n --theme-checkbox-mixed--border-color--invalid\n );--theme-checkbox-mixed--border-color--hover:var(\n --theme-checkbox-mixed--border-color--invalid--hover\n );--theme-checkbox-mixed--border-color--active:var(\n --theme-checkbox-mixed--border-color--invalid--active\n );background-color:var(--theme-checkbox-unchecked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color)}:host(.ix-invalid:hover) button{background-color:var(--theme-checkbox-unchecked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--hover)}:host(.ix-invalid:active) button{background-color:var(--theme-checkbox-unchecked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--active)}:host(.ix-invalid.checked) button,:host(.ix-invalid.indeterminate) button{background-color:var(--theme-checkbox-checked--background);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color)}:host(.ix-invalid.checked:hover) button,:host(.ix-invalid.indeterminate:hover) button{background-color:var(--theme-checkbox-checked--background--hover);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--hover)}:host(.ix-invalid.checked:active) button,:host(.ix-invalid.indeterminate:active) button{background-color:var(--theme-checkbox-checked--background--active);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--active)}:host(.ix-invalid.disabled) button{background-color:var(--theme-checkbox-unchecked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-unchecked--border-color--disabled)}:host(.ix-invalid.checked.disabled) button,:host(.ix-invalid.indeterminate.disabled) button{background-color:var(--theme-checkbox-checked--background--disabled);border:var(--theme-checkbox--border-thickness) solid var(--theme-checkbox-checked--border-color--disabled)}:host(.disabled){pointer-events:none}:host(.disabled) button,:host(.disabled) label,:host(.disabled) input{pointer-events:none}";
7
7
 
@@ -28,6 +28,7 @@ const Checkbox = class {
28
28
  registerInstance(this, hostRef);
29
29
  this.checkedChange = createEvent(this, "checkedChange", 7);
30
30
  this.valueChange = createEvent(this, "valueChange", 7);
31
+ this.ixBlur = createEvent(this, "ixBlur", 7);
31
32
  if (hostRef.$hostElement$["s-ei"]) {
32
33
  this.formInternals = hostRef.$hostElement$["s-ei"];
33
34
  }
@@ -57,6 +58,7 @@ const Checkbox = class {
57
58
  * If true, checkbox needs to be checked to be valid
58
59
  */
59
60
  this.required = false;
61
+ this.touched = false;
60
62
  this.inputRef = makeRef((checkboxRef) => {
61
63
  checkboxRef.checked = this.checked;
62
64
  });
@@ -66,6 +68,7 @@ const Checkbox = class {
66
68
  this.checkedChange.emit(this.checked);
67
69
  }
68
70
  onCheckedChange() {
71
+ this.touched = true;
69
72
  this.updateFormInternalValue();
70
73
  }
71
74
  onValueChange() {
@@ -91,6 +94,10 @@ const Checkbox = class {
91
94
  getAssociatedFormElement() {
92
95
  return Promise.resolve(this.formInternals.form);
93
96
  }
97
+ /** @internal */
98
+ isTouched() {
99
+ return Promise.resolve(this.touched);
100
+ }
94
101
  updateClassMappings() {
95
102
  /** This function is intentionally empty */
96
103
  }
@@ -98,13 +105,13 @@ const Checkbox = class {
98
105
  return (h("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, this.indeterminate && (h(Fragment, null, h("rect", { width: "18", height: "18", fill: "transparent" }), h("rect", { x: "3", y: "8", width: "12", height: "2", fill: "var(--ix-checkbox-check-color)" }))), this.checked && (h("path", { d: "M3.65625 8.15625L8.4375 12.9375L14.625 3.9375", stroke: "var(--ix-checkbox-check-color)", "stroke-width": "2" }))));
99
106
  }
100
107
  render() {
101
- return (h(Host, { key: 'd089bc3c663788b708f2ceb7fd1bbb21706a1534', "aria-checked": a11yBoolean(this.checked), "aria-disabled": a11yBoolean(this.disabled), role: "checkbox", class: {
108
+ return (h(Host, { key: '2562db7e75c07d8cf18e7bd977ffc2bb85efe22c', "aria-checked": a11yBoolean(this.checked), "aria-disabled": a11yBoolean(this.disabled), role: "checkbox", class: {
102
109
  disabled: this.disabled,
103
110
  checked: this.checked,
104
111
  indeterminate: this.indeterminate,
105
- } }, h("label", { key: 'c80b9d8f724f6b76bfaffb2f5a1a182bb8753e53' }, h("input", { key: 'ab21dcea80e6823ae3029ba769853be39cab7bf4', "aria-checked": a11yBoolean(this.checked), disabled: this.disabled, checked: this.checked, ref: this.inputRef, type: "checkbox", onChange: () => this.setCheckedState(!this.checked) }), h("button", { key: '100dc970576623fc11099abfefc9a51479c9ea14', disabled: this.disabled, class: {
112
+ }, onFocus: () => (this.touched = true), onBlur: () => this.ixBlur.emit() }, h("label", { key: 'a9163950ab9493863c2d8b6deae758d237d3d582' }, h("input", { key: '361a23e529e302daef40e6eb79a1bbc6a2ec7f0d', "aria-checked": a11yBoolean(this.checked), required: this.required, disabled: this.disabled, checked: this.checked, ref: this.inputRef, type: "checkbox", onChange: () => this.setCheckedState(!this.checked) }), h("button", { key: 'bed5a7cd29b5469e653dfacdc831a9a7de0d2953', disabled: this.disabled, class: {
106
113
  checked: this.checked,
107
- }, onClick: () => this.setCheckedState(!this.checked) }, this.renderCheckmark()), h("ix-typography", { key: '0852bd38494e0d39fc8d37d8e1f5b8469fe8b811', format: "label", textColor: this.disabled ? 'weak' : 'std' }, this.label, h("slot", { key: '9ec03a9c86d0ec8e1306320963fc690640a55723' })))));
114
+ }, onClick: () => this.setCheckedState(!this.checked) }, this.renderCheckmark()), h("ix-typography", { key: 'fc6e95e6e9fef24068f4081461e54288a4c8bcfa', format: "label", textColor: this.disabled ? 'weak' : 'std' }, this.label, h("slot", { key: '9147eda9d809b21d83abd752a223023e7550909a' })))));
108
115
  }
109
116
  static get formAssociated() { return true; }
110
117
  get hostElement() { return getElement(this); }
@@ -1 +1 @@
1
- {"version":3,"file":"ix-checkbox.entry.js","sources":["src/components/checkbox/checkbox.scss?tag=ix-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n --ix-checkbox-check-color: var(--theme-color-primary--contrast);\n\n @include ix-component;\n display: inline-block;\n position: relative;\n\n button {\n all: unset;\n display: inline-flex;\n position: relative;\n\n align-items: center;\n justify-content: center;\n\n width: 1.125rem;\n min-width: 1.125rem;\n max-width: 1.125rem;\n height: 1.125rem;\n min-height: 1.125rem;\n max-height: 1.125rem;\n margin-right: 0.5rem;\n }\n\n button:disabled {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n\n button:focus-visible {\n outline: 0.0625rem solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-checkbox--focus--outline-offset);\n }\n\n input[type='checkbox'] {\n display: none;\n }\n\n label {\n display: flex;\n\n justify-content: flex-start;\n align-items: flex-start;\n\n width: 100%;\n height: 100%;\n }\n\n ix-typography {\n margin-top: 0.125rem;\n }\n}\n\n@mixin checkbox-base() {\n :host {\n button {\n background-color: var(--theme-checkbox-unchecked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color);\n }\n }\n\n :host(:hover) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--hover);\n }\n }\n\n :host(:active) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--active);\n }\n }\n\n :host(.checked),\n :host(.indeterminate) {\n button {\n background-color: var(--theme-checkbox-checked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color);\n }\n }\n\n :host(.checked:hover),\n :host(.indeterminate:hover) {\n button {\n background-color: var(--theme-checkbox-checked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--hover);\n }\n }\n\n :host(.checked:active),\n :host(.indeterminate:active) {\n button {\n background-color: var(--theme-checkbox-checked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--active);\n }\n }\n\n :host(.disabled) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n }\n\n :host(.checked.disabled),\n :host(.indeterminate.disabled) {\n button {\n background-color: var(--theme-checkbox-checked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--disabled);\n }\n }\n}\n\n@mixin checkbox-variant($selector) {\n :host(#{$selector}) {\n button {\n @content;\n background-color: var(--theme-checkbox-unchecked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color);\n }\n }\n\n :host(#{$selector}:hover) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--hover);\n }\n }\n\n :host(#{$selector}:active) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--active);\n }\n }\n\n :host(#{$selector}.checked),\n :host(#{$selector}.indeterminate) {\n button {\n background-color: var(--theme-checkbox-checked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color);\n }\n }\n\n :host(#{$selector}.checked:hover),\n :host(#{$selector}.indeterminate:hover) {\n button {\n background-color: var(--theme-checkbox-checked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--hover);\n }\n }\n\n :host(#{$selector}.checked:active),\n :host(#{$selector}.indeterminate:active) {\n button {\n background-color: var(--theme-checkbox-checked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--active);\n }\n }\n\n :host(#{$selector}.disabled) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n }\n\n :host(#{$selector}.checked.disabled),\n :host(#{$selector}.indeterminate.disabled) {\n button {\n background-color: var(--theme-checkbox-checked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--disabled);\n }\n }\n}\n\n@mixin define-checkbox-vars($state, $type) {\n --theme-checkbox-#{$state}--background: var(\n --theme-checkbox-#{$state}--background--#{$type}\n );\n --theme-checkbox-#{$state}--background--hover: var(\n --theme-checkbox-#{$state}--background--#{$type}--hover\n );\n --theme-checkbox-#{$state}--background--active: var(\n --theme-checkbox-#{$state}--background--#{$type}--active\n );\n\n --theme-checkbox-#{$state}--border-color: var(\n --theme-checkbox-#{$state}--border-color--#{$type}\n );\n --theme-checkbox-#{$state}--border-color--hover: var(\n --theme-checkbox-#{$state}--border-color--#{$type}--hover\n );\n --theme-checkbox-#{$state}--border-color--active: var(\n --theme-checkbox-#{$state}--border-color--#{$type}--active\n );\n}\n\n@include checkbox-base();\n@include checkbox-variant($selector: '.ix-info') {\n @include define-checkbox-vars('unchecked', 'info');\n @include define-checkbox-vars('checked', 'info');\n @include define-checkbox-vars('mixed', 'info');\n}\n\n@include checkbox-variant($selector: '.ix-warning') {\n @include define-checkbox-vars('unchecked', 'warning');\n @include define-checkbox-vars('checked', 'warning');\n @include define-checkbox-vars('mixed', 'warning');\n}\n\n@include checkbox-variant($selector: '.ix-invalid--required') {\n @include define-checkbox-vars('unchecked', 'invalid');\n @include define-checkbox-vars('checked', 'invalid');\n @include define-checkbox-vars('mixed', 'invalid');\n}\n\n@include checkbox-variant($selector: '.ix-invalid') {\n @include define-checkbox-vars('unchecked', 'invalid');\n @include define-checkbox-vars('checked', 'invalid');\n @include define-checkbox-vars('mixed', 'invalid');\n}\n\n:host(.disabled) {\n pointer-events: none;\n\n button,\n label,\n input {\n pointer-events: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AttachInternals,\n Component,\n Event,\n EventEmitter,\n Host,\n Prop,\n Watch,\n h,\n Element,\n Method,\n Fragment,\n} from '@stencil/core';\nimport { HookValidationLifecycle, IxFormComponent } from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox implements IxFormComponent<string> {\n @Element() hostElement!: HTMLIxCheckboxElement;\n\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the checkbox component\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Value of the checkbox component\n */\n @Prop({ reflect: true }) value: string = 'on';\n\n /**\n * Label for the checkbox component\n */\n @Prop() label?: string;\n\n /**\n * Checked state of the checkbox component\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n\n /**\n * Disabled state of the checkbox component\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Indeterminate state of the checkbox component\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /**\n * Required state of the checkbox component.\n *\n * If true, checkbox needs to be checked to be valid\n */\n @Prop({ reflect: true }) required = false;\n\n /**\n * Event emitted when the checked state of the checkbox changes\n */\n @Event() checkedChange!: EventEmitter<boolean>;\n\n /**\n * Event emitted when the value of the checkbox changes\n */\n @Event() valueChange!: EventEmitter<string>;\n\n private readonly inputRef = makeRef<HTMLInputElement>((checkboxRef) => {\n checkboxRef.checked = this.checked;\n });\n\n private setCheckedState(newChecked: boolean) {\n this.checked = newChecked;\n this.checkedChange.emit(this.checked);\n }\n\n @Watch('checked')\n onCheckedChange() {\n this.updateFormInternalValue();\n }\n\n @Watch('value')\n onValueChange() {\n this.valueChange.emit(this.value);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue();\n }\n\n updateFormInternalValue() {\n if (this.checked) {\n this.formInternals.setFormValue(this.value ?? 'on');\n } else {\n this.formInternals.setFormValue(null);\n }\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(this.checked);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n @HookValidationLifecycle()\n updateClassMappings() {\n /** This function is intentionally empty */\n }\n\n private renderCheckmark() {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {this.indeterminate && (\n <Fragment>\n <rect width=\"18\" height=\"18\" fill=\"transparent\" />\n <rect\n x=\"3\"\n y=\"8\"\n width=\"12\"\n height=\"2\"\n fill=\"var(--ix-checkbox-check-color)\"\n />\n </Fragment>\n )}\n\n {this.checked && (\n <path\n d=\"M3.65625 8.15625L8.4375 12.9375L14.625 3.9375\"\n stroke=\"var(--ix-checkbox-check-color)\"\n stroke-width=\"2\"\n />\n )}\n </svg>\n );\n }\n\n render() {\n return (\n <Host\n aria-checked={a11yBoolean(this.checked)}\n aria-disabled={a11yBoolean(this.disabled)}\n role=\"checkbox\"\n class={{\n disabled: this.disabled,\n checked: this.checked,\n indeterminate: this.indeterminate,\n }}\n >\n <label>\n <input\n aria-checked={a11yBoolean(this.checked)}\n disabled={this.disabled}\n checked={this.checked}\n ref={this.inputRef}\n type=\"checkbox\"\n onChange={() => this.setCheckedState(!this.checked)}\n />\n <button\n disabled={this.disabled}\n class={{\n checked: this.checked,\n }}\n onClick={() => this.setCheckedState(!this.checked)}\n >\n {this.renderCheckmark()}\n </button>\n <ix-typography\n format=\"label\"\n textColor={this.disabled ? 'weak' : 'std'}\n >\n {this.label}\n <slot></slot>\n </ix-typography>\n </label>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-checkbox.entry.js","sources":["src/components/checkbox/checkbox.scss?tag=ix-checkbox&encapsulation=shadow","src/components/checkbox/checkbox.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n --ix-checkbox-check-color: var(--theme-color-primary--contrast);\n\n @include ix-component;\n display: inline-block;\n position: relative;\n\n button {\n all: unset;\n display: inline-flex;\n position: relative;\n\n align-items: center;\n justify-content: center;\n\n width: 1.125rem;\n min-width: 1.125rem;\n max-width: 1.125rem;\n height: 1.125rem;\n min-height: 1.125rem;\n max-height: 1.125rem;\n margin-right: 0.5rem;\n }\n\n button:disabled {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n\n button:focus-visible {\n outline: 0.0625rem solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-checkbox--focus--outline-offset);\n }\n\n input[type='checkbox'] {\n display: none;\n }\n\n label {\n display: flex;\n\n justify-content: flex-start;\n align-items: flex-start;\n\n width: 100%;\n height: 100%;\n }\n\n ix-typography {\n margin-top: 0.125rem;\n }\n}\n\n@mixin checkbox-base() {\n :host {\n button {\n background-color: var(--theme-checkbox-unchecked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color);\n }\n }\n\n :host(:hover) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--hover);\n }\n }\n\n :host(:active) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--active);\n }\n }\n\n :host(.checked),\n :host(.indeterminate) {\n button {\n background-color: var(--theme-checkbox-checked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color);\n }\n }\n\n :host(.checked:hover),\n :host(.indeterminate:hover) {\n button {\n background-color: var(--theme-checkbox-checked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--hover);\n }\n }\n\n :host(.checked:active),\n :host(.indeterminate:active) {\n button {\n background-color: var(--theme-checkbox-checked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--active);\n }\n }\n\n :host(.disabled) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n }\n\n :host(.checked.disabled),\n :host(.indeterminate.disabled) {\n button {\n background-color: var(--theme-checkbox-checked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--disabled);\n }\n }\n}\n\n@mixin checkbox-variant($selector) {\n :host(#{$selector}) {\n button {\n @content;\n background-color: var(--theme-checkbox-unchecked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color);\n }\n }\n\n :host(#{$selector}:hover) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--hover);\n }\n }\n\n :host(#{$selector}:active) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--active);\n }\n }\n\n :host(#{$selector}.checked),\n :host(#{$selector}.indeterminate) {\n button {\n background-color: var(--theme-checkbox-checked--background);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color);\n }\n }\n\n :host(#{$selector}.checked:hover),\n :host(#{$selector}.indeterminate:hover) {\n button {\n background-color: var(--theme-checkbox-checked--background--hover);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--hover);\n }\n }\n\n :host(#{$selector}.checked:active),\n :host(#{$selector}.indeterminate:active) {\n button {\n background-color: var(--theme-checkbox-checked--background--active);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--active);\n }\n }\n\n :host(#{$selector}.disabled) {\n button {\n background-color: var(--theme-checkbox-unchecked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-unchecked--border-color--disabled);\n }\n }\n\n :host(#{$selector}.checked.disabled),\n :host(#{$selector}.indeterminate.disabled) {\n button {\n background-color: var(--theme-checkbox-checked--background--disabled);\n border: var(--theme-checkbox--border-thickness) solid\n var(--theme-checkbox-checked--border-color--disabled);\n }\n }\n}\n\n@mixin define-checkbox-vars($state, $type) {\n --theme-checkbox-#{$state}--background: var(\n --theme-checkbox-#{$state}--background--#{$type}\n );\n --theme-checkbox-#{$state}--background--hover: var(\n --theme-checkbox-#{$state}--background--#{$type}--hover\n );\n --theme-checkbox-#{$state}--background--active: var(\n --theme-checkbox-#{$state}--background--#{$type}--active\n );\n\n --theme-checkbox-#{$state}--border-color: var(\n --theme-checkbox-#{$state}--border-color--#{$type}\n );\n --theme-checkbox-#{$state}--border-color--hover: var(\n --theme-checkbox-#{$state}--border-color--#{$type}--hover\n );\n --theme-checkbox-#{$state}--border-color--active: var(\n --theme-checkbox-#{$state}--border-color--#{$type}--active\n );\n}\n\n@include checkbox-base();\n@include checkbox-variant($selector: '.ix-info') {\n @include define-checkbox-vars('unchecked', 'info');\n @include define-checkbox-vars('checked', 'info');\n @include define-checkbox-vars('mixed', 'info');\n}\n\n@include checkbox-variant($selector: '.ix-warning') {\n @include define-checkbox-vars('unchecked', 'warning');\n @include define-checkbox-vars('checked', 'warning');\n @include define-checkbox-vars('mixed', 'warning');\n}\n\n@include checkbox-variant($selector: '.ix-invalid--required') {\n @include define-checkbox-vars('unchecked', 'invalid');\n @include define-checkbox-vars('checked', 'invalid');\n @include define-checkbox-vars('mixed', 'invalid');\n}\n\n@include checkbox-variant($selector: '.ix-invalid') {\n @include define-checkbox-vars('unchecked', 'invalid');\n @include define-checkbox-vars('checked', 'invalid');\n @include define-checkbox-vars('mixed', 'invalid');\n}\n\n:host(.disabled) {\n pointer-events: none;\n\n button,\n label,\n input {\n pointer-events: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { a11yBoolean } from '../utils/a11y';\nimport { HookValidationLifecycle, IxFormComponent } from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\n\n/**\n * @form-ready\n */\n@Component({\n tag: 'ix-checkbox',\n styleUrl: 'checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Checkbox implements IxFormComponent<string> {\n @Element() hostElement!: HTMLIxCheckboxElement;\n\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the checkbox component\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Value of the checkbox component\n */\n @Prop({ reflect: true }) value: string = 'on';\n\n /**\n * Label for the checkbox component\n */\n @Prop() label?: string;\n\n /**\n * Checked state of the checkbox component\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n\n /**\n * Disabled state of the checkbox component\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Indeterminate state of the checkbox component\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /**\n * Required state of the checkbox component.\n *\n * If true, checkbox needs to be checked to be valid\n */\n @Prop({ reflect: true }) required = false;\n\n /**\n * Event emitted when the checked state of the checkbox changes\n */\n @Event() checkedChange!: EventEmitter<boolean>;\n\n /**\n * Event emitted when the value of the checkbox changes\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the checkbox is blurred\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n private touched = false;\n\n private readonly inputRef = makeRef<HTMLInputElement>((checkboxRef) => {\n checkboxRef.checked = this.checked;\n });\n\n private setCheckedState(newChecked: boolean) {\n this.checked = newChecked;\n this.checkedChange.emit(this.checked);\n }\n\n @Watch('checked')\n onCheckedChange() {\n this.touched = true;\n this.updateFormInternalValue();\n }\n\n @Watch('value')\n onValueChange() {\n this.valueChange.emit(this.value);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue();\n }\n\n updateFormInternalValue() {\n if (this.checked) {\n this.formInternals.setFormValue(this.value ?? 'on');\n } else {\n this.formInternals.setFormValue(null);\n }\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(this.checked);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n /** @internal */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n @HookValidationLifecycle()\n updateClassMappings() {\n /** This function is intentionally empty */\n }\n\n private renderCheckmark() {\n return (\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 18 18\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n {this.indeterminate && (\n <Fragment>\n <rect width=\"18\" height=\"18\" fill=\"transparent\" />\n <rect\n x=\"3\"\n y=\"8\"\n width=\"12\"\n height=\"2\"\n fill=\"var(--ix-checkbox-check-color)\"\n />\n </Fragment>\n )}\n\n {this.checked && (\n <path\n d=\"M3.65625 8.15625L8.4375 12.9375L14.625 3.9375\"\n stroke=\"var(--ix-checkbox-check-color)\"\n stroke-width=\"2\"\n />\n )}\n </svg>\n );\n }\n\n render() {\n return (\n <Host\n aria-checked={a11yBoolean(this.checked)}\n aria-disabled={a11yBoolean(this.disabled)}\n role=\"checkbox\"\n class={{\n disabled: this.disabled,\n checked: this.checked,\n indeterminate: this.indeterminate,\n }}\n onFocus={() => (this.touched = true)}\n onBlur={() => this.ixBlur.emit()}\n >\n <label>\n <input\n aria-checked={a11yBoolean(this.checked)}\n required={this.required}\n disabled={this.disabled}\n checked={this.checked}\n ref={this.inputRef}\n type=\"checkbox\"\n onChange={() => this.setCheckedState(!this.checked)}\n />\n <button\n disabled={this.disabled}\n class={{\n checked: this.checked,\n }}\n onClick={() => this.setCheckedState(!this.checked)}\n >\n {this.renderCheckmark()}\n </button>\n <ix-typography\n format=\"label\"\n textColor={this.disabled ? 'weak' : 'std'}\n >\n {this.label}\n <slot></slot>\n </ix-typography>\n </label>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;AAAA,MAAM,WAAW,GAAG,2xkBAA2xkB;;ACA/ykB;;;;;;;AAOG;;;;;;;;;;;MA4BU,QAAQ,GAAA,MAAA;AANrB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;;;;;;;AAgBE;;AAEG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,IAAI;AAO7C;;AAEG;AACqC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAEhE;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAElD;;AAEG;AACsB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK;AAEvD;;;;AAIG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAiBjC,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;QAEN,IAAA,CAAA,QAAQ,GAAG,OAAO,CAAmB,CAAC,WAAW,KAAI;AACpE,YAAA,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACpC,SAAC,CAAC;AAkIH;AAhIS,IAAA,eAAe,CAAC,UAAmB,EAAA;AACzC,QAAA,IAAI,CAAC,OAAO,GAAG,UAAU;QACzB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;;IAIvC,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,IAAI,CAAC,uBAAuB,EAAE;;IAIhC,aAAa,GAAA;QACX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGnC,iBAAiB,GAAA;QACf,IAAI,CAAC,uBAAuB,EAAE;;IAGhC,uBAAuB,GAAA;;AACrB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAI,IAAI,CAAC;;aAC9C;AACL,YAAA,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC;;;;IAMzC,aAAa,GAAA;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;;;IAKtC,wBAAwB,GAAA;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;;IAKjD,SAAS,GAAA;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;;IAItC,mBAAmB,GAAA;;;IAIX,eAAe,GAAA;QACrB,QACE,WACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAAA,EAEjC,IAAI,CAAC,aAAa,KACjB,EAAC,QAAQ,EAAA,IAAA,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,aAAa,EAAG,CAAA,EAClD,CACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,EACL,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,GAAG,EACV,IAAI,EAAC,gCAAgC,EACrC,CAAA,CACO,CACZ,EAEA,IAAI,CAAC,OAAO,KACX,CACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,+CAA+C,EACjD,MAAM,EAAC,gCAAgC,EAC1B,cAAA,EAAA,GAAG,GAChB,CACH,CACG;;IAIV,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EACW,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA,eAAA,EACxB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EACzC,IAAI,EAAC,UAAU,EACf,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,aAAa,EAAE,IAAI,CAAC,aAAa;aAClC,EACD,OAAO,EAAE,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EACpC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAA,EAEhC,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CACgB,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,cAAA,EAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EACnD,CAAA,EACF,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;AACtB,aAAA,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA,EAEjD,IAAI,CAAC,eAAe,EAAE,CAChB,EACT,CAAA,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,MAAM,EAAC,OAAO,EACd,SAAS,EAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,KAAK,EAAA,EAExC,IAAI,CAAC,KAAK,EACX,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACC,CACV,CACH;;;;;;;;;AA9EX,UAAA,CAAA;AADC,IAAA,uBAAuB;CAGvB,EAAA,QAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,IAAA,CAAA;;;;;"}
@@ -28,6 +28,7 @@ const Chip = class {
28
28
  /**
29
29
  * Display a tooltip. By default, no tooltip will be displayed.
30
30
  * Add the attribute to display the text content of the component as a tooltip or use a string to display a custom text.
31
+ *
31
32
  * @since 3.0.0
32
33
  */
33
34
  this.tooltipText = false;
@@ -58,13 +59,13 @@ const Chip = class {
58
59
  [this.outline ? 'borderColor' : 'backgroundColor']: this.background,
59
60
  };
60
61
  }
61
- return (h(Host, { key: '7bbabe583825abcde45af20f5fe5eed80ba4141b', tabIndex: "-1", class: {
62
+ return (h(Host, { key: '4d2b258d01d16b9345263141abe7d7d3388123c5', tabIndex: "-1", class: {
62
63
  inactive: isInactive,
63
64
  }, style: this.variant === 'custom'
64
65
  ? {
65
66
  '--ix-icon-button-color': this.chipColor,
66
67
  }
67
- : {} }, h("div", { key: '64464d3cad83f4d9c0c7efbdd8d7a406f08f1118', ref: this.containerElementRef, style: Object.assign({}, customStyle), class: {
68
+ : {} }, h("div", { key: '9aa88bf1c31f0946a77eea368ed03b13e031cfa1', ref: this.containerElementRef, style: Object.assign({}, customStyle), class: {
68
69
  container: true,
69
70
  outline: this.outline,
70
71
  inactive: isInactive,
@@ -78,10 +79,10 @@ const Chip = class {
78
79
  custom: this.variant === 'custom',
79
80
  closable: this.closable,
80
81
  icon: !!this.icon,
81
- } }, h("ix-icon", { key: 'b38f0215ea69d966ab7bf8a6af178aa69db8e712', class: {
82
+ } }, h("ix-icon", { key: '904f4f03b99a5777696d4fb16e731660b965168d', class: {
82
83
  'with-icon': true,
83
84
  hidden: !this.icon,
84
- }, name: this.icon, size: '24' }), h("span", { key: '6229fc50ae6394772a580c69eaf087cb5300801a', class: "slot-container" }, h("slot", { key: 'c11dd7e4f666ad9f6e39efdc9085ba42792a4481' })), isInactive === false && this.closable ? this.getCloseButton() : null), this.getTooltip()));
85
+ }, name: this.icon, size: '24' }), h("span", { key: '2163059e60b87e55ba0e961bc3c9a10ab4fe2f0e', class: "slot-container" }, h("slot", { key: '905355f990900be5cb82ddab1ef8ddd68598d9f1' })), isInactive === false && this.closable ? this.getCloseButton() : null), this.getTooltip()));
85
86
  }
86
87
  get hostElement() { return getElement(this); }
87
88
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ix-chip.entry.js","sources":["src/components/chip/chip.scss?tag=ix-chip&encapsulation=shadow","src/components/chip/chip.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import './chip-mixin';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n height: 2rem;\n max-height: 2rem;\n margin-left: $tiny-space;\n}\n\n:host(.inactive) {\n pointer-events: none;\n}\n\n@include chip-container;\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconCloseSmall } from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { makeRef } from '../utils/make-ref';\n\n@Component({\n tag: 'ix-chip',\n styleUrl: 'chip.scss',\n shadow: true,\n})\nexport class Chip {\n @Element() hostElement!: HTMLIxChipElement;\n\n /**\n * Chip variant\n */\n @Prop({ reflect: true }) variant:\n | 'primary'\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'info'\n | 'neutral'\n | 'success'\n | 'custom' = 'primary';\n\n /**\n * Determines if the chip is interactive. If false no user input (e.g. mouse states, keyboard navigation)\n * will be possible and also the close button will not be present.\n */\n @Prop() active = true;\n\n /**\n * Show close icon\n */\n @Prop() closable = false;\n\n /**\n * Show icon\n */\n @Prop() icon?: string;\n\n /**\n * Custom background color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() background: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() chipColor: string | undefined;\n\n /**\n * Show chip with outline style\n */\n @Prop() outline = false;\n\n /**\n * Display a tooltip. By default, no tooltip will be displayed.\n * Add the attribute to display the text content of the component as a tooltip or use a string to display a custom text.\n * @since 3.0.0\n */\n @Prop() tooltipText: string | boolean = false;\n\n /**\n * Fire event if close button is clicked\n *\n * @since 1.5.0\n */\n @Event() closeChip!: EventEmitter;\n\n private readonly containerElementRef = makeRef<HTMLElement>();\n\n private getCloseButton() {\n return (\n <div class=\"close-button-container\">\n <ix-icon-button\n type=\"button\"\n variant=\"secondary\"\n icon={iconCloseSmall}\n class=\"close-button\"\n oval\n size=\"16\"\n style={this.variant === 'custom' ? { color: this.chipColor } : {}}\n ghost\n onClick={(event) => {\n this.closeChip.emit(event);\n event.stopPropagation();\n }}\n ></ix-icon-button>\n </div>\n );\n }\n\n private getTooltip() {\n if (!this.tooltipText && !this.hostElement.hasAttribute('tooltip-text')) {\n return null;\n }\n\n const text =\n typeof this.tooltipText === 'string' && this.tooltipText.trim()\n ? this.tooltipText\n : this.hostElement.textContent?.trim();\n\n return (\n <ix-tooltip for={this.containerElementRef.waitForCurrent()}>\n {text}\n </ix-tooltip>\n );\n }\n\n render() {\n const isInactive = this.active === false;\n\n let customStyle = {};\n\n if (this.variant === 'custom') {\n customStyle = {\n color: this.chipColor,\n [this.outline ? 'borderColor' : 'backgroundColor']: this.background,\n };\n }\n\n return (\n <Host\n tabIndex=\"-1\"\n class={{\n inactive: isInactive,\n }}\n style={\n this.variant === 'custom'\n ? {\n '--ix-icon-button-color': this.chipColor,\n }\n : {}\n }\n >\n <div\n ref={this.containerElementRef}\n style={{ ...customStyle }}\n class={{\n container: true,\n outline: this.outline,\n inactive: isInactive,\n alarm: this.variant === 'alarm',\n critical: this.variant === 'critical',\n info: this.variant === 'info',\n neutral: this.variant === 'neutral',\n primary: this.variant === 'primary',\n success: this.variant === 'success',\n warning: this.variant === 'warning',\n custom: this.variant === 'custom',\n closable: this.closable,\n icon: !!this.icon,\n }}\n >\n <ix-icon\n class={{\n 'with-icon': true,\n hidden: !this.icon,\n }}\n name={this.icon}\n size={'24'}\n />\n <span class=\"slot-container\">\n <slot></slot>\n </span>\n {isInactive === false && this.closable ? this.getCloseButton() : null}\n </div>\n {this.getTooltip()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-chip.entry.js","sources":["src/components/chip/chip.scss?tag=ix-chip&encapsulation=shadow","src/components/chip/chip.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n@import 'common-variables';\n@import 'mixins/text-truncation';\n@import './chip-mixin';\n\n:host {\n @include ix-component;\n display: inline-block;\n position: relative;\n height: 2rem;\n max-height: 2rem;\n margin-left: $tiny-space;\n}\n\n:host(.inactive) {\n pointer-events: none;\n}\n\n@include chip-container;\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconCloseSmall } from '@siemens/ix-icons/icons';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { makeRef } from '../utils/make-ref';\n\n@Component({\n tag: 'ix-chip',\n styleUrl: 'chip.scss',\n shadow: true,\n})\nexport class Chip {\n @Element() hostElement!: HTMLIxChipElement;\n\n /**\n * Chip variant\n */\n @Prop({ reflect: true }) variant:\n | 'primary'\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'info'\n | 'neutral'\n | 'success'\n | 'custom' = 'primary';\n\n /**\n * Determines if the chip is interactive. If false no user input (e.g. mouse states, keyboard navigation)\n * will be possible and also the close button will not be present.\n */\n @Prop() active = true;\n\n /**\n * Show close icon\n */\n @Prop() closable = false;\n\n /**\n * Show icon\n */\n @Prop() icon?: string;\n\n /**\n * Custom background color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() background: string | undefined;\n\n /**\n * Custom font and icon color.\n * Only has an effect on chips with `variant='custom'`\n */\n @Prop() chipColor: string | undefined;\n\n /**\n * Show chip with outline style\n */\n @Prop() outline = false;\n\n /**\n * Display a tooltip. By default, no tooltip will be displayed.\n * Add the attribute to display the text content of the component as a tooltip or use a string to display a custom text.\n *\n * @since 3.0.0\n */\n @Prop() tooltipText: string | boolean = false;\n\n /**\n * Fire event if close button is clicked\n */\n @Event() closeChip!: EventEmitter;\n\n private readonly containerElementRef = makeRef<HTMLElement>();\n\n private getCloseButton() {\n return (\n <div class=\"close-button-container\">\n <ix-icon-button\n type=\"button\"\n variant=\"secondary\"\n icon={iconCloseSmall}\n class=\"close-button\"\n oval\n size=\"16\"\n style={this.variant === 'custom' ? { color: this.chipColor } : {}}\n ghost\n onClick={(event) => {\n this.closeChip.emit(event);\n event.stopPropagation();\n }}\n ></ix-icon-button>\n </div>\n );\n }\n\n private getTooltip() {\n if (!this.tooltipText && !this.hostElement.hasAttribute('tooltip-text')) {\n return null;\n }\n\n const text =\n typeof this.tooltipText === 'string' && this.tooltipText.trim()\n ? this.tooltipText\n : this.hostElement.textContent?.trim();\n\n return (\n <ix-tooltip for={this.containerElementRef.waitForCurrent()}>\n {text}\n </ix-tooltip>\n );\n }\n\n render() {\n const isInactive = this.active === false;\n\n let customStyle = {};\n\n if (this.variant === 'custom') {\n customStyle = {\n color: this.chipColor,\n [this.outline ? 'borderColor' : 'backgroundColor']: this.background,\n };\n }\n\n return (\n <Host\n tabIndex=\"-1\"\n class={{\n inactive: isInactive,\n }}\n style={\n this.variant === 'custom'\n ? {\n '--ix-icon-button-color': this.chipColor,\n }\n : {}\n }\n >\n <div\n ref={this.containerElementRef}\n style={{ ...customStyle }}\n class={{\n container: true,\n outline: this.outline,\n inactive: isInactive,\n alarm: this.variant === 'alarm',\n critical: this.variant === 'critical',\n info: this.variant === 'info',\n neutral: this.variant === 'neutral',\n primary: this.variant === 'primary',\n success: this.variant === 'success',\n warning: this.variant === 'warning',\n custom: this.variant === 'custom',\n closable: this.closable,\n icon: !!this.icon,\n }}\n >\n <ix-icon\n class={{\n 'with-icon': true,\n hidden: !this.icon,\n }}\n name={this.icon}\n size={'24'}\n />\n <span class=\"slot-container\">\n <slot></slot>\n </span>\n {isInactive === false && this.closable ? this.getCloseButton() : null}\n </div>\n {this.getTooltip()}\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}