@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 +0,0 @@
1
- {"file":"p-D_wwWxx8.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/icon-button/icon-button.scss?tag=ix-icon-button&encapsulation=shadow","src/components/icon-button/icon-button.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 './icon-button-mixin.scss';\n\n@include base-icon-button;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { getFallbackLabelFromIconName } from '../utils/a11y';\n\nexport type IconButtonVariant = ButtonVariant;\n\n@Component({\n tag: 'ix-icon-button',\n styleUrl: 'icon-button.scss',\n shadow: true,\n})\nexport class IconButton {\n @Element() hostElement!: HTMLIxIconButtonElement;\n\n /**\n * Accessibility label for the icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 2.1.0\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n /**\n * Variant of button\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: IconButtonVariant = 'secondary';\n\n /**\n * Button outline\n */\n @Prop() outline: boolean = false;\n\n /**\n * Button invisible\n */\n @Prop() ghost: boolean = false;\n\n /**\n * Button in oval shape\n */\n @Prop() oval: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon?: string;\n\n /**\n * Size of icon in button\n *\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Color of icon in button\n */\n @Prop() iconColor?: string;\n\n /**\n * Disabled\n */\n @Prop() disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading = false;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement!: HTMLButtonElement;\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n dispatchFormEvents() {\n if (this.type === 'submit' && this.submitButtonElement) {\n this.submitButtonElement.click();\n }\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24' || !this.size,\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n ariaAttributes: {\n 'aria-label': this.a11yLabel\n ? this.a11yLabel\n : getFallbackLabelFromIconName(this.icon),\n },\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: this.oval,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconColor: this.iconColor,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n extraClasses: this.getIconSizeClass(),\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-Dy35mbzK.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/utils/focus.ts","src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\nimport { addDisposableEventListener } from './disposable-event-listener';\n\nexport class ArrowFocusController {\n public items: Element[];\n\n container?: HTMLElement;\n wrap = false;\n callback: any;\n\n private readonly keyListener: () => void;\n\n constructor(\n items: any[],\n container: HTMLElement,\n callback?: (index: number) => void\n ) {\n this.items = items;\n this.container = container;\n this.callback = callback;\n this.keyListener = addDisposableEventListener(\n container,\n 'keydown',\n (e: Event) => this.onKeyDown(e as KeyboardEvent)\n );\n }\n\n private getActiveIndex() {\n if (!document.activeElement) {\n return -1;\n }\n return this.items.indexOf(document.activeElement);\n }\n\n private onKeyDown(e: KeyboardEvent) {\n const activeIndex = this.getActiveIndex();\n\n if (activeIndex < 0) {\n return;\n }\n\n switch (e.key) {\n case 'ArrowDown':\n if (activeIndex < this.items.length - 1) {\n e.preventDefault();\n this.callback?.(activeIndex + 1);\n } else if (this.wrap) {\n e.preventDefault();\n this.callback?.(0);\n }\n break;\n\n case 'ArrowUp':\n {\n if (activeIndex > 0) {\n e.preventDefault();\n this.callback?.(activeIndex - 1);\n } else if (this.wrap && activeIndex === 0) {\n e.preventDefault();\n this.callback?.(this.items.length - 1);\n }\n }\n break;\n }\n }\n\n disconnect() {\n if (this.keyListener) {\n this.keyListener();\n }\n\n this.container = undefined;\n this.callback = undefined;\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\n@import 'common-variables';\n\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DylMlJTZ.js","mappings":";;;;AAAA,MAAM,SAAS,GAAG,myrBAAmyrB;;MCoBxyrB,MAAM,iBAAAA,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;AALnB,IAAA,WAAA,GAAA;;;;AAME;;;AAGG;AACK,QAAA,IAAO,CAAA,OAAA,GAAkB,SAAS;AAE1C;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAG,KAAK;AAEvB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAG,KAAK;AAErB;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK;AAEzC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAwB,QAAQ;AAE5C;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;;AAQxB,QAAA,IAAS,CAAA,SAAA,GAAuB,QAAQ;;AAGxC,QAAA,IAAQ,CAAA,QAAA,GAAuB,IAAI;AAqF5C;AA3EC,IAAA,WAAW,CAAC,KAAY,EAAA;QACtB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,KAAK,CAAC,eAAe,EAAE;YACvB,KAAK,CAAC,cAAc,EAAE;;;IAI1B,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1B,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrD,YAAA,YAAY,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;AACnC,YAAA,YAAY,CAAC,IAAI,GAAG,QAAQ;AAC5B,YAAA,YAAY,CAAC,QAAQ,GAAG,EAAE;AAC1B,YAAA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC;AAE1C,YAAA,IAAI,CAAC,mBAAmB,GAAG,YAAY;;;IAI3C,kBAAkB,GAAA;QAChB,IACE,IAAI,CAAC,mBAAmB;YACxB,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,EACpD;YACA,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC;;;IAI1D,kBAAkB,GAAA;AAChB,QAAA,IACE,IAAI,CAAC,IAAI,KAAK,QAAQ;AACtB,YAAA,IAAI,CAAC,mBAAmB;YACxB,CAAC,IAAI,CAAC,QAAQ;AACd,YAAA,CAAC,IAAI,CAAC,OAAO,EACb;AACA,YAAA,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;;;IAIpC,QAAQ,GAAA;;AACN,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,UAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,KAAK,EAAE;;IAG/D,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAoB;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;AACrB,YAAA,OAAO,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE;YACxC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;AACzB,YAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;SACpC;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,KAAK,EAAE;AACL,gBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;AACxC,aAAA,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAA,EAE9B,CAAC,CAAA,UAAU,qEAAK,eAAe,CAAA,EAC7B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACF,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/button/button.scss?tag=ix-button&encapsulation=shadow","src/components/button/button.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@import './button-mixin';\n\n@include btn;\n$button-categories: (danger, primary, secondary);\n@each $category in $button-categories {\n @include btn-variant($category);\n @include btn-variant('outline-#{$category}');\n @include btn-variant('invisible-#{$category}', false);\n}\n\n:host {\n min-width: 5rem;\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 { Component, Element, h, Host, Listen, Prop } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from './base-button';\nimport { IxButtonComponent } from './button-component';\n\nexport type ButtonVariant = 'danger' | 'primary' | 'secondary';\n\n@Component({\n tag: 'ix-button',\n shadow: true,\n styleUrl: './button.scss',\n})\nexport class Button implements IxButtonComponent {\n /**\n * Button variant\n * @since 2.3.0 - variant danger\n */\n @Prop() variant: ButtonVariant = 'primary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Type of the button\n */\n @Prop() type: 'button' | 'submit' = 'button';\n\n /**\n * Loading button\n *\n * @since 2.0.0\n */\n @Prop() loading: boolean = false;\n\n /**\n * Icon name\n */\n @Prop() icon?: string;\n\n /** @internal */\n @Prop() alignment: 'center' | 'start' = 'center';\n\n /** @internal */\n @Prop() iconSize: '12' | '16' | '24' = '24';\n\n @Element() hostElement!: HTMLIxButtonElement;\n\n /**\n * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284)\n */\n submitButtonElement?: HTMLButtonElement;\n\n @Listen('click', { capture: true })\n handleClick(event: Event) {\n if (this.disabled || this.loading) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n\n componentDidLoad() {\n if (this.type === 'submit') {\n const submitButton = document.createElement('button');\n submitButton.style.display = 'none';\n submitButton.type = 'submit';\n submitButton.tabIndex = -1;\n this.hostElement.appendChild(submitButton);\n\n this.submitButtonElement = submitButton;\n }\n }\n\n componentDidRender() {\n if (\n this.submitButtonElement &&\n !this.hostElement.contains(this.submitButtonElement)\n ) {\n this.hostElement.appendChild(this.submitButtonElement);\n }\n }\n\n dispatchFormEvents() {\n if (\n this.type === 'submit' &&\n this.submitButtonElement &&\n !this.disabled &&\n !this.loading\n ) {\n this.submitButtonElement.click();\n }\n }\n\n setFocus() {\n this.hostElement.shadowRoot!.querySelector('button')?.focus();\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: false,\n iconOval: false,\n selected: false,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.iconSize,\n loading: this.loading,\n onClick: () => this.dispatchFormEvents(),\n type: this.type,\n alignment: this.alignment,\n tabIndex: this.hostElement.tabIndex,\n };\n\n return (\n <Host\n tabindex={this.disabled ? -1 : 0}\n class={{\n disabled: this.disabled || this.loading,\n }}\n onFocus={() => this.setFocus()}\n >\n <BaseButton {...baseButtonProps}>\n <slot></slot>\n </BaseButton>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.util-DuJG4-L-.js","sources":["src/components/input/input.fc.tsx","src/components/input/input.animation.ts","src/components/input/input.util.ts"],"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 */\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { MakeRef } from '../utils/make-ref';\nimport { A11yAttributes } from '../utils/a11y';\n\nexport function TextareaElement(props: {\n resizeBehavior: 'both' | 'horizontal' | 'vertical' | 'none';\n textareaHeight?: string;\n textareaWidth?: string;\n textareaRows?: number;\n textareaCols?: number;\n disabled: boolean;\n readonly: boolean;\n maxLength?: number;\n minLength?: number;\n isInvalid: boolean;\n required: boolean;\n value: string;\n placeholder?: string;\n textAreaRef: (el: HTMLTextAreaElement | undefined) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <textarea\n readOnly={props.readonly}\n disabled={props.disabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n cols={props.textareaCols}\n rows={props.textareaRows}\n ref={props.textAreaRef}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n style={{\n resize: props.resizeBehavior,\n height: props.textareaHeight,\n width: props.textareaWidth,\n }}\n {...props.ariaAttributes}\n ></textarea>\n );\n}\n\nexport function InputElement(props: {\n id: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: string | number;\n minLength?: string | number;\n max?: string | number;\n min?: string | number;\n pattern?: string;\n type: string;\n isInvalid: boolean;\n required: boolean;\n value: string | number;\n placeholder?: string;\n inputRef: (el: HTMLInputElement | undefined) => void;\n onKeyPress: (event: KeyboardEvent) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <input\n id={props.id}\n autoComplete=\"off\"\n readOnly={props.readonly}\n disabled={props.disabled}\n min={props.min}\n max={props.max}\n maxLength={props.maxLength ? Number(props.maxLength) : undefined}\n minLength={props.maxLength ? Number(props.minLength) : undefined}\n ref={props.inputRef}\n pattern={props.pattern}\n type={props.type}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onKeyPress={(event) => props.onKeyPress(event)}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n {...props.ariaAttributes}\n ></input>\n );\n}\n\nexport const SlotEnd: FunctionalComponent<{\n slotEndRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props, children) => {\n return (\n <div class=\"end-container\" ref={props.slotEndRef}>\n <slot name=\"end\" onSlotchange={props.onSlotChange}></slot>\n {children}\n </div>\n );\n};\n\nexport const SlotStart: FunctionalComponent<{\n slotStartRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props) => {\n return (\n <div class=\"start-container\" ref={props.slotStartRef}>\n <slot name=\"start\" onSlotchange={props.onSlotChange}></slot>\n </div>\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 */\nimport anime from 'animejs';\n\nexport function shakeInput(input: HTMLInputElement) {\n const xMax = 5;\n anime({\n targets: input,\n duration: 200,\n easing: 'easeInOutSine',\n loop: 2,\n translateX: [\n {\n value: xMax * -1,\n },\n {\n value: xMax,\n },\n {\n value: xMax / -2,\n },\n {\n value: xMax / 2,\n },\n {\n value: 0,\n },\n ],\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 { A11yAttributes, a11yBoolean } from '../utils/a11y';\nimport {\n IxFormComponent,\n IxInputFieldComponent,\n ValidationResults,\n shouldSuppressInternalValidation,\n} from '../utils/input';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { generateUUID } from '../utils/uuid';\nimport { shakeInput } from './input.animation';\n\nexport function createIdIfNotExists(\n element: IxFormComponent,\n idPrefix: string = 'input'\n) {\n return element.hasAttribute('id')\n ? element.getAttribute('id')\n : `${idPrefix}-${generateUUID()}`;\n}\n\nexport function mapValidationResult<T>(\n ref: IxInputFieldComponent<T>,\n result: ValidationResults\n) {\n ref.isInvalid = result.isInvalid || result.isInvalidByRequired;\n ref.isValid = result.isValid;\n ref.isInfo = result.isInfo;\n ref.isWarning = result.isWarning;\n}\n\nexport function checkAllowedKeys<T>(\n comp: IxInputFieldComponent<T>,\n event: KeyboardEvent\n) {\n if (comp.allowedCharactersPattern) {\n const regex = new RegExp(comp.allowedCharactersPattern);\n if (!regex.test(event.key)) {\n event.preventDefault();\n shakeInput(comp.inputRef.current);\n }\n }\n}\n\nexport async function checkInternalValidity<T>(\n comp: IxFormComponent<T>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n const validityState = input.validity;\n\n const eventResult = comp.validityStateChange.emit(validityState);\n\n if (eventResult.defaultPrevented) {\n return;\n }\n\n if (!comp.value) {\n return;\n }\n\n const skipValidation = await shouldSuppressInternalValidation(comp);\n if (skipValidation) {\n return;\n }\n\n const { valid } = validityState;\n comp.hostElement.classList.toggle('ix-invalid--validity-invalid', !valid);\n}\n\nexport function onInputBlur<T>(\n comp: IxFormComponent<T>,\n input?: HTMLInputElement | HTMLTextAreaElement | null\n) {\n comp.ixBlur.emit();\n\n if (!input) {\n throw new Error('Input element is not available');\n }\n\n input.setAttribute('data-ix-touched', 'true');\n checkInternalValidity(comp, input);\n}\n\nexport function applyPaddingEnd(\n inputElement: HTMLElement | null,\n width: number,\n options: {\n slotEnd: boolean;\n additionalPaddingRight?: string;\n }\n) {\n if (!inputElement) {\n return;\n }\n\n const remInPixels = 16;\n const padding = convertToRemString(width + remInPixels / 2);\n\n if (options.slotEnd) {\n inputElement.style.paddingRight = `calc(${padding} + ${\n options.additionalPaddingRight ?? '0rem'\n })`;\n } else {\n inputElement.style.paddingLeft = padding;\n }\n}\n\nexport function adjustPaddingForStartAndEnd(\n startElement: HTMLElement | null,\n endElement: HTMLElement | null,\n inputElement: HTMLElement | null\n) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (startElement) {\n const startBoundingRect = startElement.getBoundingClientRect();\n if (startBoundingRect) {\n applyPaddingEnd(inputElement, startBoundingRect.width, {\n slotEnd: false,\n });\n }\n }\n\n if (endElement) {\n const endBoundingRect = endElement.getBoundingClientRect();\n if (endBoundingRect) {\n applyPaddingEnd(inputElement, endBoundingRect.width, {\n slotEnd: true,\n });\n }\n }\n });\n });\n}\n\nexport function getAriaAttributesForInput(\n component: IxInputFieldComponent\n): A11yAttributes {\n const inputAria: A11yAttributes = {\n 'aria-invalid': `${a11yBoolean(component.isInvalid)}`,\n 'aria-required': `${a11yBoolean(component.required)}`,\n };\n\n if (component.isInvalid && component.invalidText) {\n inputAria['aria-errormessage'] = component.invalidText;\n }\n return inputAria;\n}\n\nexport type DisposableChangesAndVisibilityObservers = () => void;\n\nexport const addDisposableChangesAndVisibilityObservers = (\n element: HTMLElement,\n callback: () => void\n): DisposableChangesAndVisibilityObservers => {\n const intersectionObserver = observeElementUntilVisible(element, callback);\n const mutationObserver = createMutationObserver(callback);\n\n mutationObserver.observe(element, {\n subtree: true,\n attributes: true,\n });\n\n return () => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n };\n};\n\nfunction observeElementUntilVisible(\n hostElement: HTMLElement,\n updateCallback: () => void\n): IntersectionObserver {\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n updateCallback();\n }\n });\n });\n\n intersectionObserver.observe(hostElement);\n return intersectionObserver;\n}\n"],"names":["h","anime","shouldSuppressInternalValidation","convertToRemString","a11yBoolean","mutationObserver","createMutationObserver"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-B-wzGaWF.js","sources":["src/components/utils/input/validation.ts"],"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 */\nimport { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function isTouched<T>(host: IxFormComponent<T>) {\n if (typeof host.isTouched === 'function') {\n return host.isTouched();\n }\n}\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: (() => Promise<void>) | null;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n const touched = await isTouched(host);\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue && touched);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n\n host.classList.toggle(\n `ix-invalid--validity-patternMismatch`,\n validityState.patternMismatch\n );\n }\n };\n\n host.addEventListener('valueChange', checkIfRequiredFunction);\n host.addEventListener('ixBlur', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n host.removeEventListener('ixBlur', checkIfRequiredFunction);\n checkIfRequiredFunction = null;\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"names":["getElement"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.util-DpnoI5lb.js","sources":["src/components/input/input.fc.tsx","src/components/input/input.animation.ts","src/components/input/input.util.ts"],"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 */\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { MakeRef } from '../utils/make-ref';\nimport { A11yAttributes } from '../utils/a11y';\n\nexport function TextareaElement(props: {\n resizeBehavior: 'both' | 'horizontal' | 'vertical' | 'none';\n textareaHeight?: string;\n textareaWidth?: string;\n textareaRows?: number;\n textareaCols?: number;\n disabled: boolean;\n readonly: boolean;\n maxLength?: number;\n minLength?: number;\n isInvalid: boolean;\n required: boolean;\n value: string;\n placeholder?: string;\n textAreaRef: (el: HTMLTextAreaElement | undefined) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <textarea\n readOnly={props.readonly}\n disabled={props.disabled}\n maxLength={props.maxLength}\n minLength={props.minLength}\n cols={props.textareaCols}\n rows={props.textareaRows}\n ref={props.textAreaRef}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n style={{\n resize: props.resizeBehavior,\n height: props.textareaHeight,\n width: props.textareaWidth,\n }}\n {...props.ariaAttributes}\n ></textarea>\n );\n}\n\nexport function InputElement(props: {\n id: string;\n disabled: boolean;\n readonly: boolean;\n maxLength?: string | number;\n minLength?: string | number;\n max?: string | number;\n min?: string | number;\n pattern?: string;\n type: string;\n isInvalid: boolean;\n required: boolean;\n value: string | number;\n placeholder?: string;\n inputRef: (el: HTMLInputElement | undefined) => void;\n onKeyPress: (event: KeyboardEvent) => void;\n valueChange: (value: string) => void;\n updateFormInternalValue: (value: string) => void;\n onBlur: () => void;\n ariaAttributes?: A11yAttributes;\n}) {\n return (\n <input\n id={props.id}\n autoComplete=\"off\"\n readOnly={props.readonly}\n disabled={props.disabled}\n min={props.min}\n max={props.max}\n maxLength={props.maxLength ? Number(props.maxLength) : undefined}\n minLength={props.maxLength ? Number(props.minLength) : undefined}\n ref={props.inputRef}\n pattern={props.pattern}\n type={props.type}\n class={{\n 'is-invalid': props.isInvalid,\n }}\n required={props.required}\n value={props.value}\n placeholder={props.placeholder}\n onKeyPress={(event) => props.onKeyPress(event)}\n onInput={(inputEvent) => {\n const target = inputEvent.target as HTMLInputElement;\n props.updateFormInternalValue(target.value);\n props.valueChange(target.value);\n }}\n onBlur={() => props.onBlur()}\n {...props.ariaAttributes}\n ></input>\n );\n}\n\nexport const SlotEnd: FunctionalComponent<{\n slotEndRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props, children) => {\n return (\n <div class=\"end-container\" ref={props.slotEndRef}>\n <slot name=\"end\" onSlotchange={props.onSlotChange}></slot>\n {children}\n </div>\n );\n};\n\nexport const SlotStart: FunctionalComponent<{\n slotStartRef: MakeRef<HTMLDivElement>;\n onSlotChange?: (e: Event) => void;\n}> = (props) => {\n return (\n <div class=\"start-container\" ref={props.slotStartRef}>\n <slot name=\"start\" onSlotchange={props.onSlotChange}></slot>\n </div>\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 */\nimport anime from 'animejs';\n\nexport function shakeInput(input: HTMLInputElement) {\n const xMax = 5;\n anime({\n targets: input,\n duration: 200,\n easing: 'easeInOutSine',\n loop: 2,\n translateX: [\n {\n value: xMax * -1,\n },\n {\n value: xMax,\n },\n {\n value: xMax / -2,\n },\n {\n value: xMax / 2,\n },\n {\n value: 0,\n },\n ],\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 { A11yAttributes, a11yBoolean } from '../utils/a11y';\nimport {\n IxFormComponent,\n IxInputFieldComponent,\n ValidationResults,\n shouldSuppressInternalValidation,\n} from '../utils/input';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { convertToRemString } from '../utils/rwd.util';\nimport { generateUUID } from '../utils/uuid';\nimport { shakeInput } from './input.animation';\n\nexport function createIdIfNotExists(\n element: IxFormComponent,\n idPrefix: string = 'input'\n) {\n return element.hasAttribute('id')\n ? element.getAttribute('id')\n : `${idPrefix}-${generateUUID()}`;\n}\n\nexport function mapValidationResult<T>(\n ref: IxInputFieldComponent<T>,\n result: ValidationResults\n) {\n ref.isInvalid = result.isInvalid || result.isInvalidByRequired;\n ref.isValid = result.isValid;\n ref.isInfo = result.isInfo;\n ref.isWarning = result.isWarning;\n}\n\nexport function checkAllowedKeys<T>(\n comp: IxInputFieldComponent<T>,\n event: KeyboardEvent\n) {\n if (comp.allowedCharactersPattern) {\n const regex = new RegExp(comp.allowedCharactersPattern);\n if (!regex.test(event.key)) {\n event.preventDefault();\n shakeInput(comp.inputRef.current);\n }\n }\n}\n\nexport async function checkInternalValidity<T>(\n comp: IxFormComponent<T>,\n input: HTMLInputElement | HTMLTextAreaElement\n) {\n const validityState = input.validity;\n\n const eventResult = comp.validityStateChange.emit(validityState);\n\n if (eventResult.defaultPrevented) {\n return;\n }\n\n if (!comp.value) {\n return;\n }\n\n const skipValidation = await shouldSuppressInternalValidation(comp);\n if (skipValidation) {\n return;\n }\n\n const { valid } = validityState;\n comp.hostElement.classList.toggle('ix-invalid--validity-invalid', !valid);\n}\n\nexport function onInputBlur<T>(\n comp: IxFormComponent<T>,\n input?: HTMLInputElement | HTMLTextAreaElement | null\n) {\n comp.ixBlur.emit();\n\n if (!input) {\n throw new Error('Input element is not available');\n }\n\n input.setAttribute('data-ix-touched', 'true');\n checkInternalValidity(comp, input);\n}\n\nexport function applyPaddingEnd(\n inputElement: HTMLElement | null,\n width: number,\n options: {\n slotEnd: boolean;\n additionalPaddingRight?: string;\n }\n) {\n if (!inputElement) {\n return;\n }\n\n const remInPixels = 16;\n const padding = convertToRemString(width + remInPixels / 2);\n\n if (options.slotEnd) {\n inputElement.style.paddingRight = `calc(${padding} + ${\n options.additionalPaddingRight ?? '0rem'\n })`;\n } else {\n inputElement.style.paddingLeft = padding;\n }\n}\n\nexport function adjustPaddingForStartAndEnd(\n startElement: HTMLElement | null,\n endElement: HTMLElement | null,\n inputElement: HTMLElement | null\n) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (startElement) {\n const startBoundingRect = startElement.getBoundingClientRect();\n if (startBoundingRect) {\n applyPaddingEnd(inputElement, startBoundingRect.width, {\n slotEnd: false,\n });\n }\n }\n\n if (endElement) {\n const endBoundingRect = endElement.getBoundingClientRect();\n if (endBoundingRect) {\n applyPaddingEnd(inputElement, endBoundingRect.width, {\n slotEnd: true,\n });\n }\n }\n });\n });\n}\n\nexport function getAriaAttributesForInput(\n component: IxInputFieldComponent\n): A11yAttributes {\n const inputAria: A11yAttributes = {\n 'aria-invalid': `${a11yBoolean(component.isInvalid)}`,\n 'aria-required': `${a11yBoolean(component.required)}`,\n };\n\n if (component.isInvalid && component.invalidText) {\n inputAria['aria-errormessage'] = component.invalidText;\n }\n return inputAria;\n}\n\nexport type DisposableChangesAndVisibilityObservers = () => void;\n\nexport const addDisposableChangesAndVisibilityObservers = (\n element: HTMLElement,\n callback: () => void\n): DisposableChangesAndVisibilityObservers => {\n const intersectionObserver = observeElementUntilVisible(element, callback);\n const mutationObserver = createMutationObserver(callback);\n\n mutationObserver.observe(element, {\n subtree: true,\n attributes: true,\n });\n\n return () => {\n intersectionObserver.disconnect();\n mutationObserver.disconnect();\n };\n};\n\nfunction observeElementUntilVisible(\n hostElement: HTMLElement,\n updateCallback: () => void\n): IntersectionObserver {\n const intersectionObserver = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n updateCallback();\n }\n });\n });\n\n intersectionObserver.observe(hostElement);\n return intersectionObserver;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation-C_w_pHgR.js","sources":["src/components/utils/input/validation.ts"],"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 */\nimport { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function isTouched<T>(host: IxFormComponent<T>) {\n if (typeof host.isTouched === 'function') {\n return host.isTouched();\n }\n}\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: (() => Promise<void>) | null;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n const touched = await isTouched(host);\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue && touched);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n\n host.classList.toggle(\n `ix-invalid--validity-patternMismatch`,\n validityState.patternMismatch\n );\n }\n };\n\n host.addEventListener('valueChange', checkIfRequiredFunction);\n host.addEventListener('ixBlur', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n host.removeEventListener('ixBlur', checkIfRequiredFunction);\n checkIfRequiredFunction = null;\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["blindCss","sequentialInstanceId","Blind","constructor","hostRef","this","collapsed","variant","blindId","onHeaderClick","collapsedChange","emit","componentDidLoad","animateCollapse","content","hostElement","shadowRoot","querySelector","animation","isCollapsed","rotateChevronRight","rotateChevronDown","anime","targets","chevronRef","duration","easing","rotateZ","opacity","render","h","Host","key","class","closed","type","a11yBoolean","onClick","name","iconChevronRightSmall","color","ref","id","label","undefined","Fragment","icon","title","format","bold","sublabel","hide"],"sources":["src/components/blind/blind.scss?tag=ix-blind&encapsulation=shadow","src/components/blind/blind.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\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n@mixin blind($variant: 'filled') {\n :host(.blind-#{$variant}) {\n @if $variant == 'outline' {\n border: solid\n var(--theme-blind--border-thickness)\n var(--theme-blind-base--border-color);\n }\n\n .blind-header {\n @if $variant == 'outline' {\n background-color: var(--theme-color-ghost);\n } @else {\n background-color: var(--theme-color-#{$variant});\n }\n\n @if $variant == 'filled' or $variant == 'outline' {\n @include ghost-hover-pressed;\n } @else {\n @include hover {\n background-color: var(--theme-color-#{$variant}--hover);\n }\n\n @include active {\n background-color: var(--theme-color-#{$variant}--active);\n }\n }\n }\n\n @if $variant == 'filled' or $variant == 'outline' {\n .blind-header-title-label {\n color: var(--theme-color-std-text);\n }\n .blind-header-title-sublabel {\n color: var(--theme-color-soft-text);\n }\n } @else {\n .blind-header-title-label,\n .blind-header-title-sublabel {\n color: var(--theme-color-#{$variant}--contrast);\n }\n }\n\n @if $variant == 'outline' {\n border-color: var(--theme-color-soft-bdr);\n } @else {\n background-color: var(--theme-blind-base--background);\n }\n }\n}\n\n:host {\n @include ix-component;\n display: flex;\n flex-direction: column;\n border-radius: var(--theme-blind--border-radius);\n overflow: hidden;\n\n .blind-header-wrapper {\n position: relative;\n min-height: 3rem;\n height: 3rem;\n overflow: hidden;\n }\n\n .blind-header-content {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n\n width: 100%;\n height: 100%;\n\n pointer-events: none;\n padding-left: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n position: relative;\n align-items: center;\n flex-grow: 1;\n margin-right: 0.5rem;\n }\n\n .blind-header {\n all: unset;\n @include ellipsis;\n\n display: block;\n position: absolute;\n\n top: 0px;\n left: 0px;\n\n pointer-events: all;\n\n padding-left: 2.5rem;\n min-height: 3rem;\n height: 3rem;\n width: calc(100% - 2 * var(--theme-blind--border-thickness));\n border: solid var(--theme-blind--border-thickness) transparent;\n border-radius: var(--theme-blind--border-radius)\n var(--theme-blind--border-radius) 0 0;\n cursor: pointer;\n\n @include focus-visible {\n border-color: var(--theme-color-focus-bdr);\n outline: none;\n }\n }\n\n .blind-header-title-icon,\n .collapse-icon {\n margin-right: $small-space;\n }\n\n .blind-header-title-row {\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n }\n\n .blind-header-title-col {\n display: inline-flex;\n align-items: center;\n width: calc(100% - 1rem);\n overflow: hidden;\n }\n\n .blind-header-title-col:not(:first-of-type) {\n justify-content: flex-end;\n }\n ix-typography {\n flex-grow: 1;\n @include ellipsis;\n }\n\n .blind-header-title-label {\n @include ellipsis;\n padding-inline-end: 0.5rem;\n }\n\n .blind-header-title-sublabel {\n @include ellipsis;\n padding-inline: 0.5rem;\n }\n\n .blind-header-title {\n display: flex;\n align-items: center;\n flex-grow: 1;\n height: 100%;\n min-width: 0;\n }\n\n .blind-header-labels {\n display: inline-flex;\n flex-grow: 1;\n min-width: 0;\n }\n\n .blind-content {\n display: block;\n padding: 1rem;\n transition-property: padding;\n transition-duration: var(--theme-default-time);\n transition-timing-function: ease-in;\n\n &.hide {\n max-height: 0;\n padding-top: 0px;\n padding-bottom: 0px;\n }\n }\n\n .header-actions {\n pointer-events: all;\n margin-left: auto;\n }\n}\n\n$blind-variants: (\n alarm,\n critical,\n info,\n neutral,\n filled,\n success,\n warning,\n primary,\n outline\n);\n\n@each $variant in $blind-variants {\n @include blind($variant);\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 Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { CardVariant } from '../card/card';\nimport { a11yBoolean } from '../utils/a11y';\nimport { iconChevronRightSmall } from '@siemens/ix-icons/icons';\n\nexport type BlindVariant = CardVariant;\n\nlet sequentialInstanceId = 0;\n\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n shadow: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label?: string;\n\n /**\n * Secondary label inside blind header\n * @since 2.0.0\n */\n @Prop() sublabel?: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon?: string;\n\n /**\n * Blind variant\n * @since 2.0.0\n */\n @Prop() variant: BlindVariant = 'filled';\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange!: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef?: HTMLElement;\n private blindId = ++sequentialInstanceId;\n\n constructor() {}\n\n private onHeaderClick() {\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.shadowRoot!.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host\n class={{\n [`blind-${this.variant}`]: true,\n }}\n >\n <div class={'blind-header-wrapper'}>\n <button\n class={{\n 'blind-header': true,\n [`blind-${this.variant}`]: true,\n closed: this.collapsed,\n }}\n type=\"button\"\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n aria-controls={`ix-blind-content-section-${this.blindId}`}\n aria-expanded={a11yBoolean(!this.collapsed)}\n onClick={() => this.onHeaderClick()}\n >\n <slot name=\"custom-header\"></slot>\n </button>\n\n <div class={'blind-header-content'}>\n <ix-icon\n class=\"collapse-icon\"\n name={iconChevronRightSmall}\n color={\n this.variant === 'filled' || this.variant === 'outline'\n ? 'color-primary'\n : `color-${this.variant}--contrast`\n }\n ref={(ref: HTMLElement | undefined) => (this.chevronRef = ref)}\n ></ix-icon>\n <div\n class=\"blind-header-title\"\n id={`ix-blind-header-title-${this.blindId}`}\n >\n {this.label !== undefined ? (\n <Fragment>\n {this.icon && (\n <ix-icon\n class=\"blind-header-title-icon\"\n name={this.icon}\n color={\n this.variant === 'filled' || this.variant === 'outline'\n ? 'color-std-text'\n : `color-${this.variant}--contrast`\n }\n ></ix-icon>\n )}\n <div class={'blind-header-title-row'}>\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.label} format=\"label-lg\" bold>\n <div\n class=\"blind-header-title-label\"\n title={this.label}\n >\n {this.label}\n </div>\n </ix-typography>\n </div>\n\n {this.sublabel && (\n <div class=\"blind-header-title-col\">\n <ix-typography title={this.sublabel}>\n <div class=\"blind-header-title-sublabel\">\n {this.sublabel}\n </div>\n </ix-typography>\n </div>\n )}\n </div>\n <div class=\"header-actions\">\n <slot name=\"header-actions\"></slot>\n </div>\n </Fragment>\n ) : null}\n </div>\n </div>\n </div>\n <section\n id={`ix-blind-content-section-${this.blindId}`}\n aria-labelledby={`ix-blind-header-title-${this.blindId}`}\n >\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n {!this.collapsed ? <slot></slot> : null}\n </div>\n </section>\n </Host>\n );\n }\n}\n"],"mappings":"8KAAA,MAAMA,EAAW,2kTC2BjB,IAAIC,EAAuB,E,MAOdC,EAAK,MAuChB,WAAAC,CAAAC,G,2DAnCwCC,KAASC,UAAG,MAuB5CD,KAAOE,QAAiB,SAUxBF,KAAOG,UAAKP,CAEJ,CAER,aAAAQ,GACNJ,KAAKC,WAAaD,KAAKC,UACvBD,KAAKK,gBAAgBC,KAAKN,KAAKC,U,CAGjC,gBAAAM,GACEP,KAAKQ,gBAAgBR,KAAKC,U,CAG5B,WAAIQ,GACF,OAAOT,KAAKU,YAAYC,WAAYC,cAAc,iB,CAIpD,SAAAC,CAAUC,GACRd,KAAKQ,gBAAgBM,E,CAGf,eAAAN,CAAgBM,GACtB,GAAIA,EAAa,CACfd,KAAKe,oB,KACA,CACLf,KAAKgB,mB,EAID,iBAAAA,GACNC,EAAM,CACJC,QAASlB,KAAKmB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,KAEXL,EAAM,CACJC,QAASlB,KAAKS,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAIL,kBAAAR,GACNE,EAAM,CACJC,QAASlB,KAAKmB,WACdC,SAAU,IACVC,OAAQ,gBACRC,QAAS,IAEXL,EAAM,CACJC,QAASlB,KAAKS,QACdW,SAAU,IACVC,OAAQ,gBACRE,QAAS,G,CAIb,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,SAAS5B,KAAKE,WAAY,OAG7BuB,EAAK,OAAAE,IAAA,2CAAAC,MAAO,wBACVH,EAAA,UAAAE,IAAA,2CACEC,MAAO,CACL,eAAgB,KAChB,CAAC,SAAS5B,KAAKE,WAAY,KAC3B2B,OAAQ7B,KAAKC,WAEf6B,KAAK,SAAQ,kBACI,yBAAyB9B,KAAKG,UAChC,4CAA4BH,KAAKG,UAAS,gBAC1C4B,GAAa/B,KAAKC,WACjC+B,QAAS,IAAMhC,KAAKI,iBAEpBqB,EAAA,QAAAE,IAAA,2CAAMM,KAAK,mBAGbR,EAAK,OAAAE,IAAA,2CAAAC,MAAO,wBACVH,EACE,WAAAE,IAAA,2CAAAC,MAAM,gBACNK,KAAMC,EACNC,MACEnC,KAAKE,UAAY,UAAYF,KAAKE,UAAY,UAC1C,gBACA,SAASF,KAAKE,oBAEpBkC,IAAMA,GAAkCpC,KAAKmB,WAAaiB,IAE5DX,EACE,OAAAE,IAAA,2CAAAC,MAAM,qBACNS,GAAI,yBAAyBrC,KAAKG,WAEjCH,KAAKsC,QAAUC,UACdd,EAACe,EAAQ,KACNxC,KAAKyC,MACJhB,EAAA,WACEG,MAAM,0BACNK,KAAMjC,KAAKyC,KACXN,MACEnC,KAAKE,UAAY,UAAYF,KAAKE,UAAY,UAC1C,iBACA,SAASF,KAAKE,sBAIxBuB,EAAK,OAAAG,MAAO,0BACVH,EAAK,OAAAG,MAAM,0BACTH,EAAe,iBAAAiB,MAAO1C,KAAKsC,MAAOK,OAAO,WAAWC,KAAI,MACtDnB,EAAA,OACEG,MAAM,2BACNc,MAAO1C,KAAKsC,OAEXtC,KAAKsC,SAKXtC,KAAK6C,UACJpB,EAAK,OAAAG,MAAM,0BACTH,EAAA,iBAAeiB,MAAO1C,KAAK6C,UACzBpB,EAAK,OAAAG,MAAM,+BACR5B,KAAK6C,aAMhBpB,EAAK,OAAAG,MAAM,kBACTH,EAAA,QAAMQ,KAAK,qBAGb,QAIVR,EAAA,WAAAE,IAAA,2CACEU,GAAI,4BAA4BrC,KAAKG,UAAS,kBAC7B,yBAAyBH,KAAKG,WAE/CsB,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,gBAAiB,KACjBkB,KAAM9C,KAAKC,aAGXD,KAAKC,UAAYwB,EAAA,aAAgB,O","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["iconToggleButtonCss","IconToggleButton","constructor","hostRef","this","variant","outline","ghost","pressed","size","disabled","loading","isIllegalToggleButtonConfig","logIllegalConfig","console","warn","onVariantChange","onGhostChange","onOutlineChange","componentDidLoad","dispatchPressedChange","pressedChange","emit","getIconSizeClass","render","baseButtonProps","iconOnly","iconOval","selected","icon","iconSize","onClick","type","ariaAttributes","a11yBoolean","extraClasses","Object","assign","h","Host","key","class","BaseIconButton"],"sources":["src/components/icon-toggle-button/icon-toggle-button.scss?tag=ix-icon-toggle-button&encapsulation=shadow","src/components/icon-toggle-button/icon-toggle-button.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 '../icon-button/icon-button-mixin.scss';\n\n@include base-icon-button;\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 Watch,\n} from '@stencil/core';\nimport { BaseButtonProps } from '../button/base-button';\nimport { ButtonVariant } from '../button/button';\nimport { BaseIconButton } from '../icon-button/base-icon-button';\nimport { a11yBoolean } from '../utils/a11y';\n\n/**\n * @since 2.0.0\n */\n@Component({\n tag: 'ix-icon-toggle-button',\n shadow: true,\n styleUrl: './icon-toggle-button.scss',\n})\nexport class IconToggleButton {\n /**\n * Button variant.\n * Important: Variant 'primary' can only be combined with either outline or ghost.\n */\n @Prop() variant: ButtonVariant = 'secondary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Icon name\n */\n @Prop() icon?: string;\n\n /**\n * Show button as pressed\n */\n @Prop() pressed = false;\n\n /**\n * Size of icon in button\n */\n @Prop() size: '24' | '16' | '12' = '24';\n\n /**\n * Disable the button\n */\n @Prop({ reflect: true }) disabled = false;\n\n /**\n * Loading button\n */\n @Prop() loading: boolean = false;\n\n /**\n * Pressed change event\n */\n @Event() pressedChange!: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxIconToggleButtonElement;\n\n private isIllegalToggleButtonConfig() {\n return this.variant === 'primary' && (this.outline || this.ghost);\n }\n\n private logIllegalConfig() {\n console.warn(\n 'iX toggle button with illegal configuration detected. Variant \"primary\" can only be combined with \"outline\" or \"ghost\".'\n );\n }\n\n @Watch('variant')\n onVariantChange() {\n if (this.isIllegalToggleButtonConfig()) {\n this.logIllegalConfig();\n }\n }\n\n @Watch('ghost')\n onGhostChange() {\n this.onVariantChange();\n }\n\n @Watch('outline')\n onOutlineChange() {\n this.onVariantChange();\n }\n\n componentDidLoad() {\n this.onVariantChange();\n }\n\n private dispatchPressedChange() {\n this.pressedChange.emit(!this.pressed);\n }\n\n private getIconSizeClass() {\n return {\n 'btn-icon-12': this.size === '12',\n 'btn-icon-16': this.size === '16',\n 'btn-icon-32': this.size === '24',\n };\n }\n\n render() {\n const baseButtonProps: BaseButtonProps = {\n variant: this.variant,\n outline: this.outline,\n ghost: this.ghost,\n iconOnly: true,\n iconOval: false,\n selected: this.pressed,\n disabled: this.disabled || this.loading,\n icon: this.icon,\n iconSize: this.size,\n loading: this.loading,\n onClick: () => this.dispatchPressedChange(),\n type: 'button',\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.pressed),\n },\n extraClasses: {\n 'icon-button': true,\n ...this.getIconSizeClass(),\n },\n };\n\n return (\n <Host\n class={{\n ...this.getIconSizeClass(),\n disabled: this.disabled || this.loading,\n }}\n >\n <BaseIconButton {...baseButtonProps}></BaseIconButton>\n </Host>\n );\n }\n}\n"],"mappings":"gKAAA,MAAMA,EAAsB,07tB,MCgCfC,EAAgB,MAL7B,WAAAC,CAAAC,G,uDAUUC,KAAOC,QAAkB,YAKzBD,KAAOE,QAAG,MAKVF,KAAKG,MAAG,MAURH,KAAOI,QAAG,MAKVJ,KAAIK,KAAuB,KAKVL,KAAQM,SAAG,MAK5BN,KAAOO,QAAY,KAsF5B,CA7ES,2BAAAC,GACN,OAAOR,KAAKC,UAAY,YAAcD,KAAKE,SAAWF,KAAKG,M,CAGrD,gBAAAM,GACNC,QAAQC,KACN,0H,CAKJ,eAAAC,GACE,GAAIZ,KAAKQ,8BAA+B,CACtCR,KAAKS,kB,EAKT,aAAAI,GACEb,KAAKY,iB,CAIP,eAAAE,GACEd,KAAKY,iB,CAGP,gBAAAG,GACEf,KAAKY,iB,CAGC,qBAAAI,GACNhB,KAAKiB,cAAcC,MAAMlB,KAAKI,Q,CAGxB,gBAAAe,GACN,MAAO,CACL,cAAenB,KAAKK,OAAS,KAC7B,cAAeL,KAAKK,OAAS,KAC7B,cAAeL,KAAKK,OAAS,K,CAIjC,MAAAe,GACE,MAAMC,EAAmC,CACvCpB,QAASD,KAAKC,QACdC,QAASF,KAAKE,QACdC,MAAOH,KAAKG,MACZmB,SAAU,KACVC,SAAU,MACVC,SAAUxB,KAAKI,QACfE,SAAUN,KAAKM,UAAYN,KAAKO,QAChCkB,KAAMzB,KAAKyB,KACXC,SAAU1B,KAAKK,KACfE,QAASP,KAAKO,QACdoB,QAAS,IAAM3B,KAAKgB,wBACpBY,KAAM,SACNC,eAAgB,CACd,eAAgBC,EAAY9B,KAAKI,UAEnC2B,aAAYC,OAAAC,OAAA,CACV,cAAe,MACZjC,KAAKmB,qBAIZ,OACEe,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAKL,OAAAC,OAAAD,OAAAC,OAAA,GACAjC,KAAKmB,oBACR,CAAAb,SAAUN,KAAKM,UAAYN,KAAKO,WAGlC2B,EAACI,EAAmBN,OAAAC,OAAA,CAAAG,IAAA,4CAAAf,I","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownButtonCss","DropdownButton","constructor","hostRef","this","variant","outline","ghost","disabled","closeBehavior","dropdownAnchor","makeRef","getTriangle","h","class","triangle","hide","label","primary","secondary","render","Host","key","ref","alignment","icon","name","size","iconChevronDownSmall","trigger","waitForCurrent","placement"],"sources":["src/components/dropdown-button/dropdown-button.scss?tag=ix-dropdown-button&encapsulation=shadow","src/components/dropdown-button/dropdown-button.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@import 'common-variables';\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n height: $x-large-space;\n width: auto;\n\n .hide {\n display: none;\n }\n\n .dropdown-button {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button > ix-button {\n width: 100%;\n height: 100%;\n }\n\n .dropdown-button .button-label {\n margin-right: auto;\n min-width: 0px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .dropdown-button .dropdown-icon {\n margin-right: 0.25rem;\n }\n\n .triangle {\n position: absolute;\n margin-inline-start: 1.5625rem;\n margin-block-start: -0.4375rem;\n border-right: 0 solid transparent;\n border-left: 4px solid transparent;\n border-top: 0 solid transparent;\n border-bottom: 4px solid;\n color: var(--theme-btn-primary--color);\n }\n\n .triangle.primary {\n &.ghost {\n color: var(--theme-btn-invisible-primary--color);\n }\n\n &.outline {\n color: var(--theme-btn-outline-primary--color);\n }\n\n &.ghost.disabled {\n color: var(--theme-btn-invisible-primary--color--disabled);\n }\n\n &.outline.disabled {\n color: var(--theme-btn-outline-primary--color--disabled);\n }\n\n &.disabled {\n color: var(--theme-btn-primary--color--disabled);\n }\n }\n\n .triangle.secondary {\n &.ghost {\n color: var(--theme-btn-invisible-secondary--color);\n }\n\n &.outline {\n color: var(--theme-btn-outline-secondary--color);\n }\n\n &.ghost.disabled {\n color: var(--theme-btn-invisible-secondary--color--disabled);\n }\n\n &.outline.disabled {\n color: var(--theme-btn-outline-secondary--color--disabled);\n }\n\n &.disabled {\n color: var(--theme-btn-secondary--color--disabled);\n }\n }\n\n .content {\n display: flex;\n align-items: center;\n }\n}\n\n:host(.disabled) {\n pointer-events: none;\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 { Component, Element, h, Host, Prop } from '@stencil/core';\nimport { ButtonVariant } from '../button/button';\nimport { AlignedPlacement } from '../dropdown/placement';\nimport { iconChevronDownSmall } from '@siemens/ix-icons/icons';\nimport { makeRef } from '../utils/make-ref';\n\nexport type DropdownButtonVariant = ButtonVariant;\n\n/**\n * @since 1.3.0\n */\n@Component({\n tag: 'ix-dropdown-button',\n styleUrl: 'dropdown-button.scss',\n shadow: true,\n})\nexport class DropdownButton {\n @Element() hostElement!: HTMLIxDropdownButtonElement;\n\n /**\n * Button variant\n */\n @Prop() variant: DropdownButtonVariant = 'primary';\n\n /**\n * Outline button\n */\n @Prop() outline = false;\n\n /**\n * Button with no background or outline\n */\n @Prop() ghost = false;\n\n /**\n * Disable button\n */\n @Prop() disabled = false;\n\n /**\n * Set label\n */\n @Prop() label?: string;\n\n /**\n * Button icon\n */\n @Prop() icon?: string;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * @since 2.1.0\n */\n @Prop() closeBehavior: 'inside' | 'outside' | 'both' | boolean = 'both';\n\n /**\n * Placement of the dropdown\n *\n * @since 2.0.0\n */\n @Prop() placement?: AlignedPlacement;\n\n private readonly dropdownAnchor = makeRef<HTMLElement>();\n\n private getTriangle() {\n return (\n <div\n class={{\n triangle: true,\n hide: this.label !== '',\n primary: this.variant === 'primary',\n secondary: this.variant === 'secondary',\n ghost: this.ghost,\n outline: this.outline,\n disabled: this.disabled,\n }}\n ></div>\n );\n }\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n }}\n ref={this.dropdownAnchor}\n >\n <div class=\"dropdown-button\">\n {this.label ? (\n <ix-button\n variant={this.variant}\n outline={this.outline}\n ghost={this.ghost}\n disabled={this.disabled}\n alignment=\"start\"\n >\n <div class={'content'}>\n {this.icon ? (\n <ix-icon\n name={this.icon}\n size=\"24\"\n class={'dropdown-icon'}\n ></ix-icon>\n ) : null}\n <div class={'button-label'}>{this.label}</div>\n <ix-icon name={iconChevronDownSmall} size=\"24\"></ix-icon>\n </div>\n </ix-button>\n ) : (\n <div>\n <ix-icon-button\n icon={this.icon}\n variant={this.variant}\n outline={this.outline}\n ghost={this.ghost}\n disabled={this.disabled}\n ></ix-icon-button>\n {this.getTriangle()}\n </div>\n )}\n </div>\n\n <ix-dropdown\n class=\"dropdown\"\n trigger={this.dropdownAnchor.waitForCurrent()}\n placement={this.placement}\n closeBehavior={this.closeBehavior}\n >\n <slot></slot>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"mappings":"iIAAA,MAAMA,EAAoB,41E,MCyBbC,EAAc,MAL3B,WAAAC,CAAAC,G,UAWUC,KAAOC,QAA0B,UAKjCD,KAAOE,QAAG,MAKVF,KAAKG,MAAG,MAKRH,KAAQI,SAAG,MAgBXJ,KAAaK,cAA4C,OAShDL,KAAcM,eAAGC,GAwEnC,CAtES,WAAAC,GACN,OACEC,EACE,OAAAC,MAAO,CACLC,SAAU,KACVC,KAAMZ,KAAKa,QAAU,GACrBC,QAASd,KAAKC,UAAY,UAC1Bc,UAAWf,KAAKC,UAAY,YAC5BE,MAAOH,KAAKG,MACZD,QAASF,KAAKE,QACdE,SAAUJ,KAAKI,W,CAMvB,MAAAY,GACE,OACEP,EAACQ,EAAI,CAAAC,IAAA,2CACHR,MAAO,CACLN,SAAUJ,KAAKI,UAEjBe,IAAKnB,KAAKM,gBAEVG,EAAA,OAAAS,IAAA,2CAAKR,MAAM,mBACRV,KAAKa,MACJJ,EACE,aAAAR,QAASD,KAAKC,QACdC,QAASF,KAAKE,QACdC,MAAOH,KAAKG,MACZC,SAAUJ,KAAKI,SACfgB,UAAU,SAEVX,EAAK,OAAAC,MAAO,WACTV,KAAKqB,KACJZ,EACE,WAAAa,KAAMtB,KAAKqB,KACXE,KAAK,KACLb,MAAO,kBAEP,KACJD,EAAA,OAAKC,MAAO,gBAAiBV,KAAKa,OAClCJ,EAAA,WAASa,KAAME,EAAsBD,KAAK,SAI9Cd,EAAA,WACEA,EAAA,kBACEY,KAAMrB,KAAKqB,KACXpB,QAASD,KAAKC,QACdC,QAASF,KAAKE,QACdC,MAAOH,KAAKG,MACZC,SAAUJ,KAAKI,WAEhBJ,KAAKQ,gBAKZC,EACE,eAAAS,IAAA,2CAAAR,MAAM,WACNe,QAASzB,KAAKM,eAAeoB,iBAC7BC,UAAW3B,KAAK2B,UAChBtB,cAAeL,KAAKK,eAEpBI,EAAa,QAAAS,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["paneLayoutCss","Panes","constructor","hostRef","this","layout","variant","borderless","isMobile","paneElements","panes","currentPanes","hostElement","querySelectorAll","componentWillLoad","length","observer","MutationObserver","mutations","_a","addedNodes","item","nodeName","_b","removedNodes","observe","childList","matchBreakpoint","applicationLayoutService","onChange","on","componentDidLoad","setPanes","disconnectedCallback","disconnect","setPaneVariant","pane","ignoreLayoutSettings","setPaneBorder","hasVisibleLeftPane","find","slot","hideOnCollapse","composition","setPaneZIndex","isTop","isBottom","isLeft","isRight","zIndex","style","toString","forEach","push","floating","closeFloatingPanes","expanded","configurePanes","topCount","bottomCount","leftCount","rightCount","forceUpdate","onSlotChanged","onCollapsibleChanged","event","detail","currentSlot","onVariantChanged","onPaneElementsChange","onVariableChange","onBorderChange","onLayoutChange","onMobileChange","hasPadding","hasPaddingMobile","slotExists","isFloating","render","h","Host","key","class","row","name","col","onClick","minHeight","display"],"sources":["src/components/pane-layout/pane-layout.scss?tag=ix-pane-layout&encapsulation=shadow","src/components/pane-layout/pane-layout.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 'mixins/hover';\n@import 'mixins/shadow-dom/component';\n\n@mixin set-padding($composition) {\n @if $composition {\n padding-#{$composition}: 2.5rem;\n }\n}\n\n@mixin set-absolute($composition) {\n @if $composition {\n position: absolute;\n #{$composition}: 0;\n }\n}\n\n:host {\n @include ix-component;\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n\n .side-panes-wrapper {\n height: 100%;\n width: 100%;\n }\n\n .row {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n position: relative;\n }\n\n .col {\n height: 100%;\n width: 100%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n position: relative;\n }\n\n .content {\n width: 100%;\n height: 100%;\n overflow: auto;\n }\n\n .absolute-top {\n width: 100%;\n @include set-absolute(top);\n }\n\n .absolute-bottom {\n width: 100%;\n @include set-absolute(bottom);\n }\n\n .absolute-left {\n height: 100%;\n @include set-absolute(left);\n }\n\n .absolute-right {\n height: 100%;\n @include set-absolute(right);\n }\n\n .padding-top {\n @include set-padding(top);\n }\n\n .padding-bottom {\n @include set-padding(bottom);\n }\n\n .padding-left {\n @include set-padding(left);\n }\n\n .padding-right {\n @include set-padding(right);\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 forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { Composition } from '../pane/pane';\nimport { applicationLayoutService } from '../utils/application-layout';\nimport { matchBreakpoint } from '../utils/breakpoints';\n\n/**\n * @since 2.1.0\n */\n@Component({\n tag: 'ix-pane-layout',\n styleUrl: 'pane-layout.scss',\n shadow: true,\n})\nexport class Panes {\n @Element() hostElement!: HTMLIxPaneLayoutElement;\n\n /**\n * Choose the layout of the panes.\n * When set to 'full-vertical' the vertical panes (left, right) will get the full height.\n * When set to 'full-horizontal' the horizontal panes (top, bottom) will get the full width.\n */\n @Prop() layout: 'full-vertical' | 'full-horizontal' = 'full-vertical';\n\n /**\n * Set the default variant for all panes in the layout\n */\n @Prop() variant: 'floating' | 'inline' = 'inline';\n\n /**\n * Set the default border state for all panes in the layout\n */\n @Prop() borderless: boolean = false;\n\n @State() private isMobile = false;\n @State() private paneElements = 0;\n\n private panes: Array<{\n slot: string;\n hideOnCollapse: boolean;\n floating: boolean;\n }> = [];\n\n private observer?: MutationObserver;\n\n get currentPanes() {\n return this.hostElement.querySelectorAll('ix-pane');\n }\n\n componentWillLoad() {\n this.paneElements = this.currentPanes.length;\n\n this.observer = new MutationObserver((mutations) => {\n if (mutations[0].addedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements += 1;\n } else if (mutations[0].removedNodes.item(0)?.nodeName === 'IX-PANE') {\n this.paneElements -= 1;\n }\n });\n this.observer.observe(this.hostElement, {\n childList: true,\n });\n\n this.isMobile = matchBreakpoint('sm');\n applicationLayoutService.onChange.on(() => {\n this.isMobile = matchBreakpoint('sm');\n });\n }\n\n componentDidLoad() {\n this.setPanes(this.currentPanes);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n private setPaneVariant(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n pane.variant = this.variant;\n }\n }\n\n private setPaneBorder(pane: HTMLIxPaneElement) {\n if (!pane.ignoreLayoutSettings) {\n if (this.borderless) {\n pane.borderless = true;\n } else {\n const hasVisibleLeftPane = !!this.panes.find(\n (pane) => pane.slot === 'left' && !pane.hideOnCollapse\n );\n if (\n pane.variant === 'floating' &&\n this.layout === 'full-vertical' &&\n hasVisibleLeftPane &&\n (pane.composition === 'top' || pane.composition === 'bottom')\n ) {\n pane.borderless = true;\n } else {\n pane.borderless = false;\n }\n }\n }\n }\n\n private setPaneZIndex(pane: HTMLIxPaneElement) {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n let zIndex = 1;\n if (this.isMobile) {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n } else {\n if (this.layout === 'full-vertical') {\n if (isLeft || isRight) {\n zIndex = 3;\n }\n } else {\n if (isBottom || isTop) {\n zIndex = 3;\n }\n }\n }\n pane.style.zIndex = zIndex.toString();\n }\n\n private setPanes(panes: NodeListOf<HTMLIxPaneElement>) {\n this.panes = [];\n panes.forEach((pane) => {\n this.panes.push({\n slot: pane.slot,\n hideOnCollapse: pane.hideOnCollapse,\n floating: pane.variant === 'floating',\n });\n });\n }\n\n private closeFloatingPanes() {\n this.currentPanes.forEach((pane) => {\n if (pane.expanded && pane.variant === 'floating') {\n pane.expanded = false;\n }\n });\n }\n\n private configurePanes() {\n let topCount = 0;\n let bottomCount = 0;\n let leftCount = 0;\n let rightCount = 0;\n\n this.currentPanes.forEach((pane) => {\n const isTop = pane.slot === 'top';\n const isBottom = pane.slot === 'bottom';\n const isLeft = pane.slot === 'left';\n const isRight = pane.slot === 'right';\n\n if (isLeft) {\n if (leftCount) {\n pane.slot = '';\n return;\n }\n leftCount++;\n } else if (isRight) {\n if (rightCount) {\n pane.slot = '';\n return;\n }\n rightCount++;\n } else if (isTop) {\n if (topCount) {\n pane.slot = '';\n return;\n }\n topCount++;\n } else if (isBottom) {\n if (bottomCount) {\n pane.slot = '';\n return;\n }\n bottomCount++;\n } else {\n pane.slot = '';\n return;\n }\n\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Listen('slotChanged')\n onSlotChanged() {\n this.configurePanes();\n }\n\n @Listen('hideOnCollapseChanged')\n onCollapsibleChanged(event: CustomEvent) {\n const { slot, hideOnCollapse } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.hideOnCollapse = hideOnCollapse;\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Listen('variantChanged')\n onVariantChanged(event: CustomEvent) {\n const { slot, variant } = event.detail;\n\n this.panes.forEach((currentSlot) => {\n if (currentSlot.slot === slot) {\n currentSlot.floating = variant === 'floating';\n }\n });\n\n forceUpdate(this.hostElement);\n }\n\n @Watch('paneElements')\n onPaneElementsChange() {\n this.configurePanes();\n }\n\n @Watch('variant')\n onVariableChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneVariant(pane);\n this.setPaneBorder(pane);\n });\n\n this.setPanes(this.currentPanes);\n forceUpdate(this.hostElement);\n }\n\n @Watch('borderless')\n onBorderChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n });\n }\n\n @Watch('layout')\n onLayoutChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneBorder(pane);\n this.setPaneZIndex(pane);\n });\n }\n\n @Watch('isMobile')\n onMobileChange() {\n this.currentPanes.forEach((pane) => {\n this.setPaneZIndex(pane);\n });\n }\n\n private hasPadding(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? !pane.hideOnCollapse && pane.floating : false;\n }\n\n private hasPaddingMobile(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane && !pane.hideOnCollapse;\n }\n\n private slotExists(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return !!pane;\n }\n\n private isFloating(composition: Composition) {\n const pane = this.panes.find((pane) => pane.slot === composition);\n return pane ? pane.floating : false;\n }\n\n render() {\n return (\n <Host>\n {!this.isMobile ? (\n this.layout == 'full-vertical' ? (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n </div>\n ) : (\n <div class=\"side-panes-wrapper\">\n <div\n class={{\n col: true,\n 'padding-top': this.hasPadding('top'),\n 'padding-bottom': this.hasPadding('bottom'),\n }}\n >\n <div\n key=\"top\"\n class={{ 'absolute-top': this.isFloating('top') }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n class={{\n row: true,\n 'padding-left': this.hasPadding('left'),\n 'padding-right': this.hasPadding('right'),\n }}\n >\n <div\n key=\"left\"\n class={{ 'absolute-left': this.isFloating('left') }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n class={{ 'absolute-right': this.isFloating('right') }}\n >\n <slot name=\"right\"></slot>\n </div>\n </div>\n <div\n key=\"bottom\"\n class={{ 'absolute-bottom': this.isFloating('bottom') }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n </div>\n )\n ) : (\n <div class=\"col\">\n <div\n key=\"top\"\n style={{\n minHeight: this.hasPaddingMobile('top') ? '48px' : '0',\n display: this.slotExists('top') ? 'block' : 'none',\n }}\n >\n <slot name=\"top\"></slot>\n </div>\n <div\n key=\"left\"\n style={{\n minHeight: this.hasPaddingMobile('left') ? '48px' : '0',\n display: this.slotExists('left') ? 'block' : 'none',\n }}\n >\n <slot name=\"left\"></slot>\n </div>\n <div\n key=\"content\"\n class=\"content\"\n onClick={() => this.closeFloatingPanes()}\n >\n <slot name=\"content\"></slot>\n <slot></slot>\n </div>\n <div\n key=\"right\"\n style={{\n minHeight: this.hasPaddingMobile('right') ? '48px' : '0',\n display: this.slotExists('right') ? 'block' : 'none',\n }}\n >\n <slot name=\"right\"></slot>\n </div>\n <div\n key=\"bottom\"\n style={{\n minHeight: this.hasPaddingMobile('bottom') ? '48px' : '0',\n display: this.slotExists('bottom') ? 'block' : 'none',\n }}\n >\n <slot name=\"bottom\"></slot>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["contentCss","Content","constructor","hostRef","this","isContentHeaderSlotted","contentHeaderSlot","hostElement","shadowRoot","querySelector","render","h","Host","key","class","slotted","name","onSlotchange","hasSlottedElements"],"sources":["src/components/content/content.scss?tag=ix-content&encapsulation=shadow","src/components/content/content.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@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: flex;\n flex-direction: column;\n position: relative;\n padding: 1.5rem 0rem 0.25rem 2rem;\n\n width: 100%;\n height: 100%;\n\n overflow: hidden;\n\n .content {\n flex-grow: 1;\n overflow: auto;\n padding-right: 1.5rem;\n position: relative;\n }\n\n .content-header.slotted {\n margin-bottom: 1rem;\n padding-right: 1.5rem;\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 { Component, Element, h, Host, State } from '@stencil/core';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n/**\n * @since 2.1.0\n * @slot header - Display content at the top of the content page\n */\n@Component({\n tag: 'ix-content',\n styleUrl: 'content.scss',\n shadow: true,\n})\nexport class Content {\n @Element() hostElement!: HTMLIxContentElement;\n\n @State() isContentHeaderSlotted = false;\n\n get contentHeaderSlot() {\n return this.hostElement.shadowRoot!.querySelector(\n '.content-header slot'\n ) as HTMLSlotElement;\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'content-header': true,\n slotted: this.isContentHeaderSlotted,\n }}\n >\n <slot\n name=\"header\"\n onSlotchange={() => {\n this.isContentHeaderSlotted = hasSlottedElements(\n this.contentHeaderSlot\n );\n }}\n ></slot>\n </div>\n <div class=\"content\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"wFAAA,MAAMA,EAAa,ohC,MCqBNC,EAAO,MALpB,WAAAC,CAAAC,G,UAQWC,KAAsBC,uBAAG,KAgCnC,CA9BC,qBAAIC,GACF,OAAOF,KAAKG,YAAYC,WAAYC,cAClC,uB,CAIJ,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,OAAAE,IAAA,2CACEC,MAAO,CACL,iBAAkB,KAClBC,QAASX,KAAKC,yBAGhBM,EAAA,QAAAE,IAAA,2CACEG,KAAK,SACLC,aAAc,KACZb,KAAKC,uBAAyBa,EAC5Bd,KAAKE,kBACN,KAIPK,EAAK,OAAAE,IAAA,2CAAAC,MAAM,WACTH,EAAa,QAAAE,IAAA,8C","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["dropdownCss","sequenceId","Dropdown","constructor","hostRef","this","suppressAutomaticPlacement","show","closeBehavior","placement","positioningStrategy","discoverAllSubmenus","ignoreRelatedSubmenu","suppressOverflowBehavior","localUId","assignedSubmenu","itemObserver","MutationObserver","arrowFocusController","items","dropdownItems","connectedCallback","dropdownController","connected","trigger","undefined","registerListener","cacheSubmenuId","event","stopImmediatePropagation","preventDefault","detail","indexOf","push","disconnectedCallback","dismiss","disconnected","_a","disconnect","disposeClickListener","disposeKeyListener","autoUpdateCleanup","getAssignedSubmenuIds","isPresent","present","getId","willDismiss","defaultPrevented","showChanged","emit","willPresent","Array","from","hostElement","querySelectorAll","slotElement","shadowRoot","querySelector","addEventListenersFor","call","_b","toggleController","dismissOthers","triggerElement","addDisposableEventListener","_c","setAttribute","discoverSubmenu","dispatchEvent","CustomEvent","bubbles","composed","cancelable","registerKeyListener","key","document","activeElement","setTimeout","focusDropdownItem","element","resolveElement","el","findElement","checkForSubmenuAnchor","hasDropdownItemWrapperImplemented","dropdownItem","getDropdownItemElement","isSubMenu","style","zIndex","tagName","resolveAnchorElement","anchor","anchorElement","changedShow","newShow","applyDropdownPosition","ArrowFocusController","index","observe","childList","subtree","destroyAutoUpdate","_d","changedTrigger","newTriggerValue","isAnchorSubmenu","closest","isSubmenu","positionConfig","strategy","middleware","flip","fallbackStrategy","filter","Boolean","inline","shift","offset","autoUpdate","async","computeResponse","computePosition","Object","assign","top","left","transform","Math","round","x","y","overwriteDropdownStyle","overwriteStyle","dropdownRef","triggerRef","ancestorResize","ancestorScroll","elementResize","requestAnimationFrame","button","focus","componentDidLoad","componentDidRender","isTriggerElement","hasAttribute","onDropdownClick","target","pathIncludesTrigger","composedPath","dismissAll","updatePosition","render","h","Host","class","overflow","margin","minWidth","position","role","onClick","display","header"],"sources":["src/components/dropdown/dropdown.scss?tag=ix-dropdown&encapsulation=shadow","src/components/dropdown/dropdown.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\n@import 'legacy/mixins/fonts';\n@import 'mixins/text-truncation';\n@import 'mixins/shadow-dom/component';\n\n:host {\n background-color: var(--theme-color-2);\n border-radius: var(--theme-default-border-radius);\n @include ix-component;\n min-width: 0px;\n z-index: var(--theme-z-index-dropdown);\n box-shadow: var(--theme-shadow-4);\n\n padding: 0.25rem 0px;\n\n .dropdown-header {\n display: flex;\n align-items: center;\n height: $large-control-height;\n color: var(--theme-menu-header--color);\n padding: 0 $default-space;\n }\n}\n\n:host(.overflow) {\n max-height: 50vh;\n overflow-y: auto;\n}\n\n:host(:not(.show)) {\n display: none;\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 autoUpdate,\n computePosition,\n ComputePositionConfig,\n flip,\n inline,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n} from '@stencil/core';\nimport { ComponentInterface } from '@stencil/core/internal';\nimport { ArrowFocusController } from '../utils/focus';\nimport {\n CloseBehavior,\n dropdownController,\n DropdownInterface,\n hasDropdownItemWrapperImplemented,\n} from './dropdown-controller';\nimport { AlignedPlacement } from './placement';\nimport { findElement } from '../utils/find-element';\nimport {\n addDisposableEventListener,\n DisposableEventListener,\n} from '../utils/disposable-event-listener';\nimport { ElementReference } from '../utils/element-reference';\n\nlet sequenceId = 0;\n\n@Component({\n tag: 'ix-dropdown',\n styleUrl: 'dropdown.scss',\n shadow: true,\n})\nexport class Dropdown implements ComponentInterface, DropdownInterface {\n @Element() hostElement!: HTMLIxDropdownElement;\n\n /**\n * Suppress the automatic placement of the dropdown.\n *\n * @since 2.0.0\n */\n @Prop() suppressAutomaticPlacement = false;\n\n /**\n * Show dropdown\n */\n @Prop({ mutable: true, reflect: true }) show = false;\n\n /**\n * Define an element that triggers the dropdown.\n * A trigger can either be a string that will be interpreted as id attribute or a DOM element.\n */\n @Prop() trigger?: ElementReference;\n\n /**\n * Define an anchor element\n */\n @Prop() anchor?: ElementReference;\n\n /**\n * Controls if the dropdown will be closed in response to a click event depending on the position of the event relative to the dropdown.\n * If the dropdown is a child of another one, it will be closed with the parent, regardless of its own close behavior.\n */\n @Prop() closeBehavior: CloseBehavior = 'both';\n\n /**\n * Placement of the dropdown\n */\n @Prop() placement: AlignedPlacement = 'bottom-start';\n\n /**\n * Position strategy\n */\n @Prop() positioningStrategy: 'absolute' | 'fixed' = 'fixed';\n\n /**\n * An optional header shown at the top of the dropdown\n */\n @Prop() header?: string;\n\n /**\n * Move dropdown along main axis of alignment\n *\n * @internal\n */\n @Prop() offset?: {\n mainAxis?: number;\n crossAxis?: number;\n alignmentAxis?: number;\n };\n\n /**\n * @internal\n */\n @Prop() overwriteDropdownStyle?: (delegate: {\n dropdownRef: HTMLElement;\n triggerRef?: HTMLElement;\n }) => Promise<Partial<CSSStyleDeclaration>>;\n\n /**\n * @internal\n * If initialization of this dropdown is expected to be deferred submenu discovery will have to be re-run globally by the controller.\n * This property indicates the need for that to the controller.\n */\n @Prop() discoverAllSubmenus = false;\n\n /** @internal */\n @Prop() ignoreRelatedSubmenu = false;\n\n /** @internal */\n @Prop() suppressOverflowBehavior = false;\n\n /**\n * Fire event after visibility of dropdown has changed\n */\n @Event() showChanged!: EventEmitter<boolean>;\n\n private autoUpdateCleanup?: () => void;\n\n private triggerElement?: Element;\n private anchorElement?: Element;\n private arrowFocusController?: ArrowFocusController;\n\n private localUId = `dropdown-${sequenceId++}`;\n private assignedSubmenu: string[] = [];\n\n private itemObserver? = new MutationObserver(() => {\n if (this.arrowFocusController) {\n this.arrowFocusController.items = this.dropdownItems;\n }\n });\n\n connectedCallback(): void {\n dropdownController.connected(this);\n\n if (this.trigger != undefined) {\n this.registerListener(this.trigger);\n }\n }\n\n @Listen('ix-assign-sub-menu')\n cacheSubmenuId(event: CustomEvent<string>) {\n event.stopImmediatePropagation();\n event.preventDefault();\n\n const { detail } = event;\n\n if (this.assignedSubmenu.indexOf(detail) === -1) {\n this.assignedSubmenu.push(detail);\n }\n }\n\n disconnectedCallback() {\n dropdownController.dismiss(this);\n dropdownController.disconnected(this);\n\n if (this.arrowFocusController) {\n this.arrowFocusController?.disconnect();\n this.arrowFocusController = undefined;\n }\n\n if (this.itemObserver) {\n this.itemObserver.disconnect();\n this.itemObserver = undefined;\n }\n\n if (this.disposeClickListener) {\n this.disposeClickListener();\n this.disposeClickListener = undefined;\n }\n\n if (this.disposeKeyListener) {\n this.disposeKeyListener();\n this.disposeKeyListener = undefined;\n }\n\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n getAssignedSubmenuIds() {\n return this.assignedSubmenu;\n }\n\n isPresent() {\n return this.show;\n }\n\n present() {\n this.show = true;\n }\n\n dismiss() {\n this.show = false;\n }\n\n getId() {\n return this.localUId;\n }\n\n willDismiss() {\n const { defaultPrevented } = this.showChanged.emit(false);\n return !defaultPrevented;\n }\n\n willPresent() {\n const { defaultPrevented } = this.showChanged.emit(true);\n return !defaultPrevented;\n }\n\n get dropdownItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-dropdown-item'));\n }\n\n get slotElement() {\n return this.hostElement.shadowRoot!.querySelector('slot');\n }\n\n private disposeClickListener?: DisposableEventListener;\n private disposeKeyListener?: DisposableEventListener;\n\n private addEventListenersFor() {\n this.disposeClickListener?.();\n this.disposeKeyListener?.();\n\n const toggleController = () => {\n if (!this.isPresent()) {\n dropdownController.present(this);\n } else {\n dropdownController.dismiss(this);\n }\n\n dropdownController.dismissOthers(this.getId());\n };\n\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeClickListener = addDisposableEventListener(\n this.triggerElement,\n 'click',\n (event: Event) => {\n if (!event.defaultPrevented) {\n toggleController();\n }\n }\n );\n\n this.triggerElement?.setAttribute(\n 'data-ix-dropdown-trigger',\n this.localUId\n );\n }\n\n /** @internal */\n @Method()\n async discoverSubmenu() {\n this.triggerElement?.dispatchEvent(\n new CustomEvent('ix-assign-sub-menu', {\n bubbles: true,\n composed: true,\n cancelable: true,\n detail: this.localUId,\n })\n );\n }\n\n private registerKeyListener() {\n if (!this.triggerElement) {\n return;\n }\n\n this.disposeKeyListener = addDisposableEventListener(\n this.triggerElement,\n 'keydown',\n ((event: KeyboardEvent) => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n if (document.activeElement !== this.triggerElement) {\n return;\n }\n\n dropdownController.present(this);\n\n setTimeout(() => {\n this.focusDropdownItem(0);\n });\n }) as EventListener\n );\n }\n\n private async registerListener(element: ElementReference) {\n this.triggerElement = await this.resolveElement(element);\n if (this.triggerElement) {\n this.addEventListenersFor();\n this.discoverSubmenu();\n }\n }\n\n private async resolveElement(element: ElementReference) {\n const el = await findElement(element);\n\n return this.checkForSubmenuAnchor(el);\n }\n\n private async checkForSubmenuAnchor(element?: Element) {\n if (!element) {\n return undefined;\n }\n\n if (hasDropdownItemWrapperImplemented(element)) {\n const dropdownItem = await element.getDropdownItemElement();\n dropdownItem.isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n if (element.tagName === 'IX-DROPDOWN-ITEM') {\n (element as HTMLIxDropdownItemElement).isSubMenu = true;\n this.hostElement.style.zIndex = `var(--theme-z-index-dropdown)`;\n }\n\n return element;\n }\n\n private async resolveAnchorElement() {\n if (this.anchor) {\n this.anchorElement = await this.resolveElement(this.anchor);\n } else if (this.trigger) {\n this.anchorElement = await this.resolveElement(this.trigger);\n }\n }\n\n @Watch('show')\n async changedShow(newShow: boolean) {\n if (newShow) {\n await this.resolveAnchorElement();\n\n if (this.anchorElement) {\n this.applyDropdownPosition();\n }\n\n this.arrowFocusController = new ArrowFocusController(\n this.dropdownItems,\n this.hostElement,\n (index) => this.focusDropdownItem(index)\n );\n\n this.itemObserver?.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.registerKeyListener();\n } else {\n this.destroyAutoUpdate();\n this.arrowFocusController?.disconnect();\n this.itemObserver?.disconnect();\n this.disposeKeyListener?.();\n }\n }\n\n @Watch('trigger')\n changedTrigger(newTriggerValue: ElementReference) {\n this.registerListener(newTriggerValue);\n }\n\n private destroyAutoUpdate() {\n if (this.autoUpdateCleanup) {\n this.autoUpdateCleanup();\n this.autoUpdateCleanup = undefined;\n }\n }\n\n private isAnchorSubmenu(): boolean {\n if (!hasDropdownItemWrapperImplemented(this.anchorElement)) {\n // Is no official dropdown-item, but check if any dropdown-item\n // is placed somewhere up the DOM\n return !!this.anchorElement?.closest('ix-dropdown-item');\n }\n\n return true;\n }\n\n private async applyDropdownPosition() {\n if (!this.show) {\n return;\n }\n if (!this.anchorElement) {\n return;\n }\n const isSubmenu = this.isAnchorSubmenu();\n\n let positionConfig: Partial<ComputePositionConfig> = {\n strategy: this.positioningStrategy,\n middleware: [],\n };\n\n if (!this.suppressAutomaticPlacement) {\n positionConfig.middleware?.push(\n flip({ fallbackStrategy: 'initialPlacement' })\n );\n }\n\n positionConfig.placement = isSubmenu ? 'right-start' : this.placement;\n\n positionConfig.middleware = [\n ...(positionConfig.middleware?.filter(Boolean) || []),\n inline(),\n shift(),\n ];\n\n if (this.offset) {\n positionConfig.middleware.push(offset(this.offset));\n }\n\n this.destroyAutoUpdate();\n\n if (!this.anchorElement) {\n return;\n }\n\n this.autoUpdateCleanup = autoUpdate(\n this.anchorElement,\n this.hostElement,\n async () => {\n if (this.anchorElement) {\n const computeResponse = await computePosition(\n this.anchorElement,\n this.hostElement,\n positionConfig\n );\n Object.assign(this.hostElement.style, {\n top: '0',\n left: '0',\n transform: `translate(${Math.round(\n computeResponse.x\n )}px,${Math.round(computeResponse.y)}px)`,\n });\n }\n if (this.overwriteDropdownStyle) {\n const overwriteStyle = await this.overwriteDropdownStyle({\n dropdownRef: this.hostElement,\n triggerRef: this.triggerElement as HTMLElement,\n });\n\n Object.assign(this.hostElement.style, overwriteStyle);\n }\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n }\n );\n }\n\n private focusDropdownItem(index: number) {\n requestAnimationFrame(() => {\n const button =\n this.dropdownItems[index]?.shadowRoot?.querySelector('button');\n\n if (button) {\n button.focus();\n }\n });\n }\n\n async componentDidLoad() {\n if (!this.trigger) {\n return;\n }\n\n this.changedTrigger(this.trigger);\n }\n\n async componentDidRender() {\n await this.applyDropdownPosition();\n await this.resolveAnchorElement();\n }\n\n private isTriggerElement(element: HTMLElement) {\n const trigger = !!element.hasAttribute('data-ix-dropdown-trigger');\n\n return trigger;\n }\n\n private onDropdownClick(event: PointerEvent) {\n const target = dropdownController.pathIncludesTrigger(event.composedPath());\n if (target) {\n if (target !== this.triggerElement) {\n event.preventDefault();\n }\n\n if (this.isTriggerElement(target)) {\n if (this.closeBehavior === 'outside') {\n event.preventDefault();\n }\n return;\n }\n }\n\n if (\n !event.defaultPrevented &&\n (this.closeBehavior === 'inside' || this.closeBehavior === 'both')\n ) {\n dropdownController.dismissAll([this.getId()], this.ignoreRelatedSubmenu);\n return;\n }\n\n dropdownController.dismissOthers(this.getId());\n }\n\n /**\n * Update position of dropdown\n */\n @Method()\n async updatePosition() {\n this.applyDropdownPosition();\n }\n\n render() {\n return (\n <Host\n data-ix-dropdown={this.localUId}\n class={{\n 'dropdown-menu': true,\n show: this.show,\n overflow: !this.suppressOverflowBehavior,\n }}\n style={{\n margin: '0',\n minWidth: '0px',\n position: this.positioningStrategy,\n }}\n role=\"list\"\n onClick={(event: PointerEvent) => this.onDropdownClick(event)}\n >\n <div style={{ display: 'contents' }}>\n {this.header && <div class=\"dropdown-header\">{this.header}</div>}\n {this.show && <slot></slot>}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{g as i}from"./p-BNpBEtDH.js";async function n(i){if(typeof i.isTouched==="function"){return i.isTouched()}}async function t(i){if(i.getAssociatedFormElement&&typeof i.getAssociatedFormElement==="function"){const n=await i.getAssociatedFormElement();if(!n){return false}return n.noValidate}return false}function o(i,n,t){const o=new MutationObserver(n);o.observe(i,{subtree:t===null||t===void 0?void 0:t.includeChildren,childList:t===null||t===void 0?void 0:t.includeChildren,attributes:true,attributeFilter:["class"]});return{destroy(){o.disconnect()}}}function e(i,n,t){return i.classList.contains(`${n}`)||(t?!!i.querySelector(`.${n}`):false)}function a(i,n=false){return{isInvalid:e(i,"ix-invalid",n),isInvalidByRequired:e(i,"ix-invalid--required",n),isValid:e(i,"ix-valid",n),isInfo:e(i,"ix-info",n),isWarning:e(i,"ix-warning",n)}}function s(e){return(s,l)=>{let u;let r;const{componentWillLoad:c,disconnectedCallback:d,connectedCallback:f}=s;s.connectedCallback=function(){const o=i(this);u=async()=>{const i=await t(o);if(i){return}if(o.hasValidValue&&typeof o.hasValidValue==="function"){const i=await o.hasValidValue();const t=await n(o);if(o.required){o.classList.toggle("ix-invalid--required",!i&&t)}else{o.classList.remove("ix-invalid--required")}}if(o.getValidityState&&typeof o.getValidityState==="function"){const i=await o.getValidityState();o.classList.toggle(`ix-invalid--validity-patternMismatch`,i.patternMismatch)}};o.addEventListener("valueChange",u);o.addEventListener("ixBlur",u);setTimeout(u);return f===null||f===void 0?void 0:f.call(this)};s.componentWillLoad=function(){const n=i(this);r=o(n,(()=>{const i=a(n,e===null||e===void 0?void 0:e.includeChildren);s[l].call(this,i)}),e);const t=a(n,e===null||e===void 0?void 0:e.includeChildren);s[l].call(this,t);return c===null||c===void 0?void 0:c.call(this)};s.disconnectedCallback=function(){const n=i(this);if(n&&r){r.destroy();r=null}if(n&&u){n.removeEventListener("valueChange",u);n.removeEventListener("ixBlur",u);u=null}return d===null||d===void 0?void 0:d.call(this)}}}export{s as H,a,o as c,t as s};
2
- //# sourceMappingURL=p-2j3Ly91D.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-2j3Ly91D.js","sources":["src/components/utils/input/validation.ts"],"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 */\nimport { getElement } from '@stencil/core';\nimport { HTMLIxFormComponentElement, IxFormComponent } from '.';\nimport { IxComponent } from '../internal';\n\nexport type ClassMutationObserver = {\n destroy: () => void;\n};\n\nexport async function isTouched<T>(host: IxFormComponent<T>) {\n if (typeof host.isTouched === 'function') {\n return host.isTouched();\n }\n}\n\nexport async function shouldSuppressInternalValidation<T>(\n host: IxFormComponent<T>\n) {\n if (\n host.getAssociatedFormElement &&\n typeof host.getAssociatedFormElement === 'function'\n ) {\n const form = await host.getAssociatedFormElement();\n\n if (!form) {\n return false;\n }\n\n return form.noValidate;\n }\n\n return false;\n}\n\nexport function createClassMutationObserver(\n element: HTMLElement,\n callback: () => void,\n options?: {\n includeChildren?: boolean;\n }\n): ClassMutationObserver {\n const observer = new MutationObserver(callback);\n observer.observe(element, {\n subtree: options?.includeChildren,\n childList: options?.includeChildren,\n attributes: true,\n attributeFilter: ['class'],\n });\n\n return {\n destroy() {\n observer.disconnect();\n },\n };\n}\n\nexport type ValidationResultProperty =\n | 'isInvalid'\n | 'isInvalidByRequired'\n | 'isValid'\n | 'isInfo'\n | 'isWarning';\nexport type ValidationResults = Record<ValidationResultProperty, boolean>;\n\nfunction containsClass(\n hostElement: HTMLIxFormComponentElement<unknown>,\n className: string,\n includeChildren: boolean\n) {\n return (\n hostElement.classList.contains(`${className}`) ||\n (includeChildren ? !!hostElement.querySelector(`.${className}`) : false)\n );\n}\n\nexport function checkFieldClasses(\n hostElement: HTMLIxFormComponentElement<unknown>,\n includeChildren = false\n): ValidationResults {\n return {\n isInvalid: containsClass(hostElement, 'ix-invalid', includeChildren),\n isInvalidByRequired: containsClass(\n hostElement,\n 'ix-invalid--required',\n includeChildren\n ),\n isValid: containsClass(hostElement, 'ix-valid', includeChildren),\n isInfo: containsClass(hostElement, 'ix-info', includeChildren),\n isWarning: containsClass(hostElement, 'ix-warning', includeChildren),\n };\n}\n\nexport function HookValidationLifecycle(options?: {\n includeChildren?: boolean;\n}) {\n return (proto: IxComponent, methodName: string) => {\n let checkIfRequiredFunction: (() => Promise<void>) | null;\n let classMutationObserver: ClassMutationObserver | null;\n const { componentWillLoad, disconnectedCallback, connectedCallback } =\n proto;\n\n proto.connectedCallback = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n\n checkIfRequiredFunction = async () => {\n const skipValidation = await shouldSuppressInternalValidation(host);\n if (skipValidation) {\n return;\n }\n\n if (host.hasValidValue && typeof host.hasValidValue === 'function') {\n const hasValue = await host.hasValidValue();\n const touched = await isTouched(host);\n if (host.required) {\n host.classList.toggle('ix-invalid--required', !hasValue && touched);\n } else {\n host.classList.remove('ix-invalid--required');\n }\n }\n\n if (\n host.getValidityState &&\n typeof host.getValidityState === 'function'\n ) {\n const validityState = await host.getValidityState();\n\n host.classList.toggle(\n `ix-invalid--validity-patternMismatch`,\n validityState.patternMismatch\n );\n }\n };\n\n host.addEventListener('valueChange', checkIfRequiredFunction);\n host.addEventListener('ixBlur', checkIfRequiredFunction);\n setTimeout(checkIfRequiredFunction);\n return connectedCallback?.call(this);\n };\n\n proto.componentWillLoad = function () {\n const host = getElement(\n this\n ) as unknown as HTMLIxFormComponentElement<unknown>;\n classMutationObserver = createClassMutationObserver(\n host,\n () => {\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n },\n options\n );\n const result = checkFieldClasses(host, options?.includeChildren);\n proto[methodName].call(this, result);\n return componentWillLoad?.call(this);\n };\n\n proto.disconnectedCallback = function () {\n const host = getElement(this);\n\n if (host && classMutationObserver) {\n classMutationObserver.destroy();\n classMutationObserver = null;\n }\n\n if (host && checkIfRequiredFunction) {\n host.removeEventListener('valueChange', checkIfRequiredFunction);\n host.removeEventListener('ixBlur', checkIfRequiredFunction);\n checkIfRequiredFunction = null;\n }\n\n return disconnectedCallback?.call(this);\n };\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["waitForElement","selector","doc","timeout","Promise","resolve","reject","startTime","Date","now","checkIfElementExist","dialog","querySelector","setTimeout","modalCss","Modal","constructor","hostRef","this","ariaAttributes","size","animation","backdrop","closeOnBackdropClick","centered","closeOnEscape","modalVisible","onKey","e","key","preventDefault","hostElement","shadowRoot","slideInModal","duration","Animation","mediumTime","transformY","anime","targets","opacity","translateY","translateX","easing","slideOutModal","completeCallback","complete","onModalClick","event","target","rect","getBoundingClientRect","isClickOutside","top","clientY","height","left","clientX","width","dismissModal","showModal","console","error","reason","allowDismiss","beforeDismiss","undefined","close","JSON","stringify","type","dialogDismiss","emit","closeModal","dialogClose","componentDidLoad","componentWillLoad","a11yHostAttributes","render","h","Host","class","visible","a11yBoolean","modal","onClose","onClick","onCancel","__decorate","OnListener","self","prototype"],"sources":["src/components/utils/waitForElement.ts","src/components/modal/modal.scss?tag=ix-modal&encapsulation=shadow","src/components/modal/modal.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\nexport function waitForElement<R extends HTMLElement>(\n selector: string,\n doc: any,\n timeout = 3000\n): Promise<R> {\n return new Promise<R>((resolve, reject) => {\n const startTime = Date.now();\n\n const checkIfElementExist = () => {\n const dialog = doc.querySelector(selector) satisfies R;\n\n if (dialog) {\n resolve(dialog);\n } else {\n if (Date.now() - startTime < timeout) {\n setTimeout(checkIfElementExist);\n } else {\n reject();\n }\n }\n };\n\n checkIfElementExist();\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\n::backdrop {\n --ix-dialog-backdrop: var(--theme-color-lightbox, #0000008c);\n}\n\n:focus-visible {\n outline: none !important;\n}\n\n:host {\n display: none;\n\n dialog {\n --ix-dialog-padding: 1rem;\n\n margin: 0;\n padding: var(--ix-dialog-padding);\n padding-top: calc(var(--ix-dialog-padding) + var(--ix-safe-area-inset-top));\n padding-bottom: calc(\n var(--ix-dialog-padding) + var(--ix-safe-area-inset-bottom)\n );\n left: 50%;\n }\n\n dialog::backdrop {\n backdrop-filter: blur(2.7182817459106445px);\n }\n\n .modal {\n display: flex;\n flex-direction: column;\n position: relative;\n border: none;\n border-radius: var(--theme-default-border-radius);\n background: var(--theme-modal--background);\n box-shadow: var(--theme-shadow-4);\n color: var(--theme-color-std-text);\n overflow: visible;\n max-height: 80vh;\n pointer-events: all;\n }\n\n .modal-size-360 {\n width: 22.5rem;\n }\n\n .modal-size-480 {\n width: 30rem;\n }\n\n .modal-size-600 {\n width: 37.5rem;\n }\n\n .modal-size-720 {\n width: 45rem;\n }\n\n .modal-size-840 {\n width: 52.5rem;\n }\n\n .modal-size-full-width {\n width: 95%;\n }\n\n .modal-size-full-screen {\n border-radius: 0;\n left: 0 !important;\n top: 0 !important;\n transform: none !important;\n box-shadow: none;\n\n --ix-dialog-full-screen-height: calc(\n var(--ix-safe-area-inset-top) + var(--ix-safe-area-inset-bottom)\n );\n\n width: calc(100% - var(--ix-dialog-padding) * 2);\n min-width: calc(100% - var(--ix-dialog-padding) * 2);\n max-width: calc(100% - var(--ix-dialog-padding) * 2);\n\n min-height: calc(\n 100% - (var(--ix-dialog-padding) * 2) -\n var(--ix-dialog-full-screen-height)\n );\n max-height: calc(\n 100% - (var(--ix-dialog-padding) * 2) -\n var(--ix-dialog-full-screen-height)\n );\n }\n\n dialog.modal-size-full-screen::backdrop {\n background: var(--theme-modal--background);\n }\n\n .dialog-backdrop {\n display: block;\n position: fixed;\n width: 100vw;\n height: 100vh;\n top: 0;\n left: 0;\n\n pointer-events: none;\n }\n\n ::slotted(ix-modal-footer) {\n margin-top: auto;\n }\n}\n\n:host(.visible) {\n display: block;\n}\n\n:host(.align-center) {\n dialog {\n margin: 0;\n left: 50%;\n top: 50%;\n }\n}\n\n:host(.no-backdrop) {\n dialog::backdrop {\n background-color: transparent !important;\n backdrop-filter: none !important;\n }\n}\n\n:host(.with-icon) {\n ::slotted(ix-modal-footer),\n ::slotted(ix-modal-content) {\n margin-left: 3rem;\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 */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { A11yAttributes, a11yBoolean, a11yHostAttributes } from '../utils/a11y';\nimport Animation from '../utils/animation';\nimport { OnListener } from '../utils/listener';\nimport { waitForElement } from '../utils/waitForElement';\n\nexport type IxModalFixedSize = '360' | '480' | '600' | '720' | '840';\nexport type IxModalDynamicSize = 'full-width' | 'full-screen';\nexport type IxModalSize = IxModalFixedSize | IxModalDynamicSize;\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n})\nexport class Modal {\n private ariaAttributes: A11yAttributes = {};\n\n @Element() hostElement!: HTMLIxModalElement;\n\n /**\n * Modal size\n *\n * @since 2.0.0\n */\n @Prop() size: IxModalSize = '360';\n\n /**\n * Should the modal be animated\n */\n @Prop() animation = true;\n\n /**\n * Show a backdrop behind the modal dialog\n */\n @Prop() backdrop = true;\n\n /**\n * Dismiss modal on backdrop click\n *\n * @since 2.0.0\n */\n @Prop() closeOnBackdropClick = false;\n\n /**\n * Is called before the modal is dismissed.\n *\n * - Return `true` to proceed in dismissing the modal\n * - Return `false` to abort in dismissing the modal\n */\n @Prop() beforeDismiss?: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * If set to true the modal can be closed by pressing the Escape key\n */\n @Prop() closeOnEscape = true;\n\n /**\n * Dialog close\n */\n @Event() dialogClose!: EventEmitter;\n\n /**\n * Dialog cancel\n */\n @Event() dialogDismiss!: EventEmitter;\n\n @State() modalVisible = false;\n\n @OnListener<Modal>('keydown', (self) => !self.closeOnEscape)\n onKey(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.preventDefault();\n }\n }\n\n get dialog() {\n return this.hostElement.shadowRoot!.querySelector('dialog');\n }\n\n private slideInModal() {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [0, 1],\n translateY: [0, transformY],\n translateX: ['-50%', '-50%'],\n easing: 'easeOutSine',\n });\n }\n\n private slideOutModal(completeCallback: Function) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [1, 0],\n translateY: [transformY, 0],\n translateX: ['-50%', '-50%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onModalClick(event: MouseEvent) {\n if (event.target !== this.dialog) {\n return;\n }\n\n const rect = this.dialog!.getBoundingClientRect();\n const isClickOutside =\n rect.top <= event.clientY &&\n event.clientY <= rect.top + rect.height &&\n rect.left <= event.clientX &&\n event.clientX <= rect.left + rect.width;\n\n if (!isClickOutside && this.closeOnBackdropClick) {\n this.dismissModal();\n }\n }\n\n /**\n * Show the dialog\n */\n @Method()\n async showModal() {\n try {\n const dialog = await waitForElement<HTMLDialogElement>(\n 'dialog',\n this.hostElement.shadowRoot\n );\n this.modalVisible = true;\n dialog.showModal();\n } catch (e) {\n console.error('HTMLDialogElement not existing');\n }\n }\n\n /**\n * Dismiss the dialog\n */\n @Method()\n async dismissModal<T = any>(reason?: T) {\n if (!this.modalVisible) {\n return;\n }\n\n let allowDismiss = true;\n\n if (this.beforeDismiss !== undefined) {\n allowDismiss = await this.beforeDismiss(reason);\n }\n if (!allowDismiss) {\n return;\n }\n\n this.slideOutModal(() => {\n this.modalVisible = false;\n this.dialog!.close(\n JSON.stringify(\n {\n type: 'dismiss',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogDismiss.emit(reason);\n });\n }\n\n /**\n * Close the dialog\n */\n @Method()\n async closeModal<T = any>(reason: T) {\n if (!this.modalVisible) {\n return;\n }\n\n this.slideOutModal(() => {\n this.modalVisible = false;\n this.dialog!.close(\n JSON.stringify(\n {\n type: 'close',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogClose.emit(reason);\n });\n }\n\n componentDidLoad() {\n this.slideInModal();\n }\n\n componentWillLoad() {\n this.ariaAttributes = a11yHostAttributes(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n visible: this.modalVisible,\n 'no-backdrop': this.backdrop === false,\n 'align-center': this.centered,\n }}\n >\n <div class=\"dialog-backdrop\">\n <dialog\n aria-modal={a11yBoolean(true)}\n aria-describedby={this.ariaAttributes['aria-describedby']}\n aria-labelledby={this.ariaAttributes['aria-labelledby']}\n class={{\n modal: true,\n [`modal-size-${this.size}`]: true,\n }}\n onClose={() => this.dismissModal()}\n onClick={(event) => this.onModalClick(event)}\n onCancel={(e) => {\n e.preventDefault();\n this.dismissModal();\n }}\n >\n <slot></slot>\n </dialog>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["timePickerCss","TimePicker","constructor","hostRef","this","format","corners","standaloneAppearance","showHour","showMinutes","showSeconds","time","DateTime","now","toFormat","textSelectTime","textTime","watchTimePropHandler","newValue","_time","fromFormat","isValid","Error","componentWillLoad","console","error","invalidReason","invalidExplanation","_timeRef","includes","undefined","formatTime","hour","minute","second","split","_formattedTime","onInternalTimeChange","timeChange","emit","_a","_b","timeUpdate","unit","value","maxValue","endOf","get","set","changeTimeReference","plus","getCurrentTime","render","timepickerInformation","placeholder","hidden","filter","item","h","Host","key","class","slot","map","descriptor","index","columns","size","onClick","ghost","icon","iconChevronUpSmall","variant","name","type","onKeyDown","e","preventDefault","onChange","inputElement","target","toString","minus","iconChevronDownSmall","length","iconChevronUp","iconChevronDown","button","standalone","timeSelect"],"sources":["src/components/time-picker/time-picker.scss?tag=ix-time-picker&encapsulation=shadow","src/components/time-picker/time-picker.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 'mixins/shadow-dom/component';\n@import 'mixins/input';\n\n@include form;\n\n:host {\n @include ix-component;\n @import 'legacy/components/forms';\n\n display: block;\n position: relative;\n width: 21rem;\n\n @media (max-width: 576px) {\n .clock {\n padding: 1.5rem 0 1rem 0;\n }\n\n .header {\n height: $medium-control-height !important;\n }\n }\n\n @media (min-width: 576px) {\n .clock {\n padding: 4.25rem 0 3.75rem 0;\n }\n\n .header {\n height: $large-control-height !important;\n }\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n height: $large-control-height;\n }\n\n .flex {\n display: flex;\n }\n\n .clock {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n input,\n .time-reference {\n width: 2.625rem;\n height: $large-space;\n text-align: center;\n margin-top: 0.25rem;\n margin-bottom: 0.25rem;\n\n /* Chrome, Safari, Edge, Opera */\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0 0.3125rem;\n }\n\n /* Firefox */\n &[type='number'] {\n -moz-appearance: textfield;\n }\n }\n\n .ix-form-control[type='number'] {\n text-align: center;\n }\n\n .columns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n }\n\n .column-seperator {\n display: flex;\n align-items: center;\n margin: 0 $tiny-space;\n }\n\n .button {\n display: flex;\n justify-content: flex-end;\n\n &.standalone {\n padding-top: 0.5rem;\n }\n }\n\n .default-space {\n margin-left: $default-space;\n }\n\n .text-align {\n text-align: center;\n }\n\n .hidden {\n display: none;\n }\n\n .time-reference {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\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 Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { DateTimeCardCorners } from '../date-time-card/date-time-card';\nimport {\n iconChevronDown,\n iconChevronDownSmall,\n iconChevronUp,\n iconChevronUpSmall,\n} from '@siemens/ix-icons/icons';\n\nexport type TimePickerCorners = DateTimeCardCorners;\n\ninterface TimePickerDescriptor {\n unit: 'hour' | 'minute' | 'second';\n placeholder: string;\n hidden: boolean;\n}\n\ninterface TimeOutputFormat {\n hour: string;\n minute: string;\n second: string;\n}\n\n@Component({\n tag: 'ix-time-picker',\n styleUrl: 'time-picker.scss',\n shadow: true,\n})\nexport class TimePicker {\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n *\n * @since 1.1.0\n */\n @Prop() format: string = 'TT';\n\n /**\n * Corner style\n */\n @Prop() corners: TimePickerCorners = 'rounded';\n\n /**\n * Controls the visual presentation and styling of the component when it is displayed as a standalone element\n */\n @Prop() standaloneAppearance: boolean = true;\n\n /**\n * Show hour input\n */\n @Prop() showHour = true;\n\n /**\n * Show minutes input\n */\n @Prop() showMinutes = true;\n\n /**\n * Show seconds input\n */\n @Prop() showSeconds = true;\n\n /**\n * Select time with format string\n * Format has to match the `format` property.\n *\n * @since 1.1.0\n */\n @Prop() time: string = DateTime.now().toFormat(this.format);\n\n @Watch('time')\n watchTimePropHandler(newValue: string) {\n this._time = DateTime.fromFormat(newValue, this.format);\n if (!this._time.isValid) {\n throw new Error('Format is not supported or not correct');\n }\n }\n\n /**\n * Set time reference\n */\n @Prop() timeReference: 'AM' | 'PM' | undefined;\n\n /**\n * Text of date select button\n *\n * @since 1.1.0\n */\n @Prop() textSelectTime = 'Done';\n\n /**\n * Text for top label\n *\n * @since 2.1.0\n */\n @Prop() textTime: string = 'Time';\n\n /**\n * Time event\n */\n @Event() timeSelect!: EventEmitter<string>;\n\n /**\n * Time change event\n */\n @Event() timeChange!: EventEmitter<string>;\n\n @State() private _time?: DateTime;\n @State() private _timeRef?: 'AM' | 'PM';\n @State() private _formattedTime?: TimeOutputFormat;\n\n componentWillLoad() {\n this._time = DateTime.fromFormat(this.time, this.format);\n\n if (!this._time.isValid) {\n console.error(\n `Invalid time format. The configured format does not match the format of the passed time. ${this._time.invalidReason}: ${this._time.invalidExplanation}`\n );\n return;\n }\n\n this._timeRef = this.format.includes('a')\n ? (DateTime.fromFormat(this.time, this.format).toFormat('a') as\n | 'AM'\n | 'PM')\n : undefined;\n this.formatTime();\n }\n\n @Watch('_time')\n formatTime() {\n if (!this._time) {\n return;\n }\n\n const [hour, minute, second] = this._time\n .toFormat(this.format)\n .split(' ')[0]\n .split(':');\n\n this._formattedTime = {\n hour: hour,\n minute: minute,\n second: second,\n };\n }\n\n @Watch('_time')\n onInternalTimeChange() {\n this.timeChange.emit(this._time?.toFormat(this.format));\n if (this._timeRef) this._timeRef = this._time?.toFormat('a') as 'AM' | 'PM';\n }\n\n timeUpdate(unit: 'hour' | 'minute' | 'second', value: number): number {\n let maxValue = DateTime.now().endOf('day').get(unit);\n\n if (this._timeRef === 'PM' && unit === 'hour') value += 12;\n if (this._timeRef === 'AM' && unit === 'hour') maxValue = 12;\n\n if (value > maxValue) {\n value = maxValue;\n } else if (value < 0) {\n value = 0;\n }\n\n this._time = this._time?.set({\n [unit]: value,\n });\n return value;\n }\n\n changeTimeReference() {\n this._timeRef = this._timeRef === 'AM' ? 'PM' : 'AM';\n\n if (!this._time?.toFormat('a').includes(this._timeRef)) {\n this._time = this._time?.plus({\n hour: 12,\n });\n }\n }\n\n /**\n * Get the current time based on the wanted format\n */\n @Method()\n async getCurrentTime() {\n return this._time?.toFormat(this.format);\n }\n\n render() {\n let timepickerInformation: TimePickerDescriptor[] = [\n {\n unit: 'hour',\n placeholder: 'HH',\n hidden: !this.showHour,\n },\n {\n unit: 'minute',\n placeholder: 'MM',\n hidden: !this.showMinutes,\n },\n {\n unit: 'second',\n placeholder: 'SS',\n hidden: !this.showSeconds,\n },\n ];\n\n timepickerInformation = timepickerInformation.filter(\n (item) => !item.hidden\n );\n\n return (\n <Host>\n <ix-date-time-card\n standaloneAppearance={this.standaloneAppearance}\n corners={this.corners}\n >\n <div class=\"header\" slot=\"header\">\n <ix-typography format=\"h5\">{this.textTime || 'Time'}</ix-typography>\n </div>\n <div class=\"clock\">\n {timepickerInformation.map((descriptor, index: number) => (\n <div class=\"flex\">\n <div class={{ columns: true, hidden: descriptor.hidden }}>\n <ix-icon-button\n size=\"16\"\n onClick={() =>\n (this._time = this._time?.plus({\n [descriptor.unit]: 1,\n }))\n }\n ghost\n icon={iconChevronUpSmall}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n\n <input\n class=\"ix-form-control\"\n name={descriptor.unit}\n type=\"number\"\n placeholder={descriptor.placeholder}\n value={\n this._formattedTime\n ? this._formattedTime[descriptor.unit]\n : ''\n }\n onKeyDown={(e) => {\n if (e.key !== 'ArrowUp' && e.key !== 'ArrowDown') return;\n\n const value = e.key === 'ArrowUp' ? 1 : -1;\n this._time = this._time?.plus({\n [descriptor.unit]: value,\n });\n e.preventDefault();\n }}\n onChange={(e: any) => {\n let inputElement = e.target as HTMLInputElement;\n inputElement.value = this.timeUpdate(\n descriptor.unit,\n +inputElement.value\n ).toString();\n }}\n ></input>\n\n <ix-icon-button\n size=\"16\"\n onClick={() =>\n (this._time = this._time?.minus({\n [descriptor.unit]: 1,\n }))\n }\n ghost\n icon={iconChevronDownSmall}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n\n {index !== timepickerInformation.length - 1 && (\n <div\n class={{\n 'column-seperator': true,\n hidden: descriptor.hidden,\n }}\n >\n :\n </div>\n )}\n </div>\n ))}\n\n <div\n class={{\n columns: true,\n 'default-space': true,\n hidden: this._timeRef === undefined,\n }}\n >\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeTimeReference()}\n ghost\n icon={iconChevronUp}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n <div class=\"time-reference\">{this._timeRef}</div>\n <ix-icon-button\n size=\"16\"\n onClick={() => this.changeTimeReference()}\n ghost\n icon={iconChevronDown}\n variant=\"primary\"\n class=\"arrows\"\n ></ix-icon-button>\n </div>\n </div>\n <div\n class={{\n button: true,\n hidden: !this.standaloneAppearance,\n standalone: true,\n }}\n >\n <ix-button\n onClick={() => {\n this.timeSelect.emit(this._time?.toFormat(this.format));\n }}\n >\n {this.textSelectTime}\n </ix-button>\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as s,g as a}from"./p-BNpBEtDH.js";import{H as n}from"./p-2j3Ly91D.js";const r=":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}";var l=undefined&&undefined.__decorate||function(e,t,i,s){var a=arguments.length,n=a<3?t:s===null?s=Object.getOwnPropertyDescriptor(t,i):s,r;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")n=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)if(r=e[l])n=(a<3?r(n):a>3?r(t,i,n):r(t,i))||n;return a>3&&n&&Object.defineProperty(t,i,n),n};const o=class{constructor(i){e(this,i);this.valueChange=t(this,"valueChange",7);this.direction="column";this.isInvalid=false;this.isValid=false;this.isInfo=false;this.isWarning=false;this.observer=new MutationObserver((()=>{this.ensureOnlyLastRadioChecked()}))}get radiobuttonElements(){return Array.from(this.hostElement.querySelectorAll("ix-radio"))}connectedCallback(){this.observer.observe(this.hostElement,{childList:true,subtree:true,attributes:true,attributeFilter:["checked"]})}componentWillLoad(){this.selectInitialValue();this.ensureOnlyLastRadioChecked()}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}selectInitialValue(){if(!this.value){return}this.radiobuttonElements.forEach((e=>{e.checked=e.value===this.value}))}ensureOnlyLastRadioChecked(){const e=this.radiobuttonElements.filter((e=>e.checked));e.forEach(((t,i)=>{if(i===e.length-1){return}t.checked=false}))}onValueChangeHandler(e){this.radiobuttonElements.forEach((t=>{t.checked=t.value===e}))}onCheckedChangeHandler(e){this.radiobuttonElements.forEach((t=>{if(t!==e.target){t.checked=false;return}t.checked=true;this.valueChange.emit(t.value)}))}onClassField({isInvalid:e,isInfo:t,isValid:i,isWarning:s}){this.isInvalid=e;this.isInfo=t;this.isValid=i;this.isWarning=s}render(){return i(s,{key:"cd598d36a86107d79eccf16bd0b4ca4f69c301f4"},i("ix-field-wrapper",{key:"90d159cb14dc5d4329421ed75ae06569230aa704",label:this.label,helperText:this.helperText,invalidText:this.invalidText,infoText:this.infoText,warningText:this.warningText,validText:this.validText,showTextAsTooltip:this.showTextAsTooltip,isValid:this.isValid,isInfo:this.isInfo,isWarning:this.isWarning,isInvalid:this.isInvalid},i("div",{key:"1729d3d1a216b3d96c4422f5e5098226c04aa902",class:{"checkbox-container":true,"row-layout":this.direction==="row"}},i("slot",{key:"d416793b6d3b0369a10b3e0797090f7c0bd35c32"}))))}get hostElement(){return a(this)}static get watchers(){return{value:["onValueChangeHandler"]}}};l([n({includeChildren:true})],o.prototype,"onClassField",null);o.style=r;export{o as ix_radio_group};
2
- //# sourceMappingURL=p-37fa26f9.entry.js.map