@siemens/ix 0.0.0-pr-1974-20250624072317 → 0.0.0-pr-1974-20250627115746

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 (1147) hide show
  1. package/components/custom-elements.d.ts +2 -1
  2. package/components/index.js +7 -22
  3. package/components/index.js.map +1 -1
  4. package/components/ix-action-card.js +5 -5
  5. package/components/ix-action-card.js.map +1 -1
  6. package/components/ix-application-header.js +1 -1
  7. package/components/ix-application-sidebar.js +2 -2
  8. package/components/ix-application-switch-modal.js +7 -7
  9. package/components/ix-application.js +4 -4
  10. package/components/ix-avatar.js +1 -1
  11. package/components/ix-basic-navigation.js +9 -9
  12. package/components/ix-blind.js +7 -7
  13. package/components/ix-blind.js.map +1 -1
  14. package/components/ix-breadcrumb-item.js +1 -1
  15. package/components/ix-breadcrumb.js +7 -7
  16. package/components/ix-button.js +1 -1
  17. package/components/ix-card-accordion.js +1 -1
  18. package/components/ix-card-content.js +1 -1
  19. package/components/ix-card-list.js +11 -11
  20. package/components/ix-card-title.js +1 -1
  21. package/components/ix-card.js +1 -1
  22. package/components/ix-category-filter.js +9 -9
  23. package/components/ix-checkbox-group.js +8 -8
  24. package/components/ix-checkbox.js +6 -6
  25. package/components/ix-chip.js +9 -9
  26. package/components/ix-col.js +1 -1
  27. package/components/ix-content-header.js +5 -5
  28. package/components/ix-content-header.js.map +1 -1
  29. package/components/ix-content.js +4 -4
  30. package/components/ix-css-grid-item.js +2 -2
  31. package/components/ix-css-grid.js +2 -2
  32. package/components/ix-css-grid.js.map +1 -1
  33. package/components/ix-custom-field.js +7 -7
  34. package/components/ix-date-dropdown.js +15 -15
  35. package/components/ix-date-dropdown.js.map +1 -1
  36. package/components/ix-date-input.js +16 -16
  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 +13 -13
  41. package/components/ix-datetime-picker.js.map +1 -1
  42. package/components/ix-divider.js +1 -1
  43. package/components/ix-drawer.js +8 -8
  44. package/components/ix-dropdown-button.js +7 -7
  45. package/components/ix-dropdown-button.js.map +1 -1
  46. package/components/ix-dropdown-header.js +3 -3
  47. package/components/ix-dropdown-item.js +1 -1
  48. package/components/ix-dropdown-quick-actions.js +2 -2
  49. package/components/ix-dropdown.js +1 -1
  50. package/components/ix-empty-state.js +5 -5
  51. package/components/ix-empty-state.js.map +1 -1
  52. package/components/ix-event-list-item.js +5 -5
  53. package/components/ix-event-list.js +3 -3
  54. package/components/ix-expanding-search.js +7 -7
  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-content.js +2 -2
  59. package/components/ix-flip-tile.js +7 -7
  60. package/components/ix-group-context-menu.js +1 -1
  61. package/components/ix-group-item.js +1 -1
  62. package/components/ix-group.js +13 -13
  63. package/components/ix-helper-text.js +5 -5
  64. package/components/ix-icon-button.js +1 -1
  65. package/components/ix-icon-toggle-button.js +4 -4
  66. package/components/ix-input-group.js +2 -2
  67. package/components/ix-input.js +13 -13
  68. package/components/ix-key-value-list.js +2 -2
  69. package/components/ix-key-value.js +2 -2
  70. package/components/ix-key-value.js.map +1 -1
  71. package/components/ix-kpi.js +4 -4
  72. package/components/ix-layout-auto.js +2 -2
  73. package/components/ix-layout-grid.js +1 -1
  74. package/components/ix-link-button.js +4 -4
  75. package/components/ix-map-navigation-overlay.js +1 -1
  76. package/components/ix-map-navigation.js +10 -10
  77. package/components/ix-menu-about-item.js +2 -2
  78. package/components/ix-menu-about-news.js +9 -9
  79. package/components/ix-menu-about.js +7 -7
  80. package/components/ix-menu-avatar-item.js +1 -1
  81. package/components/ix-menu-avatar.js +10 -10
  82. package/components/ix-menu-category.js +12 -12
  83. package/components/ix-menu-expand-icon.js +1 -1
  84. package/components/ix-menu-item.js +1 -1
  85. package/components/ix-menu-settings-item.js +2 -2
  86. package/components/ix-menu-settings.js +1 -1
  87. package/components/ix-menu.js +19 -19
  88. package/components/ix-message-bar.js +4 -4
  89. package/components/ix-modal-content.js +1 -1
  90. package/components/ix-modal-footer.js +2 -2
  91. package/components/ix-modal-header.js +1 -1
  92. package/components/ix-modal-loading.js +3 -3
  93. package/components/ix-modal.js +5 -5
  94. package/components/ix-modal.js.map +1 -1
  95. package/components/ix-number-input.js +15 -15
  96. package/components/ix-pagination.js +15 -15
  97. package/components/ix-pane-layout.js +2 -2
  98. package/components/ix-pane-layout.js.map +1 -1
  99. package/components/ix-pane.js +10 -10
  100. package/components/ix-pane.js.map +1 -1
  101. package/components/ix-pill.js +7 -7
  102. package/components/ix-progress-indicator.js +6 -6
  103. package/components/ix-progress-indicator.js.map +1 -1
  104. package/components/ix-push-card.js +7 -7
  105. package/components/ix-push-card.js.map +1 -1
  106. package/components/ix-radio-group.js +8 -8
  107. package/components/ix-radio.js +7 -7
  108. package/components/ix-row.js +1 -1
  109. package/components/ix-select-item.js +1 -1
  110. package/components/ix-select.js +1 -1
  111. package/components/ix-slider.js +10 -10
  112. package/components/ix-slider.js.map +1 -1
  113. package/components/ix-spinner.js +1 -1
  114. package/components/ix-split-button.js +6 -6
  115. package/components/ix-split-button.js.map +1 -1
  116. package/components/ix-tab-item.js +1 -1
  117. package/components/ix-tabs.js +1 -1
  118. package/components/ix-textarea.js +9 -9
  119. package/components/ix-textarea.js.map +1 -1
  120. package/components/ix-tile.js +5 -5
  121. package/components/ix-time-input.js +16 -16
  122. package/components/ix-time-input.js.map +1 -1
  123. package/components/ix-time-picker.js +1 -1
  124. package/components/ix-toast-container.js +6 -6
  125. package/components/ix-toast-container.js.map +1 -1
  126. package/components/ix-toast.js +1 -1
  127. package/components/ix-toggle-button.js +5 -5
  128. package/components/ix-toggle.js +6 -6
  129. package/components/ix-tooltip.js +1 -1
  130. package/components/ix-tree-item.js +1 -1
  131. package/components/ix-tree.js +3 -3
  132. package/components/ix-typography.js +1 -1
  133. package/components/ix-upload.js +3 -3
  134. package/components/ix-validation-tooltip.js +1 -1
  135. package/components/ix-workflow-step.js +1 -1
  136. package/components/ix-workflow-steps.js +1 -1
  137. package/components/{p-C99qjEPE.js → p-5uA5ifmT.js} +5 -5
  138. package/components/{p-C99qjEPE.js.map → p-5uA5ifmT.js.map} +1 -1
  139. package/components/{p-D2Fm_05X.js → p-9dLpp1OQ.js} +3 -3
  140. package/components/{p-D2Fm_05X.js.map → p-9dLpp1OQ.js.map} +1 -1
  141. package/components/{p-DEmiWcQ0.js → p-B1Gzt08S.js} +5 -5
  142. package/components/{p-DEmiWcQ0.js.map → p-B1Gzt08S.js.map} +1 -1
  143. package/components/{p-CYjLayhK.js → p-B3duqvjW.js} +4 -4
  144. package/components/{p-CYjLayhK.js.map → p-B3duqvjW.js.map} +1 -1
  145. package/components/{p-BpwZ_OiO.js → p-B6e7P4xT.js} +3 -3
  146. package/components/{p-BpwZ_OiO.js.map → p-B6e7P4xT.js.map} +1 -1
  147. package/components/{p-Ca62xqUI.js → p-BJcX2_-N.js} +6 -6
  148. package/components/{p-Ca62xqUI.js.map → p-BJcX2_-N.js.map} +1 -1
  149. package/components/{p-CdH-wF59.js → p-BMU8AlMD.js} +9 -9
  150. package/components/{p-CdH-wF59.js.map → p-BMU8AlMD.js.map} +1 -1
  151. package/components/{p-CvYq7fCI.js → p-BNu7ac9R.js} +7 -7
  152. package/components/{p-CvYq7fCI.js.map → p-BNu7ac9R.js.map} +1 -1
  153. package/components/{p-D0hxqaGs.js → p-BP-8cvOJ.js} +6 -6
  154. package/components/{p-D0hxqaGs.js.map → p-BP-8cvOJ.js.map} +1 -1
  155. package/components/{p-BXGAr1UD.js → p-BXjBChze.js} +6 -6
  156. package/components/p-BXjBChze.js.map +1 -0
  157. package/components/{p-DBZZBDKR.js → p-BcGAKMQ_.js} +3 -3
  158. package/components/{p-DBZZBDKR.js.map → p-BcGAKMQ_.js.map} +1 -1
  159. package/components/{p-18F-YfbC.js → p-BedSAVZh.js} +4 -4
  160. package/components/p-BedSAVZh.js.map +1 -0
  161. package/components/{p-CdhP3eo7.js → p-BhLbU_vK.js} +5 -5
  162. package/components/{p-CdhP3eo7.js.map → p-BhLbU_vK.js.map} +1 -1
  163. package/components/{p-Da_mIDFR.js → p-BkWbk29R.js} +6 -6
  164. package/components/{p-Da_mIDFR.js.map → p-BkWbk29R.js.map} +1 -1
  165. package/components/{p-BW7O4gSR.js → p-BmmgJGNd.js} +6 -6
  166. package/components/{p-BW7O4gSR.js.map → p-BmmgJGNd.js.map} +1 -1
  167. package/components/{p-COgaNG0r.js → p-Bu-j8wxy.js} +6 -6
  168. package/components/{p-COgaNG0r.js.map → p-Bu-j8wxy.js.map} +1 -1
  169. package/components/p-BuJ6BWIi.js +2042 -0
  170. package/components/p-BuJ6BWIi.js.map +1 -0
  171. package/components/{p-cugF_dsq.js → p-Bvsx56zn.js} +4 -4
  172. package/components/{p-cugF_dsq.js.map → p-Bvsx56zn.js.map} +1 -1
  173. package/components/{p-BOARJXlu.js → p-BygLxZIM.js} +4 -4
  174. package/components/{p-BOARJXlu.js.map → p-BygLxZIM.js.map} +1 -1
  175. package/components/{p-IMKnzlUb.js → p-Bzyt4nTL.js} +8 -8
  176. package/components/{p-IMKnzlUb.js.map → p-Bzyt4nTL.js.map} +1 -1
  177. package/components/{p-Dih6bry9.js → p-C6o-AByw.js} +4 -4
  178. package/components/{p-Dih6bry9.js.map → p-C6o-AByw.js.map} +1 -1
  179. package/components/{p-BSRi3yyl.js → p-CKkTXQiw.js} +8 -8
  180. package/components/{p-BSRi3yyl.js.map → p-CKkTXQiw.js.map} +1 -1
  181. package/components/{p-CmNagK_M.js → p-Cb-eBcUF.js} +5 -5
  182. package/components/{p-CmNagK_M.js.map → p-Cb-eBcUF.js.map} +1 -1
  183. package/components/{p-B3NgetSU.js → p-Cp5J1RZq.js} +23 -23
  184. package/components/{p-B3NgetSU.js.map → p-Cp5J1RZq.js.map} +1 -1
  185. package/components/{p-DUctjh_Y.js → p-Cpxz1Kcs.js} +4 -4
  186. package/components/{p-DUctjh_Y.js.map → p-Cpxz1Kcs.js.map} +1 -1
  187. package/components/{p-2HalBYF6.js → p-Cs8DEpjh.js} +15 -15
  188. package/components/{p-2HalBYF6.js.map → p-Cs8DEpjh.js.map} +1 -1
  189. package/components/{p-CLe5n0eR.js → p-Cut5OrRw.js} +5 -5
  190. package/components/{p-CLe5n0eR.js.map → p-Cut5OrRw.js.map} +1 -1
  191. package/components/{p-DqBfPYF2.js → p-CvvOe8xV.js} +7 -7
  192. package/components/{p-DqBfPYF2.js.map → p-CvvOe8xV.js.map} +1 -1
  193. package/components/{p-C7qPn3fZ.js → p-D3Aowo70.js} +7 -7
  194. package/components/{p-C7qPn3fZ.js.map → p-D3Aowo70.js.map} +1 -1
  195. package/components/{p-t-aQDKhy.js → p-D9LaIICQ.js} +3 -3
  196. package/components/{p-t-aQDKhy.js.map → p-D9LaIICQ.js.map} +1 -1
  197. package/components/{p-m_8Hy4_G.js → p-DCx3-1oU.js} +5 -5
  198. package/components/{p-m_8Hy4_G.js.map → p-DCx3-1oU.js.map} +1 -1
  199. package/components/{p-6UCgBriG.js → p-DJ7U7oUq.js} +7 -7
  200. package/components/{p-6UCgBriG.js.map → p-DJ7U7oUq.js.map} +1 -1
  201. package/components/{p-D-uSMBXb.js → p-DMlmNp-B.js} +4 -4
  202. package/components/{p-D-uSMBXb.js.map → p-DMlmNp-B.js.map} +1 -1
  203. package/components/{p-D54oqcBC.js → p-DWO4uklL.js} +8 -8
  204. package/components/{p-D54oqcBC.js.map → p-DWO4uklL.js.map} +1 -1
  205. package/components/{p-pMSLP3h4.js → p-DaztMgDr.js} +12 -12
  206. package/components/p-DaztMgDr.js.map +1 -0
  207. package/components/{p-CJ9lFwzL.js → p-DbR-LZrk.js} +4 -4
  208. package/components/{p-CJ9lFwzL.js.map → p-DbR-LZrk.js.map} +1 -1
  209. package/components/{p-BUVYgPbq.js → p-DfbCO042.js} +11 -11
  210. package/components/{p-BUVYgPbq.js.map → p-DfbCO042.js.map} +1 -1
  211. package/components/{p-BI91ISYc.js → p-DkGdSI6e.js} +5 -5
  212. package/components/{p-BI91ISYc.js.map → p-DkGdSI6e.js.map} +1 -1
  213. package/components/{p-DQEpAmYe.js → p-DojBQCbP.js} +7 -7
  214. package/components/{p-DQEpAmYe.js.map → p-DojBQCbP.js.map} +1 -1
  215. package/components/{p-mLgD4b4D.js → p-DyHdZRT0.js} +5 -5
  216. package/components/{p-mLgD4b4D.js.map → p-DyHdZRT0.js.map} +1 -1
  217. package/components/{p-C9zujPO0.js → p-DyMgW0fR.js} +4 -4
  218. package/components/{p-C9zujPO0.js.map → p-DyMgW0fR.js.map} +1 -1
  219. package/components/{p-DpilwXvD.js → p-G0biE2Kx.js} +4 -4
  220. package/components/{p-DpilwXvD.js.map → p-G0biE2Kx.js.map} +1 -1
  221. package/components/p-PxA_udyJ.js.map +1 -1
  222. package/components/{p-CI771zjd.js → p-TNoCM8Wi.js} +6 -6
  223. package/components/{p-CI771zjd.js.map → p-TNoCM8Wi.js.map} +1 -1
  224. package/components/{p-D-lOakIP.js → p-qauH9Ci4.js} +5 -5
  225. package/components/{p-D-lOakIP.js.map → p-qauH9Ci4.js.map} +1 -1
  226. package/components/{p-DeAFXXM2.js → p-r63hglsv.js} +7 -7
  227. package/components/{p-DeAFXXM2.js.map → p-r63hglsv.js.map} +1 -1
  228. package/components/{p-Cuf7Gv_k.js → p-tH4n038Z.js} +5 -5
  229. package/components/p-tH4n038Z.js.map +1 -0
  230. package/dist/cjs/{base-button-CaQoQTFI.js → base-button-B-wht3TB.js} +3 -3
  231. package/dist/cjs/{base-button-CaQoQTFI.js.map → base-button-B-wht3TB.js.map} +1 -1
  232. package/dist/cjs/{base-icon-button-C9L5Gii-.js → base-icon-button-DNisNrCZ.js} +4 -4
  233. package/dist/cjs/{base-icon-button-C9L5Gii-.js.map → base-icon-button-DNisNrCZ.js.map} +1 -1
  234. package/dist/cjs/{helper-text-util-BctMjApu.js → helper-text-util-B_J9aPv0.js} +3 -3
  235. package/dist/cjs/{helper-text-util-BctMjApu.js.map → helper-text-util-B_J9aPv0.js.map} +1 -1
  236. package/dist/cjs/index-CbtIH46j.js +2734 -0
  237. package/dist/cjs/index-CbtIH46j.js.map +1 -0
  238. package/dist/cjs/index.cjs.js +1 -17
  239. package/dist/cjs/index.cjs.js.map +1 -1
  240. package/dist/cjs/{input.util-Ch0ETA-v.js → input.util-BDrqIfiB.js} +4 -4
  241. package/dist/cjs/{input.util-Ch0ETA-v.js.map → input.util-BDrqIfiB.js.map} +1 -1
  242. package/dist/cjs/ix-action-card.cjs.entry.js +2 -2
  243. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  244. package/dist/cjs/ix-action-card.entry.cjs.js.map +1 -1
  245. package/dist/cjs/ix-application-header.cjs.entry.js +4 -4
  246. package/dist/cjs/ix-application-sidebar.cjs.entry.js +2 -2
  247. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +2 -2
  248. package/dist/cjs/ix-application.cjs.entry.js +4 -4
  249. package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
  250. package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
  251. package/dist/cjs/ix-blind.cjs.entry.js +6 -6
  252. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  253. package/dist/cjs/ix-blind.entry.cjs.js.map +1 -1
  254. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +2 -2
  255. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js.map +1 -1
  256. package/dist/cjs/ix-breadcrumb-item.entry.cjs.js.map +1 -1
  257. package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
  258. package/dist/cjs/ix-button.cjs.entry.js +4 -4
  259. package/dist/cjs/ix-card-accordion.ix-card-title.entry.cjs.js.map +1 -1
  260. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +5 -5
  261. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  262. package/dist/cjs/ix-card-list.cjs.entry.js +5 -5
  263. package/dist/cjs/ix-card.ix-card-content.entry.cjs.js.map +1 -1
  264. package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
  265. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-category-filter.cjs.entry.js +5 -5
  267. package/dist/cjs/ix-checkbox-group.cjs.entry.js +4 -4
  268. package/dist/cjs/ix-checkbox.cjs.entry.js +5 -5
  269. package/dist/cjs/ix-chip.cjs.entry.js +5 -5
  270. package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
  271. package/dist/cjs/ix-col_4.cjs.entry.js +12 -12
  272. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  273. package/dist/cjs/ix-content-header.cjs.entry.js +2 -2
  274. package/dist/cjs/ix-content-header.cjs.entry.js.map +1 -1
  275. package/dist/cjs/ix-content-header.entry.cjs.js.map +1 -1
  276. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  277. package/dist/cjs/ix-css-grid-item.cjs.entry.js +2 -2
  278. package/dist/cjs/ix-css-grid.cjs.entry.js +2 -2
  279. package/dist/cjs/ix-css-grid.cjs.entry.js.map +1 -1
  280. package/dist/cjs/ix-css-grid.entry.cjs.js.map +1 -1
  281. package/dist/cjs/ix-custom-field.cjs.entry.js +3 -3
  282. package/dist/cjs/ix-date-dropdown.cjs.entry.js +5 -5
  283. package/dist/cjs/ix-date-dropdown.cjs.entry.js.map +1 -1
  284. package/dist/cjs/ix-date-dropdown.entry.cjs.js.map +1 -1
  285. package/dist/cjs/ix-date-input.cjs.entry.js +6 -6
  286. package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
  288. package/dist/cjs/ix-date-time-card.cjs.entry.js +3 -3
  289. package/dist/cjs/ix-date-time-card.cjs.entry.js.map +1 -1
  290. package/dist/cjs/ix-date-time-card.entry.cjs.js.map +1 -1
  291. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  292. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  293. package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
  294. package/dist/cjs/ix-divider.cjs.entry.js +2 -2
  295. package/dist/cjs/ix-drawer.cjs.entry.js +6 -6
  296. package/dist/cjs/ix-dropdown-button.cjs.entry.js +3 -3
  297. package/dist/cjs/ix-dropdown-button.cjs.entry.js.map +1 -1
  298. package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
  299. package/dist/cjs/ix-dropdown-header.cjs.entry.js +2 -2
  300. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  301. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +2 -2
  302. package/dist/cjs/ix-dropdown.cjs.entry.js +3 -3
  303. package/dist/cjs/ix-empty-state.cjs.entry.js +2 -2
  304. package/dist/cjs/ix-empty-state.cjs.entry.js.map +1 -1
  305. package/dist/cjs/ix-empty-state.entry.cjs.js.map +1 -1
  306. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
  307. package/dist/cjs/ix-event-list.cjs.entry.js +3 -3
  308. package/dist/cjs/ix-expanding-search.cjs.entry.js +5 -5
  309. package/dist/cjs/ix-field-label_2.cjs.entry.js +6 -6
  310. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +3 -3
  311. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +2 -2
  312. package/dist/cjs/ix-flip-tile.cjs.entry.js +5 -5
  313. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
  314. package/dist/cjs/ix-group.cjs.entry.js +9 -9
  315. package/dist/cjs/ix-helper-text.cjs.entry.js +4 -4
  316. package/dist/cjs/ix-icon-button.ix-spinner.entry.cjs.js.map +1 -1
  317. package/dist/cjs/ix-icon-button_2.cjs.entry.js +5 -5
  318. package/dist/cjs/ix-icon-button_2.cjs.entry.js.map +1 -1
  319. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +4 -4
  320. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  321. package/dist/cjs/ix-input.cjs.entry.js +7 -7
  322. package/dist/cjs/ix-key-value-list.cjs.entry.js +2 -2
  323. package/dist/cjs/ix-key-value.cjs.entry.js +2 -2
  324. package/dist/cjs/ix-key-value.cjs.entry.js.map +1 -1
  325. package/dist/cjs/ix-key-value.entry.cjs.js.map +1 -1
  326. package/dist/cjs/ix-kpi.cjs.entry.js +4 -4
  327. package/dist/cjs/ix-layout-auto.cjs.entry.js +2 -2
  328. package/dist/cjs/ix-link-button.cjs.entry.js +4 -4
  329. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +3 -3
  330. package/dist/cjs/ix-map-navigation.cjs.entry.js +3 -3
  331. package/dist/cjs/ix-menu-about-item.cjs.entry.js +2 -2
  332. package/dist/cjs/ix-menu-about-news.cjs.entry.js +5 -5
  333. package/dist/cjs/ix-menu-about.cjs.entry.js +3 -3
  334. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  335. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
  336. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +3 -3
  337. package/dist/cjs/ix-menu-item.cjs.entry.js +4 -4
  338. package/dist/cjs/{ix-menu-settings-BkPNtMal.js → ix-menu-settings-Dbt7Q2tj.js} +4 -4
  339. package/dist/cjs/{ix-menu-settings-BkPNtMal.js.map → ix-menu-settings-Dbt7Q2tj.js.map} +1 -1
  340. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +2 -2
  341. package/dist/cjs/ix-menu-settings.cjs.entry.js +2 -2
  342. package/dist/cjs/ix-menu.cjs.entry.js +13 -13
  343. package/dist/cjs/ix-message-bar.cjs.entry.js +2 -2
  344. package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
  345. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  346. package/dist/cjs/ix-modal-loading.cjs.entry.js +2 -2
  347. package/dist/cjs/ix-modal.cjs.entry.js +5 -5
  348. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  349. package/dist/cjs/ix-modal.entry.cjs.js.map +1 -1
  350. package/dist/cjs/ix-number-input.cjs.entry.js +9 -9
  351. package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
  352. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
  353. package/dist/cjs/ix-pane-layout.cjs.entry.js.map +1 -1
  354. package/dist/cjs/ix-pane-layout.entry.cjs.js.map +1 -1
  355. package/dist/cjs/ix-pane.cjs.entry.js +7 -7
  356. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  357. package/dist/cjs/ix-pane.entry.cjs.js.map +1 -1
  358. package/dist/cjs/ix-pill.cjs.entry.js +5 -5
  359. package/dist/cjs/ix-progress-indicator.cjs.entry.js +4 -4
  360. package/dist/cjs/ix-progress-indicator.cjs.entry.js.map +1 -1
  361. package/dist/cjs/ix-progress-indicator.entry.cjs.js.map +1 -1
  362. package/dist/cjs/ix-push-card.cjs.entry.js +2 -2
  363. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  364. package/dist/cjs/ix-push-card.entry.cjs.js.map +1 -1
  365. package/dist/cjs/ix-radio-group.cjs.entry.js +4 -4
  366. package/dist/cjs/ix-radio.cjs.entry.js +6 -6
  367. package/dist/cjs/ix-select.cjs.entry.js +11 -11
  368. package/dist/cjs/ix-slider.cjs.entry.js +8 -8
  369. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  370. package/dist/cjs/ix-slider.entry.cjs.js.map +1 -1
  371. package/dist/cjs/ix-split-button.cjs.entry.js +2 -2
  372. package/dist/cjs/ix-split-button.cjs.entry.js.map +1 -1
  373. package/dist/cjs/ix-split-button.entry.cjs.js.map +1 -1
  374. package/dist/cjs/ix-tab-item.ix-tabs.entry.cjs.js.map +1 -1
  375. package/dist/cjs/ix-tab-item_2.cjs.entry.js +6 -6
  376. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  377. package/dist/cjs/ix-textarea.cjs.entry.js +5 -5
  378. package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
  379. package/dist/cjs/ix-textarea.entry.cjs.js.map +1 -1
  380. package/dist/cjs/ix-tile.cjs.entry.js +5 -5
  381. package/dist/cjs/ix-time-input.cjs.entry.js +6 -6
  382. package/dist/cjs/ix-time-input.cjs.entry.js.map +1 -1
  383. package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
  384. package/dist/cjs/ix-time-picker.cjs.entry.js +6 -6
  385. package/dist/cjs/ix-time-picker.cjs.entry.js.map +1 -1
  386. package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
  387. package/dist/cjs/ix-toast-container.cjs.entry.js +3 -3
  388. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  389. package/dist/cjs/ix-toast-container.entry.cjs.js.map +1 -1
  390. package/dist/cjs/ix-toast.cjs.entry.js +3 -3
  391. package/dist/cjs/ix-toggle-button.cjs.entry.js +4 -4
  392. package/dist/cjs/ix-toggle.cjs.entry.js +5 -5
  393. package/dist/cjs/ix-tooltip.cjs.entry.js +2 -2
  394. package/dist/cjs/ix-tree-item.cjs.entry.js +5 -5
  395. package/dist/cjs/ix-tree.cjs.entry.js +2 -2
  396. package/dist/cjs/ix-typography.cjs.entry.js +2 -2
  397. package/dist/cjs/ix-typography.cjs.entry.js.map +1 -1
  398. package/dist/cjs/ix-typography.entry.cjs.js.map +1 -1
  399. package/dist/cjs/ix-upload.cjs.entry.js +1 -1
  400. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
  401. package/dist/cjs/ix-workflow-step.cjs.entry.js +1 -1
  402. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  403. package/dist/cjs/{listener-BJXzadPO.js → listener-BT212YoD.js} +3 -3
  404. package/dist/cjs/{listener-BJXzadPO.js.map → listener-BT212YoD.js.map} +1 -1
  405. package/dist/cjs/loader.cjs.js +1 -1
  406. package/dist/cjs/modal-CR_0969h.js.map +1 -1
  407. package/dist/cjs/siemens-ix.cjs.js +1 -1
  408. package/dist/cjs/{validation-_-cW9Dku.js → validation-rAd3wIQp.js} +3 -3
  409. package/dist/cjs/{validation-_-cW9Dku.js.map → validation-rAd3wIQp.js.map} +1 -1
  410. package/dist/collection/collection-manifest.json +28 -28
  411. package/dist/collection/components/action-card/action-card.js +4 -4
  412. package/dist/collection/components/action-card/action-card.js.map +1 -1
  413. package/dist/collection/components/action-card/action-card.types.js +2 -0
  414. package/dist/collection/components/action-card/action-card.types.js.map +1 -0
  415. package/dist/collection/components/application/application.js +3 -3
  416. package/dist/collection/components/application-header/application-header.js +3 -3
  417. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  418. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  419. package/dist/collection/components/basic-navigation/basic-navigation.js +2 -2
  420. package/dist/collection/components/blind/blind.js +8 -8
  421. package/dist/collection/components/blind/blind.js.map +1 -1
  422. package/dist/collection/components/blind/blind.types.js +2 -0
  423. package/dist/collection/components/blind/blind.types.js.map +1 -0
  424. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  425. package/dist/collection/components/breadcrumb-item/breadcrumb-item.js.map +1 -1
  426. package/dist/collection/components/button/button.js +2 -2
  427. package/dist/collection/components/card/card.js +5 -5
  428. package/dist/collection/components/card/card.js.map +1 -1
  429. package/dist/collection/components/card/card.types.js +2 -0
  430. package/dist/collection/components/card/card.types.js.map +1 -0
  431. package/dist/collection/components/card-accordion/card-accordion.js +6 -6
  432. package/dist/collection/components/card-accordion/card-accordion.js.map +1 -1
  433. package/dist/collection/components/card-accordion/card-accordion.types.js +2 -0
  434. package/dist/collection/components/card-accordion/card-accordion.types.js.map +1 -0
  435. package/dist/collection/components/card-content/card-content.js +1 -1
  436. package/dist/collection/components/card-list/card-list.js +4 -4
  437. package/dist/collection/components/card-title/card-title.js +1 -1
  438. package/dist/collection/components/category-filter/category-filter.js +3 -3
  439. package/dist/collection/components/checkbox/checkbox.js +3 -3
  440. package/dist/collection/components/checkbox-group/checkbox-group.js +2 -2
  441. package/dist/collection/components/chip/chip.js +4 -4
  442. package/dist/collection/components/col/col.js +13 -13
  443. package/dist/collection/components/col/col.js.map +1 -1
  444. package/dist/collection/components/col/col.types.js +2 -0
  445. package/dist/collection/components/col/col.types.js.map +1 -0
  446. package/dist/collection/components/content/content.js +3 -3
  447. package/dist/collection/components/content-header/content-header.js +4 -4
  448. package/dist/collection/components/content-header/content-header.js.map +1 -1
  449. package/dist/collection/components/content-header/content-header.types.js +2 -0
  450. package/dist/collection/components/content-header/content-header.types.js.map +1 -0
  451. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  452. package/dist/collection/components/css-grid/css-grid.js +4 -4
  453. package/dist/collection/components/css-grid/css-grid.js.map +1 -1
  454. package/dist/collection/components/css-grid/css-grid.types.js +2 -0
  455. package/dist/collection/components/css-grid/css-grid.types.js.map +1 -0
  456. package/dist/collection/components/custom-field/custom-field.js +1 -1
  457. package/dist/collection/components/date-dropdown/date-dropdown.js +13 -13
  458. package/dist/collection/components/date-dropdown/date-dropdown.js.map +1 -1
  459. package/dist/collection/components/date-dropdown/date-dropdown.types.js +2 -0
  460. package/dist/collection/components/date-dropdown/date-dropdown.types.js.map +1 -0
  461. package/dist/collection/components/date-dropdown/test/date-dropdown.ct.js.map +1 -1
  462. package/dist/collection/components/date-input/date-input.js +6 -6
  463. package/dist/collection/components/date-input/date-input.js.map +1 -1
  464. package/dist/collection/components/date-input/date-input.types.js +2 -0
  465. package/dist/collection/components/date-input/date-input.types.js.map +1 -0
  466. package/dist/collection/components/date-picker/date-picker-component.js.map +1 -1
  467. package/dist/collection/components/date-picker/date-picker.events.js +2 -0
  468. package/dist/collection/components/date-picker/date-picker.events.js.map +1 -0
  469. package/dist/collection/components/date-picker/date-picker.js +17 -17
  470. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  471. package/dist/collection/components/date-time-card/date-time-card.js +5 -5
  472. package/dist/collection/components/date-time-card/date-time-card.js.map +1 -1
  473. package/dist/collection/components/date-time-card/date-time-card.types.js +2 -0
  474. package/dist/collection/components/date-time-card/date-time-card.types.js.map +1 -0
  475. package/dist/collection/components/datetime-picker/datetime-picker.js +7 -7
  476. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  477. package/dist/collection/components/datetime-picker/datetime-picker.types.js +2 -0
  478. package/dist/collection/components/datetime-picker/datetime-picker.types.js.map +1 -0
  479. package/dist/collection/components/divider/divider.js +1 -1
  480. package/dist/collection/components/drawer/drawer.js +5 -5
  481. package/dist/collection/components/dropdown/dropdown.js +2 -2
  482. package/dist/collection/components/dropdown-button/dropdown-button.js +5 -5
  483. package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
  484. package/dist/collection/components/dropdown-button/dropdown-button.types.js +2 -0
  485. package/dist/collection/components/dropdown-button/dropdown-button.types.js.map +1 -0
  486. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  487. package/dist/collection/components/dropdown-item/dropdown-item.js +3 -3
  488. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  489. package/dist/collection/components/empty-state/empty-state.js +4 -4
  490. package/dist/collection/components/empty-state/empty-state.js.map +1 -1
  491. package/dist/collection/components/empty-state/empty-state.types.js +2 -0
  492. package/dist/collection/components/empty-state/empty-state.types.js.map +1 -0
  493. package/dist/collection/components/event-list/event-list.js +2 -2
  494. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  495. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  496. package/dist/collection/components/field-label/field-label.js +1 -1
  497. package/dist/collection/components/field-wrapper/field-wrapper.js +2 -2
  498. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  499. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  500. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  501. package/dist/collection/components/group/group-context-menu.js +1 -1
  502. package/dist/collection/components/group/group.js +8 -8
  503. package/dist/collection/components/group-item/group-item.js +2 -2
  504. package/dist/collection/components/helper-text/helper-text.js +1 -1
  505. package/dist/collection/components/icon-button/icon-button.js +4 -4
  506. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  507. package/dist/collection/components/icon-button/icon-button.types.js +2 -0
  508. package/dist/collection/components/icon-button/icon-button.types.js.map +1 -0
  509. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  510. package/dist/collection/components/input/input.js +4 -4
  511. package/dist/collection/components/input/number-input.js +6 -6
  512. package/dist/collection/components/input/textarea.js +5 -5
  513. package/dist/collection/components/input/textarea.js.map +1 -1
  514. package/dist/collection/components/input/textarea.types.js +2 -0
  515. package/dist/collection/components/input/textarea.types.js.map +1 -0
  516. package/dist/collection/components/input-group/input-group.js +1 -1
  517. package/dist/collection/components/key-value/key-value.js +4 -4
  518. package/dist/collection/components/key-value/key-value.js.map +1 -1
  519. package/dist/collection/components/key-value/key-value.types.js +2 -0
  520. package/dist/collection/components/key-value/key-value.types.js.map +1 -0
  521. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  522. package/dist/collection/components/kpi/kpi.js +3 -3
  523. package/dist/collection/components/layout-auto/layout-auto.js +1 -1
  524. package/dist/collection/components/layout-grid/layout-grid.js +2 -2
  525. package/dist/collection/components/link-button/link-button.js +3 -3
  526. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  527. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  528. package/dist/collection/components/menu/menu-expand-icon.js +1 -1
  529. package/dist/collection/components/menu/menu.js +12 -12
  530. package/dist/collection/components/menu-about/menu-about.js +1 -1
  531. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  532. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  533. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  534. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  535. package/dist/collection/components/menu-category/menu-category.js +5 -5
  536. package/dist/collection/components/menu-item/menu-item.js +3 -3
  537. package/dist/collection/components/menu-settings/menu-settings.js +1 -1
  538. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  539. package/dist/collection/components/message-bar/message-bar.js +1 -1
  540. package/dist/collection/components/modal/modal.js +6 -6
  541. package/dist/collection/components/modal/modal.js.map +1 -1
  542. package/dist/collection/components/modal/modal.types.js +2 -0
  543. package/dist/collection/components/modal/modal.types.js.map +1 -0
  544. package/dist/collection/components/modal-content/modal-content.js +1 -1
  545. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  546. package/dist/collection/components/modal-header/modal-header.js +1 -1
  547. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  548. package/dist/collection/components/pagination/pagination.js +2 -2
  549. package/dist/collection/components/pane/pane.js +24 -24
  550. package/dist/collection/components/pane/pane.js.map +1 -1
  551. package/dist/collection/components/pane/pane.types.js +2 -0
  552. package/dist/collection/components/pane/pane.types.js.map +1 -0
  553. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  554. package/dist/collection/components/pane-layout/pane-layout.js.map +1 -1
  555. package/dist/collection/components/pill/pill.js +4 -4
  556. package/dist/collection/components/progress-indicator/circular.js.map +1 -1
  557. package/dist/collection/components/progress-indicator/progress-indicator.js +6 -6
  558. package/dist/collection/components/progress-indicator/progress-indicator.js.map +1 -1
  559. package/dist/collection/components/progress-indicator/progress-indicator.types.js +2 -0
  560. package/dist/collection/components/progress-indicator/progress-indicator.types.js.map +1 -0
  561. package/dist/collection/components/push-card/push-card.js +4 -4
  562. package/dist/collection/components/push-card/push-card.js.map +1 -1
  563. package/dist/collection/components/push-card/push-card.types.js +2 -0
  564. package/dist/collection/components/push-card/push-card.types.js.map +1 -0
  565. package/dist/collection/components/radio/radio.js +4 -4
  566. package/dist/collection/components/radio-group/radio-group.js +2 -2
  567. package/dist/collection/components/row/row.js +1 -1
  568. package/dist/collection/components/select/select.js +8 -8
  569. package/dist/collection/components/select-item/select-item.js +1 -1
  570. package/dist/collection/components/slider/slider.js +9 -9
  571. package/dist/collection/components/slider/slider.js.map +1 -1
  572. package/dist/collection/components/slider/slider.types.js +2 -0
  573. package/dist/collection/components/slider/slider.types.js.map +1 -0
  574. package/dist/collection/components/spinner/spinner.js +1 -1
  575. package/dist/collection/components/split-button/split-button.js +4 -4
  576. package/dist/collection/components/split-button/split-button.js.map +1 -1
  577. package/dist/collection/components/split-button/split-button.types.js +2 -0
  578. package/dist/collection/components/split-button/split-button.types.js.map +1 -0
  579. package/dist/collection/components/tab-item/tab-item.js +6 -6
  580. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  581. package/dist/collection/components/tab-item/tab-item.types.js +2 -0
  582. package/dist/collection/components/tab-item/tab-item.types.js.map +1 -0
  583. package/dist/collection/components/tabs/tabs.js +2 -2
  584. package/dist/collection/components/tile/tile.js +4 -4
  585. package/dist/collection/components/time-input/time-input.js +6 -6
  586. package/dist/collection/components/time-input/time-input.js.map +1 -1
  587. package/dist/collection/components/time-input/time-input.types.js +2 -0
  588. package/dist/collection/components/time-input/time-input.types.js.map +1 -0
  589. package/dist/collection/components/time-picker/time-picker.js +7 -7
  590. package/dist/collection/components/time-picker/time-picker.js.map +1 -1
  591. package/dist/collection/components/time-picker/time-picker.types.js +2 -0
  592. package/dist/collection/components/time-picker/time-picker.types.js.map +1 -0
  593. package/dist/collection/components/toast/toast-container.js +5 -5
  594. package/dist/collection/components/toast/toast-container.js.map +1 -1
  595. package/dist/collection/components/toast/toast-container.types.js +2 -0
  596. package/dist/collection/components/toast/toast-container.types.js.map +1 -0
  597. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  598. package/dist/collection/components/toast/toast.js +2 -2
  599. package/dist/collection/components/toggle/toggle.js +3 -3
  600. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  601. package/dist/collection/components/tooltip/tooltip.js +1 -1
  602. package/dist/collection/components/tree/tree.js +1 -1
  603. package/dist/collection/components/tree-item/tree-item.js +4 -4
  604. package/dist/collection/components/typography/typography.js +10 -10
  605. package/dist/collection/components/typography/typography.js.map +1 -1
  606. package/dist/collection/components/typography/typography.types.js +2 -0
  607. package/dist/collection/components/typography/typography.types.js.map +1 -0
  608. package/dist/collection/components/utils/modal/modal.js.map +1 -1
  609. package/dist/collection/index.js +1 -19
  610. package/dist/collection/index.js.map +1 -1
  611. package/dist/collection/public-api.js +22 -0
  612. package/dist/collection/public-api.js.map +1 -0
  613. package/dist/esm/{base-button-dtdYZqMt.js → base-button-CKT5FMT1.js} +3 -3
  614. package/dist/esm/{base-button-dtdYZqMt.js.map → base-button-CKT5FMT1.js.map} +1 -1
  615. package/dist/esm/{base-icon-button-BZvsimpZ.js → base-icon-button-7cQMdhTz.js} +4 -4
  616. package/dist/esm/{base-icon-button-BZvsimpZ.js.map → base-icon-button-7cQMdhTz.js.map} +1 -1
  617. package/dist/esm/{helper-text-util-Dyff2O6m.js → helper-text-util-CBCAKFyG.js} +3 -3
  618. package/dist/esm/{helper-text-util-Dyff2O6m.js.map → helper-text-util-CBCAKFyG.js.map} +1 -1
  619. package/dist/esm/index-DJsXFBNm.js +2702 -0
  620. package/dist/esm/index-DJsXFBNm.js.map +1 -0
  621. package/dist/esm/index.js +2 -17
  622. package/dist/esm/index.js.map +1 -1
  623. package/dist/esm/{input.util-HSoyR1ow.js → input.util-DGHGYsFM.js} +4 -4
  624. package/dist/esm/{input.util-HSoyR1ow.js.map → input.util-DGHGYsFM.js.map} +1 -1
  625. package/dist/esm/ix-action-card.entry.js +2 -2
  626. package/dist/esm/ix-action-card.entry.js.map +1 -1
  627. package/dist/esm/ix-application-header.entry.js +4 -4
  628. package/dist/esm/ix-application-sidebar.entry.js +2 -2
  629. package/dist/esm/ix-application-switch-modal.entry.js +2 -2
  630. package/dist/esm/ix-application.entry.js +4 -4
  631. package/dist/esm/ix-avatar_2.entry.js +3 -3
  632. package/dist/esm/ix-basic-navigation.entry.js +3 -3
  633. package/dist/esm/ix-blind.entry.js +6 -6
  634. package/dist/esm/ix-blind.entry.js.map +1 -1
  635. package/dist/esm/ix-breadcrumb-item.entry.js +2 -2
  636. package/dist/esm/ix-breadcrumb-item.entry.js.map +1 -1
  637. package/dist/esm/ix-breadcrumb.entry.js +3 -3
  638. package/dist/esm/ix-button.entry.js +4 -4
  639. package/dist/esm/ix-card-accordion.ix-card-title.entry.js.map +1 -1
  640. package/dist/esm/ix-card-accordion_2.entry.js +5 -5
  641. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  642. package/dist/esm/ix-card-list.entry.js +5 -5
  643. package/dist/esm/ix-card.ix-card-content.entry.js.map +1 -1
  644. package/dist/esm/ix-card_2.entry.js +4 -4
  645. package/dist/esm/ix-card_2.entry.js.map +1 -1
  646. package/dist/esm/ix-category-filter.entry.js +5 -5
  647. package/dist/esm/ix-checkbox-group.entry.js +4 -4
  648. package/dist/esm/ix-checkbox.entry.js +5 -5
  649. package/dist/esm/ix-chip.entry.js +5 -5
  650. package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
  651. package/dist/esm/ix-col_4.entry.js +12 -12
  652. package/dist/esm/ix-col_4.entry.js.map +1 -1
  653. package/dist/esm/ix-content-header.entry.js +2 -2
  654. package/dist/esm/ix-content-header.entry.js.map +1 -1
  655. package/dist/esm/ix-content.entry.js +4 -4
  656. package/dist/esm/ix-css-grid-item.entry.js +2 -2
  657. package/dist/esm/ix-css-grid.entry.js +2 -2
  658. package/dist/esm/ix-css-grid.entry.js.map +1 -1
  659. package/dist/esm/ix-custom-field.entry.js +3 -3
  660. package/dist/esm/ix-date-dropdown.entry.js +5 -5
  661. package/dist/esm/ix-date-dropdown.entry.js.map +1 -1
  662. package/dist/esm/ix-date-input.entry.js +6 -6
  663. package/dist/esm/ix-date-input.entry.js.map +1 -1
  664. package/dist/esm/ix-date-time-card.entry.js +3 -3
  665. package/dist/esm/ix-date-time-card.entry.js.map +1 -1
  666. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  667. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  668. package/dist/esm/ix-divider.entry.js +2 -2
  669. package/dist/esm/ix-drawer.entry.js +6 -6
  670. package/dist/esm/ix-dropdown-button.entry.js +3 -3
  671. package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
  672. package/dist/esm/ix-dropdown-header.entry.js +2 -2
  673. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  674. package/dist/esm/ix-dropdown-quick-actions.entry.js +2 -2
  675. package/dist/esm/ix-dropdown.entry.js +3 -3
  676. package/dist/esm/ix-empty-state.entry.js +2 -2
  677. package/dist/esm/ix-empty-state.entry.js.map +1 -1
  678. package/dist/esm/ix-event-list-item.entry.js +5 -5
  679. package/dist/esm/ix-event-list.entry.js +3 -3
  680. package/dist/esm/ix-expanding-search.entry.js +5 -5
  681. package/dist/esm/ix-field-label_2.entry.js +6 -6
  682. package/dist/esm/ix-filter-chip_2.entry.js +3 -3
  683. package/dist/esm/ix-flip-tile-content.entry.js +2 -2
  684. package/dist/esm/ix-flip-tile.entry.js +5 -5
  685. package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
  686. package/dist/esm/ix-group.entry.js +9 -9
  687. package/dist/esm/ix-helper-text.entry.js +4 -4
  688. package/dist/esm/ix-icon-button.ix-spinner.entry.js.map +1 -1
  689. package/dist/esm/ix-icon-button_2.entry.js +5 -5
  690. package/dist/esm/ix-icon-button_2.entry.js.map +1 -1
  691. package/dist/esm/ix-icon-toggle-button.entry.js +4 -4
  692. package/dist/esm/ix-input-group.entry.js +2 -2
  693. package/dist/esm/ix-input.entry.js +7 -7
  694. package/dist/esm/ix-key-value-list.entry.js +2 -2
  695. package/dist/esm/ix-key-value.entry.js +2 -2
  696. package/dist/esm/ix-key-value.entry.js.map +1 -1
  697. package/dist/esm/ix-kpi.entry.js +4 -4
  698. package/dist/esm/ix-layout-auto.entry.js +2 -2
  699. package/dist/esm/ix-link-button.entry.js +4 -4
  700. package/dist/esm/ix-map-navigation-overlay.entry.js +3 -3
  701. package/dist/esm/ix-map-navigation.entry.js +3 -3
  702. package/dist/esm/ix-menu-about-item.entry.js +2 -2
  703. package/dist/esm/ix-menu-about-news.entry.js +5 -5
  704. package/dist/esm/ix-menu-about.entry.js +3 -3
  705. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  706. package/dist/esm/ix-menu-category.entry.js +6 -6
  707. package/dist/esm/ix-menu-expand-icon.entry.js +3 -3
  708. package/dist/esm/ix-menu-item.entry.js +4 -4
  709. package/dist/esm/{ix-menu-settings-B5kM6fHy.js → ix-menu-settings-B56_taBh.js} +4 -4
  710. package/dist/esm/{ix-menu-settings-B5kM6fHy.js.map → ix-menu-settings-B56_taBh.js.map} +1 -1
  711. package/dist/esm/ix-menu-settings-item.entry.js +2 -2
  712. package/dist/esm/ix-menu-settings.entry.js +2 -2
  713. package/dist/esm/ix-menu.entry.js +13 -13
  714. package/dist/esm/ix-message-bar.entry.js +2 -2
  715. package/dist/esm/ix-modal-content_2.entry.js +3 -3
  716. package/dist/esm/ix-modal-footer.entry.js +2 -2
  717. package/dist/esm/ix-modal-loading.entry.js +2 -2
  718. package/dist/esm/ix-modal.entry.js +5 -5
  719. package/dist/esm/ix-modal.entry.js.map +1 -1
  720. package/dist/esm/ix-number-input.entry.js +9 -9
  721. package/dist/esm/ix-pagination.entry.js +4 -4
  722. package/dist/esm/ix-pane-layout.entry.js +2 -2
  723. package/dist/esm/ix-pane-layout.entry.js.map +1 -1
  724. package/dist/esm/ix-pane.entry.js +7 -7
  725. package/dist/esm/ix-pane.entry.js.map +1 -1
  726. package/dist/esm/ix-pill.entry.js +5 -5
  727. package/dist/esm/ix-progress-indicator.entry.js +4 -4
  728. package/dist/esm/ix-progress-indicator.entry.js.map +1 -1
  729. package/dist/esm/ix-push-card.entry.js +2 -2
  730. package/dist/esm/ix-push-card.entry.js.map +1 -1
  731. package/dist/esm/ix-radio-group.entry.js +4 -4
  732. package/dist/esm/ix-radio.entry.js +6 -6
  733. package/dist/esm/ix-select.entry.js +11 -11
  734. package/dist/esm/ix-slider.entry.js +8 -8
  735. package/dist/esm/ix-slider.entry.js.map +1 -1
  736. package/dist/esm/ix-split-button.entry.js +2 -2
  737. package/dist/esm/ix-split-button.entry.js.map +1 -1
  738. package/dist/esm/ix-tab-item.ix-tabs.entry.js.map +1 -1
  739. package/dist/esm/ix-tab-item_2.entry.js +6 -6
  740. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  741. package/dist/esm/ix-textarea.entry.js +5 -5
  742. package/dist/esm/ix-textarea.entry.js.map +1 -1
  743. package/dist/esm/ix-tile.entry.js +5 -5
  744. package/dist/esm/ix-time-input.entry.js +6 -6
  745. package/dist/esm/ix-time-input.entry.js.map +1 -1
  746. package/dist/esm/ix-time-picker.entry.js +6 -6
  747. package/dist/esm/ix-time-picker.entry.js.map +1 -1
  748. package/dist/esm/ix-toast-container.entry.js +3 -3
  749. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  750. package/dist/esm/ix-toast.entry.js +3 -3
  751. package/dist/esm/ix-toggle-button.entry.js +4 -4
  752. package/dist/esm/ix-toggle.entry.js +5 -5
  753. package/dist/esm/ix-tooltip.entry.js +2 -2
  754. package/dist/esm/ix-tree-item.entry.js +5 -5
  755. package/dist/esm/ix-tree.entry.js +2 -2
  756. package/dist/esm/ix-typography.entry.js +2 -2
  757. package/dist/esm/ix-typography.entry.js.map +1 -1
  758. package/dist/esm/ix-upload.entry.js +1 -1
  759. package/dist/esm/ix-validation-tooltip.entry.js +1 -1
  760. package/dist/esm/ix-workflow-step.entry.js +1 -1
  761. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  762. package/dist/esm/{listener-DCrO174s.js → listener-B0yYRvMl.js} +3 -3
  763. package/dist/esm/{listener-DCrO174s.js.map → listener-B0yYRvMl.js.map} +1 -1
  764. package/dist/esm/loader.js +2 -2
  765. package/dist/esm/modal-BldRA6Um.js.map +1 -1
  766. package/dist/esm/siemens-ix.js +2 -2
  767. package/dist/esm/{validation-DuPOpjMi.js → validation-gQpVWmEm.js} +3 -3
  768. package/dist/esm/{validation-DuPOpjMi.js.map → validation-gQpVWmEm.js.map} +1 -1
  769. package/dist/siemens-ix/index.esm.js +1 -1
  770. package/dist/siemens-ix/index.esm.js.map +1 -1
  771. package/dist/siemens-ix/ix-action-card.entry.esm.js.map +1 -1
  772. package/dist/siemens-ix/ix-blind.entry.esm.js.map +1 -1
  773. package/dist/siemens-ix/ix-breadcrumb-item.entry.esm.js.map +1 -1
  774. package/dist/siemens-ix/ix-card-accordion.ix-card-title.entry.esm.js.map +1 -1
  775. package/dist/siemens-ix/ix-card.ix-card-content.entry.esm.js.map +1 -1
  776. package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
  777. package/dist/siemens-ix/ix-content-header.entry.esm.js.map +1 -1
  778. package/dist/siemens-ix/ix-css-grid.entry.esm.js.map +1 -1
  779. package/dist/siemens-ix/ix-date-dropdown.entry.esm.js.map +1 -1
  780. package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
  781. package/dist/siemens-ix/ix-date-time-card.entry.esm.js.map +1 -1
  782. package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
  783. package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
  784. package/dist/siemens-ix/ix-empty-state.entry.esm.js.map +1 -1
  785. package/dist/siemens-ix/ix-icon-button.ix-spinner.entry.esm.js.map +1 -1
  786. package/dist/siemens-ix/ix-key-value.entry.esm.js.map +1 -1
  787. package/dist/siemens-ix/ix-modal.entry.esm.js.map +1 -1
  788. package/dist/siemens-ix/ix-pane-layout.entry.esm.js.map +1 -1
  789. package/dist/siemens-ix/ix-pane.entry.esm.js.map +1 -1
  790. package/dist/siemens-ix/ix-progress-indicator.entry.esm.js.map +1 -1
  791. package/dist/siemens-ix/ix-push-card.entry.esm.js.map +1 -1
  792. package/dist/siemens-ix/ix-slider.entry.esm.js.map +1 -1
  793. package/dist/siemens-ix/ix-split-button.entry.esm.js.map +1 -1
  794. package/dist/siemens-ix/ix-tab-item.ix-tabs.entry.esm.js.map +1 -1
  795. package/dist/siemens-ix/ix-textarea.entry.esm.js.map +1 -1
  796. package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
  797. package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
  798. package/dist/siemens-ix/ix-toast-container.entry.esm.js.map +1 -1
  799. package/dist/siemens-ix/ix-typography.entry.esm.js.map +1 -1
  800. package/dist/siemens-ix/p--JQiLjHw.js +2 -0
  801. package/dist/siemens-ix/{p-BaslXuvq.js.map → p--JQiLjHw.js.map} +1 -1
  802. package/dist/siemens-ix/{p-4be22d4d.entry.js → p-003ae2cf.entry.js} +2 -2
  803. package/dist/siemens-ix/{p-094d6f0a.entry.js → p-00eff8b5.entry.js} +2 -2
  804. package/dist/siemens-ix/{p-47956560.entry.js → p-0195766f.entry.js} +2 -2
  805. package/dist/siemens-ix/{p-c23031be.entry.js → p-025c5b1b.entry.js} +2 -2
  806. package/dist/siemens-ix/{p-25c27b28.entry.js → p-03b8e425.entry.js} +2 -2
  807. package/dist/siemens-ix/p-04527b1e.entry.js +2 -0
  808. package/dist/siemens-ix/{p-07733f87.entry.js → p-07b2da86.entry.js} +2 -2
  809. package/dist/siemens-ix/{p-2edc9a43.entry.js → p-0935e05e.entry.js} +2 -2
  810. package/dist/siemens-ix/p-0935e05e.entry.js.map +1 -0
  811. package/dist/siemens-ix/{p-746f49b4.entry.js → p-098aa857.entry.js} +2 -2
  812. package/dist/siemens-ix/{p-b6f02420.entry.js → p-0b2e7f25.entry.js} +2 -2
  813. package/dist/siemens-ix/{p-b6f02420.entry.js.map → p-0b2e7f25.entry.js.map} +1 -1
  814. package/dist/siemens-ix/{p-d4284927.entry.js → p-130ffc16.entry.js} +2 -2
  815. package/dist/siemens-ix/{p-1cff42a5.entry.js → p-13b5f3c3.entry.js} +2 -2
  816. package/dist/siemens-ix/{p-f61c1785.entry.js → p-14d2042d.entry.js} +2 -2
  817. package/dist/siemens-ix/p-15e0db51.entry.js +2 -0
  818. package/dist/siemens-ix/{p-a7e339d0.entry.js.map → p-15e0db51.entry.js.map} +1 -1
  819. package/dist/siemens-ix/{p-702d290f.entry.js → p-173dfb9e.entry.js} +2 -2
  820. package/dist/siemens-ix/p-173dfb9e.entry.js.map +1 -0
  821. package/dist/siemens-ix/p-19501b80.entry.js +2 -0
  822. package/dist/siemens-ix/{p-d2151941.entry.js → p-1df6d18f.entry.js} +2 -2
  823. package/dist/siemens-ix/{p-518290fd.entry.js → p-1fdfe35a.entry.js} +2 -2
  824. package/dist/siemens-ix/{p-38fa1eec.entry.js → p-2642d96b.entry.js} +2 -2
  825. package/dist/siemens-ix/{p-0053fd70.entry.js → p-28aece6e.entry.js} +2 -2
  826. package/dist/siemens-ix/{p-00668881.entry.js → p-29d44cef.entry.js} +2 -2
  827. package/dist/siemens-ix/p-2db9bcfa.entry.js +2 -0
  828. package/dist/siemens-ix/p-2db9bcfa.entry.js.map +1 -0
  829. package/dist/siemens-ix/{p-1f5322d5.entry.js → p-2f2dfb6e.entry.js} +2 -2
  830. package/dist/siemens-ix/{p-7fcec901.entry.js → p-2f9b9e7a.entry.js} +2 -2
  831. package/dist/siemens-ix/{p-6b5cb4c3.entry.js → p-326c0944.entry.js} +2 -2
  832. package/dist/siemens-ix/p-326c0944.entry.js.map +1 -0
  833. package/dist/siemens-ix/{p-2a1152d9.entry.js → p-35054c78.entry.js} +2 -2
  834. package/dist/siemens-ix/p-35054c78.entry.js.map +1 -0
  835. package/dist/siemens-ix/{p-7b5eb3ca.entry.js → p-36b894a2.entry.js} +2 -2
  836. package/dist/siemens-ix/p-36b894a2.entry.js.map +1 -0
  837. package/dist/siemens-ix/{p-44a9c1db.entry.js → p-3b45287a.entry.js} +2 -2
  838. package/dist/siemens-ix/p-3b45287a.entry.js.map +1 -0
  839. package/dist/siemens-ix/p-440a0ee0.entry.js +2 -0
  840. package/dist/siemens-ix/p-44be2535.entry.js +2 -0
  841. package/dist/siemens-ix/{p-c6cb0b06.entry.js.map → p-44be2535.entry.js.map} +1 -1
  842. package/dist/siemens-ix/{p-c7ead0ee.entry.js → p-456ca686.entry.js} +2 -2
  843. package/dist/siemens-ix/p-456ca686.entry.js.map +1 -0
  844. package/dist/siemens-ix/{p-ed05a3ed.entry.js → p-4657ec52.entry.js} +2 -2
  845. package/dist/siemens-ix/p-4657ec52.entry.js.map +1 -0
  846. package/dist/siemens-ix/{p-0e0019a3.entry.js → p-472c1d6b.entry.js} +2 -2
  847. package/dist/siemens-ix/{p-1363ac29.entry.js → p-47f395be.entry.js} +2 -2
  848. package/dist/siemens-ix/{p-cf7448b1.entry.js → p-483bc052.entry.js} +2 -2
  849. package/dist/siemens-ix/p-4959b8e6.entry.js +2 -0
  850. package/dist/siemens-ix/{p-a09ec38c.entry.js → p-4e2b30a4.entry.js} +2 -2
  851. package/dist/siemens-ix/p-4e2b30a4.entry.js.map +1 -0
  852. package/dist/siemens-ix/{p-2e0dab7b.entry.js → p-4ef7a072.entry.js} +2 -2
  853. package/dist/siemens-ix/p-4ef7a072.entry.js.map +1 -0
  854. package/dist/siemens-ix/{p-e499f85d.entry.js → p-4fe2d0f7.entry.js} +2 -2
  855. package/dist/siemens-ix/{p-17a19a44.entry.js → p-518b5533.entry.js} +2 -2
  856. package/dist/siemens-ix/p-518b5533.entry.js.map +1 -0
  857. package/dist/siemens-ix/{p-e006c83c.entry.js → p-5b22342c.entry.js} +2 -2
  858. package/dist/siemens-ix/{p-125b66ec.entry.js → p-605a9fe8.entry.js} +2 -2
  859. package/dist/siemens-ix/{p-2d383fa3.entry.js → p-6337e880.entry.js} +2 -2
  860. package/dist/siemens-ix/{p-0285fa1a.entry.js → p-6549edf0.entry.js} +2 -2
  861. package/dist/siemens-ix/p-66d20585.entry.js +2 -0
  862. package/dist/siemens-ix/{p-53d1f804.entry.js → p-6adde42d.entry.js} +2 -2
  863. package/dist/siemens-ix/{p-b1bc33ef.entry.js → p-6cc448b4.entry.js} +2 -2
  864. package/dist/siemens-ix/{p-ec3786c3.entry.js → p-7011678e.entry.js} +2 -2
  865. package/dist/siemens-ix/p-7111f065.entry.js +2 -0
  866. package/dist/siemens-ix/{p-30e325ee.entry.js → p-71c14a29.entry.js} +2 -2
  867. package/dist/siemens-ix/p-71c14a29.entry.js.map +1 -0
  868. package/dist/siemens-ix/{p-cf3c2573.entry.js → p-76f59fa5.entry.js} +2 -2
  869. package/dist/siemens-ix/{p-c5921b21.entry.js → p-777675ce.entry.js} +2 -2
  870. package/dist/siemens-ix/{p-f66cb323.entry.js → p-7a336485.entry.js} +2 -2
  871. package/dist/siemens-ix/p-7a336485.entry.js.map +1 -0
  872. package/dist/siemens-ix/{p-4a666ab2.entry.js → p-8d4558b9.entry.js} +2 -2
  873. package/dist/siemens-ix/{p-ef56e825.entry.js → p-8fcada5a.entry.js} +2 -2
  874. package/dist/siemens-ix/{p-96c0acb2.entry.js → p-91ba2527.entry.js} +2 -2
  875. package/dist/siemens-ix/p-97693d72.entry.js +2 -0
  876. package/dist/siemens-ix/{p-29eb0f3c.entry.js → p-97a53af6.entry.js} +2 -2
  877. package/dist/siemens-ix/p-981dae13.entry.js +2 -0
  878. package/dist/siemens-ix/{p-f426aa64.entry.js.map → p-981dae13.entry.js.map} +1 -1
  879. package/dist/siemens-ix/{p-5f494293.entry.js → p-988f37da.entry.js} +2 -2
  880. package/dist/siemens-ix/{p-80dfc634.entry.js → p-9f74e709.entry.js} +2 -2
  881. package/dist/siemens-ix/p-9f74e709.entry.js.map +1 -0
  882. package/dist/siemens-ix/{p-61944945.entry.js → p-9f7d82d2.entry.js} +2 -2
  883. package/dist/siemens-ix/{p-DhH1rUwy.js → p-BsJawkTz.js} +2 -2
  884. package/dist/siemens-ix/{p-DhH1rUwy.js.map → p-BsJawkTz.js.map} +1 -1
  885. package/dist/siemens-ix/p-BxQZld1q.js.map +1 -1
  886. package/dist/siemens-ix/{p-zYzFdFx8.js → p-CFsAnuUU.js} +2 -2
  887. package/dist/siemens-ix/{p-zYzFdFx8.js.map → p-CFsAnuUU.js.map} +1 -1
  888. package/dist/siemens-ix/{p-Bko0CTxK.js → p-CpY7qbN7.js} +2 -2
  889. package/dist/siemens-ix/{p-Bko0CTxK.js.map → p-CpY7qbN7.js.map} +1 -1
  890. package/dist/siemens-ix/{p-DeEsc3nL.js → p-Cpl-a_ti.js} +2 -2
  891. package/dist/siemens-ix/{p-DeEsc3nL.js.map → p-Cpl-a_ti.js.map} +1 -1
  892. package/dist/siemens-ix/{p-C1MjXHa0.js → p-CthRnoDv.js} +2 -2
  893. package/dist/siemens-ix/{p-C1MjXHa0.js.map → p-CthRnoDv.js.map} +1 -1
  894. package/dist/siemens-ix/p-DJsXFBNm.js +3 -0
  895. package/dist/siemens-ix/p-DJsXFBNm.js.map +1 -0
  896. package/dist/siemens-ix/p-_tyNUrlp.js +2 -0
  897. package/dist/siemens-ix/{p-DyBJEhgA.js.map → p-_tyNUrlp.js.map} +1 -1
  898. package/dist/siemens-ix/{p-d4936531.entry.js → p-a43c4907.entry.js} +2 -2
  899. package/dist/siemens-ix/{p-e636a236.entry.js → p-a6ea8bc6.entry.js} +2 -2
  900. package/dist/siemens-ix/p-a6ea8bc6.entry.js.map +1 -0
  901. package/dist/siemens-ix/{p-a15f3a9d.entry.js → p-a7bdd5fd.entry.js} +2 -2
  902. package/dist/siemens-ix/p-a7bdd5fd.entry.js.map +1 -0
  903. package/dist/siemens-ix/p-a8cd5e58.entry.js +2 -0
  904. package/dist/siemens-ix/{p-7da60ba2.entry.js.map → p-a8cd5e58.entry.js.map} +1 -1
  905. package/dist/siemens-ix/p-a9336906.entry.js +2 -0
  906. package/dist/siemens-ix/p-a9336906.entry.js.map +1 -0
  907. package/dist/siemens-ix/{p-a951d9e7.entry.js → p-a9ec8094.entry.js} +2 -2
  908. package/dist/siemens-ix/p-aa2dd2c3.entry.js +2 -0
  909. package/dist/siemens-ix/{p-227ea9bc.entry.js.map → p-aa2dd2c3.entry.js.map} +1 -1
  910. package/dist/siemens-ix/{p-7978f54a.entry.js → p-afd392d5.entry.js} +2 -2
  911. package/dist/siemens-ix/{p-381708ea.entry.js → p-b00517df.entry.js} +2 -2
  912. package/dist/siemens-ix/p-b3d4d2cd.entry.js +2 -0
  913. package/dist/siemens-ix/{p-fe1e79d6.entry.js → p-b548335e.entry.js} +2 -2
  914. package/dist/siemens-ix/{p-77d586e5.entry.js → p-b735b8ce.entry.js} +2 -2
  915. package/dist/siemens-ix/p-ba24447f.entry.js +2 -0
  916. package/dist/siemens-ix/{p-07fa84e9.entry.js.map → p-ba24447f.entry.js.map} +1 -1
  917. package/dist/siemens-ix/{p-138de76a.entry.js → p-bec289d7.entry.js} +2 -2
  918. package/dist/siemens-ix/{p-60c6eba1.entry.js → p-bf7fbdfc.entry.js} +2 -2
  919. package/dist/siemens-ix/{p-e850d862.entry.js → p-bf8dd5a1.entry.js} +2 -2
  920. package/dist/siemens-ix/{p-97eb6c3c.entry.js → p-c050d511.entry.js} +2 -2
  921. package/dist/siemens-ix/p-c050d511.entry.js.map +1 -0
  922. package/dist/siemens-ix/{p-de03778d.entry.js → p-c24a5925.entry.js} +2 -2
  923. package/dist/siemens-ix/p-c24a5925.entry.js.map +1 -0
  924. package/dist/siemens-ix/{p-42cf2d8f.entry.js → p-c5f8ccc9.entry.js} +2 -2
  925. package/dist/siemens-ix/p-c9ab3079.entry.js +2 -0
  926. package/dist/siemens-ix/{p-64a2f777.entry.js.map → p-c9ab3079.entry.js.map} +1 -1
  927. package/dist/siemens-ix/{p-26b072bb.entry.js → p-c9d48927.entry.js} +2 -2
  928. package/dist/siemens-ix/{p-ea980990.entry.js → p-ce3aebe6.entry.js} +2 -2
  929. package/dist/siemens-ix/{p-1b04e58a.entry.js → p-cf052f87.entry.js} +2 -2
  930. package/dist/siemens-ix/p-cf052f87.entry.js.map +1 -0
  931. package/dist/siemens-ix/{p-7b455f16.entry.js → p-d0c1473e.entry.js} +2 -2
  932. package/dist/siemens-ix/p-d0c1473e.entry.js.map +1 -0
  933. package/dist/siemens-ix/{p-61bf7678.entry.js → p-d3458382.entry.js} +2 -2
  934. package/dist/siemens-ix/p-d605b181.entry.js +2 -0
  935. package/dist/siemens-ix/{p-96687290.entry.js → p-db6d5110.entry.js} +2 -2
  936. package/dist/siemens-ix/p-db6d5110.entry.js.map +1 -0
  937. package/dist/siemens-ix/{p-92513d0e.entry.js → p-de79e8c0.entry.js} +2 -2
  938. package/dist/siemens-ix/p-de79e8c0.entry.js.map +1 -0
  939. package/dist/siemens-ix/{p-e40c900a.entry.js → p-dfb5f7d8.entry.js} +2 -2
  940. package/dist/siemens-ix/{p-97029efe.entry.js → p-dfe4de85.entry.js} +2 -2
  941. package/dist/siemens-ix/{p-f1d1c522.entry.js → p-ea142215.entry.js} +2 -2
  942. package/dist/siemens-ix/{p-6a275897.entry.js → p-ead88218.entry.js} +2 -2
  943. package/dist/siemens-ix/{p-25368187.entry.js → p-ec7cd008.entry.js} +2 -2
  944. package/dist/siemens-ix/{p-6dffce02.entry.js → p-ecd576f8.entry.js} +2 -2
  945. package/dist/siemens-ix/p-ecd576f8.entry.js.map +1 -0
  946. package/dist/siemens-ix/{p-3725e281.entry.js → p-ee2902a5.entry.js} +2 -2
  947. package/dist/siemens-ix/{p-daf2c2fd.entry.js → p-f4415d44.entry.js} +2 -2
  948. package/dist/siemens-ix/{p-b45ce132.entry.js → p-f4ce72e4.entry.js} +2 -2
  949. package/dist/siemens-ix/p-f4ce72e4.entry.js.map +1 -0
  950. package/dist/siemens-ix/{p-cf3cbb46.entry.js → p-f6a6694e.entry.js} +2 -2
  951. package/dist/siemens-ix/p-f6a6694e.entry.js.map +1 -0
  952. package/dist/siemens-ix/{p-fadc415c.entry.js → p-fbacd6eb.entry.js} +2 -2
  953. package/dist/siemens-ix/p-fbacd6eb.entry.js.map +1 -0
  954. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  955. package/dist/types/components/action-card/action-card.d.ts +1 -2
  956. package/dist/types/components/action-card/action-card.types.d.ts +2 -0
  957. package/dist/types/components/blind/blind.d.ts +1 -2
  958. package/dist/types/components/blind/blind.types.d.ts +2 -0
  959. package/dist/types/components/breadcrumb-item/breadcrumb-item.d.ts +0 -1
  960. package/dist/types/components/card/card.d.ts +1 -1
  961. package/dist/types/components/card/card.types.d.ts +1 -0
  962. package/dist/types/components/card-accordion/card-accordion.d.ts +1 -4
  963. package/dist/types/components/card-accordion/card-accordion.types.d.ts +4 -0
  964. package/dist/types/components/col/col.d.ts +1 -1
  965. package/dist/types/components/col/col.types.d.ts +1 -0
  966. package/dist/types/components/content-header/content-header.d.ts +1 -1
  967. package/dist/types/components/content-header/content-header.types.d.ts +1 -0
  968. package/dist/types/components/css-grid/css-grid.d.ts +1 -1
  969. package/dist/types/components/css-grid/css-grid.types.d.ts +1 -0
  970. package/dist/types/components/date-dropdown/date-dropdown.d.ts +1 -11
  971. package/dist/types/components/date-dropdown/date-dropdown.types.d.ts +11 -0
  972. package/dist/types/components/date-input/date-input.d.ts +1 -4
  973. package/dist/types/components/date-input/date-input.types.d.ts +4 -0
  974. package/dist/types/components/date-picker/date-picker-component.d.ts +1 -1
  975. package/dist/types/components/date-picker/date-picker.d.ts +2 -5
  976. package/dist/types/components/date-picker/date-picker.events.d.ts +4 -0
  977. package/dist/types/components/date-time-card/date-time-card.d.ts +1 -1
  978. package/dist/types/components/date-time-card/date-time-card.types.d.ts +1 -0
  979. package/dist/types/components/datetime-picker/datetime-picker.d.ts +1 -6
  980. package/dist/types/components/datetime-picker/datetime-picker.types.d.ts +6 -0
  981. package/dist/types/components/dropdown-button/dropdown-button.d.ts +1 -2
  982. package/dist/types/components/dropdown-button/dropdown-button.types.d.ts +2 -0
  983. package/dist/types/components/empty-state/empty-state.d.ts +1 -1
  984. package/dist/types/components/empty-state/empty-state.types.d.ts +1 -0
  985. package/dist/types/components/icon-button/icon-button.d.ts +1 -2
  986. package/dist/types/components/icon-button/icon-button.types.d.ts +2 -0
  987. package/dist/types/components/input/textarea.d.ts +1 -1
  988. package/dist/types/components/input/textarea.types.d.ts +1 -0
  989. package/dist/types/components/key-value/key-value.d.ts +1 -1
  990. package/dist/types/components/key-value/key-value.types.d.ts +1 -0
  991. package/dist/types/components/modal/modal.d.ts +1 -3
  992. package/dist/types/components/modal/modal.types.d.ts +3 -0
  993. package/dist/types/components/pane/pane.d.ts +1 -21
  994. package/dist/types/components/pane/pane.types.d.ts +21 -0
  995. package/dist/types/components/progress-indicator/circular.d.ts +1 -1
  996. package/dist/types/components/progress-indicator/progress-indicator.d.ts +1 -1
  997. package/dist/types/components/progress-indicator/progress-indicator.types.d.ts +1 -0
  998. package/dist/types/components/push-card/push-card.d.ts +1 -2
  999. package/dist/types/components/push-card/push-card.types.d.ts +2 -0
  1000. package/dist/types/components/slider/slider.d.ts +1 -1
  1001. package/dist/types/components/slider/slider.types.d.ts +1 -0
  1002. package/dist/types/components/split-button/split-button.d.ts +1 -2
  1003. package/dist/types/components/split-button/split-button.types.d.ts +2 -0
  1004. package/dist/types/components/tab-item/tab-item.d.ts +1 -3
  1005. package/dist/types/components/tab-item/tab-item.types.d.ts +3 -0
  1006. package/dist/types/components/time-input/time-input.d.ts +1 -4
  1007. package/dist/types/components/time-input/time-input.types.d.ts +4 -0
  1008. package/dist/types/components/time-picker/time-picker.d.ts +1 -2
  1009. package/dist/types/components/time-picker/time-picker.types.d.ts +2 -0
  1010. package/dist/types/components/toast/toast-container.d.ts +1 -5
  1011. package/dist/types/components/toast/toast-container.types.d.ts +5 -0
  1012. package/dist/types/components/toast/toast-utils.d.ts +1 -1
  1013. package/dist/types/components/typography/typography.d.ts +1 -10
  1014. package/dist/types/components/typography/typography.types.d.ts +10 -0
  1015. package/dist/types/components/utils/modal/modal.d.ts +1 -1
  1016. package/dist/types/components.d.ts +58 -60
  1017. package/dist/types/index.d.ts +3 -16
  1018. package/dist/types/public-api.d.ts +15 -0
  1019. package/hydrate/index.js +256 -256
  1020. package/hydrate/index.mjs +256 -256
  1021. package/package.json +5 -5
  1022. package/components/p-18F-YfbC.js.map +0 -1
  1023. package/components/p-BXGAr1UD.js.map +0 -1
  1024. package/components/p-Cuf7Gv_k.js.map +0 -1
  1025. package/components/p-DzKDFBWC.js +0 -2042
  1026. package/components/p-DzKDFBWC.js.map +0 -1
  1027. package/components/p-pMSLP3h4.js.map +0 -1
  1028. package/dist/cjs/index-BDliOtbY.js +0 -2734
  1029. package/dist/cjs/index-BDliOtbY.js.map +0 -1
  1030. package/dist/esm/index-B6NtGPRE.js +0 -2702
  1031. package/dist/esm/index-B6NtGPRE.js.map +0 -1
  1032. package/dist/siemens-ix/p-07fa84e9.entry.js +0 -2
  1033. package/dist/siemens-ix/p-17a19a44.entry.js.map +0 -1
  1034. package/dist/siemens-ix/p-1b04e58a.entry.js.map +0 -1
  1035. package/dist/siemens-ix/p-1fc79a42.entry.js +0 -2
  1036. package/dist/siemens-ix/p-227ea9bc.entry.js +0 -2
  1037. package/dist/siemens-ix/p-2a1152d9.entry.js.map +0 -1
  1038. package/dist/siemens-ix/p-2e0dab7b.entry.js.map +0 -1
  1039. package/dist/siemens-ix/p-2edc9a43.entry.js.map +0 -1
  1040. package/dist/siemens-ix/p-30e325ee.entry.js.map +0 -1
  1041. package/dist/siemens-ix/p-3d4eba06.entry.js +0 -2
  1042. package/dist/siemens-ix/p-44a9c1db.entry.js.map +0 -1
  1043. package/dist/siemens-ix/p-64a2f777.entry.js +0 -2
  1044. package/dist/siemens-ix/p-674dd99b.entry.js +0 -2
  1045. package/dist/siemens-ix/p-6b5cb4c3.entry.js.map +0 -1
  1046. package/dist/siemens-ix/p-6cc4c39e.entry.js +0 -2
  1047. package/dist/siemens-ix/p-6dffce02.entry.js.map +0 -1
  1048. package/dist/siemens-ix/p-702d290f.entry.js.map +0 -1
  1049. package/dist/siemens-ix/p-719704c7.entry.js +0 -2
  1050. package/dist/siemens-ix/p-719704c7.entry.js.map +0 -1
  1051. package/dist/siemens-ix/p-7b455f16.entry.js.map +0 -1
  1052. package/dist/siemens-ix/p-7b5eb3ca.entry.js.map +0 -1
  1053. package/dist/siemens-ix/p-7da60ba2.entry.js +0 -2
  1054. package/dist/siemens-ix/p-80dfc634.entry.js.map +0 -1
  1055. package/dist/siemens-ix/p-8774e0a8.entry.js +0 -2
  1056. package/dist/siemens-ix/p-92513d0e.entry.js.map +0 -1
  1057. package/dist/siemens-ix/p-9513a275.entry.js +0 -2
  1058. package/dist/siemens-ix/p-96687290.entry.js.map +0 -1
  1059. package/dist/siemens-ix/p-97eb6c3c.entry.js.map +0 -1
  1060. package/dist/siemens-ix/p-B6NtGPRE.js +0 -3
  1061. package/dist/siemens-ix/p-B6NtGPRE.js.map +0 -1
  1062. package/dist/siemens-ix/p-BaslXuvq.js +0 -2
  1063. package/dist/siemens-ix/p-DyBJEhgA.js +0 -2
  1064. package/dist/siemens-ix/p-a09ec38c.entry.js.map +0 -1
  1065. package/dist/siemens-ix/p-a15f3a9d.entry.js.map +0 -1
  1066. package/dist/siemens-ix/p-a7e339d0.entry.js +0 -2
  1067. package/dist/siemens-ix/p-b45ce132.entry.js.map +0 -1
  1068. package/dist/siemens-ix/p-c192caa5.entry.js +0 -2
  1069. package/dist/siemens-ix/p-c192caa5.entry.js.map +0 -1
  1070. package/dist/siemens-ix/p-c6cb0b06.entry.js +0 -2
  1071. package/dist/siemens-ix/p-c7ead0ee.entry.js.map +0 -1
  1072. package/dist/siemens-ix/p-c9c30ce7.entry.js +0 -2
  1073. package/dist/siemens-ix/p-cb076f29.entry.js +0 -2
  1074. package/dist/siemens-ix/p-cf3cbb46.entry.js.map +0 -1
  1075. package/dist/siemens-ix/p-de03778d.entry.js.map +0 -1
  1076. package/dist/siemens-ix/p-e088e1d9.entry.js +0 -2
  1077. package/dist/siemens-ix/p-e636a236.entry.js.map +0 -1
  1078. package/dist/siemens-ix/p-ed05a3ed.entry.js.map +0 -1
  1079. package/dist/siemens-ix/p-f426aa64.entry.js +0 -2
  1080. package/dist/siemens-ix/p-f66cb323.entry.js.map +0 -1
  1081. package/dist/siemens-ix/p-fadc415c.entry.js.map +0 -1
  1082. package/dist/types/interfaces.d.ts +0 -27
  1083. /package/dist/siemens-ix/{p-4be22d4d.entry.js.map → p-003ae2cf.entry.js.map} +0 -0
  1084. /package/dist/siemens-ix/{p-094d6f0a.entry.js.map → p-00eff8b5.entry.js.map} +0 -0
  1085. /package/dist/siemens-ix/{p-47956560.entry.js.map → p-0195766f.entry.js.map} +0 -0
  1086. /package/dist/siemens-ix/{p-c23031be.entry.js.map → p-025c5b1b.entry.js.map} +0 -0
  1087. /package/dist/siemens-ix/{p-25c27b28.entry.js.map → p-03b8e425.entry.js.map} +0 -0
  1088. /package/dist/siemens-ix/{p-9513a275.entry.js.map → p-04527b1e.entry.js.map} +0 -0
  1089. /package/dist/siemens-ix/{p-07733f87.entry.js.map → p-07b2da86.entry.js.map} +0 -0
  1090. /package/dist/siemens-ix/{p-746f49b4.entry.js.map → p-098aa857.entry.js.map} +0 -0
  1091. /package/dist/siemens-ix/{p-d4284927.entry.js.map → p-130ffc16.entry.js.map} +0 -0
  1092. /package/dist/siemens-ix/{p-1cff42a5.entry.js.map → p-13b5f3c3.entry.js.map} +0 -0
  1093. /package/dist/siemens-ix/{p-f61c1785.entry.js.map → p-14d2042d.entry.js.map} +0 -0
  1094. /package/dist/siemens-ix/{p-cb076f29.entry.js.map → p-19501b80.entry.js.map} +0 -0
  1095. /package/dist/siemens-ix/{p-d2151941.entry.js.map → p-1df6d18f.entry.js.map} +0 -0
  1096. /package/dist/siemens-ix/{p-518290fd.entry.js.map → p-1fdfe35a.entry.js.map} +0 -0
  1097. /package/dist/siemens-ix/{p-38fa1eec.entry.js.map → p-2642d96b.entry.js.map} +0 -0
  1098. /package/dist/siemens-ix/{p-0053fd70.entry.js.map → p-28aece6e.entry.js.map} +0 -0
  1099. /package/dist/siemens-ix/{p-00668881.entry.js.map → p-29d44cef.entry.js.map} +0 -0
  1100. /package/dist/siemens-ix/{p-1f5322d5.entry.js.map → p-2f2dfb6e.entry.js.map} +0 -0
  1101. /package/dist/siemens-ix/{p-7fcec901.entry.js.map → p-2f9b9e7a.entry.js.map} +0 -0
  1102. /package/dist/siemens-ix/{p-8774e0a8.entry.js.map → p-440a0ee0.entry.js.map} +0 -0
  1103. /package/dist/siemens-ix/{p-0e0019a3.entry.js.map → p-472c1d6b.entry.js.map} +0 -0
  1104. /package/dist/siemens-ix/{p-1363ac29.entry.js.map → p-47f395be.entry.js.map} +0 -0
  1105. /package/dist/siemens-ix/{p-cf7448b1.entry.js.map → p-483bc052.entry.js.map} +0 -0
  1106. /package/dist/siemens-ix/{p-3d4eba06.entry.js.map → p-4959b8e6.entry.js.map} +0 -0
  1107. /package/dist/siemens-ix/{p-e499f85d.entry.js.map → p-4fe2d0f7.entry.js.map} +0 -0
  1108. /package/dist/siemens-ix/{p-e006c83c.entry.js.map → p-5b22342c.entry.js.map} +0 -0
  1109. /package/dist/siemens-ix/{p-125b66ec.entry.js.map → p-605a9fe8.entry.js.map} +0 -0
  1110. /package/dist/siemens-ix/{p-2d383fa3.entry.js.map → p-6337e880.entry.js.map} +0 -0
  1111. /package/dist/siemens-ix/{p-0285fa1a.entry.js.map → p-6549edf0.entry.js.map} +0 -0
  1112. /package/dist/siemens-ix/{p-1fc79a42.entry.js.map → p-66d20585.entry.js.map} +0 -0
  1113. /package/dist/siemens-ix/{p-53d1f804.entry.js.map → p-6adde42d.entry.js.map} +0 -0
  1114. /package/dist/siemens-ix/{p-b1bc33ef.entry.js.map → p-6cc448b4.entry.js.map} +0 -0
  1115. /package/dist/siemens-ix/{p-ec3786c3.entry.js.map → p-7011678e.entry.js.map} +0 -0
  1116. /package/dist/siemens-ix/{p-6cc4c39e.entry.js.map → p-7111f065.entry.js.map} +0 -0
  1117. /package/dist/siemens-ix/{p-cf3c2573.entry.js.map → p-76f59fa5.entry.js.map} +0 -0
  1118. /package/dist/siemens-ix/{p-c5921b21.entry.js.map → p-777675ce.entry.js.map} +0 -0
  1119. /package/dist/siemens-ix/{p-4a666ab2.entry.js.map → p-8d4558b9.entry.js.map} +0 -0
  1120. /package/dist/siemens-ix/{p-ef56e825.entry.js.map → p-8fcada5a.entry.js.map} +0 -0
  1121. /package/dist/siemens-ix/{p-96c0acb2.entry.js.map → p-91ba2527.entry.js.map} +0 -0
  1122. /package/dist/siemens-ix/{p-e088e1d9.entry.js.map → p-97693d72.entry.js.map} +0 -0
  1123. /package/dist/siemens-ix/{p-29eb0f3c.entry.js.map → p-97a53af6.entry.js.map} +0 -0
  1124. /package/dist/siemens-ix/{p-5f494293.entry.js.map → p-988f37da.entry.js.map} +0 -0
  1125. /package/dist/siemens-ix/{p-61944945.entry.js.map → p-9f7d82d2.entry.js.map} +0 -0
  1126. /package/dist/siemens-ix/{p-d4936531.entry.js.map → p-a43c4907.entry.js.map} +0 -0
  1127. /package/dist/siemens-ix/{p-a951d9e7.entry.js.map → p-a9ec8094.entry.js.map} +0 -0
  1128. /package/dist/siemens-ix/{p-7978f54a.entry.js.map → p-afd392d5.entry.js.map} +0 -0
  1129. /package/dist/siemens-ix/{p-381708ea.entry.js.map → p-b00517df.entry.js.map} +0 -0
  1130. /package/dist/siemens-ix/{p-c9c30ce7.entry.js.map → p-b3d4d2cd.entry.js.map} +0 -0
  1131. /package/dist/siemens-ix/{p-fe1e79d6.entry.js.map → p-b548335e.entry.js.map} +0 -0
  1132. /package/dist/siemens-ix/{p-77d586e5.entry.js.map → p-b735b8ce.entry.js.map} +0 -0
  1133. /package/dist/siemens-ix/{p-138de76a.entry.js.map → p-bec289d7.entry.js.map} +0 -0
  1134. /package/dist/siemens-ix/{p-60c6eba1.entry.js.map → p-bf7fbdfc.entry.js.map} +0 -0
  1135. /package/dist/siemens-ix/{p-e850d862.entry.js.map → p-bf8dd5a1.entry.js.map} +0 -0
  1136. /package/dist/siemens-ix/{p-42cf2d8f.entry.js.map → p-c5f8ccc9.entry.js.map} +0 -0
  1137. /package/dist/siemens-ix/{p-26b072bb.entry.js.map → p-c9d48927.entry.js.map} +0 -0
  1138. /package/dist/siemens-ix/{p-ea980990.entry.js.map → p-ce3aebe6.entry.js.map} +0 -0
  1139. /package/dist/siemens-ix/{p-61bf7678.entry.js.map → p-d3458382.entry.js.map} +0 -0
  1140. /package/dist/siemens-ix/{p-674dd99b.entry.js.map → p-d605b181.entry.js.map} +0 -0
  1141. /package/dist/siemens-ix/{p-e40c900a.entry.js.map → p-dfb5f7d8.entry.js.map} +0 -0
  1142. /package/dist/siemens-ix/{p-97029efe.entry.js.map → p-dfe4de85.entry.js.map} +0 -0
  1143. /package/dist/siemens-ix/{p-f1d1c522.entry.js.map → p-ea142215.entry.js.map} +0 -0
  1144. /package/dist/siemens-ix/{p-6a275897.entry.js.map → p-ead88218.entry.js.map} +0 -0
  1145. /package/dist/siemens-ix/{p-25368187.entry.js.map → p-ec7cd008.entry.js.map} +0 -0
  1146. /package/dist/siemens-ix/{p-3725e281.entry.js.map → p-ee2902a5.entry.js.map} +0 -0
  1147. /package/dist/siemens-ix/{p-daf2c2fd.entry.js.map → p-f4415d44.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ix-textarea.entry.esm.js","sources":["src/components/input/textarea.scss?tag=ix-textarea&encapsulation=shadow","src/components/input/textarea.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import './input.mixins.scss';\n\n@include input-field;\n\n@include host-valid;\n\n@include host-info {\n textarea {\n border-color: var(--theme-input--border-color--info);\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--info--hover) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--info--active) !important;\n }\n}\n\n@include host-warning {\n textarea {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n}\n\n@include host-invalid {\n textarea {\n background-color: var(--theme-input--background--invalid);\n border-color: var(--theme-input--border-color--invalid) !important;\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--invalid--hover) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--invalid--active) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { TextareaElement } from './input.fc';\nimport { mapValidationResult, onInputBlur } from './input.util';\n\nexport type TextareaResizeBehavior =\n | 'both'\n | 'horizontal'\n | 'vertical'\n | 'none';\n\n/**\n * @form-ready\n */\n@Component({\n tag: 'ix-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTextareaElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The name of the textarea field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the textarea field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the textarea field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Determines if the textarea field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Determines if the textarea field is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Determines if the textarea field is readonly.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the textarea field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the textarea field.\n */\n @Prop() infoText?: string;\n\n /**\n * Determines if the text should be displayed as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the textarea field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the textarea field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the textarea field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the textarea field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The height of the textarea field (e.g. \"52px\").\n */\n @Prop() textareaHeight?: string;\n\n /**\n * The width of the textarea field (e.g. \"200px\").\n */\n @Prop() textareaWidth?: string;\n\n /**\n * The height of the textarea specified by number of rows.\n */\n @Prop() textareaRows?: number;\n\n /**\n * The width of the textarea specified by number of characters.\n */\n @Prop() textareaCols?: number;\n\n /**\n * Determines the resize behavior of the textarea field.\n * Resizing can be enabled in one direction, both directions or completely disabled.\n */\n @Prop() resizeBehavior: TextareaResizeBehavior = 'both';\n\n /**\n * The maximum length of the textarea field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the textarea field.\n */\n @Prop() minLength?: number;\n\n /**\n * Event emitted when the value of the textarea field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the textarea field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the textarea field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly textAreaRef = makeRef<HTMLTextAreaElement>();\n private touched = false;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Get the native textarea element.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLTextAreaElement> {\n return this.textAreaRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Check if the textarea field has been touched.\n * @internal\n * */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.textAreaRef}\n >\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography\n class=\"bottom-text\"\n slot=\"bottom-right\"\n textColor=\"soft\"\n >\n {(this.value || '').length}/{this.maxLength}\n </ix-typography>\n )}\n <div class=\"input-wrapper\">\n <TextareaElement\n minLength={this.minLength}\n maxLength={this.maxLength}\n textareaCols={this.textareaCols}\n textareaRows={this.textareaRows}\n textareaHeight={this.textareaHeight}\n textareaWidth={this.textareaWidth}\n resizeBehavior={this.resizeBehavior}\n readonly={this.readonly}\n disabled={this.disabled}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n textAreaRef={this.textAreaRef}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => {\n onInputBlur(this, this.textAreaRef.current);\n this.touched = true;\n }}\n ></TextareaElement>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-textarea.entry.esm.js","sources":["src/components/input/textarea.scss?tag=ix-textarea&encapsulation=shadow","src/components/input/textarea.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import './input.mixins.scss';\n\n@include input-field;\n\n@include host-valid;\n\n@include host-info {\n textarea {\n border-color: var(--theme-input--border-color--info);\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--info--hover) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--info--active) !important;\n }\n}\n\n@include host-warning {\n textarea {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--warning--active) !important;\n }\n}\n\n@include host-invalid {\n textarea {\n background-color: var(--theme-input--background--invalid);\n border-color: var(--theme-input--border-color--invalid) !important;\n }\n\n textarea:hover {\n border-color: var(--theme-input--border-color--invalid--hover) !important;\n }\n\n textarea:active {\n border-color: var(--theme-input--border-color--invalid--active) !important;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { TextareaElement } from './input.fc';\nimport { mapValidationResult, onInputBlur } from './input.util';\nimport type { TextareaResizeBehavior } from './textarea.types';\n\n/**\n * @form-ready\n */\n@Component({\n tag: 'ix-textarea',\n styleUrl: 'textarea.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Textarea implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTextareaElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The name of the textarea field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the textarea field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the textarea field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Determines if the textarea field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Determines if the textarea field is disabled.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Determines if the textarea field is readonly.\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the textarea field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the textarea field.\n */\n @Prop() infoText?: string;\n\n /**\n * Determines if the text should be displayed as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the textarea field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the textarea field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the textarea field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the textarea field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The height of the textarea field (e.g. \"52px\").\n */\n @Prop() textareaHeight?: string;\n\n /**\n * The width of the textarea field (e.g. \"200px\").\n */\n @Prop() textareaWidth?: string;\n\n /**\n * The height of the textarea specified by number of rows.\n */\n @Prop() textareaRows?: number;\n\n /**\n * The width of the textarea specified by number of characters.\n */\n @Prop() textareaCols?: number;\n\n /**\n * Determines the resize behavior of the textarea field.\n * Resizing can be enabled in one direction, both directions or completely disabled.\n */\n @Prop() resizeBehavior: TextareaResizeBehavior = 'both';\n\n /**\n * The maximum length of the textarea field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the textarea field.\n */\n @Prop() minLength?: number;\n\n /**\n * Event emitted when the value of the textarea field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the textarea field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the textarea field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly textAreaRef = makeRef<HTMLTextAreaElement>();\n private touched = false;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Get the native textarea element.\n */\n @Method()\n getNativeInputElement(): Promise<HTMLTextAreaElement> {\n return this.textAreaRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Check if the textarea field has been touched.\n * @internal\n * */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.textAreaRef}\n >\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography\n class=\"bottom-text\"\n slot=\"bottom-right\"\n textColor=\"soft\"\n >\n {(this.value || '').length}/{this.maxLength}\n </ix-typography>\n )}\n <div class=\"input-wrapper\">\n <TextareaElement\n minLength={this.minLength}\n maxLength={this.maxLength}\n textareaCols={this.textareaCols}\n textareaRows={this.textareaRows}\n textareaHeight={this.textareaHeight}\n textareaWidth={this.textareaWidth}\n resizeBehavior={this.resizeBehavior}\n readonly={this.readonly}\n disabled={this.disabled}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n textAreaRef={this.textAreaRef}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => {\n onInputBlur(this, this.textAreaRef.current);\n this.touched = true;\n }}\n ></TextareaElement>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-time-input.entry.esm.js","sources":["src/components/time-input/time-input.scss?tag=ix-time-input&encapsulation=shadow","src/components/time-input/time-input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .time-icon-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\n }\n}\n\n.input-wrapper {\n position: relative;\n}\n","/*\n * SPDX-FileCopyrightText: 2025 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 { iconClock } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { IxTimePickerCustomEvent } from '../../components';\n\nexport type TimeInputValidityState = {\n patternMismatch: boolean;\n invalidReason?: string;\n};\n\n/**\n * @since 3.2.0\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-time-input',\n styleUrl: 'time-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class TimeInput implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTimeInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\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 @Prop() format: string = 'TT';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the time is not parsable\n */\n @Prop({ attribute: 'i18n-error-time-unparsable' }) i18nErrorTimeUnparsable =\n 'Time is not valid';\n\n /**\n * Interval for hour selection\n */\n @Prop() hourInterval: number = 1;\n\n /**\n * Interval for minute selection\n */\n @Prop() minuteInterval: number = 1;\n\n /**\n * Interval for second selection\n */\n @Prop() secondInterval: number = 1;\n\n /**\n * Interval for millisecond selection\n */\n @Prop() millisecondInterval: number = 100;\n\n /**\n * Text of time-picker time select button\n */\n @Prop({ attribute: 'i18n-select-time' }) i18nSelectTime: string = 'Confirm';\n\n /**\n * Text for time-picker top label\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * Text for time-picker hour column header\n */\n @Prop({ attribute: 'i18n-hour-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for time-picker minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for time-picker second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for time-picker millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<TimeInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() time: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly timePickerRef = makeRef<HTMLIxTimePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n if (!this.value) {\n const now = DateTime.now();\n if (now.isValid) {\n this.value = now.toFormat(this.format);\n }\n }\n\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.time = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.time = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string) {\n this.value = value;\n if (!value) {\n this.isInputInvalid = false;\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const time = DateTime.fromFormat(value, this.format);\n if (time.isValid) {\n this.isInputInvalid = false;\n } else {\n this.isInputInvalid = true;\n this.invalidReason = time.invalidReason;\n }\n\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n }\n\n onTimeIconClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n // keep picker in sync with input\n this.time = this.value;\n\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-time-picker\"\n class={{ 'time-icon-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconClock}\n onClick={(event) => this.onTimeIconClick(event)}\n aria-label=\"Toggle time picker\"\n aria-expanded={this.show}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorTimeUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"time-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-time-picker\n ref={this.timePickerRef}\n format={this.format}\n time={this.time ?? ''}\n hourInterval={this.hourInterval}\n minuteInterval={this.minuteInterval}\n secondInterval={this.secondInterval}\n millisecondInterval={this.millisecondInterval}\n standaloneAppearance={false}\n i18nConfirmTime={this.i18nSelectTime}\n i18nHeader={this.i18nTime}\n i18nHourColumnHeader={this.i18nHourColumnHeader}\n i18nSecondColumnHeader={this.i18nSecondColumnHeader}\n i18nMinuteColumnHeader={this.i18nMinuteColumnHeader}\n i18nMillisecondColumnHeader={this.i18nMillisecondColumnHeader}\n onTimeSelect={(event: IxTimePickerCustomEvent<string>) => {\n this.onInput(event.detail);\n\n this.show = false;\n }}\n ></ix-time-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-time-input.entry.esm.js","sources":["src/components/time-input/time-input.scss?tag=ix-time-input&encapsulation=shadow","src/components/time-input/time-input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n@import 'mixins/input';\n@import './../input/input.mixins.scss';\n\n@include input-field;\n\n:host {\n @include ix-component;\n\n display: inline-block;\n position: relative;\n\n input {\n width: 100%;\n height: 100%;\n }\n\n .time-icon-hidden {\n display: none;\n }\n}\n\n:host(.readonly) {\n input {\n pointer-events: none;\n }\n}\n\n.input-wrapper {\n position: relative;\n}\n","/*\n * SPDX-FileCopyrightText: 2025 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 { iconClock } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { DateTime } from 'luxon';\nimport { dropdownController } from '../dropdown/dropdown-controller';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { IxTimePickerCustomEvent } from '../../components';\nimport type { TimeInputValidityState } from './time-input.types';\n\n/**\n * @since 3.2.0\n * @form-ready\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-time-input',\n styleUrl: 'time-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class TimeInput implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTimeInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * Name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * Placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Locale identifier (e.g. 'en' or 'de').\n */\n @Prop() locale?: string;\n\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 @Prop() format: string = 'TT';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the time is not parsable\n */\n @Prop({ attribute: 'i18n-error-time-unparsable' }) i18nErrorTimeUnparsable =\n 'Time is not valid';\n\n /**\n * Interval for hour selection\n */\n @Prop() hourInterval: number = 1;\n\n /**\n * Interval for minute selection\n */\n @Prop() minuteInterval: number = 1;\n\n /**\n * Interval for second selection\n */\n @Prop() secondInterval: number = 1;\n\n /**\n * Interval for millisecond selection\n */\n @Prop() millisecondInterval: number = 100;\n\n /**\n * Text of time-picker time select button\n */\n @Prop({ attribute: 'i18n-select-time' }) i18nSelectTime: string = 'Confirm';\n\n /**\n * Text for time-picker top label\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * Text for time-picker hour column header\n */\n @Prop({ attribute: 'i18n-hour-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for time-picker minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for time-picker second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for time-picker millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<TimeInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() time: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly timePickerRef = makeRef<HTMLIxTimePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n updateFormInternalValue(value: string): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n if (!this.value) {\n const now = DateTime.now();\n if (now.isValid) {\n this.value = now.toFormat(this.format);\n }\n }\n\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.time = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.time = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string) {\n this.value = value;\n if (!value) {\n this.isInputInvalid = false;\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const time = DateTime.fromFormat(value, this.format);\n if (time.isValid) {\n this.isInputInvalid = false;\n } else {\n this.isInputInvalid = true;\n this.invalidReason = time.invalidReason;\n }\n\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n }\n\n onTimeIconClick(event: Event) {\n if (!this.show) {\n event.stopPropagation();\n event.preventDefault();\n this.openDropdown();\n }\n\n if (this.inputElementRef.current) {\n this.inputElementRef.current.focus();\n }\n }\n\n async openDropdown() {\n // keep picker in sync with input\n this.time = this.value;\n\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n dropdownController.dismissAll();\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.present(dropdown);\n }\n\n async closeDropdown() {\n const dropdownElement = await this.dropdownElementRef.waitForCurrent();\n const id = dropdownElement.getAttribute('data-ix-dropdown');\n\n if (!id) {\n return;\n }\n\n const dropdown = dropdownController.getDropdownById(id);\n if (!dropdown) {\n return;\n }\n dropdownController.dismiss(dropdown);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-time-picker\"\n class={{ 'time-icon-hidden': this.disabled || this.readonly }}\n ghost\n icon={iconClock}\n onClick={(event) => this.onTimeIconClick(event)}\n aria-label=\"Toggle time picker\"\n aria-expanded={this.show}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve({\n badInput: false,\n customError: false,\n patternMismatch: this.isInputInvalid,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valid: !this.isInputInvalid,\n valueMissing: !!this.required && !this.value,\n });\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorTimeUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"time-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-time-picker\n ref={this.timePickerRef}\n format={this.format}\n time={this.time ?? ''}\n hourInterval={this.hourInterval}\n minuteInterval={this.minuteInterval}\n secondInterval={this.secondInterval}\n millisecondInterval={this.millisecondInterval}\n standaloneAppearance={false}\n i18nConfirmTime={this.i18nSelectTime}\n i18nHeader={this.i18nTime}\n i18nHourColumnHeader={this.i18nHourColumnHeader}\n i18nSecondColumnHeader={this.i18nSecondColumnHeader}\n i18nMinuteColumnHeader={this.i18nMinuteColumnHeader}\n i18nMillisecondColumnHeader={this.i18nMillisecondColumnHeader}\n onTimeSelect={(event: IxTimePickerCustomEvent<string>) => {\n this.onInput(event.detail);\n\n this.show = false;\n }}\n ></ix-time-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-time-picker.entry.esm.js","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: fit-content;\n\n .standaloneAppearance {\n box-shadow: none;\n }\n\n .hidden {\n display: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n height: $large-control-height;\n }\n\n .clock {\n display: flex;\n justify-content: center;\n align-items: start;\n\n .flex {\n display: flex;\n height: 100%;\n align-items: start;\n\n .columns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n margin-top: 1px;\n\n .column-header {\n height: 2.5rem;\n width: 2.5rem;\n line-height: 2.5rem;\n text-align: center;\n color: var(--theme-color-soft-text);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n }\n\n .column-seperator {\n display: flex;\n align-items: center;\n margin: 0 0.125rem;\n min-height: 100%;\n margin-top: 3.25rem;\n }\n }\n\n .element-list {\n list-style-type: none;\n overflow: auto;\n max-height: 15.375rem;\n padding-top: 0.125rem;\n\n button {\n all: unset;\n }\n\n .element-container {\n width: 2.375rem;\n height: 2.375rem;\n margin: 0.125rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n color: var(--theme-color-primary);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: 1px;\n }\n }\n\n .selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n }\n\n .element-list-padding {\n width: 2.5rem;\n height: 12.563rem;\n min-height: 12.563rem;\n }\n }\n\n div.element-list {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .footer {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n flex-wrap: wrap;\n\n .confirm-button {\n margin-left: auto;\n }\n\n &--compact {\n flex-direction: column;\n align-items: center;\n\n .confirm-button {\n margin-left: initial;\n }\n }\n\n .time-ref-buttons {\n &--datetime-picker-appearance {\n margin-left: auto;\n }\n\n button {\n all: unset;\n width: 2.625rem;\n height: 1.875rem;\n text-align: center;\n border: 1px solid var(--theme-color-primary);\n color: var(--theme-color-primary);\n background-color: var(--theme-color-secondary);\n font-weight: 700;\n\n &:focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n\n &:hover {\n cursor: pointer;\n background-color: var(--theme-color-secondary-hover);\n border-color: var(--theme-btn-primary--background--hover);\n }\n\n &.selected {\n color: var(--theme-color-secondary);\n background-color: var(--theme-btn-primary--background);\n\n &:hover {\n background-color: var(--theme-btn-primary--background--hover);\n border-color: var(--theme-btn-primary--background--hover);\n }\n }\n }\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 Element,\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 { OnListener } from '../utils/listener';\n\nexport type TimePickerCorners = DateTimeCardCorners;\n\ntype TimePickerDescriptorUnit = 'hour' | 'minute' | 'second' | 'millisecond';\n\ninterface TimePickerDescriptor {\n unit: TimePickerDescriptorUnit;\n header: string;\n hidden: boolean;\n numberArray: number[];\n}\n\ninterface TimeOutputFormat {\n hour: string;\n minute: string;\n second: string;\n millisecond: string;\n}\n\nconst LUXON_FORMAT_PATTERNS = {\n // h, hh, H, HH and various time formats that include hours\n hours: /\\b[Hh]\\b|HH|hh|H{3,4}|h{3,4}|t|tt|ttt|tttt|T|TT|TTT|TTTT/,\n // m, mm and time formats that include minutes\n minutes: /\\bm\\b|mm|t|tt|ttt|tttt|T|TT|TTT|TTTT/,\n // s, ss and time formats that include seconds\n seconds: /\\bs\\b|ss|tt|ttt|tttt|TT|TTT|TTTT/,\n // S, SSS (milliseconds), u/uu/uuu (fractional seconds), x/X (timestamps)\n milliseconds: /\\bS\\b|SSS|u|uu|uuu/,\n};\n\nconst HOUR_INTERVAL_DEFAULT = 1;\nconst MINUTE_INTERVAL_DEFAULT = 1;\nconst SECOND_INTERVAL_DEFAULT = 1;\nconst MILLISECOND_INTERVAL_DEFAULT = 100;\n\nconst CONFIRM_BUTTON_DEFAULT = 'Confirm';\nconst HEADER_DEFAULT = 'Time';\n\nconst FORMATTED_TIME_EMPTY: TimeOutputFormat = {\n hour: '',\n minute: '',\n second: '',\n millisecond: '',\n};\n\n@Component({\n tag: 'ix-time-picker',\n styleUrl: 'time-picker.scss',\n shadow: true,\n})\nexport class TimePicker {\n @Element() hostElement!: HTMLIxTimePickerElement;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n * Note: Formats that combine date and time (like f or F) are not supported. Timestamp tokens x and X are not supported either.\n */\n @Prop() format: string = 'TT';\n @Watch('format')\n watchFormatIntervalPropHandler(newValue: string) {\n if (!newValue) {\n return;\n }\n\n this.initPicker();\n this.updateScrollPositions();\n }\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 * @internal Temporary prop needed until datetime-picker is reworked for new design\n */\n @Prop() dateTimePickerAppearance: boolean = false;\n\n /**\n * Show hour input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showHour = true;\n\n /**\n * Show minutes input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showMinutes = true;\n\n /**\n * Show seconds input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showSeconds = true;\n\n /**\n * Hides the header of the picker.\n *\n * @since 3.2.0\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Interval for hour selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) hourInterval: number = HOUR_INTERVAL_DEFAULT;\n @Watch('hourInterval')\n watchHourIntervalPropHandler(newValue: number) {\n if (\n Number.isInteger(newValue) &&\n newValue >= 0 &&\n newValue <= (this.timeRef ? 12 : 23)\n ) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('hour', newValue);\n this.hourInterval = HOUR_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for minute selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) minuteInterval: number = MINUTE_INTERVAL_DEFAULT;\n @Watch('minuteInterval')\n watchMinuteIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 59) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('minute', newValue);\n this.minuteInterval = MINUTE_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for second selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) secondInterval: number = SECOND_INTERVAL_DEFAULT;\n @Watch('secondInterval')\n watchSecondIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 59) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('second', newValue);\n this.secondInterval = SECOND_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for millisecond selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) millisecondInterval: number =\n MILLISECOND_INTERVAL_DEFAULT;\n @Watch('millisecondInterval')\n watchMillisecondIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 999) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('millisecond', newValue);\n this.millisecondInterval = MILLISECOND_INTERVAL_DEFAULT;\n }\n\n private printIntervalError(intervalName: string, value: number) {\n console.error(\n `Value ${value} is not valid for ${intervalName}-interval. Falling back to default.`\n );\n }\n\n /**\n * Select time with format string\n * Format has to match the `format` property.\n */\n @Prop() time: string = DateTime.now().toFormat(this.format);\n\n @Watch('time')\n watchTimePropHandler(newValue: string) {\n const timeFormat = DateTime.fromFormat(newValue, this.format);\n if (!timeFormat.isValid) {\n throw new Error('Format is not supported or not correct');\n }\n\n this._time = timeFormat;\n }\n\n /**\n * Set time reference\n *\n * @deprecated This is determined by the currently set time. Will be removed in 4.0.0.\n */\n @Prop() timeReference: 'AM' | 'PM' | undefined;\n\n /**\n * Text of time select button\n *\n * @deprecated Use `i18nConfirmTime` instead. Will be removed in 4.0.0.\n */\n @Prop() textSelectTime = CONFIRM_BUTTON_DEFAULT;\n\n /**\n * Text of the time confirm button\n */\n @Prop({ attribute: 'i18n-confirm-time' }) i18nConfirmTime =\n CONFIRM_BUTTON_DEFAULT;\n\n /**\n * Text for top label\n *\n * @deprecated Use `i18nHeader` instead. Will be removed in 4.0.0.\n */\n @Prop() textTime: string = HEADER_DEFAULT;\n\n /**\n * Text for top header\n */\n @Prop({ attribute: 'i18n-header' }) i18nHeader: string = HEADER_DEFAULT;\n\n /**\n * Text for hour column header\n */\n @Prop({ attribute: 'i18n-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\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 /**\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 @State() private _time?: DateTime;\n @Watch('_time')\n onTimeChange() {\n const formattedTimeOld = this.formattedTime;\n this.setTimeRef();\n this.formattedTime = this.getFormattedTime();\n\n this.updateScrollPositions(formattedTimeOld);\n }\n\n @State() private timeRef?: 'AM' | 'PM' | undefined;\n @State() private formattedTime: TimeOutputFormat = FORMATTED_TIME_EMPTY;\n @State() private timePickerDescriptors: TimePickerDescriptor[] = [];\n @State() private isUnitFocused: boolean = false;\n @State() private focusedUnit: TimePickerDescriptorUnit = 'hour';\n @State() private focusedValue: number = 0;\n\n private visibilityObserver?: MutationObserver;\n private focusScrollAlignment: 'start' | 'end' = 'start';\n\n componentWillLoad() {\n this.initPicker();\n }\n\n private initPicker() {\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\n this._time = DateTime.now();\n }\n\n this.setTimeRef();\n this.setTimePickerDescriptors();\n this.setInitialFocusedValueAndUnit();\n\n this.watchHourIntervalPropHandler(this.hourInterval);\n this.watchMinuteIntervalPropHandler(this.minuteInterval);\n this.watchSecondIntervalPropHandler(this.secondInterval);\n this.watchMillisecondIntervalPropHandler(this.millisecondInterval);\n }\n\n componentDidLoad() {\n this.updateScrollPositions();\n this.setupVisibilityObserver();\n }\n\n componentDidRender() {\n if (this.isUnitFocused) {\n const elementContainer = this.getElementContainer(\n this.focusedUnit,\n this.focusedValue\n );\n const elementList = this.getElementList(this.focusedUnit);\n\n if (elementContainer) {\n elementContainer.focus({ preventScroll: true });\n\n if (!this.isElementVisible(elementContainer, elementList)) {\n elementContainer.scrollIntoView({\n block: this.focusScrollAlignment,\n });\n\n if (this.focusScrollAlignment === 'end') {\n elementList.scrollTop += 4;\n } else {\n elementList.scrollTop -= 4;\n }\n }\n }\n }\n }\n\n disconnectedCallback() {\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n }\n }\n\n @OnListener<TimePicker>('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isUnitFocused) {\n return;\n }\n\n let newValue = this.focusedValue;\n let shouldPreventDefault = true;\n let newValueInterval;\n\n switch (this.focusedUnit) {\n case 'hour':\n newValueInterval = this.hourInterval;\n break;\n case 'minute':\n newValueInterval = this.minuteInterval;\n break;\n case 'second':\n newValueInterval = this.secondInterval;\n break;\n case 'millisecond':\n newValueInterval = this.millisecondInterval;\n break;\n }\n\n switch (event.key) {\n case 'Tab':\n // Let tab navigation work normally and reset focused value/unit\n shouldPreventDefault = false;\n this.setInitialFocusedValueAndUnit();\n break;\n\n case 'ArrowUp':\n newValue -= newValueInterval;\n this.focusScrollAlignment = 'start';\n this.updateFocusedValue(newValue);\n break;\n\n case 'ArrowDown':\n newValue += newValueInterval;\n this.focusScrollAlignment = 'end';\n this.updateFocusedValue(newValue);\n break;\n\n case 'ArrowLeft':\n this.moveFocusToAdjacentUnit(-1);\n break;\n\n case 'ArrowRight':\n this.moveFocusToAdjacentUnit(1);\n break;\n\n case 'Enter':\n case ' ':\n this.select(this.focusedUnit, this.focusedValue);\n break;\n\n default:\n return;\n }\n\n if (shouldPreventDefault) {\n event.preventDefault();\n }\n }\n\n onUnitCellBlur() {\n this.isUnitFocused = false;\n }\n\n onUnitCellFocus() {\n this.isUnitFocused = true;\n }\n\n private getElementList(unit: TimePickerDescriptorUnit): HTMLDivElement {\n return this.hostElement.shadowRoot?.querySelector(\n `[data-element-list-id=\"${unit}\"]`\n ) as HTMLDivElement;\n }\n\n private getElementContainer(\n unit: TimePickerDescriptorUnit,\n number: number\n ): HTMLDivElement {\n return this.hostElement.shadowRoot?.querySelector(\n `[data-element-container-id=\"${unit}-${number}\"]`\n ) as HTMLDivElement;\n }\n\n private isElementVisible(\n element: HTMLElement,\n container: HTMLElement\n ): boolean {\n const elementRect = element.getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n\n return (\n elementRect.top >= containerRect.top &&\n elementRect.bottom <= containerRect.bottom\n );\n }\n\n private updateFocusedValue(value: number) {\n const numberArray = this.getNumberArrayForUnit(this.focusedUnit);\n const maxValue = numberArray[numberArray.length - 1];\n const minValue = numberArray[0];\n\n if (value > maxValue) {\n value = minValue;\n this.focusScrollAlignment = 'start';\n } else if (value < minValue) {\n value = maxValue;\n this.focusScrollAlignment = 'end';\n }\n\n this.focusedValue = value;\n }\n\n private moveFocusToAdjacentUnit(direction: number) {\n const currentUnitIndex = this.timePickerDescriptors.findIndex(\n (d) => d.unit === this.focusedUnit\n );\n const newUnitIndex = currentUnitIndex + direction;\n\n // Check if new index is within bounds\n if (newUnitIndex >= 0 && newUnitIndex < this.timePickerDescriptors.length) {\n const newUnit = this.timePickerDescriptors[newUnitIndex].unit;\n\n const selectedValue = Number(this.formattedTime[newUnit]);\n\n this.focusedUnit = newUnit;\n this.updateFocusedValue(selectedValue);\n }\n }\n\n private setInitialFocusedValueAndUnit() {\n const firstVisibleDescriptor = this.timePickerDescriptors.find(\n (descriptor) => !descriptor.hidden\n );\n if (!firstVisibleDescriptor) {\n return;\n }\n\n const selectedValue = Number(\n this.formattedTime[firstVisibleDescriptor.unit]\n );\n const isValidSelection =\n firstVisibleDescriptor.numberArray.includes(selectedValue);\n\n this.focusedValue = isValidSelection\n ? selectedValue\n : firstVisibleDescriptor.numberArray[0];\n\n this.focusedUnit = firstVisibleDescriptor.unit;\n }\n\n private setupVisibilityObserver() {\n let dropdownElement: Element | null = this.hostElement;\n while (dropdownElement && dropdownElement.tagName !== 'IX-DROPDOWN') {\n dropdownElement = dropdownElement.parentElement;\n }\n\n if (!dropdownElement) {\n return;\n }\n\n this.visibilityObserver = new MutationObserver((mutations) =>\n this.mutationObserverCallback(mutations)\n );\n\n this.visibilityObserver.observe(dropdownElement, {\n attributes: true,\n attributeFilter: ['class', 'style'],\n });\n }\n\n private mutationObserverCallback(mutations: MutationRecord[]) {\n for (const mutation of mutations) {\n if (mutation.type !== 'attributes') {\n continue;\n }\n\n const dropdown = mutation.target as HTMLElement;\n\n if (!dropdown.classList.contains('show')) {\n // keep picker in sync with input\n this._time = DateTime.fromFormat(this.time, this.format);\n this.setInitialFocusedValueAndUnit();\n\n continue;\n }\n\n const elementsReady = this.areElementsRendered();\n if (!elementsReady) {\n continue;\n }\n\n this.updateScrollPositions();\n }\n }\n\n private areElementsRendered(): boolean {\n const elementLists =\n this.hostElement.shadowRoot?.querySelectorAll('.element-list');\n\n if (!elementLists || elementLists.length === 0) {\n return false;\n }\n\n return Array.from(elementLists).some(\n (list) => (list as HTMLElement).offsetHeight > 0\n );\n }\n\n private getFormattedTime(): TimeOutputFormat {\n if (!this._time) {\n return FORMATTED_TIME_EMPTY;\n }\n\n return {\n hour:\n this.timeRef !== undefined\n ? this._time.toFormat('h')\n : this._time.toFormat('H'),\n minute: this._time.toFormat('m'),\n second: this._time.toFormat('s'),\n millisecond: this._time.toFormat('S'),\n };\n }\n\n private timeUpdate(unit: TimePickerDescriptorUnit, value: number): number {\n let maxValue = DateTime.now().endOf('day').get(unit);\n\n if (unit === 'hour') {\n if (this.timeRef === 'PM') {\n // 12 PM should remain 12, other PM hours add 12\n value = value === 12 ? 12 : value + 12;\n } else if (this.timeRef === 'AM') {\n // 12 AM should be 0, other AM hours remain as is\n value = value === 12 ? 0 : value;\n maxValue = 12;\n }\n }\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 private changeTimeReference(newTimeRef: 'AM' | 'PM') {\n if (!this._time) {\n return;\n }\n\n if (this.timeRef === newTimeRef) {\n return;\n }\n\n this.timeRef = newTimeRef;\n const currentHour = this._time.hour;\n\n if (newTimeRef === 'PM' && currentHour < 12) {\n this._time = this._time.plus({ hours: 12 });\n } else if (newTimeRef === 'AM' && currentHour >= 12) {\n this._time = this._time.minus({ hours: 12 });\n }\n\n this.timeChange.emit(this._time!.toFormat(this.format));\n }\n\n private isFormat12Hour(format: string): boolean {\n // Remove any text that's inside quotes (literal text in Luxon format strings)\n let cleanFormat = '';\n let inQuote = false;\n\n for (let i = 0; i < format.length; i++) {\n const char = format[i];\n if (char === \"'\") {\n inQuote = !inQuote;\n } else if (!inQuote) {\n cleanFormat += char;\n }\n }\n\n // Check for specific 12-hour format tokens\n // Case-sensitive matching to distinguish between 'h' and 'H'\n return /h|a|t/.test(cleanFormat);\n }\n\n private setTimeRef() {\n const uses12HourFormat = this.isFormat12Hour(this.format);\n\n if (uses12HourFormat && this._time) {\n this.timeRef = this._time!.hour >= 12 ? 'PM' : 'AM';\n } else {\n this.timeRef = undefined;\n }\n }\n\n private setTimePickerDescriptors() {\n let hourNumbers = [];\n let minuteNumbers = [];\n let secondNumbers = [];\n let millisecondsNumbers = [];\n\n if (this.timeRef !== undefined) {\n hourNumbers = Array.from(\n { length: Math.ceil(12 / this.hourInterval) },\n (_, i) => i * this.hourInterval + 1\n ).filter((hour) => hour <= 12);\n } else {\n hourNumbers = Array.from(\n { length: Math.ceil(24 / this.hourInterval) },\n (_, i) => i * this.hourInterval\n );\n }\n\n minuteNumbers = Array.from(\n { length: Math.ceil(60 / this.minuteInterval) },\n (_, i) => i * this.minuteInterval\n );\n secondNumbers = Array.from(\n { length: Math.ceil(60 / this.secondInterval) },\n (_, i) => i * this.secondInterval\n );\n millisecondsNumbers = Array.from(\n { length: Math.ceil(1000 / this.millisecondInterval) },\n (_, i) => i * this.millisecondInterval\n );\n\n this.timePickerDescriptors = [\n {\n unit: 'hour',\n header: this.i18nHourColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.hours.test(this.format) || !this.showHour,\n numberArray: hourNumbers,\n },\n {\n unit: 'minute',\n header: this.i18nMinuteColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.minutes.test(this.format) || !this.showMinutes,\n numberArray: minuteNumbers,\n },\n {\n unit: 'second',\n header: this.i18nSecondColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.seconds.test(this.format) || !this.showSeconds,\n numberArray: secondNumbers,\n },\n {\n unit: 'millisecond',\n header: this.i18nMillisecondColumnHeader,\n hidden: !LUXON_FORMAT_PATTERNS.milliseconds.test(this.format),\n numberArray: millisecondsNumbers,\n },\n ];\n\n this.timePickerDescriptors = this.timePickerDescriptors.filter(\n (item) => !item.hidden\n );\n }\n\n private getNumberArrayForUnit(unit: TimePickerDescriptorUnit): number[] {\n const descriptor = this.timePickerDescriptors.find(\n (descriptor) => descriptor.unit === unit\n );\n return descriptor ? descriptor.numberArray : [];\n }\n\n private isSelected(unit: TimePickerDescriptorUnit, number: number): boolean {\n return this.formattedTime![unit] === String(number);\n }\n\n private select(unit: TimePickerDescriptorUnit, number: number) {\n this.formattedTime = {\n ...this.formattedTime!,\n [unit]: String(number),\n };\n\n this.timeUpdate(unit, number);\n this.elementListScrollToTop(unit, number, 'smooth');\n this.timeChange.emit(this._time!.toFormat(this.format));\n }\n\n private elementListScrollToTop(\n unit: TimePickerDescriptorUnit,\n number: number,\n scrollBehaviour: 'smooth' | 'instant'\n ) {\n const elementList = this.getElementList(unit);\n const elementContainer = this.getElementContainer(unit, number);\n\n if (elementList && elementContainer) {\n const elementListHeight = elementList.clientHeight;\n const elementContainerHeight = elementContainer.clientHeight;\n\n // Offset which is used to adjust the scroll position to account for margins, elements being hidden, etc.\n let scrollPositionOffset = 15;\n if (this.hideHeader) {\n // 74 --> height of the header container\n scrollPositionOffset -= 74;\n }\n\n const scrollPosition =\n elementContainer.offsetTop -\n elementListHeight / 2 +\n elementContainerHeight / 2 -\n scrollPositionOffset;\n\n elementList.scrollTo({\n top: scrollPosition,\n behavior: scrollBehaviour,\n });\n }\n }\n\n /**\n * Updates all scroll positions of the time picker elements\n * Updates only the elements that have changed if `formattedTimeOld` is provided\n */\n private updateScrollPositions(\n formattedTimeOld: TimeOutputFormat | undefined = undefined\n ) {\n for (const key in this.formattedTime) {\n const unitKey = key as keyof TimeOutputFormat;\n\n if (\n !formattedTimeOld ||\n this.formattedTime[unitKey] !== formattedTimeOld[unitKey]\n ) {\n this.elementListScrollToTop(\n unitKey as TimePickerDescriptorUnit,\n Number(this.formattedTime[unitKey]),\n 'instant'\n );\n }\n }\n }\n\n private formatUnitValue(\n unit: TimePickerDescriptorUnit,\n value: number\n ): string {\n if (unit === 'millisecond') {\n return value.toString().padStart(3, '0');\n }\n\n return value < 10 ? `0${value}` : value.toString();\n }\n\n private getColumnSeparator(currentIndex: number): string {\n if (currentIndex + 1 < this.timePickerDescriptors.length) {\n const nextUnit = this.timePickerDescriptors[currentIndex + 1].unit;\n return nextUnit === 'millisecond' ? '.' : ':';\n }\n\n return ':';\n }\n\n private getElementContainerTabIndex(\n number: number,\n descriptorUnit: TimePickerDescriptorUnit\n ): string {\n return number === this.focusedValue && descriptorUnit === this.focusedUnit\n ? '0'\n : '-1';\n }\n\n private getConfirmButtonText(): string {\n if (this.i18nConfirmTime !== CONFIRM_BUTTON_DEFAULT) {\n return this.i18nConfirmTime;\n }\n\n if (this.textSelectTime !== CONFIRM_BUTTON_DEFAULT) {\n return this.textSelectTime;\n }\n\n return this.i18nConfirmTime;\n }\n\n private getHeaderText(): string {\n if (this.i18nHeader !== HEADER_DEFAULT) {\n return this.i18nHeader;\n }\n\n if (this.textTime != HEADER_DEFAULT) {\n return this.textTime;\n }\n\n return this.i18nHeader;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n standaloneAppearance={this.standaloneAppearance}\n timePickerAppearance={true}\n corners={this.corners}\n hasFooter={true}\n hideHeader={this.hideHeader}\n >\n <div class=\"header\" slot=\"header\">\n <ix-typography format=\"h5\">{this.getHeaderText()}</ix-typography>\n </div>\n <div class=\"clock\">\n {this.timePickerDescriptors.map((descriptor, index: number) => (\n <div class=\"flex\">\n <div class={{ columns: true, hidden: descriptor.hidden }}>\n <div class=\"column-header\" title={descriptor.header}>\n {descriptor.header}\n </div>\n <div\n data-element-list-id={descriptor.unit}\n class=\"element-list\"\n tabIndex={-1}\n >\n {descriptor.numberArray.map((number) => (\n <button\n data-element-container-id={`${descriptor.unit}-${number}`}\n class={{\n selected: this.isSelected(descriptor.unit, number),\n 'element-container': true,\n }}\n onClick={() => this.select(descriptor.unit, number)}\n onFocus={() => {\n this.focusedUnit = descriptor.unit;\n this.focusedValue = number;\n this.onUnitCellFocus();\n }}\n onBlur={() => this.onUnitCellBlur()}\n tabindex={this.getElementContainerTabIndex(\n number,\n descriptor.unit\n )}\n role=\"button\"\n aria-label={`${descriptor.header}: ${number}`}\n >\n {this.formatUnitValue(descriptor.unit, number)}\n </button>\n ))}\n <div class=\"element-list-padding\"></div>\n </div>\n </div>\n\n {index !== this.timePickerDescriptors.length - 1 && (\n <div\n class={{\n 'column-seperator': true,\n hidden: descriptor.hidden,\n }}\n >\n {this.getColumnSeparator(index)}\n </div>\n )}\n </div>\n ))}\n </div>\n\n <div\n class={{\n footer: true,\n 'footer--compact': this.timePickerDescriptors.length <= 2,\n }}\n slot=\"footer\"\n >\n {this.timeRef && (\n <div\n class={{\n 'time-ref-buttons': true,\n 'time-ref-buttons--datetime-picker-appearance':\n this.dateTimePickerAppearance,\n }}\n >\n <button\n data-am-pm-id=\"AM\"\n class={{ selected: this.timeRef === 'AM' }}\n onClick={() => this.changeTimeReference('AM')}\n >\n AM\n </button>\n <button\n data-am-pm-id=\"PM\"\n class={{ selected: this.timeRef === 'PM' }}\n onClick={() => this.changeTimeReference('PM')}\n >\n PM\n </button>\n </div>\n )}\n {!this.dateTimePickerAppearance && (\n <ix-button\n class=\"confirm-button\"\n onClick={() => {\n this.timeSelect.emit(this._time?.toFormat(this.format));\n }}\n >\n {this.getConfirmButtonText()}\n </ix-button>\n )}\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-time-picker.entry.esm.js","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: fit-content;\n\n .standaloneAppearance {\n box-shadow: none;\n }\n\n .hidden {\n display: none;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: center;\n height: $large-control-height;\n }\n\n .clock {\n display: flex;\n justify-content: center;\n align-items: start;\n\n .flex {\n display: flex;\n height: 100%;\n align-items: start;\n\n .columns {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n margin-top: 1px;\n\n .column-header {\n height: 2.5rem;\n width: 2.5rem;\n line-height: 2.5rem;\n text-align: center;\n color: var(--theme-color-soft-text);\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n }\n }\n\n .column-seperator {\n display: flex;\n align-items: center;\n margin: 0 0.125rem;\n min-height: 100%;\n margin-top: 3.25rem;\n }\n }\n\n .element-list {\n list-style-type: none;\n overflow: auto;\n max-height: 15.375rem;\n padding-top: 0.125rem;\n\n button {\n all: unset;\n }\n\n .element-container {\n width: 2.375rem;\n height: 2.375rem;\n margin: 0.125rem;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n color: var(--theme-color-primary);\n\n &:hover {\n background-color: var(--theme-datepicker-day--background--hover);\n }\n\n &:focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: 1px;\n }\n }\n\n .selected {\n background-color: var(--theme-datepicker-day--background--selected);\n color: var(--theme-datepicker-day--color--selected);\n\n &:hover {\n background-color: var(\n --theme-datepicker-day--background--selected-hover\n );\n }\n }\n\n .element-list-padding {\n width: 2.5rem;\n height: 12.563rem;\n min-height: 12.563rem;\n }\n }\n\n div.element-list {\n scrollbar-width: none;\n -ms-overflow-style: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n }\n }\n\n .footer {\n display: flex;\n justify-content: space-between;\n gap: 0.5rem;\n flex-wrap: wrap;\n\n .confirm-button {\n margin-left: auto;\n }\n\n &--compact {\n flex-direction: column;\n align-items: center;\n\n .confirm-button {\n margin-left: initial;\n }\n }\n\n .time-ref-buttons {\n &--datetime-picker-appearance {\n margin-left: auto;\n }\n\n button {\n all: unset;\n width: 2.625rem;\n height: 1.875rem;\n text-align: center;\n border: 1px solid var(--theme-color-primary);\n color: var(--theme-color-primary);\n background-color: var(--theme-color-secondary);\n font-weight: 700;\n\n &:focus {\n outline: 1px solid var(--theme-color-focus-bdr);\n outline-offset: var(--theme-btn--focus--outline-offset);\n }\n\n &:hover {\n cursor: pointer;\n background-color: var(--theme-color-secondary-hover);\n border-color: var(--theme-btn-primary--background--hover);\n }\n\n &.selected {\n color: var(--theme-color-secondary);\n background-color: var(--theme-btn-primary--background);\n\n &:hover {\n background-color: var(--theme-btn-primary--background--hover);\n border-color: var(--theme-btn-primary--background--hover);\n }\n }\n }\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 Element,\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 { OnListener } from '../utils/listener';\nimport type { TimePickerCorners } from './time-picker.types';\n\ntype TimePickerDescriptorUnit = 'hour' | 'minute' | 'second' | 'millisecond';\n\ninterface TimePickerDescriptor {\n unit: TimePickerDescriptorUnit;\n header: string;\n hidden: boolean;\n numberArray: number[];\n}\n\ninterface TimeOutputFormat {\n hour: string;\n minute: string;\n second: string;\n millisecond: string;\n}\n\nconst LUXON_FORMAT_PATTERNS = {\n // h, hh, H, HH and various time formats that include hours\n hours: /\\b[Hh]\\b|HH|hh|H{3,4}|h{3,4}|t|tt|ttt|tttt|T|TT|TTT|TTTT/,\n // m, mm and time formats that include minutes\n minutes: /\\bm\\b|mm|t|tt|ttt|tttt|T|TT|TTT|TTTT/,\n // s, ss and time formats that include seconds\n seconds: /\\bs\\b|ss|tt|ttt|tttt|TT|TTT|TTTT/,\n // S, SSS (milliseconds), u/uu/uuu (fractional seconds), x/X (timestamps)\n milliseconds: /\\bS\\b|SSS|u|uu|uuu/,\n};\n\nconst HOUR_INTERVAL_DEFAULT = 1;\nconst MINUTE_INTERVAL_DEFAULT = 1;\nconst SECOND_INTERVAL_DEFAULT = 1;\nconst MILLISECOND_INTERVAL_DEFAULT = 100;\n\nconst CONFIRM_BUTTON_DEFAULT = 'Confirm';\nconst HEADER_DEFAULT = 'Time';\n\nconst FORMATTED_TIME_EMPTY: TimeOutputFormat = {\n hour: '',\n minute: '',\n second: '',\n millisecond: '',\n};\n\n@Component({\n tag: 'ix-time-picker',\n styleUrl: 'time-picker.scss',\n shadow: true,\n})\nexport class TimePicker {\n @Element() hostElement!: HTMLIxTimePickerElement;\n\n /**\n * Format of time string\n * See {@link \"https://moment.github.io/luxon/#/formatting?id=table-of-tokens\"} for all available tokens.\n * Note: Formats that combine date and time (like f or F) are not supported. Timestamp tokens x and X are not supported either.\n */\n @Prop() format: string = 'TT';\n @Watch('format')\n watchFormatIntervalPropHandler(newValue: string) {\n if (!newValue) {\n return;\n }\n\n this.initPicker();\n this.updateScrollPositions();\n }\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 * @internal Temporary prop needed until datetime-picker is reworked for new design\n */\n @Prop() dateTimePickerAppearance: boolean = false;\n\n /**\n * Show hour input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showHour = true;\n\n /**\n * Show minutes input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showMinutes = true;\n\n /**\n * Show seconds input\n *\n * @deprecated This is now determined by the format that is used. Will be removed in 4.0.0\n */\n @Prop() showSeconds = true;\n\n /**\n * Hides the header of the picker.\n *\n * @since 3.2.0\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Interval for hour selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) hourInterval: number = HOUR_INTERVAL_DEFAULT;\n @Watch('hourInterval')\n watchHourIntervalPropHandler(newValue: number) {\n if (\n Number.isInteger(newValue) &&\n newValue >= 0 &&\n newValue <= (this.timeRef ? 12 : 23)\n ) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('hour', newValue);\n this.hourInterval = HOUR_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for minute selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) minuteInterval: number = MINUTE_INTERVAL_DEFAULT;\n @Watch('minuteInterval')\n watchMinuteIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 59) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('minute', newValue);\n this.minuteInterval = MINUTE_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for second selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) secondInterval: number = SECOND_INTERVAL_DEFAULT;\n @Watch('secondInterval')\n watchSecondIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 59) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('second', newValue);\n this.secondInterval = SECOND_INTERVAL_DEFAULT;\n }\n\n /**\n * Interval for millisecond selection\n *\n * @since 3.2.0\n */\n @Prop({ mutable: true }) millisecondInterval: number =\n MILLISECOND_INTERVAL_DEFAULT;\n @Watch('millisecondInterval')\n watchMillisecondIntervalPropHandler(newValue: number) {\n if (newValue >= 0 && newValue <= 999) {\n this.setTimePickerDescriptors();\n return;\n }\n\n this.printIntervalError('millisecond', newValue);\n this.millisecondInterval = MILLISECOND_INTERVAL_DEFAULT;\n }\n\n private printIntervalError(intervalName: string, value: number) {\n console.error(\n `Value ${value} is not valid for ${intervalName}-interval. Falling back to default.`\n );\n }\n\n /**\n * Select time with format string\n * Format has to match the `format` property.\n */\n @Prop() time: string = DateTime.now().toFormat(this.format);\n\n @Watch('time')\n watchTimePropHandler(newValue: string) {\n const timeFormat = DateTime.fromFormat(newValue, this.format);\n if (!timeFormat.isValid) {\n throw new Error('Format is not supported or not correct');\n }\n\n this._time = timeFormat;\n }\n\n /**\n * Set time reference\n *\n * @deprecated This is determined by the currently set time. Will be removed in 4.0.0.\n */\n @Prop() timeReference: 'AM' | 'PM' | undefined;\n\n /**\n * Text of time select button\n *\n * @deprecated Use `i18nConfirmTime` instead. Will be removed in 4.0.0.\n */\n @Prop() textSelectTime = CONFIRM_BUTTON_DEFAULT;\n\n /**\n * Text of the time confirm button\n */\n @Prop({ attribute: 'i18n-confirm-time' }) i18nConfirmTime =\n CONFIRM_BUTTON_DEFAULT;\n\n /**\n * Text for top label\n *\n * @deprecated Use `i18nHeader` instead. Will be removed in 4.0.0.\n */\n @Prop() textTime: string = HEADER_DEFAULT;\n\n /**\n * Text for top header\n */\n @Prop({ attribute: 'i18n-header' }) i18nHeader: string = HEADER_DEFAULT;\n\n /**\n * Text for hour column header\n */\n @Prop({ attribute: 'i18n-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\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 /**\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 @State() private _time?: DateTime;\n @Watch('_time')\n onTimeChange() {\n const formattedTimeOld = this.formattedTime;\n this.setTimeRef();\n this.formattedTime = this.getFormattedTime();\n\n this.updateScrollPositions(formattedTimeOld);\n }\n\n @State() private timeRef?: 'AM' | 'PM' | undefined;\n @State() private formattedTime: TimeOutputFormat = FORMATTED_TIME_EMPTY;\n @State() private timePickerDescriptors: TimePickerDescriptor[] = [];\n @State() private isUnitFocused: boolean = false;\n @State() private focusedUnit: TimePickerDescriptorUnit = 'hour';\n @State() private focusedValue: number = 0;\n\n private visibilityObserver?: MutationObserver;\n private focusScrollAlignment: 'start' | 'end' = 'start';\n\n componentWillLoad() {\n this.initPicker();\n }\n\n private initPicker() {\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\n this._time = DateTime.now();\n }\n\n this.setTimeRef();\n this.setTimePickerDescriptors();\n this.setInitialFocusedValueAndUnit();\n\n this.watchHourIntervalPropHandler(this.hourInterval);\n this.watchMinuteIntervalPropHandler(this.minuteInterval);\n this.watchSecondIntervalPropHandler(this.secondInterval);\n this.watchMillisecondIntervalPropHandler(this.millisecondInterval);\n }\n\n componentDidLoad() {\n this.updateScrollPositions();\n this.setupVisibilityObserver();\n }\n\n componentDidRender() {\n if (this.isUnitFocused) {\n const elementContainer = this.getElementContainer(\n this.focusedUnit,\n this.focusedValue\n );\n const elementList = this.getElementList(this.focusedUnit);\n\n if (elementContainer) {\n elementContainer.focus({ preventScroll: true });\n\n if (!this.isElementVisible(elementContainer, elementList)) {\n elementContainer.scrollIntoView({\n block: this.focusScrollAlignment,\n });\n\n if (this.focusScrollAlignment === 'end') {\n elementList.scrollTop += 4;\n } else {\n elementList.scrollTop -= 4;\n }\n }\n }\n }\n }\n\n disconnectedCallback() {\n if (this.visibilityObserver) {\n this.visibilityObserver.disconnect();\n }\n }\n\n @OnListener<TimePicker>('keydown')\n handleKeyDown(event: KeyboardEvent) {\n if (!this.isUnitFocused) {\n return;\n }\n\n let newValue = this.focusedValue;\n let shouldPreventDefault = true;\n let newValueInterval;\n\n switch (this.focusedUnit) {\n case 'hour':\n newValueInterval = this.hourInterval;\n break;\n case 'minute':\n newValueInterval = this.minuteInterval;\n break;\n case 'second':\n newValueInterval = this.secondInterval;\n break;\n case 'millisecond':\n newValueInterval = this.millisecondInterval;\n break;\n }\n\n switch (event.key) {\n case 'Tab':\n // Let tab navigation work normally and reset focused value/unit\n shouldPreventDefault = false;\n this.setInitialFocusedValueAndUnit();\n break;\n\n case 'ArrowUp':\n newValue -= newValueInterval;\n this.focusScrollAlignment = 'start';\n this.updateFocusedValue(newValue);\n break;\n\n case 'ArrowDown':\n newValue += newValueInterval;\n this.focusScrollAlignment = 'end';\n this.updateFocusedValue(newValue);\n break;\n\n case 'ArrowLeft':\n this.moveFocusToAdjacentUnit(-1);\n break;\n\n case 'ArrowRight':\n this.moveFocusToAdjacentUnit(1);\n break;\n\n case 'Enter':\n case ' ':\n this.select(this.focusedUnit, this.focusedValue);\n break;\n\n default:\n return;\n }\n\n if (shouldPreventDefault) {\n event.preventDefault();\n }\n }\n\n onUnitCellBlur() {\n this.isUnitFocused = false;\n }\n\n onUnitCellFocus() {\n this.isUnitFocused = true;\n }\n\n private getElementList(unit: TimePickerDescriptorUnit): HTMLDivElement {\n return this.hostElement.shadowRoot?.querySelector(\n `[data-element-list-id=\"${unit}\"]`\n ) as HTMLDivElement;\n }\n\n private getElementContainer(\n unit: TimePickerDescriptorUnit,\n number: number\n ): HTMLDivElement {\n return this.hostElement.shadowRoot?.querySelector(\n `[data-element-container-id=\"${unit}-${number}\"]`\n ) as HTMLDivElement;\n }\n\n private isElementVisible(\n element: HTMLElement,\n container: HTMLElement\n ): boolean {\n const elementRect = element.getBoundingClientRect();\n const containerRect = container.getBoundingClientRect();\n\n return (\n elementRect.top >= containerRect.top &&\n elementRect.bottom <= containerRect.bottom\n );\n }\n\n private updateFocusedValue(value: number) {\n const numberArray = this.getNumberArrayForUnit(this.focusedUnit);\n const maxValue = numberArray[numberArray.length - 1];\n const minValue = numberArray[0];\n\n if (value > maxValue) {\n value = minValue;\n this.focusScrollAlignment = 'start';\n } else if (value < minValue) {\n value = maxValue;\n this.focusScrollAlignment = 'end';\n }\n\n this.focusedValue = value;\n }\n\n private moveFocusToAdjacentUnit(direction: number) {\n const currentUnitIndex = this.timePickerDescriptors.findIndex(\n (d) => d.unit === this.focusedUnit\n );\n const newUnitIndex = currentUnitIndex + direction;\n\n // Check if new index is within bounds\n if (newUnitIndex >= 0 && newUnitIndex < this.timePickerDescriptors.length) {\n const newUnit = this.timePickerDescriptors[newUnitIndex].unit;\n\n const selectedValue = Number(this.formattedTime[newUnit]);\n\n this.focusedUnit = newUnit;\n this.updateFocusedValue(selectedValue);\n }\n }\n\n private setInitialFocusedValueAndUnit() {\n const firstVisibleDescriptor = this.timePickerDescriptors.find(\n (descriptor) => !descriptor.hidden\n );\n if (!firstVisibleDescriptor) {\n return;\n }\n\n const selectedValue = Number(\n this.formattedTime[firstVisibleDescriptor.unit]\n );\n const isValidSelection =\n firstVisibleDescriptor.numberArray.includes(selectedValue);\n\n this.focusedValue = isValidSelection\n ? selectedValue\n : firstVisibleDescriptor.numberArray[0];\n\n this.focusedUnit = firstVisibleDescriptor.unit;\n }\n\n private setupVisibilityObserver() {\n let dropdownElement: Element | null = this.hostElement;\n while (dropdownElement && dropdownElement.tagName !== 'IX-DROPDOWN') {\n dropdownElement = dropdownElement.parentElement;\n }\n\n if (!dropdownElement) {\n return;\n }\n\n this.visibilityObserver = new MutationObserver((mutations) =>\n this.mutationObserverCallback(mutations)\n );\n\n this.visibilityObserver.observe(dropdownElement, {\n attributes: true,\n attributeFilter: ['class', 'style'],\n });\n }\n\n private mutationObserverCallback(mutations: MutationRecord[]) {\n for (const mutation of mutations) {\n if (mutation.type !== 'attributes') {\n continue;\n }\n\n const dropdown = mutation.target as HTMLElement;\n\n if (!dropdown.classList.contains('show')) {\n // keep picker in sync with input\n this._time = DateTime.fromFormat(this.time, this.format);\n this.setInitialFocusedValueAndUnit();\n\n continue;\n }\n\n const elementsReady = this.areElementsRendered();\n if (!elementsReady) {\n continue;\n }\n\n this.updateScrollPositions();\n }\n }\n\n private areElementsRendered(): boolean {\n const elementLists =\n this.hostElement.shadowRoot?.querySelectorAll('.element-list');\n\n if (!elementLists || elementLists.length === 0) {\n return false;\n }\n\n return Array.from(elementLists).some(\n (list) => (list as HTMLElement).offsetHeight > 0\n );\n }\n\n private getFormattedTime(): TimeOutputFormat {\n if (!this._time) {\n return FORMATTED_TIME_EMPTY;\n }\n\n return {\n hour:\n this.timeRef !== undefined\n ? this._time.toFormat('h')\n : this._time.toFormat('H'),\n minute: this._time.toFormat('m'),\n second: this._time.toFormat('s'),\n millisecond: this._time.toFormat('S'),\n };\n }\n\n private timeUpdate(unit: TimePickerDescriptorUnit, value: number): number {\n let maxValue = DateTime.now().endOf('day').get(unit);\n\n if (unit === 'hour') {\n if (this.timeRef === 'PM') {\n // 12 PM should remain 12, other PM hours add 12\n value = value === 12 ? 12 : value + 12;\n } else if (this.timeRef === 'AM') {\n // 12 AM should be 0, other AM hours remain as is\n value = value === 12 ? 0 : value;\n maxValue = 12;\n }\n }\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 private changeTimeReference(newTimeRef: 'AM' | 'PM') {\n if (!this._time) {\n return;\n }\n\n if (this.timeRef === newTimeRef) {\n return;\n }\n\n this.timeRef = newTimeRef;\n const currentHour = this._time.hour;\n\n if (newTimeRef === 'PM' && currentHour < 12) {\n this._time = this._time.plus({ hours: 12 });\n } else if (newTimeRef === 'AM' && currentHour >= 12) {\n this._time = this._time.minus({ hours: 12 });\n }\n\n this.timeChange.emit(this._time!.toFormat(this.format));\n }\n\n private isFormat12Hour(format: string): boolean {\n // Remove any text that's inside quotes (literal text in Luxon format strings)\n let cleanFormat = '';\n let inQuote = false;\n\n for (let i = 0; i < format.length; i++) {\n const char = format[i];\n if (char === \"'\") {\n inQuote = !inQuote;\n } else if (!inQuote) {\n cleanFormat += char;\n }\n }\n\n // Check for specific 12-hour format tokens\n // Case-sensitive matching to distinguish between 'h' and 'H'\n return /h|a|t/.test(cleanFormat);\n }\n\n private setTimeRef() {\n const uses12HourFormat = this.isFormat12Hour(this.format);\n\n if (uses12HourFormat && this._time) {\n this.timeRef = this._time!.hour >= 12 ? 'PM' : 'AM';\n } else {\n this.timeRef = undefined;\n }\n }\n\n private setTimePickerDescriptors() {\n let hourNumbers = [];\n let minuteNumbers = [];\n let secondNumbers = [];\n let millisecondsNumbers = [];\n\n if (this.timeRef !== undefined) {\n hourNumbers = Array.from(\n { length: Math.ceil(12 / this.hourInterval) },\n (_, i) => i * this.hourInterval + 1\n ).filter((hour) => hour <= 12);\n } else {\n hourNumbers = Array.from(\n { length: Math.ceil(24 / this.hourInterval) },\n (_, i) => i * this.hourInterval\n );\n }\n\n minuteNumbers = Array.from(\n { length: Math.ceil(60 / this.minuteInterval) },\n (_, i) => i * this.minuteInterval\n );\n secondNumbers = Array.from(\n { length: Math.ceil(60 / this.secondInterval) },\n (_, i) => i * this.secondInterval\n );\n millisecondsNumbers = Array.from(\n { length: Math.ceil(1000 / this.millisecondInterval) },\n (_, i) => i * this.millisecondInterval\n );\n\n this.timePickerDescriptors = [\n {\n unit: 'hour',\n header: this.i18nHourColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.hours.test(this.format) || !this.showHour,\n numberArray: hourNumbers,\n },\n {\n unit: 'minute',\n header: this.i18nMinuteColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.minutes.test(this.format) || !this.showMinutes,\n numberArray: minuteNumbers,\n },\n {\n unit: 'second',\n header: this.i18nSecondColumnHeader,\n hidden:\n !LUXON_FORMAT_PATTERNS.seconds.test(this.format) || !this.showSeconds,\n numberArray: secondNumbers,\n },\n {\n unit: 'millisecond',\n header: this.i18nMillisecondColumnHeader,\n hidden: !LUXON_FORMAT_PATTERNS.milliseconds.test(this.format),\n numberArray: millisecondsNumbers,\n },\n ];\n\n this.timePickerDescriptors = this.timePickerDescriptors.filter(\n (item) => !item.hidden\n );\n }\n\n private getNumberArrayForUnit(unit: TimePickerDescriptorUnit): number[] {\n const descriptor = this.timePickerDescriptors.find(\n (descriptor) => descriptor.unit === unit\n );\n return descriptor ? descriptor.numberArray : [];\n }\n\n private isSelected(unit: TimePickerDescriptorUnit, number: number): boolean {\n return this.formattedTime![unit] === String(number);\n }\n\n private select(unit: TimePickerDescriptorUnit, number: number) {\n this.formattedTime = {\n ...this.formattedTime!,\n [unit]: String(number),\n };\n\n this.timeUpdate(unit, number);\n this.elementListScrollToTop(unit, number, 'smooth');\n this.timeChange.emit(this._time!.toFormat(this.format));\n }\n\n private elementListScrollToTop(\n unit: TimePickerDescriptorUnit,\n number: number,\n scrollBehaviour: 'smooth' | 'instant'\n ) {\n const elementList = this.getElementList(unit);\n const elementContainer = this.getElementContainer(unit, number);\n\n if (elementList && elementContainer) {\n const elementListHeight = elementList.clientHeight;\n const elementContainerHeight = elementContainer.clientHeight;\n\n // Offset which is used to adjust the scroll position to account for margins, elements being hidden, etc.\n let scrollPositionOffset = 15;\n if (this.hideHeader) {\n // 74 --> height of the header container\n scrollPositionOffset -= 74;\n }\n\n const scrollPosition =\n elementContainer.offsetTop -\n elementListHeight / 2 +\n elementContainerHeight / 2 -\n scrollPositionOffset;\n\n elementList.scrollTo({\n top: scrollPosition,\n behavior: scrollBehaviour,\n });\n }\n }\n\n /**\n * Updates all scroll positions of the time picker elements\n * Updates only the elements that have changed if `formattedTimeOld` is provided\n */\n private updateScrollPositions(\n formattedTimeOld: TimeOutputFormat | undefined = undefined\n ) {\n for (const key in this.formattedTime) {\n const unitKey = key as keyof TimeOutputFormat;\n\n if (\n !formattedTimeOld ||\n this.formattedTime[unitKey] !== formattedTimeOld[unitKey]\n ) {\n this.elementListScrollToTop(\n unitKey as TimePickerDescriptorUnit,\n Number(this.formattedTime[unitKey]),\n 'instant'\n );\n }\n }\n }\n\n private formatUnitValue(\n unit: TimePickerDescriptorUnit,\n value: number\n ): string {\n if (unit === 'millisecond') {\n return value.toString().padStart(3, '0');\n }\n\n return value < 10 ? `0${value}` : value.toString();\n }\n\n private getColumnSeparator(currentIndex: number): string {\n if (currentIndex + 1 < this.timePickerDescriptors.length) {\n const nextUnit = this.timePickerDescriptors[currentIndex + 1].unit;\n return nextUnit === 'millisecond' ? '.' : ':';\n }\n\n return ':';\n }\n\n private getElementContainerTabIndex(\n number: number,\n descriptorUnit: TimePickerDescriptorUnit\n ): string {\n return number === this.focusedValue && descriptorUnit === this.focusedUnit\n ? '0'\n : '-1';\n }\n\n private getConfirmButtonText(): string {\n if (this.i18nConfirmTime !== CONFIRM_BUTTON_DEFAULT) {\n return this.i18nConfirmTime;\n }\n\n if (this.textSelectTime !== CONFIRM_BUTTON_DEFAULT) {\n return this.textSelectTime;\n }\n\n return this.i18nConfirmTime;\n }\n\n private getHeaderText(): string {\n if (this.i18nHeader !== HEADER_DEFAULT) {\n return this.i18nHeader;\n }\n\n if (this.textTime != HEADER_DEFAULT) {\n return this.textTime;\n }\n\n return this.i18nHeader;\n }\n\n render() {\n return (\n <Host>\n <ix-date-time-card\n standaloneAppearance={this.standaloneAppearance}\n timePickerAppearance={true}\n corners={this.corners}\n hasFooter={true}\n hideHeader={this.hideHeader}\n >\n <div class=\"header\" slot=\"header\">\n <ix-typography format=\"h5\">{this.getHeaderText()}</ix-typography>\n </div>\n <div class=\"clock\">\n {this.timePickerDescriptors.map((descriptor, index: number) => (\n <div class=\"flex\">\n <div class={{ columns: true, hidden: descriptor.hidden }}>\n <div class=\"column-header\" title={descriptor.header}>\n {descriptor.header}\n </div>\n <div\n data-element-list-id={descriptor.unit}\n class=\"element-list\"\n tabIndex={-1}\n >\n {descriptor.numberArray.map((number) => (\n <button\n data-element-container-id={`${descriptor.unit}-${number}`}\n class={{\n selected: this.isSelected(descriptor.unit, number),\n 'element-container': true,\n }}\n onClick={() => this.select(descriptor.unit, number)}\n onFocus={() => {\n this.focusedUnit = descriptor.unit;\n this.focusedValue = number;\n this.onUnitCellFocus();\n }}\n onBlur={() => this.onUnitCellBlur()}\n tabindex={this.getElementContainerTabIndex(\n number,\n descriptor.unit\n )}\n role=\"button\"\n aria-label={`${descriptor.header}: ${number}`}\n >\n {this.formatUnitValue(descriptor.unit, number)}\n </button>\n ))}\n <div class=\"element-list-padding\"></div>\n </div>\n </div>\n\n {index !== this.timePickerDescriptors.length - 1 && (\n <div\n class={{\n 'column-seperator': true,\n hidden: descriptor.hidden,\n }}\n >\n {this.getColumnSeparator(index)}\n </div>\n )}\n </div>\n ))}\n </div>\n\n <div\n class={{\n footer: true,\n 'footer--compact': this.timePickerDescriptors.length <= 2,\n }}\n slot=\"footer\"\n >\n {this.timeRef && (\n <div\n class={{\n 'time-ref-buttons': true,\n 'time-ref-buttons--datetime-picker-appearance':\n this.dateTimePickerAppearance,\n }}\n >\n <button\n data-am-pm-id=\"AM\"\n class={{ selected: this.timeRef === 'AM' }}\n onClick={() => this.changeTimeReference('AM')}\n >\n AM\n </button>\n <button\n data-am-pm-id=\"PM\"\n class={{ selected: this.timeRef === 'PM' }}\n onClick={() => this.changeTimeReference('PM')}\n >\n PM\n </button>\n </div>\n )}\n {!this.dateTimePickerAppearance && (\n <ix-button\n class=\"confirm-button\"\n onClick={() => {\n this.timeSelect.emit(this._time?.toFormat(this.format));\n }}\n >\n {this.getConfirmButtonText()}\n </ix-button>\n )}\n </div>\n </ix-date-time-card>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;AAAA,MAAM,aAAa,GAAG,4+oBAA4+oB;;ACAlgpB;;;;;;;AAOG;;;;;;;;;;;AAkCH,MAAM,qBAAqB,GAAG;;AAE5B,IAAA,KAAK,EAAE,0DAA0D;;AAEjE,IAAA,OAAO,EAAE,sCAAsC;;AAE/C,IAAA,OAAO,EAAE,kCAAkC;;AAE3C,IAAA,YAAY,EAAE,oBAAoB;CACnC;AAED,MAAM,qBAAqB,GAAG,CAAC;AAC/B,MAAM,uBAAuB,GAAG,CAAC;AACjC,MAAM,uBAAuB,GAAG,CAAC;AACjC,MAAM,4BAA4B,GAAG,GAAG;AAExC,MAAM,sBAAsB,GAAG,SAAS;AACxC,MAAM,cAAc,GAAG,MAAM;AAE7B,MAAM,oBAAoB,GAAqB;AAC7C,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,MAAM,EAAE,EAAE;AACV,IAAA,WAAW,EAAE,EAAE;CAChB;MAOY,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;AAQE;;;;AAIG;AACK,QAAA,IAAM,CAAA,MAAA,GAAW,IAAI;AAW7B;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAsB,SAAS;AAE9C;;AAEG;AACK,QAAA,IAAoB,CAAA,oBAAA,GAAY,IAAI;AAE5C;;AAEG;AACK,QAAA,IAAwB,CAAA,wBAAA,GAAY,KAAK;AAEjD;;;;AAIG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAG,IAAI;AAEvB;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI;AAE1B;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAAG,IAAI;AAE1B;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAEnC;;;;AAIG;AACsB,QAAA,IAAY,CAAA,YAAA,GAAW,qBAAqB;AAgBrE;;;;AAIG;AACsB,QAAA,IAAc,CAAA,cAAA,GAAW,uBAAuB;AAYzE;;;;AAIG;AACsB,QAAA,IAAc,CAAA,cAAA,GAAW,uBAAuB;AAYzE;;;;AAIG;AACsB,QAAA,IAAmB,CAAA,mBAAA,GAC1C,4BAA4B;AAkB9B;;;AAGG;AACK,QAAA,IAAA,CAAA,IAAI,GAAW,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAmB3D;;;;AAIG;AACK,QAAA,IAAc,CAAA,cAAA,GAAG,sBAAsB;AAE/C;;AAEG;AACuC,QAAA,IAAe,CAAA,eAAA,GACvD,sBAAsB;AAExB;;;;AAIG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,cAAc;AAEzC;;AAEG;AACiC,QAAA,IAAU,CAAA,UAAA,GAAW,cAAc;AAEvE;;AAEG;AACwC,QAAA,IAAoB,CAAA,oBAAA,GAC7D,IAAI;AAEN;;AAEG;;AAGH,QAAA,IAAsB,CAAA,sBAAA,GAAW,KAAK;AAEtC;;AAEG;;AAGH,QAAA,IAAsB,CAAA,sBAAA,GAAW,KAAK;AAEtC;;AAEG;;AAGH,QAAA,IAA2B,CAAA,2BAAA,GAAW,IAAI;AA+BzB,QAAA,IAAa,CAAA,aAAA,GAAqB,oBAAoB;AACtD,QAAA,IAAqB,CAAA,qBAAA,GAA2B,EAAE;AAClD,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK;AAC9B,QAAA,IAAW,CAAA,WAAA,GAA6B,MAAM;AAC9C,QAAA,IAAY,CAAA,YAAA,GAAW,CAAC;AAGjC,QAAA,IAAoB,CAAA,oBAAA,GAAoB,OAAO;AAuqBxD;AAz5BC,IAAA,8BAA8B,CAAC,QAAgB,EAAA;QAC7C,IAAI,CAAC,QAAQ,EAAE;YACb;;QAGF,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,qBAAqB,EAAE;;AAqD9B,IAAA,4BAA4B,CAAC,QAAgB,EAAA;AAC3C,QAAA,IACE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC1B,YAAA,QAAQ,IAAI,CAAC;AACb,YAAA,QAAQ,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,CAAC,EACpC;YACA,IAAI,CAAC,wBAAwB,EAAE;YAC/B;;AAGF,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC;AACzC,QAAA,IAAI,CAAC,YAAY,GAAG,qBAAqB;;AAU3C,IAAA,8BAA8B,CAAC,QAAgB,EAAA;QAC7C,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,wBAAwB,EAAE;YAC/B;;AAGF,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,GAAG,uBAAuB;;AAU/C,IAAA,8BAA8B,CAAC,QAAgB,EAAA;QAC7C,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,wBAAwB,EAAE;YAC/B;;AAGF,QAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC3C,QAAA,IAAI,CAAC,cAAc,GAAG,uBAAuB;;AAW/C,IAAA,mCAAmC,CAAC,QAAgB,EAAA;QAClD,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,GAAG,EAAE;YACpC,IAAI,CAAC,wBAAwB,EAAE;YAC/B;;AAGF,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,QAAQ,CAAC;AAChD,QAAA,IAAI,CAAC,mBAAmB,GAAG,4BAA4B;;IAGjD,kBAAkB,CAAC,YAAoB,EAAE,KAAa,EAAA;QAC5D,OAAO,CAAC,KAAK,CACX,CAAA,MAAA,EAAS,KAAK,CAAqB,kBAAA,EAAA,YAAY,CAAqC,mCAAA,CAAA,CACrF;;AAUH,IAAA,oBAAoB,CAAC,QAAgB,EAAA;AACnC,QAAA,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC;AAC7D,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACvB,YAAA,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC;;AAG3D,QAAA,IAAI,CAAC,KAAK,GAAG,UAAU;;AAwEzB;;AAEG;AAEH,IAAA,MAAM,cAAc,GAAA;;AAClB,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;IAK1C,YAAY,GAAA;AACV,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa;QAC3C,IAAI,CAAC,UAAU,EAAE;AACjB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAE5C,QAAA,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;;IAa9C,iBAAiB,GAAA;QACf,IAAI,CAAC,UAAU,EAAE;;IAGX,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;AAExD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACvB,YAAA,OAAO,CAAC,KAAK,CACX,CAA4F,yFAAA,EAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAA,CAAE,CACzJ;AAED,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE;;QAG7B,IAAI,CAAC,UAAU,EAAE;QACjB,IAAI,CAAC,wBAAwB,EAAE;QAC/B,IAAI,CAAC,6BAA6B,EAAE;AAEpC,QAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC;AACpD,QAAA,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,CAAC;AACxD,QAAA,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,CAAC;AACxD,QAAA,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,mBAAmB,CAAC;;IAGpE,gBAAgB,GAAA;QACd,IAAI,CAAC,qBAAqB,EAAE;QAC5B,IAAI,CAAC,uBAAuB,EAAE;;IAGhC,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAC/C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,CAClB;YACD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;YAEzD,IAAI,gBAAgB,EAAE;gBACpB,gBAAgB,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;gBAE/C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE;oBACzD,gBAAgB,CAAC,cAAc,CAAC;wBAC9B,KAAK,EAAE,IAAI,CAAC,oBAAoB;AACjC,qBAAA,CAAC;AAEF,oBAAA,IAAI,IAAI,CAAC,oBAAoB,KAAK,KAAK,EAAE;AACvC,wBAAA,WAAW,CAAC,SAAS,IAAI,CAAC;;yBACrB;AACL,wBAAA,WAAW,CAAC,SAAS,IAAI,CAAC;;;;;;IAOpC,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE;;;AAKxC,IAAA,aAAa,CAAC,KAAoB,EAAA;AAChC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB;;AAGF,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY;QAChC,IAAI,oBAAoB,GAAG,IAAI;AAC/B,QAAA,IAAI,gBAAgB;AAEpB,QAAA,QAAQ,IAAI,CAAC,WAAW;AACtB,YAAA,KAAK,MAAM;AACT,gBAAA,gBAAgB,GAAG,IAAI,CAAC,YAAY;gBACpC;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc;gBACtC;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,gBAAgB,GAAG,IAAI,CAAC,cAAc;gBACtC;AACF,YAAA,KAAK,aAAa;AAChB,gBAAA,gBAAgB,GAAG,IAAI,CAAC,mBAAmB;gBAC3C;;AAGJ,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,KAAK;;gBAER,oBAAoB,GAAG,KAAK;gBAC5B,IAAI,CAAC,6BAA6B,EAAE;gBACpC;AAEF,YAAA,KAAK,SAAS;gBACZ,QAAQ,IAAI,gBAAgB;AAC5B,gBAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO;AACnC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACjC;AAEF,YAAA,KAAK,WAAW;gBACd,QAAQ,IAAI,gBAAgB;AAC5B,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;AACjC,gBAAA,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC;gBACjC;AAEF,YAAA,KAAK,WAAW;AACd,gBAAA,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC;gBAChC;AAEF,YAAA,KAAK,YAAY;AACf,gBAAA,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;gBAC/B;AAEF,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,GAAG;gBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC;gBAChD;AAEF,YAAA;gBACE;;QAGJ,IAAI,oBAAoB,EAAE;YACxB,KAAK,CAAC,cAAc,EAAE;;;IAI1B,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK;;IAG5B,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI;;AAGnB,IAAA,cAAc,CAAC,IAA8B,EAAA;;AACnD,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,aAAa,CAC/C,CAAA,uBAAA,EAA0B,IAAI,CAAA,EAAA,CAAI,CACjB;;IAGb,mBAAmB,CACzB,IAA8B,EAC9B,MAAc,EAAA;;AAEd,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,UAAU,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,aAAa,CAC/C,+BAA+B,IAAI,CAAA,CAAA,EAAI,MAAM,CAAA,EAAA,CAAI,CAChC;;IAGb,gBAAgB,CACtB,OAAoB,EACpB,SAAsB,EAAA;AAEtB,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE;AACnD,QAAA,MAAM,aAAa,GAAG,SAAS,CAAC,qBAAqB,EAAE;AAEvD,QAAA,QACE,WAAW,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG;AACpC,YAAA,WAAW,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM;;AAItC,IAAA,kBAAkB,CAAC,KAAa,EAAA;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC;QAChE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;AACpD,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;AAE/B,QAAA,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,KAAK,GAAG,QAAQ;AAChB,YAAA,IAAI,CAAC,oBAAoB,GAAG,OAAO;;AAC9B,aAAA,IAAI,KAAK,GAAG,QAAQ,EAAE;YAC3B,KAAK,GAAG,QAAQ;AAChB,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;;AAGnC,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK;;AAGnB,IAAA,uBAAuB,CAAC,SAAiB,EAAA;QAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAC3D,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CACnC;AACD,QAAA,MAAM,YAAY,GAAG,gBAAgB,GAAG,SAAS;;AAGjD,QAAA,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;YACzE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,IAAI;YAE7D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAEzD,YAAA,IAAI,CAAC,WAAW,GAAG,OAAO;AAC1B,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC;;;IAIlC,6BAA6B,GAAA;AACnC,QAAA,MAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAC5D,CAAC,UAAU,KAAK,CAAC,UAAU,CAAC,MAAM,CACnC;QACD,IAAI,CAAC,sBAAsB,EAAE;YAC3B;;AAGF,QAAA,MAAM,aAAa,GAAG,MAAM,CAC1B,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAChD;QACD,MAAM,gBAAgB,GACpB,sBAAsB,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;QAE5D,IAAI,CAAC,YAAY,GAAG;AAClB,cAAE;AACF,cAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC;AAEzC,QAAA,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC,IAAI;;IAGxC,uBAAuB,GAAA;AAC7B,QAAA,IAAI,eAAe,GAAmB,IAAI,CAAC,WAAW;QACtD,OAAO,eAAe,IAAI,eAAe,CAAC,OAAO,KAAK,aAAa,EAAE;AACnE,YAAA,eAAe,GAAG,eAAe,CAAC,aAAa;;QAGjD,IAAI,CAAC,eAAe,EAAE;YACpB;;AAGF,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,KACvD,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CACzC;AAED,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE;AAC/C,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AACpC,SAAA,CAAC;;AAGI,IAAA,wBAAwB,CAAC,SAA2B,EAAA;AAC1D,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,YAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;gBAClC;;AAGF,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAqB;YAE/C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;;AAExC,gBAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBACxD,IAAI,CAAC,6BAA6B,EAAE;gBAEpC;;AAGF,YAAA,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,EAAE;YAChD,IAAI,CAAC,aAAa,EAAE;gBAClB;;YAGF,IAAI,CAAC,qBAAqB,EAAE;;;IAIxB,mBAAmB,GAAA;;AACzB,QAAA,MAAM,YAAY,GAChB,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,CAAC,UAAU,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,eAAe,CAAC;QAEhE,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9C,YAAA,OAAO,KAAK;;QAGd,OAAO,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAClC,CAAC,IAAI,KAAM,IAAoB,CAAC,YAAY,GAAG,CAAC,CACjD;;IAGK,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,OAAO,oBAAoB;;QAG7B,OAAO;AACL,YAAA,IAAI,EACF,IAAI,CAAC,OAAO,KAAK;kBACb,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;kBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;SACtC;;IAGK,UAAU,CAAC,IAA8B,EAAE,KAAa,EAAA;;AAC9D,QAAA,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AAEpD,QAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACnB,YAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;;AAEzB,gBAAA,KAAK,GAAG,KAAK,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,EAAE;;AACjC,iBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE;;AAEhC,gBAAA,KAAK,GAAG,KAAK,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK;gBAChC,QAAQ,GAAG,EAAE;;;AAIjB,QAAA,IAAI,KAAK,GAAG,QAAQ,EAAE;YACpB,KAAK,GAAG,QAAQ;;AACX,aAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACpB,KAAK,GAAG,CAAC;;AAGX,QAAA,IAAI,CAAC,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,KAAK,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,GAAG,CAAC;YAC3B,CAAC,IAAI,GAAG,KAAK;AACd,SAAA,CAAC;AACF,QAAA,OAAO,KAAK;;AAGN,IAAA,mBAAmB,CAAC,UAAuB,EAAA;AACjD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf;;AAGF,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE;YAC/B;;AAGF,QAAA,IAAI,CAAC,OAAO,GAAG,UAAU;AACzB,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI;QAEnC,IAAI,UAAU,KAAK,IAAI,IAAI,WAAW,GAAG,EAAE,EAAE;AAC3C,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;;aACtC,IAAI,UAAU,KAAK,IAAI,IAAI,WAAW,IAAI,EAAE,EAAE;AACnD,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;;AAG9C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;AAGjD,IAAA,cAAc,CAAC,MAAc,EAAA;;QAEnC,IAAI,WAAW,GAAG,EAAE;QACpB,IAAI,OAAO,GAAG,KAAK;AAEnB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtC,YAAA,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,IAAI,KAAK,GAAG,EAAE;gBAChB,OAAO,GAAG,CAAC,OAAO;;iBACb,IAAI,CAAC,OAAO,EAAE;gBACnB,WAAW,IAAI,IAAI;;;;;AAMvB,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;;IAG1B,UAAU,GAAA;QAChB,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;AAEzD,QAAA,IAAI,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;AAClC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAM,CAAC,IAAI,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;;aAC9C;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,SAAS;;;IAIpB,wBAAwB,GAAA;QAC9B,IAAI,WAAW,GAAG,EAAE;QACpB,IAAI,aAAa,GAAG,EAAE;QACtB,IAAI,aAAa,GAAG,EAAE;QACtB,IAAI,mBAAmB,GAAG,EAAE;AAE5B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,WAAW,GAAG,KAAK,CAAC,IAAI,CACtB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAC7C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CACpC,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;;aACzB;AACL,YAAA,WAAW,GAAG,KAAK,CAAC,IAAI,CACtB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,EAC7C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAChC;;AAGH,QAAA,aAAa,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAC/C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAClC;AACD,QAAA,aAAa,GAAG,KAAK,CAAC,IAAI,CACxB,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAC/C,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAClC;AACD,QAAA,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAC9B,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EACtD,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,mBAAmB,CACvC;QAED,IAAI,CAAC,qBAAqB,GAAG;AAC3B,YAAA;AACE,gBAAA,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,IAAI,CAAC,oBAAoB;AACjC,gBAAA,MAAM,EACJ,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;AAClE,gBAAA,WAAW,EAAE,WAAW;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,sBAAsB;AACnC,gBAAA,MAAM,EACJ,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;AACvE,gBAAA,WAAW,EAAE,aAAa;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,sBAAsB;AACnC,gBAAA,MAAM,EACJ,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;AACvE,gBAAA,WAAW,EAAE,aAAa;AAC3B,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAE,IAAI,CAAC,2BAA2B;gBACxC,MAAM,EAAE,CAAC,qBAAqB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC7D,gBAAA,WAAW,EAAE,mBAAmB;AACjC,aAAA;SACF;AAED,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAC5D,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CACvB;;AAGK,IAAA,qBAAqB,CAAC,IAA8B,EAAA;AAC1D,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAChD,CAAC,UAAU,KAAK,UAAU,CAAC,IAAI,KAAK,IAAI,CACzC;QACD,OAAO,UAAU,GAAG,UAAU,CAAC,WAAW,GAAG,EAAE;;IAGzC,UAAU,CAAC,IAA8B,EAAE,MAAc,EAAA;QAC/D,OAAO,IAAI,CAAC,aAAc,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC;;IAG7C,MAAM,CAAC,IAA8B,EAAE,MAAc,EAAA;AAC3D,QAAA,IAAI,CAAC,aAAa,GAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACb,IAAI,CAAC,aAAc,CACtB,EAAA,EAAA,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GACvB;AAED,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;QAC7B,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC;AACnD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;AAGjD,IAAA,sBAAsB,CAC5B,IAA8B,EAC9B,MAAc,EACd,eAAqC,EAAA;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAC7C,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC;AAE/D,QAAA,IAAI,WAAW,IAAI,gBAAgB,EAAE;AACnC,YAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY;AAClD,YAAA,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,YAAY;;YAG5D,IAAI,oBAAoB,GAAG,EAAE;AAC7B,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE;;gBAEnB,oBAAoB,IAAI,EAAE;;AAG5B,YAAA,MAAM,cAAc,GAClB,gBAAgB,CAAC,SAAS;AAC1B,gBAAA,iBAAiB,GAAG,CAAC;AACrB,gBAAA,sBAAsB,GAAG,CAAC;AAC1B,gBAAA,oBAAoB;YAEtB,WAAW,CAAC,QAAQ,CAAC;AACnB,gBAAA,GAAG,EAAE,cAAc;AACnB,gBAAA,QAAQ,EAAE,eAAe;AAC1B,aAAA,CAAC;;;AAIN;;;AAGG;IACK,qBAAqB,CAC3B,mBAAiD,SAAS,EAAA;AAE1D,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE;YACpC,MAAM,OAAO,GAAG,GAA6B;AAE7C,YAAA,IACE,CAAC,gBAAgB;gBACjB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,EACzD;AACA,gBAAA,IAAI,CAAC,sBAAsB,CACzB,OAAmC,EACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EACnC,SAAS,CACV;;;;IAKC,eAAe,CACrB,IAA8B,EAC9B,KAAa,EAAA;AAEb,QAAA,IAAI,IAAI,KAAK,aAAa,EAAE;YAC1B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;;AAG1C,QAAA,OAAO,KAAK,GAAG,EAAE,GAAG,CAAI,CAAA,EAAA,KAAK,CAAE,CAAA,GAAG,KAAK,CAAC,QAAQ,EAAE;;AAG5C,IAAA,kBAAkB,CAAC,YAAoB,EAAA;QAC7C,IAAI,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE;AACxD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI;YAClE,OAAO,QAAQ,KAAK,aAAa,GAAG,GAAG,GAAG,GAAG;;AAG/C,QAAA,OAAO,GAAG;;IAGJ,2BAA2B,CACjC,MAAc,EACd,cAAwC,EAAA;QAExC,OAAO,MAAM,KAAK,IAAI,CAAC,YAAY,IAAI,cAAc,KAAK,IAAI,CAAC;AAC7D,cAAE;cACA,IAAI;;IAGF,oBAAoB,GAAA;AAC1B,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,sBAAsB,EAAE;YACnD,OAAO,IAAI,CAAC,eAAe;;AAG7B,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,sBAAsB,EAAE;YAClD,OAAO,IAAI,CAAC,cAAc;;QAG5B,OAAO,IAAI,CAAC,eAAe;;IAGrB,aAAa,GAAA;AACnB,QAAA,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,EAAE;YACtC,OAAO,IAAI,CAAC,UAAU;;AAGxB,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,cAAc,EAAE;YACnC,OAAO,IAAI,CAAC,QAAQ;;QAGtB,OAAO,IAAI,CAAC,UAAU;;IAGxB,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CACE,CAAA,mBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,oBAAoB,EAAE,IAAI,EAC1B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,EACf,UAAU,EAAE,IAAI,CAAC,UAAU,EAAA,EAE3B,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAA,EAC/B,CAAe,CAAA,eAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,MAAM,EAAC,IAAI,EAAA,EAAE,IAAI,CAAC,aAAa,EAAE,CAAiB,CAC7D,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACf,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAa,MACxD,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,MAAM,EAAA,EACf,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAAA,EACtD,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,eAAe,EAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAA,EAChD,UAAU,CAAC,MAAM,CACd,EACN,CACwB,CAAA,KAAA,EAAA,EAAA,sBAAA,EAAA,UAAU,CAAC,IAAI,EACrC,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAE,EAAE,EAAA,EAEX,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,MACjC,CAC6B,CAAA,QAAA,EAAA,EAAA,2BAAA,EAAA,CAAG,EAAA,UAAU,CAAC,IAAI,IAAI,MAAM,CAAA,CAAE,EACzD,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;AAClD,gBAAA,mBAAmB,EAAE,IAAI;AAC1B,aAAA,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,EACnD,OAAO,EAAE,MAAK;AACZ,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,IAAI;AAClC,gBAAA,IAAI,CAAC,YAAY,GAAG,MAAM;gBAC1B,IAAI,CAAC,eAAe,EAAE;AACxB,aAAC,EACD,MAAM,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE,EACnC,QAAQ,EAAE,IAAI,CAAC,2BAA2B,CACxC,MAAM,EACN,UAAU,CAAC,IAAI,CAChB,EACD,IAAI,EAAC,QAAQ,gBACD,CAAG,EAAA,UAAU,CAAC,MAAM,CAAA,EAAA,EAAK,MAAM,CAAE,CAAA,EAE5C,EAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CACvC,CACV,CAAC,EACF,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,sBAAsB,EAAA,CAAO,CACpC,CACF,EAEL,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,KAC9C,CACE,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE;AACL,gBAAA,kBAAkB,EAAE,IAAI;gBACxB,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,EAEA,EAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAC3B,CACP,CACG,CACP,CAAC,CACE,EAEN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,iBAAiB,EAAE,IAAI,CAAC,qBAAqB,CAAC,MAAM,IAAI,CAAC;aAC1D,EACD,IAAI,EAAC,QAAQ,EAAA,EAEZ,IAAI,CAAC,OAAO,KACX,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE;AACL,gBAAA,kBAAkB,EAAE,IAAI;gBACxB,8CAA8C,EAC5C,IAAI,CAAC,wBAAwB;aAChC,EAAA,EAED,CACgB,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,eAAA,EAAA,IAAI,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,EAC1C,OAAO,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAGtC,EAAA,IAAA,CAAA,EACT,CACgB,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,eAAA,EAAA,IAAI,EAClB,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,EAC1C,OAAO,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAGtC,EAAA,IAAA,CAAA,CACL,CACP,EACA,CAAC,IAAI,CAAC,wBAAwB,KAC7B,CAAA,CAAA,WAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,MAAK;;AACZ,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,aAAC,EAAA,EAEA,IAAI,CAAC,oBAAoB,EAAE,CAClB,CACb,CACG,CACY,CACf;;;;;;;;;;;;;AAnmBX,UAAA,CAAA;IADC,UAAU,CAAa,SAAS;CAgEhC,EAAA,UAAA,CAAA,SAAA,EAAA,eAAA,EAAA,IAAA,CAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-toast-container.entry.esm.js","sources":["src/components/toast/styles/toast-container.scss?tag=ix-toast-container&encapsulation=shadow","src/components/toast/toast-container.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n}\n\n#toast-container {\n > :not(:last-child) {\n margin-block-end: $default-space;\n }\n}\n\n.toast-container {\n display: block;\n position: fixed;\n}\n\n.toast-container--top-right {\n right: 1rem;\n top: 2rem;\n}\n\n.toast-container--bottom-right {\n right: 1rem;\n bottom: 2rem;\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 { Component, h, Host, Method, Prop, Watch } from '@stencil/core';\nimport { TypedEvent } from '../utils/typed-event';\nimport { ToastConfig } from './toast-utils';\n\nexport type ShowToastResult = {\n onClose: TypedEvent<any | undefined>;\n close: (result?: any) => void;\n};\n\n@Component({\n tag: 'ix-toast-container',\n styleUrl: './styles/toast-container.scss',\n shadow: true,\n})\nexport class ToastContainer {\n /**\n */\n @Prop() containerId = 'toast-container';\n\n /**\n */\n @Prop() containerClass = 'toast-container';\n\n /**\n */\n @Prop() position: 'bottom-right' | 'top-right' = 'bottom-right';\n\n private readonly PREFIX_POSITION_CLASS = 'toast-container--';\n\n get hostContainer() {\n return new Promise<HTMLElement>((resolve) => {\n const interval = setInterval(() => {\n const containerElement = document.getElementById(this.containerId);\n if (containerElement) {\n clearInterval(interval);\n resolve(containerElement);\n }\n });\n });\n }\n\n componentDidLoad() {\n if (!document.getElementById(this.containerId)) {\n const toastContainer = document.createElement('div');\n toastContainer.id = this.containerId;\n toastContainer.classList.add(this.containerClass);\n toastContainer.classList.add(\n `${this.PREFIX_POSITION_CLASS}${this.position}`\n );\n document.body.appendChild(toastContainer);\n }\n }\n\n @Watch('position')\n onPositionChange(newPosition: string, oldPosition: string) {\n const toastContainer = document.getElementById(this.containerId);\n if (!toastContainer) {\n console.warn('No toast container found, cannot configure toast position');\n return;\n }\n toastContainer.classList.remove(\n `${this.PREFIX_POSITION_CLASS}${oldPosition}`\n );\n toastContainer.classList.add(`${this.PREFIX_POSITION_CLASS}${newPosition}`);\n }\n\n /**\n * Display a toast message\n * @param config\n */\n @Method()\n async showToast(config: ToastConfig): Promise<ShowToastResult> {\n const toast = document.createElement('ix-toast');\n const onClose = new TypedEvent<any | undefined>();\n\n function removeToast(result?: any) {\n toast.remove();\n onClose.emit(result);\n }\n\n toast.toastTitle = config.title;\n toast.type = config.type ?? 'info';\n toast.autoClose = config.autoClose ?? true;\n toast.autoCloseDelay = config.autoCloseDelay ?? 5000;\n toast.icon = config.icon;\n toast.iconColor = config.iconColor;\n toast.addEventListener(\n 'closeToast',\n (event: CustomEvent<any | undefined>) => {\n const { detail } = event;\n removeToast(detail);\n }\n );\n\n if (typeof config.message === 'string') {\n toast.innerText = config.message;\n } else {\n toast.appendChild(config.message);\n }\n\n (await this.hostContainer).appendChild(toast);\n\n return {\n onClose,\n close: (result?: any) => {\n removeToast(result);\n },\n };\n }\n\n render() {\n return (\n <Host\n class={{\n 'toast-container--bottom-right': this.position === 'bottom-right',\n 'toast-container--top-right': this.position === 'top-right',\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ix-toast-container.entry.esm.js","sources":["src/components/toast/styles/toast-container.scss?tag=ix-toast-container&encapsulation=shadow","src/components/toast/toast-container.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 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n}\n\n#toast-container {\n > :not(:last-child) {\n margin-block-end: $default-space;\n }\n}\n\n.toast-container {\n display: block;\n position: fixed;\n}\n\n.toast-container--top-right {\n right: 1rem;\n top: 2rem;\n}\n\n.toast-container--bottom-right {\n right: 1rem;\n bottom: 2rem;\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 { Component, h, Host, Method, Prop, Watch } from '@stencil/core';\nimport { TypedEvent } from '../utils/typed-event';\nimport { ToastConfig } from './toast-utils';\nimport type { ShowToastResult } from './toast-container.types';\n\n@Component({\n tag: 'ix-toast-container',\n styleUrl: './styles/toast-container.scss',\n shadow: true,\n})\nexport class ToastContainer {\n /**\n */\n @Prop() containerId = 'toast-container';\n\n /**\n */\n @Prop() containerClass = 'toast-container';\n\n /**\n */\n @Prop() position: 'bottom-right' | 'top-right' = 'bottom-right';\n\n private readonly PREFIX_POSITION_CLASS = 'toast-container--';\n\n get hostContainer() {\n return new Promise<HTMLElement>((resolve) => {\n const interval = setInterval(() => {\n const containerElement = document.getElementById(this.containerId);\n if (containerElement) {\n clearInterval(interval);\n resolve(containerElement);\n }\n });\n });\n }\n\n componentDidLoad() {\n if (!document.getElementById(this.containerId)) {\n const toastContainer = document.createElement('div');\n toastContainer.id = this.containerId;\n toastContainer.classList.add(this.containerClass);\n toastContainer.classList.add(\n `${this.PREFIX_POSITION_CLASS}${this.position}`\n );\n document.body.appendChild(toastContainer);\n }\n }\n\n @Watch('position')\n onPositionChange(newPosition: string, oldPosition: string) {\n const toastContainer = document.getElementById(this.containerId);\n if (!toastContainer) {\n console.warn('No toast container found, cannot configure toast position');\n return;\n }\n toastContainer.classList.remove(\n `${this.PREFIX_POSITION_CLASS}${oldPosition}`\n );\n toastContainer.classList.add(`${this.PREFIX_POSITION_CLASS}${newPosition}`);\n }\n\n /**\n * Display a toast message\n * @param config\n */\n @Method()\n async showToast(config: ToastConfig): Promise<ShowToastResult> {\n const toast = document.createElement('ix-toast');\n const onClose = new TypedEvent<any | undefined>();\n\n function removeToast(result?: any) {\n toast.remove();\n onClose.emit(result);\n }\n\n toast.toastTitle = config.title;\n toast.type = config.type ?? 'info';\n toast.autoClose = config.autoClose ?? true;\n toast.autoCloseDelay = config.autoCloseDelay ?? 5000;\n toast.icon = config.icon;\n toast.iconColor = config.iconColor;\n toast.addEventListener(\n 'closeToast',\n (event: CustomEvent<any | undefined>) => {\n const { detail } = event;\n removeToast(detail);\n }\n );\n\n if (typeof config.message === 'string') {\n toast.innerText = config.message;\n } else {\n toast.appendChild(config.message);\n }\n\n (await this.hostContainer).appendChild(toast);\n\n return {\n onClose,\n close: (result?: any) => {\n removeToast(result);\n },\n };\n }\n\n render() {\n return (\n <Host\n class={{\n 'toast-container--bottom-right': this.position === 'bottom-right',\n 'toast-container--top-right': this.position === 'top-right',\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ix-typography.entry.esm.js","sources":["src/components/typography/typography.scss?tag=ix-typography&encapsulation=shadow","src/components/typography/typography.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 'legacy/mixins/fonts';\n@import 'components/fonts';\n@import 'mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n}\n\n:host(.text-xs) {\n @include text-xs;\n}\n\n:host(.text-s) {\n @include text-s;\n}\n\n:host(.text-caption) {\n @include text-caption;\n}\n\n:host(.text-caption-single) {\n @include text-caption-single;\n}\n\n:host(.text-default) {\n @include text-default;\n}\n\n:host(.text-default-single) {\n @include text-default-single;\n}\n\n:host(.text-default-title) {\n @include text-default-title;\n}\n\n:host(.text-default-title-single) {\n @include text-default-title-single;\n}\n\n:host(.text-l) {\n @include text-l;\n}\n\n:host(.text-l-single) {\n @include text-l-single;\n}\n\n:host(.text-l-title) {\n @include text-l-title;\n}\n\n:host(.text-l-title-single) {\n @include text-l-title-single;\n}\n\n:host(.text-h2) {\n @include text-h2;\n}\n\n:host(.text-xl) {\n @include text-xl;\n}\n\n$typography-formats: label, label-xs, label-sm, label-lg, body, body-xs, body-sm,\n body-lg, display, display-xs, display-sm, display-lg, display-xl, display-xxl,\n h6, h5, h4, h3, h2, h1, code, code-sm, code-lg;\n\n@each $format in $typography-formats {\n :host(.typography-#{$format}) {\n @extend .typography-#{$format};\n }\n}\n\n$typography-decoration: none, underline, line-through;\n@each $decoration in $typography-decoration {\n :host(.typography-decoration-#{$decoration}) {\n @extend .typography-decoration-#{$decoration};\n }\n}\n\n:host(.typography-weight-bold) {\n @extend .typography-weight-bold;\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, h, Host, Prop } from '@stencil/core';\n\nexport type TypographyVariants =\n | 'x-small'\n | 'small'\n | 'caption'\n | 'caption-single'\n | 'default'\n | 'default-single'\n | 'default-title'\n | 'default-title-single'\n | 'large'\n | 'large-single'\n | 'large-title'\n | 'large-title-single'\n | 'h2'\n | 'display-large';\n\nexport type TypographyColors =\n | 'alarm'\n | 'alarm-contrast'\n | 'contrast'\n | 'critical-contrast'\n | 'info-contrast'\n | 'inv-contrast'\n | 'inv-soft'\n | 'inv-std'\n | 'inv-weak'\n | 'neutral-contrast'\n | 'primary-contrast'\n | 'soft'\n | 'std'\n | 'success-contrast'\n | 'warning-contrast'\n | 'weak';\n\ntype TypographyFormatLabel = 'label' | 'label-xs' | 'label-sm' | 'label-lg';\ntype TypographyFormatBody = 'body' | 'body-xs' | 'body-sm' | 'body-lg';\ntype TypographyFormatDisplay =\n | 'display'\n | 'display-xs'\n | 'display-sm'\n | 'display-lg'\n | 'display-xl'\n | 'display-xxl';\ntype TypographyFormatHeading = 'h6' | 'h5' | 'h4' | 'h3' | 'h2' | 'h1';\ntype TypographyFormatCode = 'code' | 'code-sm' | 'code-lg';\n\nexport type TypographyFormat =\n | TypographyFormatLabel\n | TypographyFormatBody\n | TypographyFormatDisplay\n | TypographyFormatHeading\n | TypographyFormatCode;\n\nexport type TextDecoration = 'none' | 'underline' | 'line-through';\n\n@Component({\n tag: 'ix-typography',\n styleUrl: 'typography.scss',\n shadow: true,\n})\nexport class IxTypography {\n /**\n * Text format\n */\n @Prop() format?: TypographyFormat;\n\n /**\n * Text color based on theme variables\n */\n @Prop() textColor?: TypographyColors;\n\n /**\n * Display text bold\n */\n @Prop() bold = false;\n\n /**\n * Text decoration\n */\n @Prop() textDecoration: TextDecoration = 'none';\n\n private static getTextColor(color: TypographyColors) {\n if (color.startsWith('inv-') || !color.endsWith('-contrast')) {\n return `var(--theme-color-${color}-text)`;\n }\n\n return `var(--theme-color-${color.replace('-', '--')})`;\n }\n\n render() {\n let typographyClass: Record<string, boolean> = {};\n typographyClass[`typography-${this.format ?? 'body'}`] = true;\n\n if (this.textDecoration !== 'none') {\n typographyClass[`typography-decoration-${this.textDecoration}`] = true;\n }\n\n typographyClass['typography-weight-bold'] = this.bold;\n\n let style = {};\n\n if (this.textColor) {\n style = {\n color: IxTypography.getTextColor(this.textColor),\n };\n }\n\n return (\n <Host class={typographyClass} style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,aAAa,GAAG,+2bAA+2b;;MCuEx3b,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAgBE;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AAEpB;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAmB,MAAM;AAkChD;IAhCS,OAAO,YAAY,CAAC,KAAuB,EAAA;AACjD,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5D,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAA,MAAA,CAAQ;;QAG3C,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA,CAAA,CAAG;;IAGzD,MAAM,GAAA;;QACJ,IAAI,eAAe,GAA4B,EAAE;AACjD,QAAA,eAAe,CAAC,CAAA,WAAA,EAAc,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,MAAM,CAAE,CAAA,CAAC,GAAG,IAAI;AAE7D,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YAClC,eAAe,CAAC,yBAAyB,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC,GAAG,IAAI;;AAGxE,QAAA,eAAe,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI;QAErD,IAAI,KAAK,GAAG,EAAE;AAEd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,KAAK,GAAG;gBACN,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;aACjD;;AAGH,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAA,EACxC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;"}
1
+ {"version":3,"file":"ix-typography.entry.esm.js","sources":["src/components/typography/typography.scss?tag=ix-typography&encapsulation=shadow","src/components/typography/typography.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 'legacy/mixins/fonts';\n@import 'components/fonts';\n@import 'mixins/fonts';\n\n:host {\n @include ix-component;\n\n display: block;\n position: relative;\n}\n\n:host(.text-xs) {\n @include text-xs;\n}\n\n:host(.text-s) {\n @include text-s;\n}\n\n:host(.text-caption) {\n @include text-caption;\n}\n\n:host(.text-caption-single) {\n @include text-caption-single;\n}\n\n:host(.text-default) {\n @include text-default;\n}\n\n:host(.text-default-single) {\n @include text-default-single;\n}\n\n:host(.text-default-title) {\n @include text-default-title;\n}\n\n:host(.text-default-title-single) {\n @include text-default-title-single;\n}\n\n:host(.text-l) {\n @include text-l;\n}\n\n:host(.text-l-single) {\n @include text-l-single;\n}\n\n:host(.text-l-title) {\n @include text-l-title;\n}\n\n:host(.text-l-title-single) {\n @include text-l-title-single;\n}\n\n:host(.text-h2) {\n @include text-h2;\n}\n\n:host(.text-xl) {\n @include text-xl;\n}\n\n$typography-formats: label, label-xs, label-sm, label-lg, body, body-xs, body-sm,\n body-lg, display, display-xs, display-sm, display-lg, display-xl, display-xxl,\n h6, h5, h4, h3, h2, h1, code, code-sm, code-lg;\n\n@each $format in $typography-formats {\n :host(.typography-#{$format}) {\n @extend .typography-#{$format};\n }\n}\n\n$typography-decoration: none, underline, line-through;\n@each $decoration in $typography-decoration {\n :host(.typography-decoration-#{$decoration}) {\n @extend .typography-decoration-#{$decoration};\n }\n}\n\n:host(.typography-weight-bold) {\n @extend .typography-weight-bold;\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, h, Host, Prop } from '@stencil/core';\nimport type {\n TypographyFormat,\n TextDecoration,\n TypographyColors,\n} from './typography.types';\n\n@Component({\n tag: 'ix-typography',\n styleUrl: 'typography.scss',\n shadow: true,\n})\nexport class IxTypography {\n /**\n * Text format\n */\n @Prop() format?: TypographyFormat;\n\n /**\n * Text color based on theme variables\n */\n @Prop() textColor?: TypographyColors;\n\n /**\n * Display text bold\n */\n @Prop() bold = false;\n\n /**\n * Text decoration\n */\n @Prop() textDecoration: TextDecoration = 'none';\n\n private static getTextColor(color: TypographyColors) {\n if (color.startsWith('inv-') || !color.endsWith('-contrast')) {\n return `var(--theme-color-${color}-text)`;\n }\n\n return `var(--theme-color-${color.replace('-', '--')})`;\n }\n\n render() {\n let typographyClass: Record<string, boolean> = {};\n typographyClass[`typography-${this.format ?? 'body'}`] = true;\n\n if (this.textDecoration !== 'none') {\n typographyClass[`typography-decoration-${this.textDecoration}`] = true;\n }\n\n typographyClass['typography-weight-bold'] = this.bold;\n\n let style = {};\n\n if (this.textColor) {\n style = {\n color: IxTypography.getTextColor(this.textColor),\n };\n }\n\n return (\n <Host class={typographyClass} style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,aAAa,GAAG,+2bAA+2b;;MCqBx3b,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAgBE;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAG,KAAK;AAEpB;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAmB,MAAM;AAkChD;IAhCS,OAAO,YAAY,CAAC,KAAuB,EAAA;AACjD,QAAA,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YAC5D,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAA,MAAA,CAAQ;;QAG3C,OAAO,CAAA,kBAAA,EAAqB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA,CAAA,CAAG;;IAGzD,MAAM,GAAA;;QACJ,IAAI,eAAe,GAA4B,EAAE;AACjD,QAAA,eAAe,CAAC,CAAA,WAAA,EAAc,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,EAAA,GAAA,MAAM,CAAE,CAAA,CAAC,GAAG,IAAI;AAE7D,QAAA,IAAI,IAAI,CAAC,cAAc,KAAK,MAAM,EAAE;YAClC,eAAe,CAAC,yBAAyB,IAAI,CAAC,cAAc,CAAE,CAAA,CAAC,GAAG,IAAI;;AAGxE,QAAA,eAAe,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,IAAI;QAErD,IAAI,KAAK,GAAG,EAAE;AAEd,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,KAAK,GAAG;gBACN,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;aACjD;;AAGH,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAA,EACxC,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ import{h as t}from"./p-DJsXFBNm.js";import{B as r}from"./p-_tyNUrlp.js";function o(o){return t(r,Object.assign({},o,{type:"button"}))}export{o as B};
2
+ //# sourceMappingURL=p--JQiLjHw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-BaslXuvq.js","sources":["src/components/icon-button/base-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\nimport { h } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\n\nexport function BaseIconButton(props: Omit<BaseButtonProps, 'type'>) {\n return <BaseButton {...props} type=\"button\"></BaseButton>;\n}\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAOG;AAKG,SAAU,cAAc,CAAC,KAAoC,EAAA;IACjE,OAAO,CAAA,CAAC,UAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,IAAE,IAAI,EAAC,QAAQ,EAAA,CAAA,CAAc;AAC3D;;;;"}
1
+ {"version":3,"file":"p--JQiLjHw.js","sources":["src/components/icon-button/base-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\nimport { h } from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\n\nexport function BaseIconButton(props: Omit<BaseButtonProps, 'type'>) {\n return <BaseButton {...props} type=\"button\"></BaseButton>;\n}\n"],"names":[],"mappings":";;;AAAA;;;;;;;AAOG;AAKG,SAAU,cAAc,CAAC,KAAoC,EAAA;IACjE,OAAO,CAAA,CAAC,UAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,IAAE,IAAI,EAAC,QAAQ,EAAA,CAAA,CAAc;AAC3D;;;;"}
@@ -1,2 +1,2 @@
1
- import{r as o,h as t,H as r,a as e}from"./p-B6NtGPRE.js";import{m as n}from"./p-bcj7UEIC.js";const i=":host{display:inline-block;position:relative;height:1.25rem;max-height:1.25rem;margin-left:0.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}.container{display:inline-flex;width:inherit;box-sizing:border-box;position:relative;align-items:center;border-radius:100px;padding:0.5rem;height:2rem;max-height:2rem;cursor:default}.container .content-wrapper{display:inline-flex;align-items:center;flex:1;min-width:0}.container .with-icon{margin-right:0.25rem}.container .close-button-container{display:inline-flex;margin-left:auto;padding-left:0.5rem}.container .slot-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.centerContent .content-wrapper{justify-content:center;text-align:center}.container.outline.icon{padding-left:calc(0.75rem - 1px)}.container.outline.icon.alarm .with-icon{color:var(--theme-color-alarm)}.container.outline.icon.critical .with-icon{color:var(--theme-color-critical)}.container.outline.icon.warning .with-icon{color:var(--theme-color-warning)}.container.outline.icon.info .with-icon{color:var(--theme-color-info)}.container.outline.icon.neutral .with-icon{color:var(--theme-color-neutral)}.container.outline.icon.success .with-icon{color:var(--theme-color-success)}.container.outline:not(.icon){padding-left:calc(0.5rem - 1px)}.container.outline.closable:not(.inactive){padding-right:calc(0.25rem - 1px)}.container.outline.closable.inactive,.container.outline:not(.closable){padding-right:calc(0.5rem - 1px)}.container.outline.icon:not(.closable){padding-right:calc(0.75rem - 1px)}.container:not(.outline).icon{padding-left:0.75rem}.container:not(.outline):not(.icon){padding-left:0.5rem}.container:not(.outline).closable:not(.inactive){padding-right:0.25rem}.container:not(.outline).closable.inactive{padding-right:0.5rem}.container:not(.outline):not(.closable).icon{padding-right:0.75rem}.container:not(.outline):not(.closable):not(.icon){padding-right:0.5rem}.container.primary{background-color:var(--theme-color-primary);color:var(--theme-chip-primary--color)}.container.primary .close-button{color:var(--theme-chip-primary--color);--ix-icon-button-color:var(--theme-chip-primary--color);pointer-events:auto}.container.primary.outline{color:var(--theme-chip-outline--color);background-color:transparent;border:solid 1px var(--theme-chip-primary-outline--border-color)}.container.primary.outline .close-button{color:var(--theme-chip-outline--color);--ix-icon-button-color:var(--theme-chip-outline--color)}.container.primary.outline .with-icon{color:var(--theme-color-primary)}.container.outline{border-width:1px;border-style:solid}.container.alarm{color:var(--theme-color-alarm--contrast)}.container.alarm:not(.outline){background-color:var(--theme-color-alarm)}.container.alarm:not(.outline) .close-button{color:var(--theme-color-alarm--contrast);--ix-icon-button-color:var(--theme-color-alarm--contrast)}.container.alarm.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-alarm)}.container.critical{color:var(--theme-color-critical--contrast)}.container.critical:not(.outline){background-color:var(--theme-color-critical)}.container.critical:not(.outline) .close-button{color:var(--theme-color-critical--contrast);--ix-icon-button-color:var(--theme-color-critical--contrast)}.container.critical.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-critical)}.container.warning{color:var(--theme-color-warning--contrast)}.container.warning:not(.outline){background-color:var(--theme-color-warning)}.container.warning:not(.outline) .close-button{color:var(--theme-color-warning--contrast);--ix-icon-button-color:var(--theme-color-warning--contrast)}.container.warning.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-warning)}.container.info{color:var(--theme-color-info--contrast)}.container.info:not(.outline){background-color:var(--theme-color-info)}.container.info:not(.outline) .close-button{color:var(--theme-color-info--contrast);--ix-icon-button-color:var(--theme-color-info--contrast)}.container.info.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-info)}.container.neutral{color:var(--theme-color-neutral--contrast)}.container.neutral:not(.outline){background-color:var(--theme-color-neutral)}.container.neutral:not(.outline) .close-button{color:var(--theme-color-neutral--contrast);--ix-icon-button-color:var(--theme-color-neutral--contrast)}.container.neutral.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-neutral)}.container.success{color:var(--theme-color-success--contrast)}.container.success:not(.outline){background-color:var(--theme-color-success)}.container.success:not(.outline) .close-button{color:var(--theme-color-success--contrast);--ix-icon-button-color:var(--theme-color-success--contrast)}.container.success.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-success)}:host .container{height:100%;justify-content:center}:host .container .with-icon{margin-right:0}:host .container.outline.icon{padding-left:0.4375rem;padding-right:0.4375rem}:host .container:not(.outline).icon{padding-left:0.5rem;padding-right:0.5rem}:host .with-gap{gap:0.25rem}:host(.align-left) .container{justify-content:flex-start}";const c=class{constructor(t){o(this,t);this.variant="primary";this.outline=false;this.alignLeft=false;this.tooltipText=false;this.iconOnly=false;this.containerElementRef=n()}componentWillLoad(){this.checkIfContentAvailable()}checkIfContentAvailable(){const o=this.hostElement.children.length>0;const t=!!this.hostElement.textContent;this.iconOnly=!o&&!t}getTooltip(){var o;if(!this.tooltipText&&!this.hostElement.hasAttribute("tooltip-text")){return null}const r=typeof this.tooltipText==="string"&&this.tooltipText.trim()?this.tooltipText:(o=this.hostElement.textContent)===null||o===void 0?void 0:o.trim();return t("ix-tooltip",{for:this.containerElementRef.waitForCurrent()},r)}render(){let o={};if(this.variant==="custom"){o={color:this.pillColor,[this.outline?"borderColor":"backgroundColor"]:this.background}}return t(r,{key:"0662b1d016904af48cd38b4da31b2d672898fb31",style:this.variant==="custom"?{"--ix-icon-button-color":this.pillColor}:{},class:{"align-left":this.alignLeft}},t("div",{key:"3ece1d029fc0daa09d834a71fdf1d7ac16122023",ref:this.containerElementRef,style:Object.assign({},o),class:{container:true,outline:this.outline,inactive:false,alarm:this.variant==="alarm",critical:this.variant==="critical",info:this.variant==="info",neutral:this.variant==="neutral",primary:this.variant==="primary",success:this.variant==="success",warning:this.variant==="warning",custom:this.variant==="custom",closable:false,icon:!!this.icon,"with-gap":!this.iconOnly}},this.icon&&t("ix-icon",{key:"489caa92bab68202d6544dc3e5e94ecd618d5f85",class:{"with-icon":true},name:this.icon,size:"16"}),t("span",{key:"dd77e86d3f75e0c4d1a7c18847891bfb6c036b5f",class:"slot-container"},t("slot",{key:"f206fd87c2c6ed8d77f56b473e36f9641aa046a8",onSlotchange:()=>this.checkIfContentAvailable()}))),this.getTooltip())}get hostElement(){return e(this)}};c.style=i;export{c as ix_pill};
2
- //# sourceMappingURL=p-4be22d4d.entry.js.map
1
+ import{r as o,h as t,H as r,a as e}from"./p-DJsXFBNm.js";import{m as n}from"./p-bcj7UEIC.js";const i=":host{display:inline-block;position:relative;height:1.25rem;max-height:1.25rem;margin-left:0.25rem}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}.container{display:inline-flex;width:inherit;box-sizing:border-box;position:relative;align-items:center;border-radius:100px;padding:0.5rem;height:2rem;max-height:2rem;cursor:default}.container .content-wrapper{display:inline-flex;align-items:center;flex:1;min-width:0}.container .with-icon{margin-right:0.25rem}.container .close-button-container{display:inline-flex;margin-left:auto;padding-left:0.5rem}.container .slot-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.container.centerContent .content-wrapper{justify-content:center;text-align:center}.container.outline.icon{padding-left:calc(0.75rem - 1px)}.container.outline.icon.alarm .with-icon{color:var(--theme-color-alarm)}.container.outline.icon.critical .with-icon{color:var(--theme-color-critical)}.container.outline.icon.warning .with-icon{color:var(--theme-color-warning)}.container.outline.icon.info .with-icon{color:var(--theme-color-info)}.container.outline.icon.neutral .with-icon{color:var(--theme-color-neutral)}.container.outline.icon.success .with-icon{color:var(--theme-color-success)}.container.outline:not(.icon){padding-left:calc(0.5rem - 1px)}.container.outline.closable:not(.inactive){padding-right:calc(0.25rem - 1px)}.container.outline.closable.inactive,.container.outline:not(.closable){padding-right:calc(0.5rem - 1px)}.container.outline.icon:not(.closable){padding-right:calc(0.75rem - 1px)}.container:not(.outline).icon{padding-left:0.75rem}.container:not(.outline):not(.icon){padding-left:0.5rem}.container:not(.outline).closable:not(.inactive){padding-right:0.25rem}.container:not(.outline).closable.inactive{padding-right:0.5rem}.container:not(.outline):not(.closable).icon{padding-right:0.75rem}.container:not(.outline):not(.closable):not(.icon){padding-right:0.5rem}.container.primary{background-color:var(--theme-color-primary);color:var(--theme-chip-primary--color)}.container.primary .close-button{color:var(--theme-chip-primary--color);--ix-icon-button-color:var(--theme-chip-primary--color);pointer-events:auto}.container.primary.outline{color:var(--theme-chip-outline--color);background-color:transparent;border:solid 1px var(--theme-chip-primary-outline--border-color)}.container.primary.outline .close-button{color:var(--theme-chip-outline--color);--ix-icon-button-color:var(--theme-chip-outline--color)}.container.primary.outline .with-icon{color:var(--theme-color-primary)}.container.outline{border-width:1px;border-style:solid}.container.alarm{color:var(--theme-color-alarm--contrast)}.container.alarm:not(.outline){background-color:var(--theme-color-alarm)}.container.alarm:not(.outline) .close-button{color:var(--theme-color-alarm--contrast);--ix-icon-button-color:var(--theme-color-alarm--contrast)}.container.alarm.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-alarm)}.container.critical{color:var(--theme-color-critical--contrast)}.container.critical:not(.outline){background-color:var(--theme-color-critical)}.container.critical:not(.outline) .close-button{color:var(--theme-color-critical--contrast);--ix-icon-button-color:var(--theme-color-critical--contrast)}.container.critical.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-critical)}.container.warning{color:var(--theme-color-warning--contrast)}.container.warning:not(.outline){background-color:var(--theme-color-warning)}.container.warning:not(.outline) .close-button{color:var(--theme-color-warning--contrast);--ix-icon-button-color:var(--theme-color-warning--contrast)}.container.warning.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-warning)}.container.info{color:var(--theme-color-info--contrast)}.container.info:not(.outline){background-color:var(--theme-color-info)}.container.info:not(.outline) .close-button{color:var(--theme-color-info--contrast);--ix-icon-button-color:var(--theme-color-info--contrast)}.container.info.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-info)}.container.neutral{color:var(--theme-color-neutral--contrast)}.container.neutral:not(.outline){background-color:var(--theme-color-neutral)}.container.neutral:not(.outline) .close-button{color:var(--theme-color-neutral--contrast);--ix-icon-button-color:var(--theme-color-neutral--contrast)}.container.neutral.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-neutral)}.container.success{color:var(--theme-color-success--contrast)}.container.success:not(.outline){background-color:var(--theme-color-success)}.container.success:not(.outline) .close-button{color:var(--theme-color-success--contrast);--ix-icon-button-color:var(--theme-color-success--contrast)}.container.success.outline{color:var(--theme-chip-outline--color);border-color:var(--theme-color-success)}:host .container{height:100%;justify-content:center}:host .container .with-icon{margin-right:0}:host .container.outline.icon{padding-left:0.4375rem;padding-right:0.4375rem}:host .container:not(.outline).icon{padding-left:0.5rem;padding-right:0.5rem}:host .with-gap{gap:0.25rem}:host(.align-left) .container{justify-content:flex-start}";const c=class{constructor(t){o(this,t);this.variant="primary";this.outline=false;this.alignLeft=false;this.tooltipText=false;this.iconOnly=false;this.containerElementRef=n()}componentWillLoad(){this.checkIfContentAvailable()}checkIfContentAvailable(){const o=this.hostElement.children.length>0;const t=!!this.hostElement.textContent;this.iconOnly=!o&&!t}getTooltip(){var o;if(!this.tooltipText&&!this.hostElement.hasAttribute("tooltip-text")){return null}const r=typeof this.tooltipText==="string"&&this.tooltipText.trim()?this.tooltipText:(o=this.hostElement.textContent)===null||o===void 0?void 0:o.trim();return t("ix-tooltip",{for:this.containerElementRef.waitForCurrent()},r)}render(){let o={};if(this.variant==="custom"){o={color:this.pillColor,[this.outline?"borderColor":"backgroundColor"]:this.background}}return t(r,{key:"41b9f6f4870c8585f5bca24e469a5a99afd68012",style:this.variant==="custom"?{"--ix-icon-button-color":this.pillColor}:{},class:{"align-left":this.alignLeft}},t("div",{key:"2674de0ba7ee68a9b38344cbc4b75cb10f778b3b",ref:this.containerElementRef,style:Object.assign({},o),class:{container:true,outline:this.outline,inactive:false,alarm:this.variant==="alarm",critical:this.variant==="critical",info:this.variant==="info",neutral:this.variant==="neutral",primary:this.variant==="primary",success:this.variant==="success",warning:this.variant==="warning",custom:this.variant==="custom",closable:false,icon:!!this.icon,"with-gap":!this.iconOnly}},this.icon&&t("ix-icon",{key:"412400a5ca6b85c730c097365fc2b437a3b7eb03",class:{"with-icon":true},name:this.icon,size:"16"}),t("span",{key:"76689695f7d66f427eb59fcb57c413cd23622777",class:"slot-container"},t("slot",{key:"2852c8a4cdf1f55e941fbe0091ad22ce73dc5cc5",onSlotchange:()=>this.checkIfContentAvailable()}))),this.getTooltip())}get hostElement(){return e(this)}};c.style=i;export{c as ix_pill};
2
+ //# sourceMappingURL=p-003ae2cf.entry.js.map