@ukic/canary-web-components 3.0.0-canary.24 → 3.0.0-canary.26

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 (528) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-56717660.js → helpers-b55826ba.js} +22 -22
  3. package/dist/cjs/{helpers-56717660.js.map → helpers-b55826ba.js.map} +1 -1
  4. package/dist/cjs/helpers-da852478.js.map +1 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-action-chip.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-button_3.cjs.entry.js +24 -18
  15. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox_3.cjs.entry.js +6 -6
  20. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-date-input.cjs.entry.js +6 -6
  27. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +6 -4
  29. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  36. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -7
  38. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +27 -14
  40. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-menu.cjs.entry.js +6 -6
  51. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  59. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-pagination_4.cjs.entry.js +44 -35
  61. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  63. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  65. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  67. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  69. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  73. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  75. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  79. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  81. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  83. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +10 -2
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  89. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-table-of-contents.cjs.entry.js +363 -0
  94. package/dist/cjs/ic-table-of-contents.cjs.entry.js.map +1 -0
  95. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-time-input.cjs.entry.js +7 -7
  98. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  100. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  102. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  104. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  106. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  108. package/dist/cjs/ic-tree-item.cjs.entry.js +2 -2
  109. package/dist/cjs/ic-tree-view.cjs.entry.js +3 -3
  110. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  111. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  112. package/dist/cjs/index-d337cd8a.js +4 -0
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/collection/assets/error-icon.svg +4 -4
  115. package/dist/collection/assets/info-icon.svg +4 -4
  116. package/dist/collection/assets/neutral-icon.svg +4 -4
  117. package/dist/collection/assets/success-icon.svg +4 -4
  118. package/dist/collection/assets/warning-icon.svg +4 -4
  119. package/dist/collection/collection-manifest.json +1 -0
  120. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +1 -1
  121. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/story-data.js +82 -54
  123. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  124. package/dist/collection/components/ic-date-input/ic-date-input.js +6 -6
  125. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  126. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js +28 -0
  127. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js.map +1 -0
  128. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.css +145 -0
  129. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +526 -0
  130. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js.map +1 -0
  131. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.stories.js +291 -0
  132. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.stories.js.map +1 -0
  133. package/dist/collection/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.js +13 -0
  134. package/dist/collection/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.js.map +1 -0
  135. package/dist/collection/components/ic-time-input/ic-time-input.js +7 -7
  136. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  139. package/dist/collection/utils/types.js.map +1 -1
  140. package/dist/components/helpers.js +22 -22
  141. package/dist/components/helpers2.js.map +1 -1
  142. package/dist/components/ic-alert.js +1 -1
  143. package/dist/components/ic-alert.js.map +1 -1
  144. package/dist/components/ic-button2.js +15 -10
  145. package/dist/components/ic-button2.js.map +1 -1
  146. package/dist/components/ic-checkbox-group.js +2 -2
  147. package/dist/components/ic-checkbox-group.js.map +1 -1
  148. package/dist/components/ic-checkbox2.js +3 -3
  149. package/dist/components/ic-checkbox2.js.map +1 -1
  150. package/dist/components/ic-data-list.js +2 -2
  151. package/dist/components/ic-data-list.js.map +1 -1
  152. package/dist/components/ic-data-row.js +2 -2
  153. package/dist/components/ic-data-row.js.map +1 -1
  154. package/dist/components/ic-date-input2.js +6 -6
  155. package/dist/components/ic-date-input2.js.map +1 -1
  156. package/dist/components/ic-dialog.js +5 -3
  157. package/dist/components/ic-dialog.js.map +1 -1
  158. package/dist/components/ic-empty-state2.js +2 -2
  159. package/dist/components/ic-empty-state2.js.map +1 -1
  160. package/dist/components/ic-footer-link.js +2 -2
  161. package/dist/components/ic-footer-link.js.map +1 -1
  162. package/dist/components/ic-hero.js +4 -4
  163. package/dist/components/ic-hero.js.map +1 -1
  164. package/dist/components/ic-horizontal-scroll2.js +6 -6
  165. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  166. package/dist/components/ic-input-component-container2.js +3 -3
  167. package/dist/components/ic-input-component-container2.js.map +1 -1
  168. package/dist/components/ic-input-container2.js +2 -2
  169. package/dist/components/ic-input-container2.js.map +1 -1
  170. package/dist/components/ic-input-label2.js +2 -2
  171. package/dist/components/ic-input-label2.js.map +1 -1
  172. package/dist/components/ic-input-validation2.js +21 -6
  173. package/dist/components/ic-input-validation2.js.map +1 -1
  174. package/dist/components/ic-layout-grid-item.js +2 -2
  175. package/dist/components/ic-layout-grid-item.js.map +1 -1
  176. package/dist/components/ic-layout-grid.js +2 -2
  177. package/dist/components/ic-layout-grid.js.map +1 -1
  178. package/dist/components/ic-link2.js +1 -1
  179. package/dist/components/ic-link2.js.map +1 -1
  180. package/dist/components/ic-loading-indicator2.js +5 -5
  181. package/dist/components/ic-loading-indicator2.js.map +1 -1
  182. package/dist/components/ic-menu-group.js +1 -1
  183. package/dist/components/ic-menu-group.js.map +1 -1
  184. package/dist/components/ic-menu2.js +5 -5
  185. package/dist/components/ic-menu2.js.map +1 -1
  186. package/dist/components/ic-navigation-group.js +1 -1
  187. package/dist/components/ic-navigation-group.js.map +1 -1
  188. package/dist/components/ic-navigation-menu2.js +4 -4
  189. package/dist/components/ic-navigation-menu2.js.map +1 -1
  190. package/dist/components/ic-page-header.js +6 -6
  191. package/dist/components/ic-page-header.js.map +1 -1
  192. package/dist/components/ic-pagination-item2.js +1 -1
  193. package/dist/components/ic-pagination-item2.js.map +1 -1
  194. package/dist/components/ic-pagination2.js +4 -4
  195. package/dist/components/ic-pagination2.js.map +1 -1
  196. package/dist/components/ic-popover-menu.js +4 -4
  197. package/dist/components/ic-popover-menu.js.map +1 -1
  198. package/dist/components/ic-radio-group.js +4 -4
  199. package/dist/components/ic-radio-group.js.map +1 -1
  200. package/dist/components/ic-radio-option.js +4 -4
  201. package/dist/components/ic-radio-option.js.map +1 -1
  202. package/dist/components/ic-search-bar.js +10 -10
  203. package/dist/components/ic-search-bar.js.map +1 -1
  204. package/dist/components/ic-section-container2.js +2 -2
  205. package/dist/components/ic-section-container2.js.map +1 -1
  206. package/dist/components/ic-select2.js +10 -9
  207. package/dist/components/ic-select2.js.map +1 -1
  208. package/dist/components/ic-side-navigation.js +5 -5
  209. package/dist/components/ic-side-navigation.js.map +1 -1
  210. package/dist/components/ic-skeleton.js +2 -2
  211. package/dist/components/ic-skeleton.js.map +1 -1
  212. package/dist/components/ic-skip-link.js +2 -2
  213. package/dist/components/ic-skip-link.js.map +1 -1
  214. package/dist/components/ic-status-tag.js +2 -2
  215. package/dist/components/ic-status-tag.js.map +1 -1
  216. package/dist/components/ic-step.js +13 -13
  217. package/dist/components/ic-step.js.map +1 -1
  218. package/dist/components/ic-stepper.js +2 -2
  219. package/dist/components/ic-stepper.js.map +1 -1
  220. package/dist/components/ic-switch.js +4 -4
  221. package/dist/components/ic-switch.js.map +1 -1
  222. package/dist/components/ic-tab-context.js +11 -2
  223. package/dist/components/ic-tab-context.js.map +1 -1
  224. package/dist/components/ic-tab-group.js +2 -2
  225. package/dist/components/ic-tab-group.js.map +1 -1
  226. package/dist/components/ic-tab-panel.js +2 -2
  227. package/dist/components/ic-tab-panel.js.map +1 -1
  228. package/dist/components/ic-table-of-contents.d.ts +11 -0
  229. package/dist/components/ic-table-of-contents.js +408 -0
  230. package/dist/components/ic-table-of-contents.js.map +1 -0
  231. package/dist/components/ic-text-field2.js +30 -21
  232. package/dist/components/ic-text-field2.js.map +1 -1
  233. package/dist/components/ic-theme.js +1 -1
  234. package/dist/components/ic-theme.js.map +1 -1
  235. package/dist/components/ic-time-input.js +7 -7
  236. package/dist/components/ic-time-input.js.map +1 -1
  237. package/dist/components/ic-toast-region.js +1 -1
  238. package/dist/components/ic-toast-region.js.map +1 -1
  239. package/dist/components/ic-toast.js +3 -3
  240. package/dist/components/ic-toast.js.map +1 -1
  241. package/dist/components/ic-toggle-button-group.js +2 -2
  242. package/dist/components/ic-toggle-button-group.js.map +1 -1
  243. package/dist/components/ic-toggle-button.js +2 -2
  244. package/dist/components/ic-toggle-button.js.map +1 -1
  245. package/dist/components/ic-tooltip2.js +6 -4
  246. package/dist/components/ic-tooltip2.js.map +1 -1
  247. package/dist/components/ic-top-navigation.js +1 -1
  248. package/dist/components/ic-tree-item.js +2 -2
  249. package/dist/components/ic-tree-view.js +3 -3
  250. package/dist/components/ic-typography2.js +2 -2
  251. package/dist/components/ic-typography2.js.map +1 -1
  252. package/dist/core/core.css +32 -4
  253. package/dist/core/core.esm.js +1 -1
  254. package/dist/core/core.esm.js.map +1 -1
  255. package/dist/core/{p-3f241d71.entry.js → p-09c0961a.entry.js} +2 -2
  256. package/dist/core/{p-3f241d71.entry.js.map → p-09c0961a.entry.js.map} +1 -1
  257. package/dist/core/p-0f22f41e.js.map +1 -1
  258. package/dist/core/{p-d13a066e.entry.js → p-0fffe635.entry.js} +2 -2
  259. package/dist/core/{p-d13a066e.entry.js.map → p-0fffe635.entry.js.map} +1 -1
  260. package/dist/core/{p-aa94c4b0.entry.js → p-17423822.entry.js} +2 -2
  261. package/dist/core/{p-aa94c4b0.entry.js.map → p-17423822.entry.js.map} +1 -1
  262. package/dist/core/{p-d47e200c.entry.js → p-20f248be.entry.js} +2 -2
  263. package/dist/core/{p-be5df6a9.entry.js → p-25d21dbd.entry.js} +2 -2
  264. package/dist/core/{p-be5df6a9.entry.js.map → p-25d21dbd.entry.js.map} +1 -1
  265. package/dist/core/{p-9fe5e2eb.entry.js → p-30a2abe9.entry.js} +2 -2
  266. package/dist/core/{p-c067e62c.entry.js → p-318c6a4c.entry.js} +2 -2
  267. package/dist/core/{p-364cc350.entry.js → p-3414247d.entry.js} +2 -2
  268. package/dist/core/{p-287e5c17.entry.js → p-37d217b5.entry.js} +2 -2
  269. package/dist/core/{p-287e5c17.entry.js.map → p-37d217b5.entry.js.map} +1 -1
  270. package/dist/core/{p-df88ff5b.entry.js → p-37daa8fe.entry.js} +2 -2
  271. package/dist/core/{p-df88ff5b.entry.js.map → p-37daa8fe.entry.js.map} +1 -1
  272. package/dist/core/p-3bb4ea35.entry.js +2 -0
  273. package/dist/core/p-3bb4ea35.entry.js.map +1 -0
  274. package/dist/core/{p-d41b0da0.entry.js → p-3bee8f39.entry.js} +2 -2
  275. package/dist/core/{p-d41b0da0.entry.js.map → p-3bee8f39.entry.js.map} +1 -1
  276. package/dist/core/{p-fb8c47ce.entry.js → p-4479c7e7.entry.js} +2 -2
  277. package/dist/core/{p-fb8c47ce.entry.js.map → p-4479c7e7.entry.js.map} +1 -1
  278. package/dist/core/{p-45dd12ee.entry.js → p-4747c39f.entry.js} +2 -2
  279. package/dist/core/p-4747c39f.entry.js.map +1 -0
  280. package/dist/core/{p-ffac41d6.entry.js → p-492fcb51.entry.js} +2 -2
  281. package/dist/core/{p-ffac41d6.entry.js.map → p-492fcb51.entry.js.map} +1 -1
  282. package/dist/core/{p-17acca45.entry.js → p-4eb74281.entry.js} +2 -2
  283. package/dist/core/p-4eb74281.entry.js.map +1 -0
  284. package/dist/core/{p-9863a070.entry.js → p-4fa1a80f.entry.js} +2 -2
  285. package/dist/core/{p-6796acff.entry.js → p-514c4401.entry.js} +2 -2
  286. package/dist/core/{p-b93e8ecb.entry.js → p-5534bb37.entry.js} +2 -2
  287. package/dist/core/p-55934942.entry.js +2 -0
  288. package/dist/core/p-55934942.entry.js.map +1 -0
  289. package/dist/core/{p-43285eeb.entry.js → p-570ff466.entry.js} +2 -2
  290. package/dist/core/{p-43285eeb.entry.js.map → p-570ff466.entry.js.map} +1 -1
  291. package/dist/core/{p-6e8ef73c.entry.js → p-57721431.entry.js} +2 -2
  292. package/dist/core/{p-6e8ef73c.entry.js.map → p-57721431.entry.js.map} +1 -1
  293. package/dist/core/{p-bc7d730d.entry.js → p-587d704d.entry.js} +2 -2
  294. package/dist/core/p-587d704d.entry.js.map +1 -0
  295. package/dist/core/{p-5fbc8e62.entry.js → p-5fcfcfb6.entry.js} +2 -2
  296. package/dist/core/{p-5fbc8e62.entry.js.map → p-5fcfcfb6.entry.js.map} +1 -1
  297. package/dist/core/{p-4bddb866.entry.js → p-6a884eef.entry.js} +2 -2
  298. package/dist/core/{p-4bddb866.entry.js.map → p-6a884eef.entry.js.map} +1 -1
  299. package/dist/core/p-6d2fa004.entry.js +2 -0
  300. package/dist/core/p-6d2fa004.entry.js.map +1 -0
  301. package/dist/core/{p-9fffb01e.entry.js → p-7821c7dc.entry.js} +2 -2
  302. package/dist/core/{p-608a8a4d.entry.js → p-8bb49790.entry.js} +2 -2
  303. package/dist/core/{p-5c7c7205.entry.js → p-92f199b0.entry.js} +2 -2
  304. package/dist/core/p-9810080e.entry.js +2 -0
  305. package/dist/core/p-9810080e.entry.js.map +1 -0
  306. package/dist/core/{p-518a8e87.entry.js → p-98286c35.entry.js} +2 -2
  307. package/dist/core/{p-518a8e87.entry.js.map → p-98286c35.entry.js.map} +1 -1
  308. package/dist/core/{p-ea061ccf.entry.js → p-9a8bcb78.entry.js} +2 -2
  309. package/dist/core/{p-ea061ccf.entry.js.map → p-9a8bcb78.entry.js.map} +1 -1
  310. package/dist/core/{p-812a0246.entry.js → p-9ad64b6f.entry.js} +2 -2
  311. package/dist/core/{p-b87e4485.entry.js → p-9c491db1.entry.js} +2 -2
  312. package/dist/core/{p-1a5efa3e.entry.js → p-9c8070a1.entry.js} +2 -2
  313. package/dist/core/{p-8b5022bc.entry.js → p-9cf6ccfd.entry.js} +2 -2
  314. package/dist/core/{p-8b5022bc.entry.js.map → p-9cf6ccfd.entry.js.map} +1 -1
  315. package/dist/core/p-9f5a1473.entry.js +2 -0
  316. package/dist/core/p-9f5a1473.entry.js.map +1 -0
  317. package/dist/core/{p-59048c2a.entry.js → p-a0c361ec.entry.js} +2 -2
  318. package/dist/core/p-a0c361ec.entry.js.map +1 -0
  319. package/dist/core/{p-51e2de77.entry.js → p-a7bc9a19.entry.js} +2 -2
  320. package/dist/core/{p-51e2de77.entry.js.map → p-a7bc9a19.entry.js.map} +1 -1
  321. package/dist/core/{p-588a331f.entry.js → p-a8d934fe.entry.js} +2 -2
  322. package/dist/core/{p-588a331f.entry.js.map → p-a8d934fe.entry.js.map} +1 -1
  323. package/dist/core/{p-145c0245.entry.js → p-aaa6d8e1.entry.js} +2 -2
  324. package/dist/core/{p-145c0245.entry.js.map → p-aaa6d8e1.entry.js.map} +1 -1
  325. package/dist/core/{p-f7d746d7.entry.js → p-b12c4643.entry.js} +2 -2
  326. package/dist/core/{p-f7d746d7.entry.js.map → p-b12c4643.entry.js.map} +1 -1
  327. package/dist/core/{p-31d6d587.entry.js → p-b2c49dfd.entry.js} +2 -2
  328. package/dist/core/p-b2c49dfd.entry.js.map +1 -0
  329. package/dist/core/{p-999f0a5d.entry.js → p-b4a2f6fa.entry.js} +2 -2
  330. package/dist/core/{p-999f0a5d.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
  331. package/dist/core/p-b5dd226f.entry.js +2 -0
  332. package/dist/core/{p-20374e30.entry.js.map → p-b5dd226f.entry.js.map} +1 -1
  333. package/dist/core/{p-8051e61b.entry.js → p-b8cb867c.entry.js} +2 -2
  334. package/dist/core/{p-f517f412.entry.js → p-b95d99c7.entry.js} +2 -2
  335. package/dist/core/p-c039a175.entry.js +2 -0
  336. package/dist/core/{p-ad48c77c.entry.js.map → p-c039a175.entry.js.map} +1 -1
  337. package/dist/core/p-c08ea34d.entry.js +2 -0
  338. package/dist/core/p-c08ea34d.entry.js.map +1 -0
  339. package/dist/core/{p-fecef807.entry.js → p-c7a97221.entry.js} +2 -2
  340. package/dist/core/{p-91646e38.entry.js → p-c95be271.entry.js} +2 -2
  341. package/dist/core/p-c95be271.entry.js.map +1 -0
  342. package/dist/core/p-cd3f12ad.entry.js +2 -0
  343. package/dist/core/p-cd3f12ad.entry.js.map +1 -0
  344. package/dist/core/{p-40743d97.entry.js → p-d143aa70.entry.js} +2 -2
  345. package/dist/core/{p-40743d97.entry.js.map → p-d143aa70.entry.js.map} +1 -1
  346. package/dist/core/{p-c3fe54ab.entry.js → p-d3b9c04b.entry.js} +2 -2
  347. package/dist/core/{p-c3fe54ab.entry.js.map → p-d3b9c04b.entry.js.map} +1 -1
  348. package/dist/core/{p-cb4522ed.entry.js → p-d3eb3356.entry.js} +2 -2
  349. package/dist/core/{p-66ae9eb3.entry.js → p-d6a1b39c.entry.js} +2 -2
  350. package/dist/core/{p-66ae9eb3.entry.js.map → p-d6a1b39c.entry.js.map} +1 -1
  351. package/dist/core/{p-efe2fbd7.entry.js → p-d7c44cce.entry.js} +2 -2
  352. package/dist/core/p-d7c44cce.entry.js.map +1 -0
  353. package/dist/core/{p-e543f2e7.entry.js → p-e435052b.entry.js} +2 -2
  354. package/dist/core/{p-e543f2e7.entry.js.map → p-e435052b.entry.js.map} +1 -1
  355. package/dist/core/{p-b8938f93.entry.js → p-e4f1d72b.entry.js} +2 -2
  356. package/dist/core/p-ee95905f.js +2 -0
  357. package/dist/core/{p-efa95979.js.map → p-ee95905f.js.map} +1 -1
  358. package/dist/core/{p-2fe31f66.entry.js → p-f4b08cdb.entry.js} +2 -2
  359. package/dist/core/{p-2fe31f66.entry.js.map → p-f4b08cdb.entry.js.map} +1 -1
  360. package/dist/core/{p-5976d13e.entry.js → p-f5cc4e94.entry.js} +2 -2
  361. package/dist/core/{p-5976d13e.entry.js.map → p-f5cc4e94.entry.js.map} +1 -1
  362. package/dist/core/{p-558936fb.entry.js → p-f6772530.entry.js} +2 -2
  363. package/dist/core/{p-0fad83d8.entry.js → p-fc125ca6.entry.js} +2 -2
  364. package/dist/core/{p-0fad83d8.entry.js.map → p-fc125ca6.entry.js.map} +1 -1
  365. package/dist/esm/core.js +1 -1
  366. package/dist/esm/helpers-89cb996d.js.map +1 -1
  367. package/dist/esm/{helpers-f3928d01.js → helpers-fee7d348.js} +22 -22
  368. package/dist/esm/{helpers-f3928d01.js.map → helpers-fee7d348.js.map} +1 -1
  369. package/dist/esm/ic-accordion-group.entry.js +1 -1
  370. package/dist/esm/ic-accordion.entry.js +1 -1
  371. package/dist/esm/ic-action-chip.entry.js +1 -1
  372. package/dist/esm/ic-alert.entry.js +2 -2
  373. package/dist/esm/ic-alert.entry.js.map +1 -1
  374. package/dist/esm/ic-back-to-top.entry.js +1 -1
  375. package/dist/esm/ic-badge.entry.js +1 -1
  376. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  377. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  378. package/dist/esm/ic-button_3.entry.js +24 -18
  379. package/dist/esm/ic-button_3.entry.js.map +1 -1
  380. package/dist/esm/ic-card-vertical.entry.js +1 -1
  381. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  382. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  383. package/dist/esm/ic-checkbox_3.entry.js +6 -6
  384. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  385. package/dist/esm/ic-chip.entry.js +1 -1
  386. package/dist/esm/ic-data-list.entry.js +2 -2
  387. package/dist/esm/ic-data-list.entry.js.map +1 -1
  388. package/dist/esm/ic-data-row.entry.js +3 -3
  389. package/dist/esm/ic-data-row.entry.js.map +1 -1
  390. package/dist/esm/ic-date-input.entry.js +6 -6
  391. package/dist/esm/ic-date-input.entry.js.map +1 -1
  392. package/dist/esm/ic-dialog.entry.js +6 -4
  393. package/dist/esm/ic-dialog.entry.js.map +1 -1
  394. package/dist/esm/ic-divider.entry.js +1 -1
  395. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  396. package/dist/esm/ic-footer-link.entry.js +3 -3
  397. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  398. package/dist/esm/ic-footer.entry.js +1 -1
  399. package/dist/esm/ic-hero.entry.js +5 -5
  400. package/dist/esm/ic-hero.entry.js.map +1 -1
  401. package/dist/esm/ic-horizontal-scroll.entry.js +7 -7
  402. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  403. package/dist/esm/ic-input-component-container_4.entry.js +27 -14
  404. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  405. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  406. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
  407. package/dist/esm/ic-layout-grid.entry.js +2 -2
  408. package/dist/esm/ic-layout-grid.entry.js.map +1 -1
  409. package/dist/esm/ic-link.entry.js +2 -2
  410. package/dist/esm/ic-link.entry.js.map +1 -1
  411. package/dist/esm/ic-menu-group.entry.js +2 -2
  412. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  413. package/dist/esm/ic-menu-item.entry.js +1 -1
  414. package/dist/esm/ic-menu.entry.js +6 -6
  415. package/dist/esm/ic-menu.entry.js.map +1 -1
  416. package/dist/esm/ic-navigation-button.entry.js +1 -1
  417. package/dist/esm/ic-navigation-group.entry.js +2 -2
  418. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  419. package/dist/esm/ic-navigation-item.entry.js +1 -1
  420. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  421. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  422. package/dist/esm/ic-page-header.entry.js +7 -7
  423. package/dist/esm/ic-page-header.entry.js.map +1 -1
  424. package/dist/esm/ic-pagination_4.entry.js +44 -35
  425. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  426. package/dist/esm/ic-popover-menu.entry.js +5 -5
  427. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  428. package/dist/esm/ic-radio-group.entry.js +5 -5
  429. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  430. package/dist/esm/ic-radio-option.entry.js +5 -5
  431. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  432. package/dist/esm/ic-search-bar.entry.js +10 -10
  433. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  434. package/dist/esm/ic-section-container.entry.js +2 -2
  435. package/dist/esm/ic-section-container.entry.js.map +1 -1
  436. package/dist/esm/ic-side-navigation.entry.js +5 -5
  437. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  438. package/dist/esm/ic-skeleton.entry.js +2 -2
  439. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  440. package/dist/esm/ic-skip-link.entry.js +2 -2
  441. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  442. package/dist/esm/ic-status-tag.entry.js +3 -3
  443. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  444. package/dist/esm/ic-step.entry.js +14 -14
  445. package/dist/esm/ic-step.entry.js.map +1 -1
  446. package/dist/esm/ic-stepper.entry.js +3 -3
  447. package/dist/esm/ic-stepper.entry.js.map +1 -1
  448. package/dist/esm/ic-switch.entry.js +5 -5
  449. package/dist/esm/ic-switch.entry.js.map +1 -1
  450. package/dist/esm/ic-tab-context.entry.js +10 -2
  451. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  452. package/dist/esm/ic-tab-group.entry.js +3 -3
  453. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  454. package/dist/esm/ic-tab-panel.entry.js +2 -2
  455. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  456. package/dist/esm/ic-tab.entry.js +1 -1
  457. package/dist/esm/ic-table-of-contents.entry.js +359 -0
  458. package/dist/esm/ic-table-of-contents.entry.js.map +1 -0
  459. package/dist/esm/ic-theme.entry.js +2 -2
  460. package/dist/esm/ic-theme.entry.js.map +1 -1
  461. package/dist/esm/ic-time-input.entry.js +7 -7
  462. package/dist/esm/ic-time-input.entry.js.map +1 -1
  463. package/dist/esm/ic-toast-region.entry.js +1 -1
  464. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  465. package/dist/esm/ic-toast.entry.js +4 -4
  466. package/dist/esm/ic-toast.entry.js.map +1 -1
  467. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  468. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  469. package/dist/esm/ic-toggle-button.entry.js +3 -3
  470. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  471. package/dist/esm/ic-top-navigation.entry.js +1 -1
  472. package/dist/esm/ic-tree-item.entry.js +2 -2
  473. package/dist/esm/ic-tree-view.entry.js +3 -3
  474. package/dist/esm/ic-typography.entry.js +3 -3
  475. package/dist/esm/ic-typography.entry.js.map +1 -1
  476. package/dist/esm/index-a7a720e7.js +4 -0
  477. package/dist/esm/loader.js +1 -1
  478. package/dist/types/components/ic-data-table/story-data.d.ts +2 -2
  479. package/dist/types/components/ic-table-of-contents/ic-table-of-contents-item.d.ts +14 -0
  480. package/dist/types/components/ic-table-of-contents/ic-table-of-contents.d.ts +83 -0
  481. package/dist/types/components/ic-table-of-contents/ic-table-of-contents.stories.d.ts +90 -0
  482. package/dist/types/components/ic-table-of-contents/test/a11y/ic-table-of-contents.test.a11y.d.ts +1 -0
  483. package/dist/types/components.d.ts +79 -2
  484. package/dist/types/utils/types.d.ts +1 -0
  485. package/hydrate/index.js +635 -222
  486. package/hydrate/index.mjs +635 -222
  487. package/package.json +4 -4
  488. package/dist/core/p-17acca45.entry.js.map +0 -1
  489. package/dist/core/p-20374e30.entry.js +0 -2
  490. package/dist/core/p-2f4f4aea.entry.js +0 -2
  491. package/dist/core/p-2f4f4aea.entry.js.map +0 -1
  492. package/dist/core/p-31d6d587.entry.js.map +0 -1
  493. package/dist/core/p-45dd12ee.entry.js.map +0 -1
  494. package/dist/core/p-59048c2a.entry.js.map +0 -1
  495. package/dist/core/p-5ac30e1f.entry.js +0 -2
  496. package/dist/core/p-5ac30e1f.entry.js.map +0 -1
  497. package/dist/core/p-7d2d067f.entry.js +0 -2
  498. package/dist/core/p-7d2d067f.entry.js.map +0 -1
  499. package/dist/core/p-91646e38.entry.js.map +0 -1
  500. package/dist/core/p-ad48c77c.entry.js +0 -2
  501. package/dist/core/p-afece95e.entry.js +0 -2
  502. package/dist/core/p-afece95e.entry.js.map +0 -1
  503. package/dist/core/p-bc7d730d.entry.js.map +0 -1
  504. package/dist/core/p-e7f22a19.entry.js +0 -2
  505. package/dist/core/p-e7f22a19.entry.js.map +0 -1
  506. package/dist/core/p-efa95979.js +0 -2
  507. package/dist/core/p-efe2fbd7.entry.js.map +0 -1
  508. package/dist/core/p-f3201a0b.entry.js +0 -2
  509. package/dist/core/p-f3201a0b.entry.js.map +0 -1
  510. /package/dist/core/{p-d47e200c.entry.js.map → p-20f248be.entry.js.map} +0 -0
  511. /package/dist/core/{p-9fe5e2eb.entry.js.map → p-30a2abe9.entry.js.map} +0 -0
  512. /package/dist/core/{p-c067e62c.entry.js.map → p-318c6a4c.entry.js.map} +0 -0
  513. /package/dist/core/{p-364cc350.entry.js.map → p-3414247d.entry.js.map} +0 -0
  514. /package/dist/core/{p-9863a070.entry.js.map → p-4fa1a80f.entry.js.map} +0 -0
  515. /package/dist/core/{p-6796acff.entry.js.map → p-514c4401.entry.js.map} +0 -0
  516. /package/dist/core/{p-b93e8ecb.entry.js.map → p-5534bb37.entry.js.map} +0 -0
  517. /package/dist/core/{p-9fffb01e.entry.js.map → p-7821c7dc.entry.js.map} +0 -0
  518. /package/dist/core/{p-608a8a4d.entry.js.map → p-8bb49790.entry.js.map} +0 -0
  519. /package/dist/core/{p-5c7c7205.entry.js.map → p-92f199b0.entry.js.map} +0 -0
  520. /package/dist/core/{p-812a0246.entry.js.map → p-9ad64b6f.entry.js.map} +0 -0
  521. /package/dist/core/{p-b87e4485.entry.js.map → p-9c491db1.entry.js.map} +0 -0
  522. /package/dist/core/{p-1a5efa3e.entry.js.map → p-9c8070a1.entry.js.map} +0 -0
  523. /package/dist/core/{p-8051e61b.entry.js.map → p-b8cb867c.entry.js.map} +0 -0
  524. /package/dist/core/{p-f517f412.entry.js.map → p-b95d99c7.entry.js.map} +0 -0
  525. /package/dist/core/{p-fecef807.entry.js.map → p-c7a97221.entry.js.map} +0 -0
  526. /package/dist/core/{p-cb4522ed.entry.js.map → p-d3eb3356.entry.js.map} +0 -0
  527. /package/dist/core/{p-b8938f93.entry.js.map → p-e4f1d72b.entry.js.map} +0 -0
  528. /package/dist/core/{p-558936fb.entry.js.map → p-f6772530.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-time-input.js","sourceRoot":"","sources":["../../../src/components/ic-time-input/ic-time-input.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-no-bind */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Host,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcDisableTimeSelection,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n IcTimeFormat,\n} from \"../../utils/types\";\nimport {\n isEmptyString,\n isNumeric,\n addFormResetListener,\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n removeFormResetListener,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Clock from \"../../assets/clock.svg\";\n\nlet inputIds = 0;\n\n/**\n * @slot helper-text - Content is set as the helper text for the time input.\n */\n@Component({\n tag: \"ic-time-input\",\n styleUrl: \"ic-time-input.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class TimeInput {\n private DEFAULT_TIME_FORMAT: IcTimeFormat = \"HH:MM:SS\";\n private ARIA_INVALID = \"aria-invalid\";\n private ARIA_LABEL = \"aria-label\";\n private ARIA_LABELLED_BY = \"aria-labelledby\";\n private assistiveHintId: string;\n private hourInputEl?: HTMLInputElement;\n private minuteInputEl?: HTMLInputElement;\n private secondInputEl?: HTMLInputElement;\n private defaultHelperText: string;\n private EVENT_OBJECT_STRING = \"[object Event]\";\n private FIT_TO_VALUE = \"fit-to-value\";\n private initialValue = this.value;\n private inputCompContainerEl: HTMLIcInputComponentContainerElement;\n private inputsInOrder: HTMLInputElement[] = [];\n private isValidHour: boolean = true;\n private isValidMinute: boolean = true;\n private isValidSecond: boolean = true;\n private isValidTime: boolean = true;\n private isTimeSetFromKeyboardEvent: boolean = false;\n private preventAutoFormatting: boolean;\n private preventHourInput: boolean;\n private preventMinuteInput: boolean;\n private preventSecondInput: boolean;\n private previousSelectedTime: Date | null = null;\n private selectedTime: Date | null = null;\n private selectedTimeInfoEl?: HTMLSpanElement;\n private screenReaderInfoId: string;\n private selectedTimeInfoId: string;\n private externalSetTime: boolean = false;\n private clearInput: boolean = false;\n private maxTime: Date | null = null;\n private minTime: Date | null = null;\n\n @Element() el: HTMLIcTimeInputElement;\n\n @State() invalidTimeText: string;\n @State() clockFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n @State() hour: string = \"\";\n @State() minute: string = \"\";\n @State() second: string = \"\";\n\n @Watch(\"hour\")\n @Watch(\"minute\")\n @Watch(\"second\")\n watchInputHandler(): void {\n if (\n this.emitTimePartChange &&\n !this.externalSetTime &&\n !this.clearInput &&\n !(this.hour && this.minute && this.second) &&\n this.selectedTime === null\n ) {\n this.emitIcChange(this.selectedTime);\n }\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * An array of times that will be disabled in the time input. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() disableTimes: IcDisableTimeSelection[] = [];\n\n /**\n * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitTimePartChange?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `timeFormat` value.\n */\n @Prop({ mutable: true }) helperText: string | null;\n\n /**\n * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * If `true`, the label will be visually hidden, but will still be read out by screen readers.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId: string = `ic-time-input-${inputIds++}`;\n\n /**\n * The text to display as the validation message when an invalid time is entered.\n */\n @Prop() invalidTimeMessage: string = \"Please enter a valid time.\";\n\n /**\n * The label for the time input.\n */\n @Prop() label!: string;\n\n /**\n * The latest time that will be allowed. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() max: string | Date = \"\";\n @Watch(\"max\")\n watchMaxHandler(): void {\n this.maxTime = this.parseTime(this.max);\n }\n\n /**\n * The earliest time that will be allowed. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() min: string | Date = \"\";\n @Watch(\"min\")\n watchMinHandler(): void {\n this.minTime = this.parseTime(this.min);\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n @Watch(\"required\")\n watchRequiredHandler(): void {\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n if (this.required) {\n const asteriskSpan = document.createElement(\"span\");\n asteriskSpan.setAttribute(\"id\", \"asterisk-span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n } else {\n const asteriskSpan = this.el.shadowRoot?.querySelector(\"#asterisk-span\");\n if (asteriskSpan) {\n asteriskSpan.remove();\n }\n }\n }\n\n /**\n * If `true`, a button which clears the time input when clicked will be displayed.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * @internal If `true`, a button which displays the clock view when clicked will be displayed.\n */\n @Prop() showClockButton?: boolean = false;\n\n /**\n * The size of the time input to be displayed.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * Sets the time picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The format in which the time will be displayed.\n */\n @Prop() timeFormat: IcTimeFormat = this.DEFAULT_TIME_FORMAT;\n\n /**\n * The time period format: \"12\" for 12-hour, \"24\" for 24-hour. Defaults to \"24\".\n */\n @Prop() timePeriod: \"12\" | \"24\" = \"24\";\n\n /**\n * The value of the time input. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in time validation.\n */\n @Prop({ mutable: true }) validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in time validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * @internal Emitted when the clock is opened.\n */\n @Event() clockButtonClicked: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n };\n }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date | null }>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.defaultHelperText = `Use format ${this.timeFormat}`;\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n if (this.value) {\n this.externalSetTime = true;\n this.setTime(this.value);\n }\n this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;\n this.assistiveHintId = `${this.inputId}-assistive-hint`;\n this.selectedTimeInfoId = `${this.inputId}-selected-time-info`;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.setInputsInOrder();\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Time Input\"\n );\n if (this.value) {\n this.updateInputValues(this.hour, this.minute, this.second);\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond\n );\n if (this.value) {\n this.notifyScreenReaderSelectedTime();\n }\n this.inputsInOrder.forEach((input) => {\n input.addEventListener(\"input\", this.handleInput);\n input.addEventListener(\"focus\", this.handleFocus);\n input.addEventListener(\"blur\", this.handleBlur);\n });\n this.watchRequiredHandler();\n }\n\n componentWillUpdate(): void {\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n if (!this.isTimeSetFromKeyboardEvent) this.setTime(this.value);\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond\n );\n this.handleTimeChange(false);\n this.isTimeSetFromKeyboardEvent = false;\n }\n\n componentDidRender(): void {\n if (this.removeLabelledBy) {\n this.removeAriaLabelledBy();\n return;\n }\n this.setAriaLabelledBy();\n }\n\n /**\n * Returns the value as a Date object\n * @returns Date\n */\n @Method()\n async getTime(): Promise<Date | null> {\n return this.selectedTime;\n }\n\n /**\n * @internal Used to enable other components to invoke an IcChange event from the input.\n */\n @Method()\n async triggerIcChange(t: Date | null): Promise<void> {\n this.externalSetTime = true;\n this.setTime(t);\n this.emitIcChange(t);\n this.externalSetTime = false;\n }\n\n private setInputPasteValue = (\n input: EventTarget | null,\n pastedValue: string\n ) => {\n if (input) {\n const inputEl = input as HTMLInputElement;\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n }\n };\n\n private parseTime = (value: string | Date): Date | null => {\n if (!value) return null;\n if (value instanceof Date) return value;\n const parts = value.split(\":\");\n if (parts.length >= 2) {\n const d = new Date();\n d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, 0);\n return d;\n }\n return null;\n };\n\n private isHHMMFormat = () => this.timeFormat === \"HH:MM\";\n\n private isKeyboardOrEvent = (event: Event) => {\n return (\n Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||\n Object.prototype.toString.call(event) === \"[object KeyboardEvent]\"\n );\n };\n\n private setTimeValidity = () => {\n const minHour = 0;\n const maxHour = this.timePeriod === \"12\" ? 11 : 23;\n if (!isEmptyString(this.hour)) {\n this.isValidHour = +this.hour >= minHour && +this.hour <= maxHour;\n } else {\n this.isValidHour = true;\n }\n if (!isEmptyString(this.minute)) {\n this.isValidMinute = +this.minute >= 0 && +this.minute <= 59;\n } else {\n this.isValidMinute = true;\n }\n if (!this.isHHMMFormat()) {\n if (!isEmptyString(this.second)) {\n this.isValidSecond = +this.second >= 0 && +this.second <= 59;\n } else {\n this.isValidSecond = true;\n }\n } else {\n this.isValidSecond = true;\n }\n };\n\n private setInputValue = (input: HTMLInputElement, clear = false) => {\n const newValue = clear ? \"\" : input.value;\n if (input === this.hourInputEl) {\n this.hour = newValue;\n } else if (input === this.minuteInputEl) {\n this.minute = newValue;\n } else if (input === this.secondInputEl && !this.isHHMMFormat()) {\n this.second = newValue;\n }\n this.setValidationMessage();\n };\n\n private setPreventInput = (input: HTMLInputElement, isPrevented: boolean) => {\n if (input === this.hourInputEl) {\n this.preventHourInput = isPrevented;\n } else if (input === this.minuteInputEl) {\n this.preventMinuteInput = isPrevented;\n } else if (input === this.secondInputEl) {\n this.preventSecondInput = isPrevented;\n }\n };\n\n private setValidationMessage = () => {\n this.maxTime = this.parseTime(this.max);\n this.minTime = this.parseTime(this.min);\n this.setTimeValidity();\n let outOfBoundsMsg = \"\";\n let isDisabledTime = false;\n if (\n !isEmptyString(this.hour) &&\n !isEmptyString(this.minute) &&\n (this.isHHMMFormat() || !isEmptyString(this.second))\n ) {\n this.selectedTime = this.convertToTime(\n this.hour,\n this.minute,\n this.isHHMMFormat() ? \"00\" : this.second\n );\n this.isValidTime =\n !!this.selectedTime &&\n this.selectedTime.getHours() == +this.hour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() || this.selectedTime.getSeconds() == +this.second);\n\n if (\n this.selectedTime &&\n Array.isArray(this.disableTimes) &&\n this.disableTimes.length > 0\n ) {\n isDisabledTime = this.disableTimes.some((t) => {\n if (\n typeof t === \"object\" &&\n t !== null &&\n \"start\" in t &&\n \"end\" in t\n ) {\n const start = this.parseTime(t.start);\n const end = this.parseTime(t.end);\n if (start && end) {\n return this.selectedTime! >= start && this.selectedTime! <= end;\n }\n return false;\n }\n const parsed = this.parseTime(t as string | Date);\n return (\n parsed &&\n parsed.getHours() === this.selectedTime!.getHours() &&\n parsed.getMinutes() === this.selectedTime!.getMinutes() &&\n parsed.getSeconds() === this.selectedTime!.getSeconds()\n );\n });\n if (isDisabledTime) {\n this.isValidTime = false;\n outOfBoundsMsg = this.invalidTimeMessage;\n }\n }\n\n if (this.selectedTime && !isDisabledTime) {\n if (this.minTime && this.selectedTime < this.minTime) {\n this.isValidTime = false;\n outOfBoundsMsg = `Please enter a time after ${this.formatTime(\n this.minTime\n )}.`;\n } else if (this.maxTime && this.selectedTime > this.maxTime) {\n this.isValidTime = false;\n outOfBoundsMsg = `Please enter a time before ${this.formatTime(\n this.maxTime\n )}.`;\n }\n }\n if (!this.isValidTime) {\n this.inputsInOrder.forEach((input) =>\n input.setAttribute(this.ARIA_INVALID, \"true\")\n );\n } else {\n this.inputsInOrder.forEach((input) =>\n input.removeAttribute(this.ARIA_INVALID)\n );\n }\n } else {\n this.selectedTime = null;\n }\n if (\n !(\n this.isValidHour &&\n this.isValidMinute &&\n this.isValidSecond &&\n this.isValidTime\n )\n ) {\n this.invalidTimeText = outOfBoundsMsg || this.invalidTimeMessage;\n } else {\n this.invalidTimeText = \"\";\n }\n };\n\n private formatTime = (time: Date): string => {\n const hh = time.getHours().toString().padStart(2, \"0\");\n const mm = time.getMinutes().toString().padStart(2, \"0\");\n const ss = time.getSeconds().toString().padStart(2, \"0\");\n return this.isHHMMFormat() ? `${hh}:${mm}` : `${hh}:${mm}:${ss}`;\n };\n\n private handleInput = (event: Event) => {\n const inputEvent = event as InputEvent;\n const input = event.target as HTMLInputElement;\n if (input !== this.hourInputEl) {\n if (\n inputEvent.inputType !== \"deleteContentBackward\" &&\n !this.preventAutoFormatting\n ) {\n if (\n input.value.length === 1 &&\n +input.value >= 6 &&\n +input.value <= 9\n ) {\n this.setInputValue(input);\n this.notifyScreenReader(input);\n this.moveToNextInput(input);\n }\n if (input.value.length === 2) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.notifyScreenReader(input);\n this.moveToNextInput(input);\n } else {\n this.setPreventInput(input, false);\n }\n } else if (this.preventAutoFormatting) {\n if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.moveToNextInput(input);\n } else {\n this.setInputValue(input);\n }\n }\n if (input.value.length !== 2) {\n this.setPreventInput(input, false);\n }\n } else {\n if (input.value.length === 2) {\n this.setInputValue(input);\n if (\n Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING\n ) {\n this.moveToNextInput(input);\n }\n this.setPreventInput(input, true);\n } else {\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n }\n }\n this.setFitToValueStyling(input);\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\n };\n\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const input = event.target as HTMLInputElement;\n const eventKey = event.key?.toLowerCase();\n const regex =\n /-?\\d*\\.?\\d+(e[-+]?\\d+)?|[:]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;\n if (\n !regex.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\n switch (eventKey) {\n case \":\":\n case \"arrowright\":\n event.preventDefault();\n this.moveToNextInput(input);\n break;\n case \"arrowleft\":\n event.preventDefault();\n this.moveToPreviousInput(input);\n break;\n case \"arrowup\":\n case \"arrowdown\":\n this.preventAutoFormatting = true;\n this.handleUpDownArrowKeyPress(input, event);\n break;\n case \"backspace\":\n if (input.value.length === 0) {\n event.preventDefault();\n this.moveToPreviousInput(input);\n }\n break;\n default:\n break;\n }\n this.preventInput(event, isInputPrevented);\n this.isTimeSetFromKeyboardEvent = true;\n };\n\n private handleFocus = (event: FocusEvent) => {\n const input = event.target as HTMLInputElement;\n input.select();\n };\n\n private handleBlur = (event: FocusEvent) => {\n const input = event.target;\n if (input) {\n this.autocompleteInput(input as HTMLInputElement);\n }\n };\n\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n let minValue = 0;\n let maxValue = 59;\n if (input === this.hourInputEl) {\n minValue = 0;\n maxValue = this.timePeriod === \"12\" ? 11 : 23;\n }\n let val = +input.value;\n if (event.key === \"ArrowUp\") {\n val = val + 1;\n if (val > maxValue) val = minValue;\n input.value = val.toString().padStart(2, \"0\");\n this.notifyScreenReader(input);\n }\n if (event.key === \"ArrowDown\") {\n val = val - 1;\n if (val < minValue) val = maxValue;\n input.value = val.toString().padStart(2, \"0\");\n this.notifyScreenReader(input);\n }\n this.setInputValue(input);\n this.setFitToValueStyling(input);\n };\n\n private handleTimeChange = (force: boolean) => {\n if (force || this.selectedTime !== this.previousSelectedTime) {\n if (this.value) {\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n if (\n this.hour &&\n this.minute &&\n (this.isHHMMFormat() || this.second) &&\n this.invalidTimeText === \"\"\n ) {\n this.setValueAndEmitChange(this.selectedTime);\n this.notifyScreenReaderSelectedTime();\n } else if (\n !(this.selectedTime === null && this.previousSelectedTime === null) &&\n this.selectedTimeInfoEl\n ) {\n this.setValueAndEmitChange(null);\n this.selectedTimeInfoEl.textContent = \"\";\n }\n this.previousSelectedTime = this.selectedTime;\n if (!this.isTimeSetFromKeyboardEvent) {\n this.updateInputValues(this.hour, this.minute, this.second);\n }\n }\n };\n\n private setValueAndEmitChange = (value: Date | null) => {\n if (this.value !== value) {\n this.emitIcChange(value);\n this.value = value;\n }\n };\n\n private emitIcChange = (t: Date | null) => {\n this.selectedTime = t;\n this.icChange.emit({\n value: t,\n timeObject: {\n hour: this.hour === \"\" ? null : this.hour,\n minute: this.minute === \"\" ? null : this.minute,\n second: this.second === \"\" ? null : this.second,\n },\n });\n };\n\n private setTime = (time?: string | Date | null) => {\n if (time === null || time === \"\" || time === undefined) {\n if (this.hour) this.hour = \"\";\n if (this.minute) this.minute = \"\";\n if (this.second) this.second = \"\";\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.handleTimeChange(true);\n } else {\n if (typeof time === \"string\") {\n const zuluMatch = time.match(\n /^(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?Z?$/\n );\n if (zuluMatch) {\n this.hour = zuluMatch[1];\n this.minute = zuluMatch[2];\n this.second = zuluMatch[3];\n } else {\n const parts = time.split(\":\");\n this.hour = parts[0] || \"\";\n this.minute = parts[1] || \"\";\n this.second = parts[2] || \"\";\n }\n } else if (time instanceof Date) {\n this.hour = time.getHours().toString().padStart(2, \"0\");\n this.minute = time.getMinutes().toString().padStart(2, \"0\");\n this.second = time.getSeconds().toString().padStart(2, \"0\");\n }\n }\n this.setValidationMessage();\n };\n\n private setAriaInvalid = (\n validHour: boolean,\n validMinute: boolean,\n validSecond: boolean\n ) => {\n if (this.inputsInOrder.length) {\n this.inputsInOrder.forEach((input) => {\n input.removeAttribute(this.ARIA_INVALID);\n });\n if (!validHour) {\n this.hourInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!validMinute) {\n this.minuteInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!validSecond) {\n this.secondInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!(validHour && validMinute && validSecond)) {\n this.inputsInOrder.forEach((input) => {\n input.setAttribute(this.ARIA_INVALID, \"true\");\n });\n }\n }\n };\n\n private handleClear = () => {\n this.clearInput = true;\n if (this.hourInputEl) {\n this.hourInputEl.value = \"\";\n }\n if (this.minuteInputEl) {\n this.minuteInputEl.value = \"\";\n }\n if (!this.isHHMMFormat() && this.secondInputEl) {\n this.secondInputEl.value = \"\";\n }\n this.hour = \"\";\n this.minute = \"\";\n this.second = \"\";\n this.handleTimeChange(true);\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.clearInput = false;\n this.isTimeSetFromKeyboardEvent = false;\n this.setValidationMessage();\n this.invalidTimeText = \"\";\n if (this.hourInputEl) {\n this.hourInputEl.focus();\n }\n };\n\n private notifyScreenReaderSelectedTime = () => {\n if (this.selectedTime && this.selectedTimeInfoEl) {\n if (this.isHHMMFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime\n .getHours()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\")}`;\n } else {\n this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime\n .getHours()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getSeconds()\n .toString()\n .padStart(2, \"0\")}`;\n }\n }\n };\n\n private setFitToValueStyling = (input: HTMLInputElement) => {\n if (input.value) {\n input.classList.add(this.FIT_TO_VALUE);\n } else {\n input.classList.remove(this.FIT_TO_VALUE);\n }\n };\n\n private handleHostBlur = () => {\n this.removeLabelledBy = false;\n this.icBlur.emit({ value: this.selectedTime });\n };\n\n private handleHostFocus = () => {\n if (\n this.el.shadowRoot?.activeElement?.id.match(/(hour|minute|second)-input$/)\n ) {\n this.removeLabelledBy = false;\n } else {\n this.removeLabelledBy = true;\n }\n this.icFocus.emit({ value: this.selectedTime });\n };\n\n private handleFormReset = () => {\n this.setTime(this.initialValue);\n this.setValidationMessage();\n this.handleTimeChange(false);\n };\n\n private preventInput = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const key = event.key;\n const input = event.target as HTMLInputElement;\n let selectedString;\n if (input) {\n selectedString = input.value.substring(\n input.selectionStart || 0,\n input.selectionEnd || undefined\n );\n }\n if (\n key === \"e\" ||\n key === \".\" ||\n key === \"-\" ||\n (event.key >= \"0\" &&\n event.key <= \"9\" &&\n isInputPrevented &&\n !selectedString)\n ) {\n event.preventDefault();\n }\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) + 1\n ]?.focus();\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) - 1\n ]?.focus();\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n const inputValue = input.value;\n if (inputValue.length === 1) {\n input.value = `0${inputValue}`;\n }\n if (input.value) {\n this.setInputValue(input);\n }\n };\n\n private convertToTime = (\n hour: string,\n minute: string,\n second: string\n ): Date | null => {\n if (\n !isEmptyString(hour) &&\n !isEmptyString(minute) &&\n (this.isHHMMFormat() || !isEmptyString(second))\n ) {\n const d = new Date();\n d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);\n return d;\n } else {\n return null;\n }\n };\n\n private setInputsInOrder = () => {\n this.inputsInOrder = [];\n const shadowInputs = this.el.shadowRoot?.querySelectorAll(\"input\");\n if (shadowInputs) {\n shadowInputs.forEach((input) => this.inputsInOrder.push(input));\n }\n };\n\n private updateInputValues = (\n hour: string,\n minute: string,\n second: string\n ) => {\n if (this.hourInputEl && this.minuteInputEl && this.secondInputEl) {\n this.hourInputEl.value = hour;\n this.minuteInputEl.value = minute;\n this.secondInputEl.value = second;\n }\n };\n\n private removeAriaLabelledBy = () => {\n this.inputCompContainerEl?.removeAttribute(this.ARIA_LABELLED_BY);\n };\n\n private setAriaLabelledBy = () => {\n if (\n this.disabled &&\n this.inputCompContainerEl?.getAttribute(this.ARIA_LABELLED_BY)\n ) {\n this.removeAriaLabelledBy();\n return;\n }\n if (this.disabled) {\n return;\n }\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n const labelId = `${this.inputId}-label`;\n if (labelEl !== null && labelEl !== undefined) {\n labelEl.id = labelId;\n }\n const hasValidation =\n !isEmptyString(this.validationStatus) ||\n !isEmptyString(this.invalidTimeText);\n const labelledBy = `${labelEl?.id ?? \"\"} ${\n this.screenReaderInfoId\n } ${getInputDescribedByText(\n this.el,\n this.inputId,\n this.helperText !== \"\" && this.helperText !== this.defaultHelperText,\n hasValidation\n )} ${this.selectedTime ? this.selectedTimeInfoId : \"\"} ${\n this.assistiveHintId\n }`;\n this.inputCompContainerEl?.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\n };\n\n private getInputsInOrder = () => {\n const timeParts = this.timeFormat.split(\":\");\n return timeParts.map((part: string) => {\n switch (part.substring(0, 1)) {\n case \"H\":\n return (\n <input\n class=\"hour-input\"\n id=\"hour-input\"\n ref={(el) => (this.hourInputEl = el)}\n aria-label=\"hour\"\n placeholder=\"HH\"\n disabled={this.disabled}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventHourInput)\n }\n ></input>\n );\n case \"M\":\n return (\n <input\n id=\"minute-input\"\n class=\"minute-input\"\n ref={(el) => (this.minuteInputEl = el)}\n aria-label=\"minute\"\n placeholder=\"MM\"\n disabled={this.disabled}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventMinuteInput)\n }\n ></input>\n );\n case \"S\":\n if (!this.isHHMMFormat()) {\n return (\n <input\n id=\"second-input\"\n class=\"second-input\"\n ref={(el) => (this.secondInputEl = el)}\n aria-label=\"second\"\n placeholder=\"SS\"\n disabled={this.disabled}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventSecondInput)\n }\n ></input>\n );\n }\n return null;\n default:\n return null;\n }\n });\n };\n\n private getDescOfInputsOrder = () => {\n return \"hour, minute, and second\";\n };\n\n private getScreenReaderInfo = (validationStatus: string) => {\n let inputDescriptors = \"\";\n if (this.required) {\n inputDescriptors += \"required\";\n }\n if (validationStatus === IcInformationStatus.Error) {\n inputDescriptors += \" invalid data\";\n }\n return inputDescriptors === \"\" ? \"\" : inputDescriptors + \", \";\n };\n\n private notifyScreenReader = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot?.querySelector(\"#live-region\");\n if (liveRegion) {\n liveRegion.textContent = `${input.value}, ${input.getAttribute(\n this.ARIA_LABEL\n )}`;\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedValue = event.clipboardData?.getData(\"Text\") || \"\";\n const isValidTime = this.isPastedStringTimeValid(pastedValue);\n this.setPastedValueAndValidation(isValidTime, pastedValue, event);\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.clearButtonFocused = true;\n this.isTimeSetFromKeyboardEvent = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n this.isTimeSetFromKeyboardEvent = true;\n const relatedTarget = ev.relatedTarget as HTMLElement | null;\n if (relatedTarget?.id === \"clock-button\") {\n this.removeLabelledBy = false;\n return;\n }\n if (relatedTarget?.id.match(/(minute|second)-input$/)) {\n this.removeLabelledBy = false;\n return;\n }\n this.removeLabelledBy = true;\n };\n\n private handleClockFocus = () => {\n this.clockFocused = true;\n };\n\n private handleClockBlur = () => {\n this.clockFocused = false;\n };\n\n private isPastedStringTimeValid = (value: string): string | false => {\n if (this.isHHMMFormat()) {\n if (/^\\d{2}:\\d{2}$/.test(value)) {\n return value;\n }\n } else {\n if (/^\\d{2}:\\d{2}:\\d{2}$/.test(value)) {\n return value;\n }\n if (/^\\d{2}:\\d{2}:\\d{2}Z$/.test(value)) {\n return value.replace(\"Z\", \"\");\n }\n const isoMatch = value.match(/T(\\d{2}:\\d{2}:\\d{2})/);\n if (isoMatch) {\n return isoMatch[1];\n }\n }\n return false;\n };\n\n private setPastedValueAndValidation = (\n isValidTime: string | false,\n pastedValue: string,\n event: ClipboardEvent\n ) => {\n if (isValidTime) {\n const timeParts = isValidTime.split(\":\");\n this.inputsInOrder.forEach((input, index) => {\n input.classList.add(this.FIT_TO_VALUE);\n const timeValue = timeParts[index] || \"\";\n input.value = timeValue.slice(0, 2);\n this.setInputValue(input);\n this.autocompleteInput(input);\n });\n if (this.isHHMMFormat() && this.second !== \"\") {\n this.second = \"\";\n }\n } else {\n const pasted = pastedValue.trim();\n if ((pasted.length === 1 || pasted.length === 2) && isNumeric(pasted)) {\n this.setInputPasteValue(event.target, pasted);\n this.setInputValue(event.target as HTMLInputElement);\n } else {\n this.invalidTimeText = `Please paste a valid ${(\n event.target as HTMLInputElement\n ).getAttribute(this.ARIA_LABEL)}`;\n this.validationStatus = IcInformationStatus.Error;\n }\n }\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n hideHelperText,\n hideLabel,\n showClearButton,\n showClockButton,\n size,\n theme,\n } = this;\n const hasCustomValidation = !isEmptyString(this.validationStatus);\n const validationStatus = hasCustomValidation\n ? this.validationStatus\n : !isEmptyString(this.invalidTimeText)\n ? IcInformationStatus.Error\n : \"\";\n const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.convertToTime(this.hour, this.minute, this.second),\n this.disabled\n );\n const showDivider = !!(\n showClearButton &&\n !(\n isEmptyString(this.hour) &&\n isEmptyString(this.minute) &&\n isEmptyString(this.second)\n )\n );\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-time-input-disabled`]: disabled,\n [`ic-time-input-${size}`]: true,\n }}\n onBlur={this.handleHostBlur}\n onFocus={this.handleHostFocus}\n >\n <ic-input-container disabled={disabled}>\n {!(hideLabel && hideHelperText) && (\n <ic-input-label\n for={inputId}\n label={label}\n hideLabel={hideLabel}\n helperText={!hideHelperText ? helperText : \"\"}\n disabled={disabled}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {hideLabel && `${label}\\n`}\n {hideHelperText && `${helperText}\\n`}\n {`${this.defaultHelperText}.`}\n </span>\n <span id={this.assistiveHintId} class=\"sr-only\" aria-hidden=\"true\">\n {assistiveHint}\n </span>\n <span id=\"live-region\" aria-live=\"assertive\" class=\"sr-only\"></span>\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement) =>\n (this.inputCompContainerEl = el)\n }\n disabled={disabled}\n validationStatus={validationStatus}\n size={size}\n role=\"group\"\n class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\n >\n <div class=\"input-container\">\n <div class=\"time-inputs\">\n {[\n this.getInputsInOrder()[0],\n \":\",\n this.getInputsInOrder()[1],\n !this.isHHMMFormat()\n ? [\":\", this.getInputsInOrder()[2]]\n : null,\n ]}\n </div>\n <div class=\"action-buttons\">\n {showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear input\"\n class={{\n [\"clear-button\"]: true,\n [\"hidden\"]:\n isEmptyString(this.hour) &&\n isEmptyString(this.minute) &&\n isEmptyString(this.second),\n }}\n disabled={this.disabled}\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearFocus}\n onBlur={this.handleClearBlur}\n variant=\"icon-tertiary\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\n size={size}\n ></ic-button>\n )}\n {showClockButton && (\n <div class=\"show-clock-button-wrapper\">\n <div class={{ divider: showDivider, [size]: true }}></div>\n <ic-button\n id=\"clock-button\"\n aria-label=\"Display clock\"\n aria-haspopup=\"dialog\"\n class=\"clock-button\"\n disabled={this.disabled}\n innerHTML={Clock}\n variant=\"icon-tertiary\"\n size={size}\n onFocus={this.handleClockFocus}\n onBlur={this.handleClockBlur}\n theme={this.clockFocused ? \"light\" : \"dark\"}\n ></ic-button>\n </div>\n )}\n </div>\n </div>\n </ic-input-component-container>\n <span id={this.selectedTimeInfoId} class=\"sr-only\" aria-live=\"polite\">\n <span\n ref={(el) => (this.selectedTimeInfoEl = el)}\n role=\"status\"\n ></span>\n </span>\n {(hasCustomValidation || !isEmptyString(this.invalidTimeText)) && (\n <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidTimeText\n }\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-time-input.js","sourceRoot":"","sources":["../../../src/components/ic-time-input/ic-time-input.tsx"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable react/jsx-no-bind */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Host,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcDisableTimeSelection,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n IcTimeFormat,\n} from \"../../utils/types\";\nimport {\n isEmptyString,\n isNumeric,\n addFormResetListener,\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n removeFormResetListener,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Clock from \"../../assets/clock.svg\";\n\nlet inputIds = 0;\n\n/**\n * @slot helper-text - Content is set as the helper text for the time input.\n */\n@Component({\n tag: \"ic-time-input\",\n styleUrl: \"ic-time-input.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class TimeInput {\n private DEFAULT_TIME_FORMAT: IcTimeFormat = \"HH:MM:SS\";\n private ARIA_INVALID = \"aria-invalid\";\n private ARIA_LABEL = \"aria-label\";\n private ARIA_LABELLED_BY = \"aria-labelledby\";\n private assistiveHintId: string;\n private hourInputEl?: HTMLInputElement;\n private minuteInputEl?: HTMLInputElement;\n private secondInputEl?: HTMLInputElement;\n private defaultHelperText: string;\n private EVENT_OBJECT_STRING = \"[object Event]\";\n private FIT_TO_VALUE = \"fit-to-value\";\n private initialValue = this.value;\n private inputCompContainerEl: HTMLIcInputComponentContainerElement;\n private inputsInOrder: HTMLInputElement[] = [];\n private isValidHour: boolean = true;\n private isValidMinute: boolean = true;\n private isValidSecond: boolean = true;\n private isValidTime: boolean = true;\n private isTimeSetFromKeyboardEvent: boolean = false;\n private preventAutoFormatting: boolean;\n private preventHourInput: boolean;\n private preventMinuteInput: boolean;\n private preventSecondInput: boolean;\n private previousSelectedTime: Date | null = null;\n private selectedTime: Date | null = null;\n private selectedTimeInfoEl?: HTMLSpanElement;\n private screenReaderInfoId: string;\n private selectedTimeInfoId: string;\n private externalSetTime: boolean = false;\n private clearInput: boolean = false;\n private maxTime: Date | null = null;\n private minTime: Date | null = null;\n\n @Element() el: HTMLIcTimeInputElement;\n\n @State() invalidTimeText: string;\n @State() clockFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n @State() hour: string = \"\";\n @State() minute: string = \"\";\n @State() second: string = \"\";\n\n @Watch(\"hour\")\n @Watch(\"minute\")\n @Watch(\"second\")\n watchInputHandler(): void {\n if (\n this.emitTimePartChange &&\n !this.externalSetTime &&\n !this.clearInput &&\n !(this.hour && this.minute && this.second) &&\n this.selectedTime === null\n ) {\n this.emitIcChange(this.selectedTime);\n }\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * An array of times that will be disabled in the time input. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() disableTimes: IcDisableTimeSelection[] = [];\n\n /**\n * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitTimePartChange?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `timeFormat` value.\n */\n @Prop({ mutable: true }) helperText: string | null;\n\n /**\n * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * If `true`, the label will be visually hidden, but will still be read out by screen readers.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId: string = `ic-time-input-${inputIds++}`;\n\n /**\n * The text to display as the validation message when an invalid time is entered.\n */\n @Prop() invalidTimeMessage: string = \"Please enter a valid time.\";\n\n /**\n * The label for the time input.\n */\n @Prop() label!: string;\n\n /**\n * The latest time that will be allowed. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() max: string | Date = \"\";\n @Watch(\"max\")\n watchMaxHandler(): void {\n this.maxTime = this.parseTime(this.max);\n }\n\n /**\n * The earliest time that will be allowed. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop() min: string | Date = \"\";\n @Watch(\"min\")\n watchMinHandler(): void {\n this.minTime = this.parseTime(this.min);\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n @Watch(\"required\")\n watchRequiredHandler(): void {\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n if (this.required) {\n const asteriskSpan = document.createElement(\"span\");\n asteriskSpan.setAttribute(\"id\", \"asterisk-span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n } else {\n const asteriskSpan = this.el.shadowRoot?.querySelector(\"#asterisk-span\");\n if (asteriskSpan) {\n asteriskSpan.remove();\n }\n }\n }\n\n /**\n * If `true`, a button which clears the time input when clicked will be displayed.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * @internal If `true`, a button which displays the clock view when clicked will be displayed.\n */\n @Prop() showClockButton?: boolean = false;\n\n /**\n * The size of the time input to be displayed.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * Sets the time picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The format in which the time will be displayed.\n */\n @Prop() timeFormat: IcTimeFormat = this.DEFAULT_TIME_FORMAT;\n\n /**\n * The time period format: \"12\" for 12-hour, \"24\" for 24-hour. Defaults to \"24\".\n */\n @Prop() timePeriod: \"12\" | \"24\" = \"24\";\n\n /**\n * The value of the time input. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in time validation.\n */\n @Prop({ mutable: true }) validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in time validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * @internal Emitted when the clock is opened.\n */\n @Event() clockButtonClicked: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n };\n }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date | null }>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.defaultHelperText = `Use format ${this.timeFormat}`;\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n if (this.value) {\n this.externalSetTime = true;\n this.setTime(this.value);\n }\n this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;\n this.assistiveHintId = `${this.inputId}-assistive-hint`;\n this.selectedTimeInfoId = `${this.inputId}-selected-time-info`;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.setInputsInOrder();\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Time Input\"\n );\n if (this.value) {\n this.updateInputValues(this.hour, this.minute, this.second);\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond\n );\n if (this.value) {\n this.notifyScreenReaderSelectedTime();\n }\n this.inputsInOrder.forEach((input) => {\n input.addEventListener(\"input\", this.handleInput);\n input.addEventListener(\"focus\", this.handleFocus);\n input.addEventListener(\"blur\", this.handleBlur);\n });\n this.watchRequiredHandler();\n }\n\n componentWillUpdate(): void {\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n if (!this.isTimeSetFromKeyboardEvent) this.setTime(this.value);\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond\n );\n this.handleTimeChange(false);\n this.isTimeSetFromKeyboardEvent = false;\n }\n\n componentDidRender(): void {\n if (this.removeLabelledBy) {\n this.removeAriaLabelledBy();\n return;\n }\n this.setAriaLabelledBy();\n }\n\n /**\n * Returns the value as a Date object\n * @returns Date\n */\n @Method()\n async getTime(): Promise<Date | null> {\n return this.selectedTime;\n }\n\n /**\n * @internal Used to enable other components to invoke an IcChange event from the input.\n */\n @Method()\n async triggerIcChange(t: Date | null): Promise<void> {\n this.externalSetTime = true;\n this.setTime(t);\n this.emitIcChange(t);\n this.externalSetTime = false;\n }\n\n private setInputPasteValue = (\n input: EventTarget | null,\n pastedValue: string\n ) => {\n if (input) {\n const inputEl = input as HTMLInputElement;\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n }\n };\n\n private parseTime = (value: string | Date): Date | null => {\n if (!value) return null;\n if (value instanceof Date) return value;\n const parts = value.split(\":\");\n if (parts.length >= 2) {\n const d = new Date();\n d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, 0);\n return d;\n }\n return null;\n };\n\n private isHHMMFormat = () => this.timeFormat === \"HH:MM\";\n\n private isKeyboardOrEvent = (event: Event) => {\n return (\n Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||\n Object.prototype.toString.call(event) === \"[object KeyboardEvent]\"\n );\n };\n\n private setTimeValidity = () => {\n const minHour = 0;\n const maxHour = this.timePeriod === \"12\" ? 11 : 23;\n if (!isEmptyString(this.hour)) {\n this.isValidHour = +this.hour >= minHour && +this.hour <= maxHour;\n } else {\n this.isValidHour = true;\n }\n if (!isEmptyString(this.minute)) {\n this.isValidMinute = +this.minute >= 0 && +this.minute <= 59;\n } else {\n this.isValidMinute = true;\n }\n if (!this.isHHMMFormat()) {\n if (!isEmptyString(this.second)) {\n this.isValidSecond = +this.second >= 0 && +this.second <= 59;\n } else {\n this.isValidSecond = true;\n }\n } else {\n this.isValidSecond = true;\n }\n };\n\n private setInputValue = (input: HTMLInputElement, clear = false) => {\n const newValue = clear ? \"\" : input.value;\n if (input === this.hourInputEl) {\n this.hour = newValue;\n } else if (input === this.minuteInputEl) {\n this.minute = newValue;\n } else if (input === this.secondInputEl && !this.isHHMMFormat()) {\n this.second = newValue;\n }\n this.setValidationMessage();\n };\n\n private setPreventInput = (input: HTMLInputElement, isPrevented: boolean) => {\n if (input === this.hourInputEl) {\n this.preventHourInput = isPrevented;\n } else if (input === this.minuteInputEl) {\n this.preventMinuteInput = isPrevented;\n } else if (input === this.secondInputEl) {\n this.preventSecondInput = isPrevented;\n }\n };\n\n private setValidationMessage = () => {\n this.maxTime = this.parseTime(this.max);\n this.minTime = this.parseTime(this.min);\n this.setTimeValidity();\n let outOfBoundsMsg = \"\";\n let isDisabledTime = false;\n if (\n !isEmptyString(this.hour) &&\n !isEmptyString(this.minute) &&\n (this.isHHMMFormat() || !isEmptyString(this.second))\n ) {\n this.selectedTime = this.convertToTime(\n this.hour,\n this.minute,\n this.isHHMMFormat() ? \"00\" : this.second\n );\n this.isValidTime =\n !!this.selectedTime &&\n this.selectedTime.getHours() == +this.hour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() || this.selectedTime.getSeconds() == +this.second);\n\n if (\n this.selectedTime &&\n Array.isArray(this.disableTimes) &&\n this.disableTimes.length > 0\n ) {\n isDisabledTime = this.disableTimes.some((t) => {\n if (\n typeof t === \"object\" &&\n t !== null &&\n \"start\" in t &&\n \"end\" in t\n ) {\n const start = this.parseTime(t.start);\n const end = this.parseTime(t.end);\n if (start && end) {\n return this.selectedTime! >= start && this.selectedTime! <= end;\n }\n return false;\n }\n const parsed = this.parseTime(t as string | Date);\n return (\n parsed &&\n parsed.getHours() === this.selectedTime!.getHours() &&\n parsed.getMinutes() === this.selectedTime!.getMinutes() &&\n parsed.getSeconds() === this.selectedTime!.getSeconds()\n );\n });\n if (isDisabledTime) {\n this.isValidTime = false;\n outOfBoundsMsg = this.invalidTimeMessage;\n }\n }\n\n if (this.selectedTime && !isDisabledTime) {\n if (this.minTime && this.selectedTime < this.minTime) {\n this.isValidTime = false;\n outOfBoundsMsg = `Please enter a time after ${this.formatTime(\n this.minTime\n )}.`;\n } else if (this.maxTime && this.selectedTime > this.maxTime) {\n this.isValidTime = false;\n outOfBoundsMsg = `Please enter a time before ${this.formatTime(\n this.maxTime\n )}.`;\n }\n }\n if (!this.isValidTime) {\n this.inputsInOrder.forEach((input) =>\n input.setAttribute(this.ARIA_INVALID, \"true\")\n );\n } else {\n this.inputsInOrder.forEach((input) =>\n input.removeAttribute(this.ARIA_INVALID)\n );\n }\n } else {\n this.selectedTime = null;\n }\n if (\n !(\n this.isValidHour &&\n this.isValidMinute &&\n this.isValidSecond &&\n this.isValidTime\n )\n ) {\n this.invalidTimeText = outOfBoundsMsg || this.invalidTimeMessage;\n } else {\n this.invalidTimeText = \"\";\n }\n };\n\n private formatTime = (time: Date): string => {\n const hh = time.getHours().toString().padStart(2, \"0\");\n const mm = time.getMinutes().toString().padStart(2, \"0\");\n const ss = time.getSeconds().toString().padStart(2, \"0\");\n return this.isHHMMFormat() ? `${hh}:${mm}` : `${hh}:${mm}:${ss}`;\n };\n\n private handleInput = (event: Event) => {\n const inputEvent = event as InputEvent;\n const input = event.target as HTMLInputElement;\n if (input !== this.hourInputEl) {\n if (\n inputEvent.inputType !== \"deleteContentBackward\" &&\n !this.preventAutoFormatting\n ) {\n if (\n input.value.length === 1 &&\n +input.value >= 6 &&\n +input.value <= 9\n ) {\n this.setInputValue(input);\n this.notifyScreenReader(input);\n this.moveToNextInput(input);\n }\n if (input.value.length === 2) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.notifyScreenReader(input);\n this.moveToNextInput(input);\n } else {\n this.setPreventInput(input, false);\n }\n } else if (this.preventAutoFormatting) {\n if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.moveToNextInput(input);\n } else {\n this.setInputValue(input);\n }\n }\n if (input.value.length !== 2) {\n this.setPreventInput(input, false);\n }\n } else {\n if (input.value.length === 2) {\n this.setInputValue(input);\n if (\n Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING\n ) {\n this.moveToNextInput(input);\n }\n this.setPreventInput(input, true);\n } else {\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n }\n }\n this.setFitToValueStyling(input);\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\n };\n\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const input = event.target as HTMLInputElement;\n const eventKey = event.key?.toLowerCase();\n const regex =\n /-?\\d*\\.?\\d+(e[-+]?\\d+)?|[:]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;\n if (\n !regex.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\n switch (eventKey) {\n case \":\":\n case \"arrowright\":\n event.preventDefault();\n this.moveToNextInput(input);\n break;\n case \"arrowleft\":\n event.preventDefault();\n this.moveToPreviousInput(input);\n break;\n case \"arrowup\":\n case \"arrowdown\":\n this.preventAutoFormatting = true;\n this.handleUpDownArrowKeyPress(input, event);\n break;\n case \"backspace\":\n if (input.value.length === 0) {\n event.preventDefault();\n this.moveToPreviousInput(input);\n }\n break;\n default:\n break;\n }\n this.preventInput(event, isInputPrevented);\n this.isTimeSetFromKeyboardEvent = true;\n };\n\n private handleFocus = (event: FocusEvent) => {\n const input = event.target as HTMLInputElement;\n input.select();\n };\n\n private handleBlur = (event: FocusEvent) => {\n const input = event.target;\n if (input) {\n this.autocompleteInput(input as HTMLInputElement);\n }\n };\n\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n let minValue = 0;\n let maxValue = 59;\n if (input === this.hourInputEl) {\n minValue = 0;\n maxValue = this.timePeriod === \"12\" ? 11 : 23;\n }\n let val = +input.value;\n if (event.key === \"ArrowUp\") {\n val = val + 1;\n if (val > maxValue) val = minValue;\n input.value = val.toString().padStart(2, \"0\");\n this.notifyScreenReader(input);\n }\n if (event.key === \"ArrowDown\") {\n val = val - 1;\n if (val < minValue) val = maxValue;\n input.value = val.toString().padStart(2, \"0\");\n this.notifyScreenReader(input);\n }\n this.setInputValue(input);\n this.setFitToValueStyling(input);\n };\n\n private handleTimeChange = (force: boolean) => {\n if (force || this.selectedTime !== this.previousSelectedTime) {\n if (this.value) {\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n if (\n this.hour &&\n this.minute &&\n (this.isHHMMFormat() || this.second) &&\n this.invalidTimeText === \"\"\n ) {\n this.setValueAndEmitChange(this.selectedTime);\n this.notifyScreenReaderSelectedTime();\n } else if (\n !(this.selectedTime === null && this.previousSelectedTime === null) &&\n this.selectedTimeInfoEl\n ) {\n this.setValueAndEmitChange(null);\n this.selectedTimeInfoEl.textContent = \"\";\n }\n this.previousSelectedTime = this.selectedTime;\n if (!this.isTimeSetFromKeyboardEvent) {\n this.updateInputValues(this.hour, this.minute, this.second);\n }\n }\n };\n\n private setValueAndEmitChange = (value: Date | null) => {\n if (this.value !== value) {\n this.emitIcChange(value);\n this.value = value;\n }\n };\n\n private emitIcChange = (t: Date | null) => {\n this.selectedTime = t;\n this.icChange.emit({\n value: t,\n timeObject: {\n hour: this.hour === \"\" ? null : this.hour,\n minute: this.minute === \"\" ? null : this.minute,\n second: this.second === \"\" ? null : this.second,\n },\n });\n };\n\n private setTime = (time?: string | Date | null) => {\n if (time === null || time === \"\" || time === undefined) {\n if (this.hour) this.hour = \"\";\n if (this.minute) this.minute = \"\";\n if (this.second) this.second = \"\";\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.handleTimeChange(true);\n } else {\n if (typeof time === \"string\") {\n const zuluMatch = time.match(\n /^(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d{1,3}))?Z?$/\n );\n if (zuluMatch) {\n this.hour = zuluMatch[1];\n this.minute = zuluMatch[2];\n this.second = zuluMatch[3];\n } else {\n const parts = time.split(\":\");\n this.hour = parts[0] || \"\";\n this.minute = parts[1] || \"\";\n this.second = parts[2] || \"\";\n }\n } else if (time instanceof Date) {\n this.hour = time.getHours().toString().padStart(2, \"0\");\n this.minute = time.getMinutes().toString().padStart(2, \"0\");\n this.second = time.getSeconds().toString().padStart(2, \"0\");\n }\n }\n this.setValidationMessage();\n };\n\n private setAriaInvalid = (\n validHour: boolean,\n validMinute: boolean,\n validSecond: boolean\n ) => {\n if (this.inputsInOrder.length) {\n this.inputsInOrder.forEach((input) => {\n input.removeAttribute(this.ARIA_INVALID);\n });\n if (!validHour) {\n this.hourInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!validMinute) {\n this.minuteInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!validSecond) {\n this.secondInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!(validHour && validMinute && validSecond)) {\n this.inputsInOrder.forEach((input) => {\n input.setAttribute(this.ARIA_INVALID, \"true\");\n });\n }\n }\n };\n\n private handleClear = () => {\n this.clearInput = true;\n if (this.hourInputEl) {\n this.hourInputEl.value = \"\";\n }\n if (this.minuteInputEl) {\n this.minuteInputEl.value = \"\";\n }\n if (!this.isHHMMFormat() && this.secondInputEl) {\n this.secondInputEl.value = \"\";\n }\n this.hour = \"\";\n this.minute = \"\";\n this.second = \"\";\n this.handleTimeChange(true);\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.clearInput = false;\n this.isTimeSetFromKeyboardEvent = false;\n this.setValidationMessage();\n this.invalidTimeText = \"\";\n if (this.hourInputEl) {\n this.hourInputEl.focus();\n }\n };\n\n private notifyScreenReaderSelectedTime = () => {\n if (this.selectedTime && this.selectedTimeInfoEl) {\n if (this.isHHMMFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime\n .getHours()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\")}`;\n } else {\n this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime\n .getHours()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\")}:${this.selectedTime\n .getSeconds()\n .toString()\n .padStart(2, \"0\")}`;\n }\n }\n };\n\n private setFitToValueStyling = (input: HTMLInputElement) => {\n if (input.value) {\n input.classList.add(this.FIT_TO_VALUE);\n } else {\n input.classList.remove(this.FIT_TO_VALUE);\n }\n };\n\n private handleHostBlur = () => {\n this.removeLabelledBy = false;\n this.icBlur.emit({ value: this.selectedTime });\n };\n\n private handleHostFocus = () => {\n if (\n this.el.shadowRoot?.activeElement?.id.match(/(hour|minute|second)-input$/)\n ) {\n this.removeLabelledBy = false;\n } else {\n this.removeLabelledBy = true;\n }\n this.icFocus.emit({ value: this.selectedTime });\n };\n\n private handleFormReset = () => {\n this.setTime(this.initialValue);\n this.setValidationMessage();\n this.handleTimeChange(false);\n };\n\n private preventInput = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const key = event.key;\n const input = event.target as HTMLInputElement;\n let selectedString;\n if (input) {\n selectedString = input.value.substring(\n input.selectionStart || 0,\n input.selectionEnd || undefined\n );\n }\n if (\n key === \"e\" ||\n key === \".\" ||\n key === \"-\" ||\n (event.key >= \"0\" &&\n event.key <= \"9\" &&\n isInputPrevented &&\n !selectedString)\n ) {\n event.preventDefault();\n }\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) + 1\n ]?.focus();\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) - 1\n ]?.focus();\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n const inputValue = input.value;\n if (inputValue.length === 1) {\n input.value = `0${inputValue}`;\n }\n if (input.value) {\n this.setInputValue(input);\n }\n };\n\n private convertToTime = (\n hour: string,\n minute: string,\n second: string\n ): Date | null => {\n if (\n !isEmptyString(hour) &&\n !isEmptyString(minute) &&\n (this.isHHMMFormat() || !isEmptyString(second))\n ) {\n const d = new Date();\n d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);\n return d;\n } else {\n return null;\n }\n };\n\n private setInputsInOrder = () => {\n this.inputsInOrder = [];\n const shadowInputs = this.el.shadowRoot?.querySelectorAll(\"input\");\n if (shadowInputs) {\n shadowInputs.forEach((input) => this.inputsInOrder.push(input));\n }\n };\n\n private updateInputValues = (\n hour: string,\n minute: string,\n second: string\n ) => {\n if (this.hourInputEl && this.minuteInputEl && this.secondInputEl) {\n this.hourInputEl.value = hour;\n this.minuteInputEl.value = minute;\n this.secondInputEl.value = second;\n }\n };\n\n private removeAriaLabelledBy = () => {\n this.inputCompContainerEl?.removeAttribute(this.ARIA_LABELLED_BY);\n };\n\n private setAriaLabelledBy = () => {\n if (\n this.disabled &&\n this.inputCompContainerEl?.getAttribute(this.ARIA_LABELLED_BY)\n ) {\n this.removeAriaLabelledBy();\n return;\n }\n if (this.disabled) {\n return;\n }\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n const labelId = `${this.inputId}-label`;\n if (labelEl !== null && labelEl !== undefined) {\n labelEl.id = labelId;\n }\n const hasValidation =\n !isEmptyString(this.validationStatus) ||\n !isEmptyString(this.invalidTimeText);\n const labelledBy = `${labelEl?.id ?? \"\"} ${\n this.screenReaderInfoId\n } ${getInputDescribedByText(\n this.el,\n this.inputId,\n this.helperText !== \"\" && this.helperText !== this.defaultHelperText,\n hasValidation\n )} ${this.selectedTime ? this.selectedTimeInfoId : \"\"} ${\n this.assistiveHintId\n }`;\n this.inputCompContainerEl?.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\n };\n\n private getInputsInOrder = () => {\n const timeParts = this.timeFormat.split(\":\");\n return timeParts.map((part: string) => {\n switch (part.substring(0, 1)) {\n case \"H\":\n return (\n <input\n class=\"hour-input\"\n id=\"hour-input\"\n ref={(el) => (this.hourInputEl = el)}\n aria-label=\"hour\"\n placeholder=\"HH\"\n disabled={this.disabled}\n aria-required={`${this.required}`}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventHourInput)\n }\n ></input>\n );\n case \"M\":\n return (\n <input\n id=\"minute-input\"\n class=\"minute-input\"\n ref={(el) => (this.minuteInputEl = el)}\n aria-label=\"minute\"\n placeholder=\"MM\"\n disabled={this.disabled}\n aria-required={`${this.required}`}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventMinuteInput)\n }\n ></input>\n );\n case \"S\":\n if (!this.isHHMMFormat()) {\n return (\n <input\n id=\"second-input\"\n class=\"second-input\"\n ref={(el) => (this.secondInputEl = el)}\n aria-label=\"second\"\n placeholder=\"SS\"\n disabled={this.disabled}\n aria-required={`${this.required}`}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onPaste={this.handlePaste}\n onKeyDown={(event) =>\n this.handleKeyDown(event, this.preventSecondInput)\n }\n ></input>\n );\n }\n return null;\n default:\n return null;\n }\n });\n };\n\n private getDescOfInputsOrder = () => {\n return \"hour, minute, and second\";\n };\n\n private getScreenReaderInfo = (validationStatus: string) => {\n let inputDescriptors = \"\";\n if (this.required) {\n inputDescriptors += \"required\";\n }\n if (validationStatus === IcInformationStatus.Error) {\n inputDescriptors += \" invalid data\";\n }\n return inputDescriptors === \"\" ? \"\" : inputDescriptors + \", \";\n };\n\n private notifyScreenReader = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot?.querySelector(\"#live-region\");\n if (liveRegion) {\n liveRegion.textContent = `${input.value}, ${input.getAttribute(\n this.ARIA_LABEL\n )}`;\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedValue = event.clipboardData?.getData(\"Text\") || \"\";\n const isValidTime = this.isPastedStringTimeValid(pastedValue);\n this.setPastedValueAndValidation(isValidTime, pastedValue, event);\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.clearButtonFocused = true;\n this.isTimeSetFromKeyboardEvent = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n this.isTimeSetFromKeyboardEvent = true;\n const relatedTarget = ev.relatedTarget as HTMLElement | null;\n if (relatedTarget?.id === \"clock-button\") {\n this.removeLabelledBy = false;\n return;\n }\n if (relatedTarget?.id.match(/(minute|second)-input$/)) {\n this.removeLabelledBy = false;\n return;\n }\n this.removeLabelledBy = true;\n };\n\n private handleClockFocus = () => {\n this.clockFocused = true;\n };\n\n private handleClockBlur = () => {\n this.clockFocused = false;\n };\n\n private isPastedStringTimeValid = (value: string): string | false => {\n if (this.isHHMMFormat()) {\n if (/^\\d{2}:\\d{2}$/.test(value)) {\n return value;\n }\n } else {\n if (/^\\d{2}:\\d{2}:\\d{2}$/.test(value)) {\n return value;\n }\n if (/^\\d{2}:\\d{2}:\\d{2}Z$/.test(value)) {\n return value.replace(\"Z\", \"\");\n }\n const isoMatch = value.match(/T(\\d{2}:\\d{2}:\\d{2})/);\n if (isoMatch) {\n return isoMatch[1];\n }\n }\n return false;\n };\n\n private setPastedValueAndValidation = (\n isValidTime: string | false,\n pastedValue: string,\n event: ClipboardEvent\n ) => {\n if (isValidTime) {\n const timeParts = isValidTime.split(\":\");\n this.inputsInOrder.forEach((input, index) => {\n input.classList.add(this.FIT_TO_VALUE);\n const timeValue = timeParts[index] || \"\";\n input.value = timeValue.slice(0, 2);\n this.setInputValue(input);\n this.autocompleteInput(input);\n });\n if (this.isHHMMFormat() && this.second !== \"\") {\n this.second = \"\";\n }\n } else {\n const pasted = pastedValue.trim();\n if ((pasted.length === 1 || pasted.length === 2) && isNumeric(pasted)) {\n this.setInputPasteValue(event.target, pasted);\n this.setInputValue(event.target as HTMLInputElement);\n } else {\n this.invalidTimeText = `Please paste a valid ${(\n event.target as HTMLInputElement\n ).getAttribute(this.ARIA_LABEL)}`;\n this.validationStatus = IcInformationStatus.Error;\n }\n }\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n hideHelperText,\n hideLabel,\n showClearButton,\n showClockButton,\n size,\n theme,\n } = this;\n const hasCustomValidation = !isEmptyString(this.validationStatus);\n const validationStatus = hasCustomValidation\n ? this.validationStatus\n : !isEmptyString(this.invalidTimeText)\n ? IcInformationStatus.Error\n : \"\";\n const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.convertToTime(this.hour, this.minute, this.second),\n this.disabled\n );\n const showDivider = !!(\n showClearButton &&\n !(\n isEmptyString(this.hour) &&\n isEmptyString(this.minute) &&\n isEmptyString(this.second)\n )\n );\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-time-input-disabled`]: disabled,\n [`ic-time-input-${size}`]: true,\n }}\n onBlur={this.handleHostBlur}\n onFocus={this.handleHostFocus}\n >\n <ic-input-container disabled={disabled}>\n {!(hideLabel && hideHelperText) && (\n <ic-input-label\n for={inputId}\n label={label}\n hideLabel={hideLabel}\n helperText={!hideHelperText ? helperText : \"\"}\n disabled={disabled}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {hideLabel && `${label}\\n`}\n {hideHelperText && `${helperText}\\n`}\n {`${this.defaultHelperText}.`}\n </span>\n <span id={this.assistiveHintId} class=\"sr-only\" aria-hidden=\"true\">\n {assistiveHint}\n </span>\n <span id=\"live-region\" aria-live=\"assertive\" class=\"sr-only\"></span>\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement) =>\n (this.inputCompContainerEl = el)\n }\n disabled={disabled}\n validationStatus={validationStatus}\n size={size}\n role=\"group\"\n class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\n >\n <div class=\"input-container\">\n <div class=\"time-inputs\">\n {[\n this.getInputsInOrder()[0],\n \":\",\n this.getInputsInOrder()[1],\n !this.isHHMMFormat()\n ? [\":\", this.getInputsInOrder()[2]]\n : null,\n ]}\n </div>\n <div class=\"action-buttons\">\n {showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear input\"\n class={{\n [\"clear-button\"]: true,\n [\"hidden\"]:\n isEmptyString(this.hour) &&\n isEmptyString(this.minute) &&\n isEmptyString(this.second),\n }}\n disabled={this.disabled}\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearFocus}\n onBlur={this.handleClearBlur}\n variant=\"icon-tertiary\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\n size={size}\n ></ic-button>\n )}\n {showClockButton && (\n <div class=\"show-clock-button-wrapper\">\n <div class={{ divider: showDivider, [size]: true }}></div>\n <ic-button\n id=\"clock-button\"\n aria-label=\"Display clock\"\n aria-haspopup=\"dialog\"\n class=\"clock-button\"\n disabled={this.disabled}\n innerHTML={Clock}\n variant=\"icon-tertiary\"\n size={size}\n onFocus={this.handleClockFocus}\n onBlur={this.handleClockBlur}\n theme={this.clockFocused ? \"light\" : \"dark\"}\n ></ic-button>\n </div>\n )}\n </div>\n </div>\n </ic-input-component-container>\n <span id={this.selectedTimeInfoId} class=\"sr-only\" aria-live=\"polite\">\n <span\n ref={(el) => (this.selectedTimeInfoEl = el)}\n role=\"status\"\n ></span>\n </span>\n {(hasCustomValidation || !isEmptyString(this.invalidTimeText)) && (\n <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidTimeText\n }\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
@@ -284,7 +284,7 @@ export class TreeItem {
284
284
  rel: this.rel,
285
285
  target: this.target,
286
286
  };
287
- return (h(Host, { key: 'd46ba231b2a4e4b223df95b23064b4657fc59eb9', class: {
287
+ return (h(Host, { key: 'd255f1d49d96b7d81028f57d2d6970f61779178c', class: {
288
288
  "ic-tree-item-disabled": disabled,
289
289
  "ic-tree-item-selected": !disabled && selected,
290
290
  [`ic-tree-item-${size}`]: size !== "medium",
@@ -295,7 +295,7 @@ export class TreeItem {
295
295
  }, tabIndex: disabled ? -1 : 0, onClick: this.handleTreeItemClicked, ref: (el) => (this.treeItemElement = el), "aria-disabled": disabled ? "true" : "false", "aria-live": "polite" }, attrs, { onFocus: () => this.handleDisplayTooltip(true), onBlur: () => this.handleDisplayTooltip(false) }), this.isParent && (h("span", { class: {
296
296
  ["arrow-dropdown"]: true,
297
297
  ["tree-item-expanded"]: expanded,
298
- }, "aria-hidden": "true", innerHTML: arrowDropdown })), isSlotUsed(this.el, "icon") && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), h("ic-typography", { class: "tree-item-label" }, isSlotUsed(this.el, "label") ? h("slot", { name: "label" }) : label))), expanded && (h("div", { key: 'b6d59306dc68150e6c51fe8d8e9985702837824b', "aria-hidden": `${!expanded}` }, h("slot", { key: 'fe7f782b4b5c4b2d5eeaab7ff511747d37d6068f' })))));
298
+ }, "aria-hidden": "true", innerHTML: arrowDropdown })), isSlotUsed(this.el, "icon") && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), h("ic-typography", { class: "tree-item-label" }, isSlotUsed(this.el, "label") ? h("slot", { name: "label" }) : label))), expanded && (h("div", { key: 'dd643489739fe645df8bb5914695188429948389', "aria-hidden": `${!expanded}` }, h("slot", { key: 'f0053e420c79af89cde77b7c30ee9b08fe0a53d0' })))));
299
299
  }
300
300
  static get is() { return "ic-tree-item"; }
301
301
  static get encapsulation() { return "shadow"; }
@@ -314,14 +314,14 @@ export class TreeView {
314
314
  }
315
315
  render() {
316
316
  const { heading, isLoaded, size, theme, truncateHeading } = this;
317
- return (h(Host, { key: '2b58b217bf98ece972496384d43f498460a9824e', "context-id": this.treeViewId, class: {
317
+ return (h(Host, { key: 'de6ecc695e3b57a10b899551155ab72dbb7ba5bd', "context-id": this.treeViewId, class: {
318
318
  [`ic-tree-view-${size}`]: size !== "medium",
319
319
  [`ic-theme-${theme}`]: theme !== "inherit",
320
320
  "ic-tree-view-truncate": truncateHeading,
321
- }, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (h("div", { key: 'f1ae0ca6d6572175add0fec3862cc7380f9c8d74', class: "heading-area-container" }, isSlotUsed(this.el, "icon") && (h("div", { key: '1fba05e27d7f39890e4697c93bc41e30261fb6f4', class: "icon-container" }, h("slot", { key: 'ec1b61092f87e3d76681d37f8dfdc284d8e4e1cc', name: "icon" }))), h("ic-typography", { key: '0f67c01f76f91c220e59d90943f3832b6f7fb8c9', variant: "subtitle-large", class: {
321
+ }, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (h("div", { key: 'b68665cc013e59e41858a5a100203dfc1fb16fd2', class: "heading-area-container" }, isSlotUsed(this.el, "icon") && (h("div", { key: '03478968b0dba690043e582df5dfb3a72aac4617', class: "icon-container" }, h("slot", { key: '46b179bd4ddf9ee8f90dfe7674c88f74e4e0762a', name: "icon" }))), h("ic-typography", { key: '2581ccd88d25ecc56abdb5dd89648b1a42514324', variant: "subtitle-large", class: {
322
322
  "tree-view-header": true,
323
323
  "with-padding": this.truncateHeading && !isLoaded,
324
- } }, isSlotUsed(this.el, "heading") ? (h("slot", { name: "heading" })) : (heading)))), h("slot", { key: '8f385af9272ed7ee3847bab9173c0f43aa450de4' })));
324
+ } }, isSlotUsed(this.el, "heading") ? (h("slot", { name: "heading" })) : (heading)))), h("slot", { key: '010da125696264dc0c3a98c623a06be2545d61cf' })));
325
325
  }
326
326
  static get is() { return "ic-tree-view"; }
327
327
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAsED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;IACb,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAuJD,MAAM,CAAN,IAAY,iBAaX;AAbD,WAAY,iBAAiB;IAC3B,+DAAS,CAAA;IACT,iEAAU,CAAA;IACV,2DAAO,CAAA;IACP,2DAAO,CAAA;IACP,uDAAK,CAAA;IACL,yDAAM,CAAA;IACN,yDAAM,CAAA;IACN,6DAAQ,CAAA;IACR,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,kEAAU,CAAA;IACV,kEAAU,CAAA;AACZ,CAAC,EAbW,iBAAiB,KAAjB,iBAAiB,QAa5B;AAED,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;AACP,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,iDAAS,CAAA;IACT,qDAAW,CAAA;IACX,mDAAU,CAAA;IACV,+CAAQ,CAAA;IACR,mDAAU,CAAA;AACZ,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,qDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,+CAAU,CAAA;IACV,mDAAY,CAAA;AACd,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB","sourcesContent":["import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement | null;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[]\n | undefined;\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\n\nexport interface IcMultiValueEventDetail {\n value: string | string[] | null;\n keyPressed?: string;\n}\n\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget | null;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n\nexport type IcIconPlacementOptions = \"left\" | \"right\" | \"top\";\n\nexport type IcButtonTooltipPlacement = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type IcThemeSettings = \"dark\" | \"light\" | \"system\";\n\nexport interface IcPaginationBarOptions {\n alignment?: IcPaginationAlignmentOptions;\n hideAllFromItemsPerPage?: boolean;\n hideRangeLabel?: boolean;\n itemLabel?: string;\n itemsPerPageOptions?: { label: string; value: string }[];\n monochrome?: boolean;\n pageLabel?: string;\n rangeLabelType?: IcPaginationLabelTypes;\n selectedItemsPerPage?: number;\n selectItemsPerPageOnEnter?: boolean;\n setToFirstPageOnPaginationChange?: boolean;\n showGoToPageControl?: boolean;\n showItemsPerPageControl?: boolean;\n theme?: IcThemeMode;\n type?: IcPaginationTypes;\n}\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport type IcTimeFormat = \"HH:MM\" | \"HH:MM:SS\";\n\nexport type IcDisableTimeSelection =\n | string\n | Date\n | { start: string | Date; end: string | Date };\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,sCAAe,CAAA;IACf,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAsED,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,4CAAmB,CAAA;IACnB,sCAAa,CAAA;IACb,wCAAe,CAAA;AACjB,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAuJD,MAAM,CAAN,IAAY,iBAaX;AAbD,WAAY,iBAAiB;IAC3B,+DAAS,CAAA;IACT,iEAAU,CAAA;IACV,2DAAO,CAAA;IACP,2DAAO,CAAA;IACP,uDAAK,CAAA;IACL,yDAAM,CAAA;IACN,yDAAM,CAAA;IACN,6DAAQ,CAAA;IACR,mEAAW,CAAA;IACX,+DAAS,CAAA;IACT,kEAAU,CAAA;IACV,kEAAU,CAAA;AACZ,CAAC,EAbW,iBAAiB,KAAjB,iBAAiB,QAa5B;AAED,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;IACL,mDAAK,CAAA;AACP,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAQ,CAAA;IACR,+CAAQ,CAAA;IACR,iDAAS,CAAA;IACT,qDAAW,CAAA;IACX,mDAAU,CAAA;IACV,+CAAQ,CAAA;IACR,mDAAU,CAAA;AACZ,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,qDAAa,CAAA;IACb,mDAAY,CAAA;IACZ,+CAAU,CAAA;IACV,mDAAY,CAAA;AACd,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB","sourcesContent":["import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement | null;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[]\n | undefined;\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\n\nexport interface IcMultiValueEventDetail {\n value: string | string[] | null;\n keyPressed?: string;\n}\n\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget | null;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n\nexport type IcIconPlacementOptions = \"left\" | \"right\" | \"top\";\n\nexport type IcButtonTooltipPlacement = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type IcThemeSettings = \"dark\" | \"light\" | \"system\";\n\nexport interface IcPaginationBarOptions {\n alignment?: IcPaginationAlignmentOptions;\n hideAllFromItemsPerPage?: boolean;\n hideRangeLabel?: boolean;\n itemLabel?: string;\n itemsPerPageOptions?: { label: string; value: string }[];\n monochrome?: boolean;\n pageLabel?: string;\n rangeLabelType?: IcPaginationLabelTypes;\n selectedItemsPerPage?: number;\n selectItemsPerPageOnEnter?: boolean;\n setToFirstPageOnPaginationChange?: boolean;\n showGoToPageControl?: boolean;\n showItemsPerPageControl?: boolean;\n theme?: IcThemeMode;\n type?: IcPaginationTypes;\n}\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport type IcTimeFormat = \"HH:MM\" | \"HH:MM:SS\";\n\nexport type IcDisableTimeSelection =\n | string\n | Date\n | { start: string | Date; end: string | Date };\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport type IcPositionTopOrRight = \"top\" | \"right\";\n"]}
@@ -13,48 +13,48 @@ var IcBrandForegroundEnum;
13
13
  IcBrandForegroundEnum["Light"] = "light";
14
14
  })(IcBrandForegroundEnum || (IcBrandForegroundEnum = {}));
15
15
 
16
- const errorIcon = `<svg aria-labelledby="error-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
17
- <title id="error-title">Error</title>
18
- <g id="close-octagon">
19
- <path id="Vector" d="M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" />
16
+ const errorIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
17
+ <title>Error</title>
18
+ <g>
19
+ <path d="M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" />
20
20
  </g>
21
21
  </svg>
22
22
  `;
23
23
 
24
- const infoIcon = `<svg aria-labelledby="info-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
25
- <title id="info-title">For your information</title>
26
- <g id="info">
27
- <path id="Vector" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 17C11.45 17 11 16.55 11 16V12C11 11.45 11.45 11 12 11C12.55 11 13 11.45 13 12V16C13 16.55 12.55 17 12 17ZM13 9H11V7H13V9Z" />
24
+ const infoIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
25
+ <title>For your information</title>
26
+ <g>
27
+ <path d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 17C11.45 17 11 16.55 11 16V12C11 11.45 11.45 11 12 11C12.55 11 13 11.45 13 12V16C13 16.55 12.55 17 12 17ZM13 9H11V7H13V9Z" />
28
28
  </g>
29
29
  </svg>
30
30
  `;
31
31
 
32
- const neutralIcon = `<svg aria-labelledby="neutral-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
33
- <title id="neutral-title">Neutral</title>
34
- <g id="Icon">
35
- <path id="Vector" d="M19.5 3H5.5C4.4 3 3.5 3.9 3.5 5V19C3.5 20.1 4.4 21 5.5 21H19.5C20.6 21 21.5 20.1 21.5 19V5C21.5 3.9 20.6 3 19.5 3ZM12.51 18C11.81 18 11.25 17.44 11.25 16.74C11.25 16.03 11.81 15.49 12.51 15.49C13.22 15.49 13.76 16.03 13.76 16.74C13.75 17.43 13.22 18 12.51 18ZM15.52 10.6C14.76 11.71 14.04 12.06 13.65 12.77C13.55 12.95 13.49 13.09 13.46 13.4C13.41 13.85 13.01 14.18 12.56 14.18H12.5C11.98 14.18 11.57 13.74 11.62 13.22C11.65 12.88 11.73 12.53 11.92 12.19C12.41 11.32 13.34 10.8 13.88 10.03C14.45 9.22 14.13 7.7 12.51 7.7C11.8 7.7 11.33 8.06 11.04 8.49C10.79 8.85 10.35 9.02 9.94 8.85C9.41 8.64 9.22 8 9.54 7.54C10.15 6.65 11.17 6 12.49 6C13.97 6 14.98 6.67 15.5 7.52C15.94 8.24 16.2 9.59 15.52 10.6Z" />
32
+ const neutralIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
33
+ <title>Neutral</title>
34
+ <g>
35
+ <path d="M19.5 3H5.5C4.4 3 3.5 3.9 3.5 5V19C3.5 20.1 4.4 21 5.5 21H19.5C20.6 21 21.5 20.1 21.5 19V5C21.5 3.9 20.6 3 19.5 3ZM12.51 18C11.81 18 11.25 17.44 11.25 16.74C11.25 16.03 11.81 15.49 12.51 15.49C13.22 15.49 13.76 16.03 13.76 16.74C13.75 17.43 13.22 18 12.51 18ZM15.52 10.6C14.76 11.71 14.04 12.06 13.65 12.77C13.55 12.95 13.49 13.09 13.46 13.4C13.41 13.85 13.01 14.18 12.56 14.18H12.5C11.98 14.18 11.57 13.74 11.62 13.22C11.65 12.88 11.73 12.53 11.92 12.19C12.41 11.32 13.34 10.8 13.88 10.03C14.45 9.22 14.13 7.7 12.51 7.7C11.8 7.7 11.33 8.06 11.04 8.49C10.79 8.85 10.35 9.02 9.94 8.85C9.41 8.64 9.22 8 9.54 7.54C10.15 6.65 11.17 6 12.49 6C13.97 6 14.98 6.67 15.5 7.52C15.94 8.24 16.2 9.59 15.52 10.6Z" />
36
36
  </g>
37
37
  </svg>
38
38
  `;
39
39
 
40
- const successIcon = `<svg aria-labelledby="success-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
41
- <title id="success-title">Success</title>
42
- <g id="check_circle">
43
- <path id="Vector" d="M12.5 2C6.98 2 2.5 6.48 2.5 12C2.5 17.52 6.98 22 12.5 22C18.02 22 22.5 17.52 22.5 12C22.5 6.48 18.02 2 12.5 2ZM9.79 16.29L6.2 12.7C5.81 12.31 5.81 11.68 6.2 11.29C6.59 10.9 7.22 10.9 7.61 11.29L10.5 14.17L17.38 7.29C17.77 6.9 18.4 6.9 18.79 7.29C19.18 7.68 19.18 8.31 18.79 8.7L11.2 16.29C10.82 16.68 10.18 16.68 9.79 16.29Z" />
40
+ const successIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
41
+ <title>Success</title>
42
+ <g>
43
+ <path d="M12.5 2C6.98 2 2.5 6.48 2.5 12C2.5 17.52 6.98 22 12.5 22C18.02 22 22.5 17.52 22.5 12C22.5 6.48 18.02 2 12.5 2ZM9.79 16.29L6.2 12.7C5.81 12.31 5.81 11.68 6.2 11.29C6.59 10.9 7.22 10.9 7.61 11.29L10.5 14.17L17.38 7.29C17.77 6.9 18.4 6.9 18.79 7.29C19.18 7.68 19.18 8.31 18.79 8.7L11.2 16.29C10.82 16.68 10.18 16.68 9.79 16.29Z" />
44
44
  </g>
45
45
  </svg>
46
46
  `;
47
47
 
48
- const warningIcon = `<svg aria-labelledby="warning-title" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
49
- <title id="warning-title">Warning</title>
50
- <g id="warning">
51
- <path id="Vector" d="M4.47 20.5037H19.53C21.07 20.5037 22.03 18.8337 21.26 17.5037L13.73 4.49375C12.96 3.16375 11.04 3.16375 10.27 4.49375L2.74 17.5037C1.97 18.8337 2.93 20.5037 4.47 20.5037ZM12 13.5037C11.45 13.5037 11 13.0537 11 12.5037V10.5037C11 9.95375 11.45 9.50375 12 9.50375C12.55 9.50375 13 9.95375 13 10.5037V12.5037C13 13.0537 12.55 13.5037 12 13.5037ZM13 17.5037H11V15.5037H13V17.5037Z" />
48
+ const warningIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#000000">
49
+ <title>Warning</title>
50
+ <g>
51
+ <path d="M4.47 20.5037H19.53C21.07 20.5037 22.03 18.8337 21.26 17.5037L13.73 4.49375C12.96 3.16375 11.04 3.16375 10.27 4.49375L2.74 17.5037C1.97 18.8337 2.93 20.5037 4.47 20.5037ZM12 13.5037C11.45 13.5037 11 13.0537 11 12.5037V10.5037C11 9.95375 11.45 9.50375 12 9.50375C12.55 9.50375 13 9.95375 13 10.5037V12.5037C13 13.0537 12.55 13.5037 12 13.5037ZM13 17.5037H11V15.5037H13V17.5037Z" />
52
52
  </g>
53
53
  </svg>
54
54
  `;
55
55
 
56
56
  const aiIcon = `<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
57
- <title id="ai-title">Artificial Intelligence (AI)</title>
57
+ <title>Artificial Intelligence (AI)</title>
58
58
  <g clip-path="url(#clip0_43876_12457)">
59
59
  <path d="M19.801 3C20.4637 3 21.001 3.53726 21.001 4.2V19.8C21.001 20.4628 20.4637 21 19.801 21H4.20098C3.53824 21 3.00098 20.4628 3.00098 19.8V4.2C3.00098 3.53726 3.53824 3 4.20098 3H19.801ZM8.94555 8.87988C8.88361 8.87988 8.82803 8.91796 8.80567 8.97573L6.32024 15.3958C6.28219 15.4941 6.35472 15.6 6.46013 15.6H7.19363C7.2559 15.6 7.3117 15.5615 7.33384 15.5033L7.89546 14.0262C7.9176 13.968 7.97339 13.9295 8.03567 13.9295H10.64C10.7023 13.9295 10.7582 13.968 10.7803 14.0263L11.3403 15.5032C11.3624 15.5615 11.4182 15.6 11.4805 15.6H12.2625C12.3678 15.6 12.4403 15.4944 12.4025 15.3962L9.9356 8.97608C9.91333 8.91813 9.85767 8.87988 9.79558 8.87988H8.94555ZM13.6123 8.87988C13.5294 8.87988 13.4623 8.94704 13.4623 9.02988V9.69024C13.4623 9.77308 13.5294 9.84024 13.6123 9.84024H14.3969C14.4797 9.84024 14.5469 9.9074 14.5469 9.99024V14.4902C14.5469 14.5731 14.4797 14.6402 14.3969 14.6402H13.6123C13.5294 14.6402 13.4623 14.7074 13.4623 14.7902V15.45C13.4623 15.5328 13.5294 15.6 13.6123 15.6H16.5186C16.6014 15.6 16.6686 15.5328 16.6686 15.45V14.7902C16.6686 14.7074 16.6014 14.6402 16.5186 14.6402H15.7334C15.6506 14.6402 15.5834 14.5731 15.5834 14.4902V9.99024C15.5834 9.9074 15.6506 9.84024 15.7334 9.84024H16.5186C16.6014 9.84024 16.6686 9.77308 16.6686 9.69024V9.02988C16.6686 8.94704 16.6014 8.87988 16.5186 8.87988H13.6123ZM9.35138 10.0705C9.40898 10.2433 9.47318 10.4353 9.54356 10.6465C9.61394 10.8577 9.6746 11.0497 9.72578 11.2225C9.78338 11.3952 9.82202 11.504 9.84122 11.5488L10.288 12.7279C10.3252 12.8261 10.2527 12.9311 10.1478 12.9311H8.52949C8.42445 12.9311 8.35194 12.8259 8.3893 12.7277L8.82344 11.5869C8.86182 11.4782 8.91003 11.3437 8.96758 11.1838C9.02516 11.0174 9.08288 10.8413 9.14042 10.6559C9.20438 10.4704 9.2615 10.2943 9.31268 10.1279C9.31947 10.1084 9.32604 10.0892 9.3325 10.0705C9.33554 10.0616 9.34853 10.0616 9.35138 10.0705Z" />
60
60
  </g>
@@ -627,6 +627,6 @@ const getElementInheritedTheme = (el) => {
627
627
  : "light";
628
628
  };
629
629
 
630
- export { BLACK_MIN_COLOR_BRIGHTNESS as $, IcInformationStatus as A, warningIcon as B, errorIcon as C, DEVICE_SIZES as D, successIcon as E, slotHasContent as F, isMacDevice as G, getOptionsWithoutGroupTitlesCount as H, IC_INHERITED_ARIA as I, capitalize as J, checkSlotInChildMutations as K, getLabelFromValue as L, getFilteredMenuOptions as M, isMobileOrTablet as N, debounceEvent as O, IGNORED_KEYBOARD_CHARACTERS as P, isEmptyString as Q, IC_DEVICE_SIZES as R, hasClassificationBanner as S, elementOverflowsX as T, getElementInheritedTheme as U, VARIANT_ICONS as V, getNavItemParentDetails as W, getCssProperty as X, getSlot as Y, getSlotContent as Z, getBrandColorBrightness as _, isElInAGGrid as a, WHITE_MAX_COLOR_BRIGHTNESS as a0, isSlottedInGroup as a1, inheritAttributes as b, checkResizeObserver as c, renderFileHiddenInput as d, IcBrandForegroundEnum as e, renderDynamicChildSlots as f, getBrandFromContext as g, handleHiddenFormButtonClick as h, isSlotUsed as i, onComponentPropUndefinedChange as j, convertToRGBA as k, getBrandForegroundAppearance as l, isPropDefined as m, getSlotElements as n, onComponentRequiredPropUndefined as o, pxToRem as p, getCurrentDeviceSize as q, removeDisabledFalse as r, addFormResetListener as s, removeFormResetListener as t, renderHiddenInput as u, removeHiddenInput as v, getInputDescribedByText as w, hasValidationStatus as x, getInputHelperTextID as y, getInputValidationTextID as z };
630
+ export { BLACK_MIN_COLOR_BRIGHTNESS as $, IcInformationStatus as A, warningIcon as B, errorIcon as C, DEVICE_SIZES as D, successIcon as E, slotHasContent as F, isMacDevice as G, getOptionsWithoutGroupTitlesCount as H, IC_INHERITED_ARIA as I, capitalize as J, checkSlotInChildMutations as K, getLabelFromValue as L, getFilteredMenuOptions as M, isMobileOrTablet as N, isEmptyString as O, debounceEvent as P, IGNORED_KEYBOARD_CHARACTERS as Q, IC_DEVICE_SIZES as R, hasClassificationBanner as S, elementOverflowsX as T, getElementInheritedTheme as U, VARIANT_ICONS as V, getNavItemParentDetails as W, getCssProperty as X, getSlot as Y, getSlotContent as Z, getBrandColorBrightness as _, isElInAGGrid as a, WHITE_MAX_COLOR_BRIGHTNESS as a0, isSlottedInGroup as a1, inheritAttributes as b, checkResizeObserver as c, renderFileHiddenInput as d, IcBrandForegroundEnum as e, renderDynamicChildSlots as f, getBrandFromContext as g, handleHiddenFormButtonClick as h, isSlotUsed as i, onComponentPropUndefinedChange as j, convertToRGBA as k, getBrandForegroundAppearance as l, isPropDefined as m, getSlotElements as n, onComponentRequiredPropUndefined as o, pxToRem as p, getCurrentDeviceSize as q, removeDisabledFalse as r, addFormResetListener as s, removeFormResetListener as t, renderHiddenInput as u, removeHiddenInput as v, getInputDescribedByText as w, hasValidationStatus as x, getInputHelperTextID as y, getInputValidationTextID as z };
631
631
 
632
632
  //# sourceMappingURL=helpers.js.map