@ukic/canary-web-components 3.0.0-canary.33 → 3.0.0-canary.35

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 (946) hide show
  1. package/dist/cjs/{OpenInNew-7bac24f7.js → OpenInNew-add95b7b.js} +1 -1
  2. package/dist/cjs/OpenInNew-add95b7b.js.map +1 -0
  3. package/dist/{esm/purify-6eaa9893.js → cjs/common-helpers-577fc5b0.js} +22 -2
  4. package/dist/cjs/common-helpers-577fc5b0.js.map +1 -0
  5. package/dist/cjs/core.cjs.js +1 -1
  6. package/dist/cjs/{helpers-2cc5f6db.js → helpers-cb472df9.js} +1 -128
  7. package/dist/cjs/helpers-cb472df9.js.map +1 -0
  8. package/dist/cjs/helpers-f81fed28.js.map +1 -1
  9. package/dist/cjs/ic-badge-27f26087.js +184 -0
  10. package/dist/cjs/ic-badge-27f26087.js.map +1 -0
  11. package/dist/cjs/ic-badge.cjs.entry.js +4 -177
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-button-4c329a7d.js +435 -0
  14. package/dist/cjs/ic-button-4c329a7d.js.map +1 -0
  15. package/dist/cjs/ic-button_3.cjs.entry.js +9 -875
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-calendar_2.cjs.entry.js +22 -13
  18. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +10 -5
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox-ac44e0a2.js +204 -0
  22. package/dist/cjs/ic-checkbox-ac44e0a2.js.map +1 -0
  23. package/dist/cjs/ic-checkbox_3.cjs.entry.js +22 -208
  24. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip-1ff0950a.js +133 -0
  26. package/dist/cjs/ic-chip-1ff0950a.js.map +1 -0
  27. package/dist/cjs/ic-chip.cjs.entry.js +4 -119
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +19 -4
  30. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-table.cjs.entry.js +18 -10
  32. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-date-picker.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +7 -229
  35. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-validation-bf7afa43.js +259 -0
  37. package/dist/cjs/ic-input-validation-bf7afa43.js.map +1 -0
  38. package/dist/cjs/ic-link-c77848ab.js +111 -0
  39. package/dist/cjs/ic-link-c77848ab.js.map +1 -0
  40. package/dist/cjs/ic-link.cjs.entry.js +5 -104
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-loading-indicator-bbd1572c.js +233 -0
  43. package/dist/cjs/ic-loading-indicator-bbd1572c.js.map +1 -0
  44. package/dist/cjs/ic-menu-e9a1a0d3.js +987 -0
  45. package/dist/cjs/ic-menu-e9a1a0d3.js.map +1 -0
  46. package/dist/cjs/ic-menu.cjs.entry.js +6 -991
  47. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item-59bd8957.js +243 -0
  49. package/dist/cjs/ic-navigation-item-59bd8957.js.map +1 -0
  50. package/dist/cjs/ic-navigation-item.cjs.entry.js +5 -232
  51. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-page-header-3d8b3a59.js +131 -0
  53. package/dist/cjs/ic-page-header-3d8b3a59.js.map +1 -0
  54. package/dist/cjs/ic-page-header.cjs.entry.js +4 -124
  55. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-pagination_3.cjs.entry.js +16 -0
  57. package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
  58. package/dist/cjs/ic-section-container-128e2db0.js +34 -0
  59. package/dist/cjs/ic-section-container-128e2db0.js.map +1 -0
  60. package/dist/cjs/ic-section-container.cjs.entry.js +3 -27
  61. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-select-bc8ca251.js +876 -0
  63. package/dist/cjs/ic-select-bc8ca251.js.map +1 -0
  64. package/dist/cjs/ic-skip-link-43203eea.js +60 -0
  65. package/dist/cjs/ic-skip-link-43203eea.js.map +1 -0
  66. package/dist/cjs/ic-skip-link.cjs.entry.js +3 -53
  67. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-status-tag-a4377a6b.js +55 -0
  69. package/dist/cjs/ic-status-tag-a4377a6b.js.map +1 -0
  70. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -48
  71. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-table-of-contents.cjs.entry.js +14 -3
  73. package/dist/cjs/ic-table-of-contents.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-text-field-5d7ae957.js +732 -0
  75. package/dist/cjs/ic-text-field-5d7ae957.js.map +1 -0
  76. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-time-input.cjs.entry.js +17 -7
  79. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-time-selector.cjs.entry.js +53 -170
  81. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-toggle-button-ce67a1ec.js +452 -0
  83. package/dist/cjs/ic-toggle-button-ce67a1ec.js.map +1 -0
  84. package/dist/cjs/ic-toggle-button_2.cjs.entry.js +5 -445
  85. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tooltip-3cc80832.js +239 -0
  87. package/dist/cjs/ic-tooltip-3cc80832.js.map +1 -0
  88. package/dist/cjs/ic-top-navigation-a6c4be7b.js +237 -0
  89. package/dist/cjs/ic-top-navigation-a6c4be7b.js.map +1 -0
  90. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -227
  91. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tree-item.cjs.entry.js +5 -4
  93. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tree-view.cjs.entry.js +7 -5
  95. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-typography-a199c128.js +198 -0
  97. package/dist/cjs/ic-typography-a199c128.js.map +1 -0
  98. package/dist/cjs/ic-typography.cjs.entry.js +4 -191
  99. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  100. package/dist/cjs/index-d337cd8a.js +6 -170
  101. package/dist/cjs/loader.cjs.js +1 -1
  102. package/dist/collection/collection-manifest.json +28 -76
  103. package/dist/collection/components/ic-calendar/ic-calendar.js +12 -10
  104. package/dist/collection/components/ic-calendar/ic-calendar.js.map +1 -1
  105. package/dist/collection/components/ic-calendar/ic-day-button.js +1 -0
  106. package/dist/collection/components/ic-calendar/ic-day-button.js.map +1 -1
  107. package/dist/collection/components/ic-calendar/ic-month-picker.js +1 -0
  108. package/dist/collection/components/ic-calendar/ic-month-picker.js.map +1 -1
  109. package/dist/collection/components/ic-calendar/ic-year-picker.js +1 -0
  110. package/dist/collection/components/ic-calendar/ic-year-picker.js.map +1 -1
  111. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js +1 -1
  112. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js.map +1 -1
  113. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +9 -5
  114. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  115. package/dist/collection/components/ic-data-table/ic-data-table.js +15 -8
  116. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  117. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +18 -4
  118. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  119. package/dist/collection/components/ic-date-input/ic-date-input.js +13 -3
  120. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  121. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +1 -1
  122. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -1
  123. package/dist/collection/components/ic-date-picker/ic-date-picker.js +2 -2
  124. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +19 -12
  125. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  126. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js +1 -0
  127. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents-item.js.map +1 -1
  128. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +12 -3
  129. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js.map +1 -1
  130. package/dist/collection/components/ic-time-input/ic-time-input.js +20 -8
  131. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  132. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +4 -4
  133. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  134. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +1 -1
  135. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
  136. package/dist/collection/components/ic-time-selector/ic-time-selector.js +55 -200
  137. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -1
  138. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +50 -24
  139. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -1
  140. package/dist/collection/components/ic-tree-item/ic-tree-item.js +4 -4
  141. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  142. package/dist/collection/components/ic-tree-view/ic-tree-view.js +5 -3
  143. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  144. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +32 -2
  145. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  146. package/dist/collection/utils/types.js.map +1 -1
  147. package/dist/components/common-helpers.js +1364 -3
  148. package/dist/components/common-helpers.js.map +1 -1
  149. package/dist/components/helpers.js +1 -116
  150. package/dist/components/helpers.js.map +1 -1
  151. package/dist/components/helpers2.js.map +1 -1
  152. package/dist/components/ic-badge.d.ts +11 -0
  153. package/dist/components/ic-badge.js +3 -3
  154. package/dist/components/ic-badge.js.map +1 -1
  155. package/dist/components/ic-button.d.ts +11 -0
  156. package/dist/components/ic-button2.js +5 -5
  157. package/dist/components/ic-button2.js.map +1 -1
  158. package/dist/components/ic-calendar2.js +12 -11
  159. package/dist/components/ic-calendar2.js.map +1 -1
  160. package/dist/components/ic-card-horizontal.js +6 -5
  161. package/dist/components/ic-card-horizontal.js.map +1 -1
  162. package/dist/components/ic-checkbox.d.ts +11 -0
  163. package/dist/components/ic-checkbox2.js +5 -5
  164. package/dist/components/ic-checkbox2.js.map +1 -1
  165. package/dist/components/ic-chip.d.ts +11 -0
  166. package/dist/components/ic-chip.js +14 -6
  167. package/dist/components/ic-chip.js.map +1 -1
  168. package/dist/components/ic-data-table-title-bar.js +18 -7
  169. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  170. package/dist/components/ic-data-table.js +34 -40
  171. package/dist/components/ic-data-table.js.map +1 -1
  172. package/dist/components/ic-date-input2.js +10 -6
  173. package/dist/components/ic-date-input2.js.map +1 -1
  174. package/dist/components/ic-date-picker.js +2 -2
  175. package/dist/components/ic-empty-state.d.ts +11 -0
  176. package/dist/components/ic-empty-state2.js +3 -3
  177. package/dist/components/ic-empty-state2.js.map +1 -1
  178. package/dist/components/ic-input-component-container.d.ts +11 -0
  179. package/dist/components/ic-input-component-container2.js +5 -4
  180. package/dist/components/ic-input-component-container2.js.map +1 -1
  181. package/dist/components/ic-input-container.d.ts +11 -0
  182. package/dist/components/ic-input-container2.js +2 -2
  183. package/dist/components/ic-input-container2.js.map +1 -1
  184. package/dist/components/ic-input-label.d.ts +11 -0
  185. package/dist/components/ic-input-label2.js +3 -3
  186. package/dist/components/ic-input-label2.js.map +1 -1
  187. package/dist/components/ic-input-validation.d.ts +11 -0
  188. package/dist/components/ic-input-validation2.js +21 -5
  189. package/dist/components/ic-input-validation2.js.map +1 -1
  190. package/dist/components/ic-link.d.ts +11 -0
  191. package/dist/components/ic-link2.js +2 -2
  192. package/dist/components/ic-link2.js.map +1 -1
  193. package/dist/components/ic-loading-indicator.d.ts +11 -0
  194. package/dist/components/ic-loading-indicator2.js +27 -13
  195. package/dist/components/ic-loading-indicator2.js.map +1 -1
  196. package/dist/components/ic-menu.d.ts +11 -0
  197. package/dist/components/ic-menu2.js +11 -22
  198. package/dist/components/ic-menu2.js.map +1 -1
  199. package/dist/components/ic-navigation-item.d.ts +11 -0
  200. package/dist/components/ic-navigation-item.js +8 -4
  201. package/dist/components/ic-navigation-item.js.map +1 -1
  202. package/dist/components/ic-page-header.d.ts +11 -0
  203. package/dist/components/ic-page-header.js +9 -33
  204. package/dist/components/ic-page-header.js.map +1 -1
  205. package/dist/components/ic-pagination-bar2.js +23 -29
  206. package/dist/components/ic-pagination-bar2.js.map +1 -1
  207. package/dist/components/ic-pagination.d.ts +11 -0
  208. package/dist/components/ic-pagination2.js +34 -15
  209. package/dist/components/ic-pagination2.js.map +1 -1
  210. package/dist/components/ic-section-container.d.ts +11 -0
  211. package/dist/components/ic-section-container2.js +2 -2
  212. package/dist/components/ic-section-container2.js.map +1 -1
  213. package/dist/components/ic-select.d.ts +11 -0
  214. package/dist/components/ic-select2.js +7 -7
  215. package/dist/components/ic-select2.js.map +1 -1
  216. package/dist/components/ic-skip-link.d.ts +11 -0
  217. package/dist/components/ic-skip-link.js +2 -2
  218. package/dist/components/ic-skip-link.js.map +1 -1
  219. package/dist/components/ic-status-tag.d.ts +11 -0
  220. package/dist/components/ic-status-tag.js +2 -2
  221. package/dist/components/ic-status-tag.js.map +1 -1
  222. package/dist/components/ic-table-of-contents.js +5 -4
  223. package/dist/components/ic-table-of-contents.js.map +1 -1
  224. package/dist/components/ic-text-field.d.ts +11 -0
  225. package/dist/components/ic-text-field2.js +6 -6
  226. package/dist/components/ic-text-field2.js.map +1 -1
  227. package/dist/components/ic-theme.d.ts +11 -0
  228. package/dist/components/ic-theme.js +2 -2
  229. package/dist/components/ic-theme.js.map +1 -1
  230. package/dist/components/ic-time-input.js +16 -12
  231. package/dist/components/ic-time-input.js.map +1 -1
  232. package/dist/components/ic-time-selector.js +51 -173
  233. package/dist/components/ic-time-selector.js.map +1 -1
  234. package/dist/components/ic-toggle-button-group.d.ts +11 -0
  235. package/dist/components/ic-toggle-button-group2.js +2 -2
  236. package/dist/components/ic-toggle-button-group2.js.map +1 -1
  237. package/dist/components/ic-toggle-button.d.ts +11 -0
  238. package/dist/components/ic-toggle-button2.js +3 -3
  239. package/dist/components/ic-toggle-button2.js.map +1 -1
  240. package/dist/components/ic-tooltip.d.ts +11 -0
  241. package/dist/components/ic-tooltip2.js +3 -3
  242. package/dist/components/ic-tooltip2.js.map +1 -1
  243. package/dist/components/ic-top-navigation.d.ts +11 -0
  244. package/dist/components/ic-top-navigation.js +12 -21
  245. package/dist/components/ic-top-navigation.js.map +1 -1
  246. package/dist/components/ic-tree-item.js +4 -5
  247. package/dist/components/ic-tree-item.js.map +1 -1
  248. package/dist/components/ic-tree-view.js +5 -4
  249. package/dist/components/ic-tree-view.js.map +1 -1
  250. package/dist/components/ic-typography.d.ts +11 -0
  251. package/dist/components/ic-typography2.js +3 -3
  252. package/dist/components/ic-typography2.js.map +1 -1
  253. package/dist/components/success-icon.js +11 -0
  254. package/dist/components/success-icon.js.map +1 -0
  255. package/dist/core/core.css +1 -1
  256. package/dist/core/core.esm.js +1 -1
  257. package/dist/core/core.esm.js.map +1 -1
  258. package/dist/core/p-01b04775.js +2 -0
  259. package/dist/core/p-01b04775.js.map +1 -0
  260. package/dist/core/p-02d0a238.entry.js +2 -0
  261. package/dist/core/{p-c4b2774d.entry.js → p-0592277b.js} +2 -2
  262. package/dist/core/p-0592277b.js.map +1 -0
  263. package/dist/core/p-0664935b.js +2 -0
  264. package/dist/core/p-0664935b.js.map +1 -0
  265. package/dist/core/p-0aa06309.entry.js +2 -0
  266. package/dist/core/p-0aa06309.entry.js.map +1 -0
  267. package/dist/core/p-0c02b16c.entry.js +2 -0
  268. package/dist/core/p-1836fef6.entry.js +2 -0
  269. package/dist/core/p-1836fef6.entry.js.map +1 -0
  270. package/dist/core/{p-79ead0e7.entry.js → p-18d5e467.js} +2 -2
  271. package/dist/core/p-18d5e467.js.map +1 -0
  272. package/dist/core/p-1ddc08d0.js +2 -0
  273. package/dist/core/p-1ddc08d0.js.map +1 -0
  274. package/dist/core/{p-201b41c7.entry.js → p-22267c01.entry.js} +2 -2
  275. package/dist/core/p-27962d4d.entry.js +2 -0
  276. package/dist/core/p-384a7f60.entry.js +2 -0
  277. package/dist/core/p-3ed17bfc.entry.js +2 -0
  278. package/dist/core/p-3ed17bfc.entry.js.map +1 -0
  279. package/dist/core/p-42bacb0d.entry.js +2 -0
  280. package/dist/core/p-42bacb0d.entry.js.map +1 -0
  281. package/dist/core/p-4385552a.entry.js +2 -0
  282. package/dist/core/p-4385552a.entry.js.map +1 -0
  283. package/dist/core/{p-551a0fc1.entry.js → p-510f8257.entry.js} +2 -2
  284. package/dist/core/p-510f8257.entry.js.map +1 -0
  285. package/dist/core/{p-939025af.entry.js → p-5585895d.js} +2 -2
  286. package/dist/core/p-5585895d.js.map +1 -0
  287. package/dist/core/p-56ef5c79.js +2 -0
  288. package/dist/core/p-56ef5c79.js.map +1 -0
  289. package/dist/core/{p-7efdbab8.entry.js → p-5d5b1aa8.js} +2 -2
  290. package/dist/core/p-5d5b1aa8.js.map +1 -0
  291. package/dist/core/p-5e14ec1e.entry.js +2 -0
  292. package/dist/core/p-5e14ec1e.entry.js.map +1 -0
  293. package/dist/core/p-67a25154.entry.js +2 -0
  294. package/dist/core/p-67a25154.entry.js.map +1 -0
  295. package/dist/core/{p-ea1ea1b9.js → p-67a4f674.js} +1 -1
  296. package/dist/core/p-67a4f674.js.map +1 -0
  297. package/dist/core/p-6f45df7a.entry.js +2 -0
  298. package/dist/core/p-6f45df7a.entry.js.map +1 -0
  299. package/dist/core/{p-33509a89.entry.js → p-7843f9be.js} +2 -2
  300. package/dist/core/p-7843f9be.js.map +1 -0
  301. package/dist/core/p-7bbd1881.js +2 -0
  302. package/dist/core/p-7bbd1881.js.map +1 -0
  303. package/dist/core/{p-349d91dc.js → p-7d378ee6.js} +3 -3
  304. package/dist/core/p-7d378ee6.js.map +1 -0
  305. package/dist/core/p-7e4404fc.entry.js +2 -0
  306. package/dist/core/p-7e4404fc.entry.js.map +1 -0
  307. package/dist/core/p-829b34f9.js.map +1 -1
  308. package/dist/core/p-84129c7e.entry.js +2 -0
  309. package/dist/core/p-84129c7e.entry.js.map +1 -0
  310. package/dist/core/p-857362bd.entry.js +2 -0
  311. package/dist/core/p-857362bd.entry.js.map +1 -0
  312. package/dist/core/p-883e677d.entry.js +2 -0
  313. package/dist/core/p-883e677d.entry.js.map +1 -0
  314. package/dist/core/p-9148bd35.js +2 -0
  315. package/dist/core/p-9148bd35.js.map +1 -0
  316. package/dist/core/p-92e447e1.entry.js +2 -0
  317. package/dist/core/p-92e447e1.entry.js.map +1 -0
  318. package/dist/core/p-964d0e32.js +2 -0
  319. package/dist/core/p-964d0e32.js.map +1 -0
  320. package/dist/core/{p-9ca147f3.entry.js → p-9b218099.js} +2 -2
  321. package/dist/core/p-9b218099.js.map +1 -0
  322. package/dist/core/p-a4cb3520.js +2 -0
  323. package/dist/core/p-a4cb3520.js.map +1 -0
  324. package/dist/core/p-a50e4bdf.entry.js +2 -0
  325. package/dist/core/p-a50e4bdf.entry.js.map +1 -0
  326. package/dist/core/p-b8325ec4.js +2 -0
  327. package/dist/core/p-b8325ec4.js.map +1 -0
  328. package/dist/core/p-c1337dbc.entry.js +2 -0
  329. package/dist/core/p-c1337dbc.entry.js.map +1 -0
  330. package/dist/core/p-c2669ec9.js +2 -0
  331. package/dist/core/p-c2669ec9.js.map +1 -0
  332. package/dist/core/p-c5ac4fcc.entry.js +2 -0
  333. package/dist/core/p-c5ac4fcc.entry.js.map +1 -0
  334. package/dist/core/{p-879c180d.entry.js → p-c5d680be.js} +2 -2
  335. package/dist/core/p-c5d680be.js.map +1 -0
  336. package/dist/core/p-cd454ff0.entry.js +2 -0
  337. package/dist/core/p-cd454ff0.entry.js.map +1 -0
  338. package/dist/core/{p-319e3d5b.entry.js → p-d107dfa8.js} +2 -2
  339. package/dist/core/p-d107dfa8.js.map +1 -0
  340. package/dist/core/p-da2a9ddc.js +2 -0
  341. package/dist/core/p-da2a9ddc.js.map +1 -0
  342. package/dist/core/p-dc3a13d5.entry.js +2 -0
  343. package/dist/core/p-dc3a13d5.entry.js.map +1 -0
  344. package/dist/core/p-f3267773.entry.js +2 -0
  345. package/dist/core/p-f3267773.entry.js.map +1 -0
  346. package/dist/core/p-f65f0065.js +2 -0
  347. package/dist/core/p-f65f0065.js.map +1 -0
  348. package/dist/core/p-fc239961.entry.js +2 -0
  349. package/dist/core/p-fc239961.entry.js.map +1 -0
  350. package/dist/core/p-fd4fd86a.entry.js +2 -0
  351. package/dist/core/p-fd4fd86a.entry.js.map +1 -0
  352. package/dist/esm/{OpenInNew-52210a9d.js → OpenInNew-6f820c13.js} +1 -1
  353. package/dist/esm/OpenInNew-6f820c13.js.map +1 -0
  354. package/dist/{cjs/purify-039f565a.js → esm/common-helpers-f2174548.js} +18 -3
  355. package/dist/esm/common-helpers-f2174548.js.map +1 -0
  356. package/dist/esm/core.js +1 -1
  357. package/dist/esm/{helpers-063369f4.js → helpers-15fb9b13.js} +2 -117
  358. package/dist/esm/helpers-15fb9b13.js.map +1 -0
  359. package/dist/esm/helpers-a08b3f32.js.map +1 -1
  360. package/dist/esm/ic-badge-5c2b4bc7.js +182 -0
  361. package/dist/esm/ic-badge-5c2b4bc7.js.map +1 -0
  362. package/dist/esm/ic-badge.entry.js +3 -180
  363. package/dist/esm/ic-badge.entry.js.map +1 -1
  364. package/dist/esm/ic-button-2f9b4e8a.js +433 -0
  365. package/dist/esm/ic-button-2f9b4e8a.js.map +1 -0
  366. package/dist/esm/ic-button_3.entry.js +6 -876
  367. package/dist/esm/ic-button_3.entry.js.map +1 -1
  368. package/dist/esm/ic-calendar_2.entry.js +22 -13
  369. package/dist/esm/ic-calendar_2.entry.js.map +1 -1
  370. package/dist/esm/ic-card-horizontal.entry.js +10 -5
  371. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  372. package/dist/esm/ic-checkbox-f21a3f00.js +201 -0
  373. package/dist/esm/ic-checkbox-f21a3f00.js.map +1 -0
  374. package/dist/esm/ic-checkbox_3.entry.js +17 -203
  375. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  376. package/dist/esm/ic-chip-b44cea5b.js +131 -0
  377. package/dist/esm/ic-chip-b44cea5b.js.map +1 -0
  378. package/dist/esm/ic-chip.entry.js +3 -122
  379. package/dist/esm/ic-chip.entry.js.map +1 -1
  380. package/dist/esm/ic-data-table-title-bar.entry.js +19 -4
  381. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  382. package/dist/esm/ic-data-table.entry.js +18 -10
  383. package/dist/esm/ic-data-table.entry.js.map +1 -1
  384. package/dist/esm/ic-date-picker.entry.js +2 -2
  385. package/dist/esm/ic-input-component-container_4.entry.js +3 -229
  386. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  387. package/dist/esm/ic-input-validation-cce3bb05.js +254 -0
  388. package/dist/esm/ic-input-validation-cce3bb05.js.map +1 -0
  389. package/dist/esm/ic-link-0f6ba1b0.js +109 -0
  390. package/dist/esm/ic-link-0f6ba1b0.js.map +1 -0
  391. package/dist/esm/ic-link.entry.js +4 -107
  392. package/dist/esm/ic-link.entry.js.map +1 -1
  393. package/dist/esm/ic-loading-indicator-7ec7c6c9.js +231 -0
  394. package/dist/esm/ic-loading-indicator-7ec7c6c9.js.map +1 -0
  395. package/dist/esm/ic-menu-c29dda8d.js +985 -0
  396. package/dist/esm/ic-menu-c29dda8d.js.map +1 -0
  397. package/dist/esm/ic-menu.entry.js +5 -994
  398. package/dist/esm/ic-menu.entry.js.map +1 -1
  399. package/dist/esm/ic-navigation-item-e775ce8c.js +241 -0
  400. package/dist/esm/ic-navigation-item-e775ce8c.js.map +1 -0
  401. package/dist/esm/ic-navigation-item.entry.js +4 -235
  402. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  403. package/dist/esm/ic-page-header-a4a552fe.js +129 -0
  404. package/dist/esm/ic-page-header-a4a552fe.js.map +1 -0
  405. package/dist/esm/ic-page-header.entry.js +3 -127
  406. package/dist/esm/ic-page-header.entry.js.map +1 -1
  407. package/dist/esm/ic-pagination_3.entry.js +6 -0
  408. package/dist/esm/ic-pagination_3.entry.js.map +1 -0
  409. package/dist/esm/ic-section-container-3b887eb7.js +32 -0
  410. package/dist/esm/ic-section-container-3b887eb7.js.map +1 -0
  411. package/dist/esm/ic-section-container.entry.js +2 -30
  412. package/dist/esm/ic-section-container.entry.js.map +1 -1
  413. package/dist/esm/ic-select-cb04ab16.js +874 -0
  414. package/dist/esm/ic-select-cb04ab16.js.map +1 -0
  415. package/dist/esm/ic-skip-link-7c9b8269.js +58 -0
  416. package/dist/esm/ic-skip-link-7c9b8269.js.map +1 -0
  417. package/dist/esm/ic-skip-link.entry.js +2 -56
  418. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  419. package/dist/esm/ic-status-tag-7395532c.js +53 -0
  420. package/dist/esm/ic-status-tag-7395532c.js.map +1 -0
  421. package/dist/esm/ic-status-tag.entry.js +3 -51
  422. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  423. package/dist/esm/ic-table-of-contents.entry.js +14 -3
  424. package/dist/esm/ic-table-of-contents.entry.js.map +1 -1
  425. package/dist/esm/ic-text-field-73754fc7.js +729 -0
  426. package/dist/esm/ic-text-field-73754fc7.js.map +1 -0
  427. package/dist/esm/ic-theme.entry.js +2 -2
  428. package/dist/esm/ic-theme.entry.js.map +1 -1
  429. package/dist/esm/ic-time-input.entry.js +17 -7
  430. package/dist/esm/ic-time-input.entry.js.map +1 -1
  431. package/dist/esm/ic-time-selector.entry.js +53 -170
  432. package/dist/esm/ic-time-selector.entry.js.map +1 -1
  433. package/dist/esm/ic-toggle-button-c58aaaec.js +449 -0
  434. package/dist/esm/ic-toggle-button-c58aaaec.js.map +1 -0
  435. package/dist/esm/ic-toggle-button_2.entry.js +3 -447
  436. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -1
  437. package/dist/esm/ic-tooltip-3c856fa7.js +237 -0
  438. package/dist/esm/ic-tooltip-3c856fa7.js.map +1 -0
  439. package/dist/esm/ic-top-navigation-ba78648a.js +235 -0
  440. package/dist/esm/ic-top-navigation-ba78648a.js.map +1 -0
  441. package/dist/esm/ic-top-navigation.entry.js +3 -230
  442. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  443. package/dist/esm/ic-tree-item.entry.js +5 -4
  444. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  445. package/dist/esm/ic-tree-view.entry.js +7 -5
  446. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  447. package/dist/esm/ic-typography-9e3efc99.js +196 -0
  448. package/dist/esm/ic-typography-9e3efc99.js.map +1 -0
  449. package/dist/esm/ic-typography.entry.js +3 -194
  450. package/dist/esm/ic-typography.entry.js.map +1 -1
  451. package/dist/esm/index-a7a720e7.js +6 -170
  452. package/dist/esm/loader.js +1 -1
  453. package/dist/types/components/ic-calendar/ic-calendar.d.ts +2 -0
  454. package/dist/types/components/ic-calendar/ic-day-button.d.ts +1 -0
  455. package/dist/types/components/ic-calendar/ic-month-picker.d.ts +1 -0
  456. package/dist/types/components/ic-calendar/ic-year-picker.d.ts +1 -0
  457. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +4 -0
  458. package/dist/types/components/ic-data-table/ic-data-table.d.ts +7 -0
  459. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +4 -0
  460. package/dist/types/components/ic-date-input/ic-date-input.d.ts +7 -0
  461. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +8 -1
  462. package/dist/types/components/ic-table-of-contents/ic-table-of-contents-item.d.ts +1 -0
  463. package/dist/types/components/ic-table-of-contents/ic-table-of-contents.d.ts +9 -0
  464. package/dist/types/components/ic-time-input/ic-time-input.d.ts +10 -1
  465. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +4 -10
  466. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +48 -13
  467. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +1 -0
  468. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -0
  469. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +27 -21
  470. package/dist/types/components.d.ts +3918 -786
  471. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-badge/ic-badge.d.ts +74 -0
  472. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-badge/ic-badge.types.d.ts +4 -0
  473. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-button/ic-button.d.ts +210 -0
  474. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-button/ic-button.types.d.ts +2 -0
  475. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-checkbox/ic-checkbox.d.ts +90 -0
  476. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-chip/ic-chip.d.ts +75 -0
  477. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-empty-state/ic-empty-state.d.ts +44 -0
  478. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-empty-state/ic-empty-state.types.d.ts +1 -0
  479. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-input-component-container/ic-input-component-container.d.ts +40 -0
  480. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-input-container/ic-input-container.d.ts +11 -0
  481. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-input-label/ic-input-label.d.ts +42 -0
  482. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-input-validation/ic-input-validation.d.ts +32 -0
  483. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-link/ic-link.d.ts +55 -0
  484. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-loading-indicator/ic-loading-indicator.d.ts +83 -0
  485. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +9 -0
  486. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-menu/ic-menu.d.ts +235 -0
  487. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-menu/ic-menu.types.d.ts +12 -0
  488. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-navigation-item/ic-navigation-item.d.ts +102 -0
  489. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-page-header/ic-page-header.d.ts +61 -0
  490. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-pagination/ic-pagination.d.ts +102 -0
  491. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-pagination/ic-pagination.types.d.ts +6 -0
  492. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-search-bar/ic-search-bar.types.d.ts +5 -0
  493. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-section-container/ic-section-container.d.ts +12 -0
  494. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-select/ic-select.d.ts +282 -0
  495. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-side-navigation/ic-side-navigation.types.d.ts +13 -0
  496. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-skip-link/ic-skip-link.d.ts +38 -0
  497. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-status-tag/ic-status-tag.d.ts +35 -0
  498. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-status-tag/ic-status-tag.types.d.ts +1 -0
  499. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-text-field/ic-text-field.d.ts +262 -0
  500. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-text-field/ic-text-field.types.d.ts +8 -0
  501. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-theme/ic-theme.d.ts +28 -0
  502. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-toggle-button/ic-toggle-button.d.ts +75 -0
  503. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +92 -0
  504. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +7 -0
  505. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-tooltip/ic-tooltip.d.ts +82 -0
  506. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-tooltip/ic-tooltip.types.d.ts +1 -0
  507. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-top-navigation/ic-top-navigation.d.ts +102 -0
  508. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/components/ic-typography/ic-typography.d.ts +83 -0
  509. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/utils/helpers.d.ts +167 -0
  510. package/dist/types/home/runner/work/ic-ui-kit/ic-ui-kit/packages/canary-web-components/.stencil/web-components/src/utils/types.d.ts +98 -0
  511. package/dist/types/utils/types.d.ts +1 -2
  512. package/hydrate/index.js +12979 -20485
  513. package/hydrate/index.mjs +12979 -20485
  514. package/package.json +14 -20
  515. package/dist/cjs/OpenInNew-7bac24f7.js.map +0 -1
  516. package/dist/cjs/check-icon-dd563898.js +0 -10
  517. package/dist/cjs/check-icon-dd563898.js.map +0 -1
  518. package/dist/cjs/chevron-icon-3dedd973.js +0 -10
  519. package/dist/cjs/chevron-icon-3dedd973.js.map +0 -1
  520. package/dist/cjs/close-icon-d62b369d.js +0 -12
  521. package/dist/cjs/close-icon-d62b369d.js.map +0 -1
  522. package/dist/cjs/common-helpers-944cb54d.js +0 -21
  523. package/dist/cjs/common-helpers-944cb54d.js.map +0 -1
  524. package/dist/cjs/helpers-2cc5f6db.js.map +0 -1
  525. package/dist/cjs/ic-accordion-group.cjs.entry.js +0 -137
  526. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +0 -1
  527. package/dist/cjs/ic-accordion.cjs.entry.js +0 -150
  528. package/dist/cjs/ic-accordion.cjs.entry.js.map +0 -1
  529. package/dist/cjs/ic-action-chip.cjs.entry.js +0 -116
  530. package/dist/cjs/ic-action-chip.cjs.entry.js.map +0 -1
  531. package/dist/cjs/ic-alert.cjs.entry.js +0 -136
  532. package/dist/cjs/ic-alert.cjs.entry.js.map +0 -1
  533. package/dist/cjs/ic-back-to-top.cjs.entry.js +0 -168
  534. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +0 -1
  535. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +0 -241
  536. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +0 -1
  537. package/dist/cjs/ic-breadcrumb.cjs.entry.js +0 -118
  538. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +0 -1
  539. package/dist/cjs/ic-card-vertical.cjs.entry.js +0 -171
  540. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +0 -1
  541. package/dist/cjs/ic-checkbox-group.cjs.entry.js +0 -127
  542. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +0 -1
  543. package/dist/cjs/ic-classification-banner.cjs.entry.js +0 -67
  544. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +0 -1
  545. package/dist/cjs/ic-data-list.cjs.entry.js +0 -38
  546. package/dist/cjs/ic-data-list.cjs.entry.js.map +0 -1
  547. package/dist/cjs/ic-data-row.cjs.entry.js +0 -88
  548. package/dist/cjs/ic-data-row.cjs.entry.js.map +0 -1
  549. package/dist/cjs/ic-dialog.cjs.entry.js +0 -388
  550. package/dist/cjs/ic-dialog.cjs.entry.js.map +0 -1
  551. package/dist/cjs/ic-divider.cjs.entry.js +0 -114
  552. package/dist/cjs/ic-divider.cjs.entry.js.map +0 -1
  553. package/dist/cjs/ic-footer-link-group.cjs.entry.js +0 -69
  554. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +0 -1
  555. package/dist/cjs/ic-footer-link.cjs.entry.js +0 -65
  556. package/dist/cjs/ic-footer-link.cjs.entry.js.map +0 -1
  557. package/dist/cjs/ic-footer.cjs.entry.js +0 -119
  558. package/dist/cjs/ic-footer.cjs.entry.js.map +0 -1
  559. package/dist/cjs/ic-hero.cjs.entry.js +0 -104
  560. package/dist/cjs/ic-hero.cjs.entry.js.map +0 -1
  561. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +0 -196
  562. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +0 -1
  563. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +0 -70
  564. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +0 -1
  565. package/dist/cjs/ic-layout-grid.cjs.entry.js +0 -156
  566. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +0 -1
  567. package/dist/cjs/ic-menu-group.cjs.entry.js +0 -25
  568. package/dist/cjs/ic-menu-group.cjs.entry.js.map +0 -1
  569. package/dist/cjs/ic-menu-item.cjs.entry.js +0 -121
  570. package/dist/cjs/ic-menu-item.cjs.entry.js.map +0 -1
  571. package/dist/cjs/ic-navigation-button.cjs.entry.js +0 -124
  572. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +0 -1
  573. package/dist/cjs/ic-navigation-group.cjs.entry.js +0 -293
  574. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +0 -1
  575. package/dist/cjs/ic-navigation-menu.cjs.entry.js +0 -149
  576. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +0 -1
  577. package/dist/cjs/ic-pagination_4.cjs.entry.js +0 -1647
  578. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +0 -1
  579. package/dist/cjs/ic-popover-menu.cjs.entry.js +0 -308
  580. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +0 -1
  581. package/dist/cjs/ic-radio-group.cjs.entry.js +0 -264
  582. package/dist/cjs/ic-radio-group.cjs.entry.js.map +0 -1
  583. package/dist/cjs/ic-radio-option.cjs.entry.js +0 -173
  584. package/dist/cjs/ic-radio-option.cjs.entry.js.map +0 -1
  585. package/dist/cjs/ic-search-bar.cjs.entry.js +0 -606
  586. package/dist/cjs/ic-search-bar.cjs.entry.js.map +0 -1
  587. package/dist/cjs/ic-side-navigation.cjs.entry.js +0 -488
  588. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +0 -1
  589. package/dist/cjs/ic-skeleton.cjs.entry.js +0 -47
  590. package/dist/cjs/ic-skeleton.cjs.entry.js.map +0 -1
  591. package/dist/cjs/ic-step.cjs.entry.js +0 -155
  592. package/dist/cjs/ic-step.cjs.entry.js.map +0 -1
  593. package/dist/cjs/ic-stepper.cjs.entry.js +0 -288
  594. package/dist/cjs/ic-stepper.cjs.entry.js.map +0 -1
  595. package/dist/cjs/ic-switch.cjs.entry.js +0 -124
  596. package/dist/cjs/ic-switch.cjs.entry.js.map +0 -1
  597. package/dist/cjs/ic-tab-context.cjs.entry.js +0 -250
  598. package/dist/cjs/ic-tab-context.cjs.entry.js.map +0 -1
  599. package/dist/cjs/ic-tab-group.cjs.entry.js +0 -40
  600. package/dist/cjs/ic-tab-group.cjs.entry.js.map +0 -1
  601. package/dist/cjs/ic-tab-panel.cjs.entry.js +0 -42
  602. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +0 -1
  603. package/dist/cjs/ic-tab.cjs.entry.js +0 -112
  604. package/dist/cjs/ic-tab.cjs.entry.js.map +0 -1
  605. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -59
  606. package/dist/cjs/ic-toast-region.cjs.entry.js.map +0 -1
  607. package/dist/cjs/ic-toast.cjs.entry.js +0 -239
  608. package/dist/cjs/ic-toast.cjs.entry.js.map +0 -1
  609. package/dist/cjs/purify-039f565a.js.map +0 -1
  610. package/dist/components/check-icon.js +0 -8
  611. package/dist/components/check-icon.js.map +0 -1
  612. package/dist/components/chevron-icon.js +0 -8
  613. package/dist/components/chevron-icon.js.map +0 -1
  614. package/dist/components/close-icon.js +0 -10
  615. package/dist/components/close-icon.js.map +0 -1
  616. package/dist/components/ic-accordion-group.js +0 -188
  617. package/dist/components/ic-accordion-group.js.map +0 -1
  618. package/dist/components/ic-accordion.js +0 -181
  619. package/dist/components/ic-accordion.js.map +0 -1
  620. package/dist/components/ic-action-chip.js +0 -160
  621. package/dist/components/ic-action-chip.js.map +0 -1
  622. package/dist/components/ic-alert.js +0 -187
  623. package/dist/components/ic-alert.js.map +0 -1
  624. package/dist/components/ic-back-to-top.js +0 -216
  625. package/dist/components/ic-back-to-top.js.map +0 -1
  626. package/dist/components/ic-breadcrumb-group.js +0 -278
  627. package/dist/components/ic-breadcrumb-group.js.map +0 -1
  628. package/dist/components/ic-breadcrumb.js +0 -8
  629. package/dist/components/ic-breadcrumb.js.map +0 -1
  630. package/dist/components/ic-breadcrumb2.js +0 -145
  631. package/dist/components/ic-breadcrumb2.js.map +0 -1
  632. package/dist/components/ic-card-vertical.js +0 -219
  633. package/dist/components/ic-card-vertical.js.map +0 -1
  634. package/dist/components/ic-checkbox-group.js +0 -176
  635. package/dist/components/ic-checkbox-group.js.map +0 -1
  636. package/dist/components/ic-classification-banner.js +0 -93
  637. package/dist/components/ic-classification-banner.js.map +0 -1
  638. package/dist/components/ic-data-list.js +0 -62
  639. package/dist/components/ic-data-list.js.map +0 -1
  640. package/dist/components/ic-data-row.js +0 -115
  641. package/dist/components/ic-data-row.js.map +0 -1
  642. package/dist/components/ic-dialog.js +0 -445
  643. package/dist/components/ic-dialog.js.map +0 -1
  644. package/dist/components/ic-divider.js +0 -8
  645. package/dist/components/ic-divider.js.map +0 -1
  646. package/dist/components/ic-divider2.js +0 -139
  647. package/dist/components/ic-divider2.js.map +0 -1
  648. package/dist/components/ic-footer-link-group.js +0 -101
  649. package/dist/components/ic-footer-link-group.js.map +0 -1
  650. package/dist/components/ic-footer-link.js +0 -95
  651. package/dist/components/ic-footer-link.js.map +0 -1
  652. package/dist/components/ic-footer.js +0 -155
  653. package/dist/components/ic-footer.js.map +0 -1
  654. package/dist/components/ic-hero.js +0 -145
  655. package/dist/components/ic-hero.js.map +0 -1
  656. package/dist/components/ic-horizontal-scroll.js +0 -8
  657. package/dist/components/ic-horizontal-scroll.js.map +0 -1
  658. package/dist/components/ic-horizontal-scroll2.js +0 -240
  659. package/dist/components/ic-horizontal-scroll2.js.map +0 -1
  660. package/dist/components/ic-layout-grid-item.js +0 -95
  661. package/dist/components/ic-layout-grid-item.js.map +0 -1
  662. package/dist/components/ic-layout-grid.js +0 -188
  663. package/dist/components/ic-layout-grid.js.map +0 -1
  664. package/dist/components/ic-menu-group.js +0 -47
  665. package/dist/components/ic-menu-group.js.map +0 -1
  666. package/dist/components/ic-menu-item.js +0 -8
  667. package/dist/components/ic-menu-item.js.map +0 -1
  668. package/dist/components/ic-menu-item2.js +0 -171
  669. package/dist/components/ic-menu-item2.js.map +0 -1
  670. package/dist/components/ic-navigation-button.js +0 -174
  671. package/dist/components/ic-navigation-button.js.map +0 -1
  672. package/dist/components/ic-navigation-group.js +0 -326
  673. package/dist/components/ic-navigation-group.js.map +0 -1
  674. package/dist/components/ic-navigation-menu.js +0 -8
  675. package/dist/components/ic-navigation-menu.js.map +0 -1
  676. package/dist/components/ic-navigation-menu2.js +0 -188
  677. package/dist/components/ic-navigation-menu2.js.map +0 -1
  678. package/dist/components/ic-pagination-item.js +0 -8
  679. package/dist/components/ic-pagination-item.js.map +0 -1
  680. package/dist/components/ic-pagination-item2.js +0 -107
  681. package/dist/components/ic-pagination-item2.js.map +0 -1
  682. package/dist/components/ic-popover-menu.js +0 -369
  683. package/dist/components/ic-popover-menu.js.map +0 -1
  684. package/dist/components/ic-radio-group.js +0 -317
  685. package/dist/components/ic-radio-group.js.map +0 -1
  686. package/dist/components/ic-radio-option.js +0 -209
  687. package/dist/components/ic-radio-option.js.map +0 -1
  688. package/dist/components/ic-search-bar.js +0 -719
  689. package/dist/components/ic-search-bar.js.map +0 -1
  690. package/dist/components/ic-side-navigation.js +0 -553
  691. package/dist/components/ic-side-navigation.js.map +0 -1
  692. package/dist/components/ic-skeleton.js +0 -64
  693. package/dist/components/ic-skeleton.js.map +0 -1
  694. package/dist/components/ic-step.js +0 -198
  695. package/dist/components/ic-step.js.map +0 -1
  696. package/dist/components/ic-stepper.js +0 -320
  697. package/dist/components/ic-stepper.js.map +0 -1
  698. package/dist/components/ic-switch.js +0 -166
  699. package/dist/components/ic-switch.js.map +0 -1
  700. package/dist/components/ic-tab-context.js +0 -276
  701. package/dist/components/ic-tab-context.js.map +0 -1
  702. package/dist/components/ic-tab-group.js +0 -89
  703. package/dist/components/ic-tab-group.js.map +0 -1
  704. package/dist/components/ic-tab-panel.js +0 -63
  705. package/dist/components/ic-tab-panel.js.map +0 -1
  706. package/dist/components/ic-tab.js +0 -143
  707. package/dist/components/ic-tab.js.map +0 -1
  708. package/dist/components/ic-toast-region.js +0 -76
  709. package/dist/components/ic-toast-region.js.map +0 -1
  710. package/dist/components/ic-toast.js +0 -293
  711. package/dist/components/ic-toast.js.map +0 -1
  712. package/dist/components/purify.js +0 -1363
  713. package/dist/components/purify.js.map +0 -1
  714. package/dist/core/p-04cb17d7.entry.js +0 -2
  715. package/dist/core/p-04cb17d7.entry.js.map +0 -1
  716. package/dist/core/p-08f24329.entry.js +0 -2
  717. package/dist/core/p-08f24329.entry.js.map +0 -1
  718. package/dist/core/p-0aa9ce8b.js +0 -2
  719. package/dist/core/p-14b8bf37.entry.js +0 -2
  720. package/dist/core/p-14b8bf37.entry.js.map +0 -1
  721. package/dist/core/p-169ad948.entry.js +0 -2
  722. package/dist/core/p-169ad948.entry.js.map +0 -1
  723. package/dist/core/p-170ddfc2.js +0 -2
  724. package/dist/core/p-1cc402b8.entry.js +0 -2
  725. package/dist/core/p-1cc402b8.entry.js.map +0 -1
  726. package/dist/core/p-1d166343.entry.js +0 -2
  727. package/dist/core/p-1d166343.entry.js.map +0 -1
  728. package/dist/core/p-319e3d5b.entry.js.map +0 -1
  729. package/dist/core/p-33509a89.entry.js.map +0 -1
  730. package/dist/core/p-3389625c.entry.js +0 -2
  731. package/dist/core/p-3389625c.entry.js.map +0 -1
  732. package/dist/core/p-344752cb.entry.js +0 -2
  733. package/dist/core/p-344752cb.entry.js.map +0 -1
  734. package/dist/core/p-348d7080.entry.js +0 -2
  735. package/dist/core/p-348d7080.entry.js.map +0 -1
  736. package/dist/core/p-349d91dc.js.map +0 -1
  737. package/dist/core/p-39cdf5db.entry.js +0 -2
  738. package/dist/core/p-39cdf5db.entry.js.map +0 -1
  739. package/dist/core/p-496b314f.entry.js +0 -2
  740. package/dist/core/p-496b314f.entry.js.map +0 -1
  741. package/dist/core/p-508b6da3.entry.js +0 -2
  742. package/dist/core/p-508b6da3.entry.js.map +0 -1
  743. package/dist/core/p-5254a078.entry.js +0 -2
  744. package/dist/core/p-5254a078.entry.js.map +0 -1
  745. package/dist/core/p-53740194.entry.js +0 -2
  746. package/dist/core/p-53740194.entry.js.map +0 -1
  747. package/dist/core/p-551a0fc1.entry.js.map +0 -1
  748. package/dist/core/p-5e6687a8.entry.js +0 -2
  749. package/dist/core/p-5e6687a8.entry.js.map +0 -1
  750. package/dist/core/p-60f4fe3a.entry.js +0 -2
  751. package/dist/core/p-60f4fe3a.entry.js.map +0 -1
  752. package/dist/core/p-61c92598.entry.js +0 -2
  753. package/dist/core/p-61c92598.entry.js.map +0 -1
  754. package/dist/core/p-6323da7a.entry.js +0 -2
  755. package/dist/core/p-6323da7a.entry.js.map +0 -1
  756. package/dist/core/p-67c3985d.entry.js +0 -2
  757. package/dist/core/p-67c3985d.entry.js.map +0 -1
  758. package/dist/core/p-691dd972.entry.js +0 -2
  759. package/dist/core/p-691dd972.entry.js.map +0 -1
  760. package/dist/core/p-6dfe0922.entry.js +0 -2
  761. package/dist/core/p-6dfe0922.entry.js.map +0 -1
  762. package/dist/core/p-71cc5909.entry.js +0 -2
  763. package/dist/core/p-71cc5909.entry.js.map +0 -1
  764. package/dist/core/p-770e92cd.entry.js +0 -2
  765. package/dist/core/p-770e92cd.entry.js.map +0 -1
  766. package/dist/core/p-79ead0e7.entry.js.map +0 -1
  767. package/dist/core/p-7b4b45cf.entry.js +0 -2
  768. package/dist/core/p-7b4b45cf.entry.js.map +0 -1
  769. package/dist/core/p-7efdbab8.entry.js.map +0 -1
  770. package/dist/core/p-802a4bd3.entry.js +0 -2
  771. package/dist/core/p-802a4bd3.entry.js.map +0 -1
  772. package/dist/core/p-879c180d.entry.js.map +0 -1
  773. package/dist/core/p-8830011c.entry.js +0 -2
  774. package/dist/core/p-8830011c.entry.js.map +0 -1
  775. package/dist/core/p-8ab37b4d.entry.js +0 -2
  776. package/dist/core/p-8ab37b4d.entry.js.map +0 -1
  777. package/dist/core/p-939025af.entry.js.map +0 -1
  778. package/dist/core/p-939b168a.entry.js +0 -2
  779. package/dist/core/p-939b168a.entry.js.map +0 -1
  780. package/dist/core/p-9674b63f.entry.js +0 -2
  781. package/dist/core/p-9674b63f.entry.js.map +0 -1
  782. package/dist/core/p-9ca147f3.entry.js.map +0 -1
  783. package/dist/core/p-9dea5764.entry.js +0 -2
  784. package/dist/core/p-9dea5764.entry.js.map +0 -1
  785. package/dist/core/p-a422b778.js +0 -2
  786. package/dist/core/p-a422b778.js.map +0 -1
  787. package/dist/core/p-a88e61b2.entry.js +0 -2
  788. package/dist/core/p-a88e61b2.entry.js.map +0 -1
  789. package/dist/core/p-a8a92e54.entry.js +0 -2
  790. package/dist/core/p-a8a92e54.entry.js.map +0 -1
  791. package/dist/core/p-a94a7b71.entry.js +0 -2
  792. package/dist/core/p-a94a7b71.entry.js.map +0 -1
  793. package/dist/core/p-ad551a0c.entry.js +0 -2
  794. package/dist/core/p-ad551a0c.entry.js.map +0 -1
  795. package/dist/core/p-adde6c66.entry.js +0 -2
  796. package/dist/core/p-adde6c66.entry.js.map +0 -1
  797. package/dist/core/p-b434bd7c.entry.js +0 -2
  798. package/dist/core/p-b434bd7c.entry.js.map +0 -1
  799. package/dist/core/p-b4a2f6fa.entry.js +0 -2
  800. package/dist/core/p-b4a2f6fa.entry.js.map +0 -1
  801. package/dist/core/p-c0a7eed7.entry.js +0 -2
  802. package/dist/core/p-c0a7eed7.entry.js.map +0 -1
  803. package/dist/core/p-c0b227d2.entry.js +0 -2
  804. package/dist/core/p-c0b227d2.entry.js.map +0 -1
  805. package/dist/core/p-c32f043e.entry.js +0 -2
  806. package/dist/core/p-c32f043e.entry.js.map +0 -1
  807. package/dist/core/p-c4b2774d.entry.js.map +0 -1
  808. package/dist/core/p-c9525aac.entry.js +0 -2
  809. package/dist/core/p-c9525aac.entry.js.map +0 -1
  810. package/dist/core/p-ca05573a.entry.js +0 -2
  811. package/dist/core/p-ca05573a.entry.js.map +0 -1
  812. package/dist/core/p-d0607a70.entry.js +0 -2
  813. package/dist/core/p-d0607a70.entry.js.map +0 -1
  814. package/dist/core/p-d528d856.entry.js +0 -2
  815. package/dist/core/p-d528d856.entry.js.map +0 -1
  816. package/dist/core/p-da1c2883.entry.js +0 -2
  817. package/dist/core/p-da1c2883.entry.js.map +0 -1
  818. package/dist/core/p-e081702e.js +0 -2
  819. package/dist/core/p-e2e556ec.entry.js +0 -2
  820. package/dist/core/p-e2e556ec.entry.js.map +0 -1
  821. package/dist/core/p-e519f607.js +0 -2
  822. package/dist/core/p-e519f607.js.map +0 -1
  823. package/dist/core/p-e5c6d01a.entry.js +0 -2
  824. package/dist/core/p-e5c6d01a.entry.js.map +0 -1
  825. package/dist/core/p-e8db8772.entry.js +0 -2
  826. package/dist/core/p-e8db8772.entry.js.map +0 -1
  827. package/dist/core/p-ea04103e.entry.js +0 -2
  828. package/dist/core/p-ea04103e.entry.js.map +0 -1
  829. package/dist/core/p-eaeb473e.entry.js +0 -2
  830. package/dist/core/p-eaeb473e.entry.js.map +0 -1
  831. package/dist/core/p-ecc7fd71.entry.js +0 -2
  832. package/dist/core/p-ecc7fd71.entry.js.map +0 -1
  833. package/dist/core/p-efe260f0.entry.js +0 -2
  834. package/dist/core/p-efe260f0.entry.js.map +0 -1
  835. package/dist/core/p-f1b57f91.entry.js +0 -2
  836. package/dist/core/p-f1b57f91.entry.js.map +0 -1
  837. package/dist/core/p-f5dc04f7.entry.js +0 -2
  838. package/dist/core/p-f5dc04f7.entry.js.map +0 -1
  839. package/dist/core/p-fb07921b.entry.js +0 -2
  840. package/dist/core/p-fb07921b.entry.js.map +0 -1
  841. package/dist/core/p-fd08156a.entry.js +0 -2
  842. package/dist/core/p-fd08156a.entry.js.map +0 -1
  843. package/dist/core/p-fe5b51bb.entry.js +0 -2
  844. package/dist/core/p-fe5b51bb.entry.js.map +0 -1
  845. package/dist/core/p-ff618439.entry.js +0 -2
  846. package/dist/core/p-ff618439.entry.js.map +0 -1
  847. package/dist/esm/OpenInNew-52210a9d.js.map +0 -1
  848. package/dist/esm/check-icon-f2346e76.js +0 -8
  849. package/dist/esm/check-icon-f2346e76.js.map +0 -1
  850. package/dist/esm/chevron-icon-875b7af2.js +0 -8
  851. package/dist/esm/chevron-icon-875b7af2.js.map +0 -1
  852. package/dist/esm/close-icon-c9e09475.js +0 -10
  853. package/dist/esm/close-icon-c9e09475.js.map +0 -1
  854. package/dist/esm/common-helpers-86c07ff1.js +0 -19
  855. package/dist/esm/common-helpers-86c07ff1.js.map +0 -1
  856. package/dist/esm/helpers-063369f4.js.map +0 -1
  857. package/dist/esm/ic-accordion-group.entry.js +0 -133
  858. package/dist/esm/ic-accordion-group.entry.js.map +0 -1
  859. package/dist/esm/ic-accordion.entry.js +0 -146
  860. package/dist/esm/ic-accordion.entry.js.map +0 -1
  861. package/dist/esm/ic-action-chip.entry.js +0 -112
  862. package/dist/esm/ic-action-chip.entry.js.map +0 -1
  863. package/dist/esm/ic-alert.entry.js +0 -132
  864. package/dist/esm/ic-alert.entry.js.map +0 -1
  865. package/dist/esm/ic-back-to-top.entry.js +0 -164
  866. package/dist/esm/ic-back-to-top.entry.js.map +0 -1
  867. package/dist/esm/ic-breadcrumb-group.entry.js +0 -237
  868. package/dist/esm/ic-breadcrumb-group.entry.js.map +0 -1
  869. package/dist/esm/ic-breadcrumb.entry.js +0 -114
  870. package/dist/esm/ic-breadcrumb.entry.js.map +0 -1
  871. package/dist/esm/ic-card-vertical.entry.js +0 -167
  872. package/dist/esm/ic-card-vertical.entry.js.map +0 -1
  873. package/dist/esm/ic-checkbox-group.entry.js +0 -123
  874. package/dist/esm/ic-checkbox-group.entry.js.map +0 -1
  875. package/dist/esm/ic-classification-banner.entry.js +0 -63
  876. package/dist/esm/ic-classification-banner.entry.js.map +0 -1
  877. package/dist/esm/ic-data-list.entry.js +0 -34
  878. package/dist/esm/ic-data-list.entry.js.map +0 -1
  879. package/dist/esm/ic-data-row.entry.js +0 -84
  880. package/dist/esm/ic-data-row.entry.js.map +0 -1
  881. package/dist/esm/ic-dialog.entry.js +0 -384
  882. package/dist/esm/ic-dialog.entry.js.map +0 -1
  883. package/dist/esm/ic-divider.entry.js +0 -110
  884. package/dist/esm/ic-divider.entry.js.map +0 -1
  885. package/dist/esm/ic-footer-link-group.entry.js +0 -65
  886. package/dist/esm/ic-footer-link-group.entry.js.map +0 -1
  887. package/dist/esm/ic-footer-link.entry.js +0 -61
  888. package/dist/esm/ic-footer-link.entry.js.map +0 -1
  889. package/dist/esm/ic-footer.entry.js +0 -115
  890. package/dist/esm/ic-footer.entry.js.map +0 -1
  891. package/dist/esm/ic-hero.entry.js +0 -100
  892. package/dist/esm/ic-hero.entry.js.map +0 -1
  893. package/dist/esm/ic-horizontal-scroll.entry.js +0 -192
  894. package/dist/esm/ic-horizontal-scroll.entry.js.map +0 -1
  895. package/dist/esm/ic-layout-grid-item.entry.js +0 -66
  896. package/dist/esm/ic-layout-grid-item.entry.js.map +0 -1
  897. package/dist/esm/ic-layout-grid.entry.js +0 -152
  898. package/dist/esm/ic-layout-grid.entry.js.map +0 -1
  899. package/dist/esm/ic-menu-group.entry.js +0 -21
  900. package/dist/esm/ic-menu-group.entry.js.map +0 -1
  901. package/dist/esm/ic-menu-item.entry.js +0 -117
  902. package/dist/esm/ic-menu-item.entry.js.map +0 -1
  903. package/dist/esm/ic-navigation-button.entry.js +0 -120
  904. package/dist/esm/ic-navigation-button.entry.js.map +0 -1
  905. package/dist/esm/ic-navigation-group.entry.js +0 -289
  906. package/dist/esm/ic-navigation-group.entry.js.map +0 -1
  907. package/dist/esm/ic-navigation-menu.entry.js +0 -145
  908. package/dist/esm/ic-navigation-menu.entry.js.map +0 -1
  909. package/dist/esm/ic-pagination_4.entry.js +0 -1640
  910. package/dist/esm/ic-pagination_4.entry.js.map +0 -1
  911. package/dist/esm/ic-popover-menu.entry.js +0 -304
  912. package/dist/esm/ic-popover-menu.entry.js.map +0 -1
  913. package/dist/esm/ic-radio-group.entry.js +0 -260
  914. package/dist/esm/ic-radio-group.entry.js.map +0 -1
  915. package/dist/esm/ic-radio-option.entry.js +0 -169
  916. package/dist/esm/ic-radio-option.entry.js.map +0 -1
  917. package/dist/esm/ic-search-bar.entry.js +0 -602
  918. package/dist/esm/ic-search-bar.entry.js.map +0 -1
  919. package/dist/esm/ic-side-navigation.entry.js +0 -484
  920. package/dist/esm/ic-side-navigation.entry.js.map +0 -1
  921. package/dist/esm/ic-skeleton.entry.js +0 -43
  922. package/dist/esm/ic-skeleton.entry.js.map +0 -1
  923. package/dist/esm/ic-step.entry.js +0 -151
  924. package/dist/esm/ic-step.entry.js.map +0 -1
  925. package/dist/esm/ic-stepper.entry.js +0 -284
  926. package/dist/esm/ic-stepper.entry.js.map +0 -1
  927. package/dist/esm/ic-switch.entry.js +0 -120
  928. package/dist/esm/ic-switch.entry.js.map +0 -1
  929. package/dist/esm/ic-tab-context.entry.js +0 -246
  930. package/dist/esm/ic-tab-context.entry.js.map +0 -1
  931. package/dist/esm/ic-tab-group.entry.js +0 -36
  932. package/dist/esm/ic-tab-group.entry.js.map +0 -1
  933. package/dist/esm/ic-tab-panel.entry.js +0 -38
  934. package/dist/esm/ic-tab-panel.entry.js.map +0 -1
  935. package/dist/esm/ic-tab.entry.js +0 -108
  936. package/dist/esm/ic-tab.entry.js.map +0 -1
  937. package/dist/esm/ic-toast-region.entry.js +0 -55
  938. package/dist/esm/ic-toast-region.entry.js.map +0 -1
  939. package/dist/esm/ic-toast.entry.js +0 -235
  940. package/dist/esm/ic-toast.entry.js.map +0 -1
  941. package/dist/esm/purify-6eaa9893.js.map +0 -1
  942. /package/dist/core/{p-0aa9ce8b.js.map → p-02d0a238.entry.js.map} +0 -0
  943. /package/dist/core/{p-170ddfc2.js.map → p-0c02b16c.entry.js.map} +0 -0
  944. /package/dist/core/{p-201b41c7.entry.js.map → p-22267c01.entry.js.map} +0 -0
  945. /package/dist/core/{p-e081702e.js.map → p-27962d4d.entry.js.map} +0 -0
  946. /package/dist/core/{p-ea1ea1b9.js.map → p-384a7f60.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 IcAriaLive,\n IcDateValueFormat,\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 parseTimeHelper,\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 TOGGLE_BUTTON_SELECTOR = \"ic-toggle-button\";\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 millisecondInputEl?: HTMLInputElement;\n private periodToggleEl?: HTMLIcToggleButtonGroupElement;\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 isValidMillisecond: 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 preventMillisecondInput: 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 private previousHour: string = \"\";\n private previousMinute: string = \"\";\n private previousSecond: string = \"\";\n private previousMillisecond: string = \"\";\n private previousPeriod: string = \"AM\";\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 @State() millisecond: string = \"\";\n @State() period: string = \"AM\";\n\n @Watch(\"hour\")\n @Watch(\"minute\")\n @Watch(\"second\")\n @Watch(\"millisecond\")\n @Watch(\"period\")\n watchInputHandler(): void {\n if (\n this.emitTimePartChange &&\n !this.externalSetTime &&\n !this.clearInput &&\n !(\n this.hour &&\n this.minute &&\n this.second &&\n (this.isSSSFormat() ? this.millisecond : true)\n ) &&\n this.selectedTime === null\n ) {\n this.emitIcTimeChange(this.selectedTime);\n }\n }\n private isSSSFormat = () => this.timeFormat === \"HH:MM:SS.SSS\";\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 icTimeChange 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 @Watch(\"helperText\")\n watchHelperTextHandler(useDefault = false): void {\n if (isEmptyString(this.helperText) || useDefault === true)\n this.helperText = this.defaultHelperText;\n }\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 = parseTimeHelper(this.max).date;\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 = parseTimeHelper(this.min).date;\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`, the time input will show an AM/PM toggle when in 12-hour time period.\n */\n @Prop({ mutable: true }) showAmPmToggle?: boolean = false;\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 @Watch(\"timeFormat\")\n watchTimeFormatHandler(): void {\n const oldDefaultHelperText = this.defaultHelperText;\n this.defaultHelperText = `Use format ${this.timeFormat}`;\n this.watchHelperTextHandler(this.helperText === oldDefaultHelperText);\n }\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?: IcDateValueFormat = \"\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\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() icTimeChange: EventEmitter<{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n millisecond: string | null;\n period: 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.watchTimeFormatHandler();\n this.watchHelperTextHandler();\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 this.isValidMillisecond\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 (!this.isTimeSetFromKeyboardEvent) this.setTime(this.value);\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond,\n this.isValidMillisecond\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 icTimeChange event from the input.\n */\n @Method()\n async triggerIcTimeChange(t: Date | null): Promise<void> {\n this.externalSetTime = true;\n this.setTime(t);\n this.emitIcTimeChange(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 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\" ? 12 : 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 if (this.isSSSFormat()) {\n if (!isEmptyString(this.millisecond)) {\n this.isValidMillisecond =\n +this.millisecond >= 0 && +this.millisecond <= 999;\n } else {\n this.isValidMillisecond = true;\n }\n } else {\n this.isValidMillisecond = true;\n }\n } else {\n this.isValidSecond = true;\n this.isValidMillisecond = 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 } else if (this.isSSSFormat() && input === this.millisecondInputEl) {\n this.millisecond = 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 } else if (this.isSSSFormat() && input === this.millisecondInputEl) {\n this.preventMillisecondInput = isPrevented;\n }\n };\n\n private setValidationMessage = () => {\n this.maxTime = parseTimeHelper(this.max).date;\n this.minTime = parseTimeHelper(this.min).date;\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 (!this.isSSSFormat() || !isEmptyString(this.millisecond))\n ) {\n this.selectedTime = this.convertToTime(\n this.hour,\n this.minute,\n this.isHHMMFormat() ? \"00\" : this.second,\n this.isSSSFormat() ? this.millisecond : \"000\"\n );\n const inputHour = +this.hour;\n const selectedHour = this.selectedTime\n ? this.selectedTime.getHours()\n : null;\n if (\n this.timePeriod === \"12\" &&\n this.showAmPmToggle &&\n selectedHour !== null\n ) {\n let selectedHour12 = selectedHour % 12;\n if (selectedHour12 === 0) selectedHour12 = 12;\n this.isValidTime =\n !!this.selectedTime &&\n selectedHour12 == inputHour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() ||\n this.selectedTime.getSeconds() == +this.second) &&\n (!this.isSSSFormat() ||\n this.selectedTime.getMilliseconds() == +this.millisecond);\n } else {\n this.isValidTime =\n !!this.selectedTime &&\n this.selectedTime.getHours() == inputHour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() ||\n this.selectedTime.getSeconds() == +this.second) &&\n (!this.isSSSFormat() ||\n this.selectedTime.getMilliseconds() == +this.millisecond);\n }\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 = parseTimeHelper(t.start).date;\n const end = parseTimeHelper(t.end).date;\n if (start && end) {\n return this.selectedTime! >= start && this.selectedTime! <= end;\n }\n return false;\n }\n const parsed = parseTimeHelper(t as string | Date).parts;\n if (!parsed) return false;\n let selectedHour = this.selectedTime!.getHours();\n let parsedHour = parsed.hour;\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n selectedHour = this.convertTo24Hour(selectedHour);\n parsedHour = this.convertTo24Hour(parsedHour);\n }\n return (\n parsedHour === selectedHour &&\n parsed.minute === this.selectedTime!.getMinutes() &&\n parsed.second === 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.isValidMillisecond &&\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 const sss = time.getMilliseconds().toString().padStart(3, \"0\");\n if (this.isSSSFormat()) {\n return `${hh}:${mm}:${ss}.${sss}`;\n }\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.millisecondInputEl && this.isSSSFormat()) {\n this.setInputValue(input);\n this.setPreventInput(input, false);\n this.setFitToValueStyling(input);\n if (input.value.length === 3) {\n this.moveToNextInput(input);\n this.setPreventInput(input, true);\n } else {\n this.setPreventInput(input, false);\n }\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\n } else 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 this.setFitToValueStyling(input);\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\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 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\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const navKeys =\n /arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/i;\n const input = event.target as HTMLInputElement;\n const eventKey = event.key?.toLowerCase();\n if (\n !/-?\\d*\\.?\\d+(e[-+]?\\d+)?|[:]|[.]/i.test(eventKey) &&\n !navKeys.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\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 as HTMLInputElement;\n if (input === this.millisecondInputEl && this.isSSSFormat()) {\n if (input.value.length === 1) {\n input.value = `00${input.value}`;\n this.setInputValue(input);\n } else if (input.value.length === 2) {\n input.value = `0${input.value}`;\n this.setInputValue(input);\n }\n this.setFitToValueStyling(input);\n } else if (input) {\n this.autocompleteInput(input);\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 = this.timePeriod === \"12\" ? 1 : 0;\n maxValue = this.timePeriod === \"12\" ? 12 : 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, true);\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, force = false) => {\n if (this.value !== value || force) {\n this.emitIcTimeChange(value);\n this.value = value;\n }\n };\n\n private convertTo24Hour = (hour: number) => {\n let date24hours = hour;\n if (this.period === \"PM\" && hour < 12) date24hours = hour + 12;\n if (this.period === \"AM\" && hour === 12) date24hours = 0;\n\n return date24hours;\n };\n\n private emitIcTimeChange = (t: Date | null) => {\n const hour = parseInt(this.hour);\n const minute = parseInt(this.minute);\n const second = parseInt(this.second);\n const millisecond = parseInt(this.millisecond);\n const period = this.period;\n\n let allSelected = false;\n if (this.isSSSFormat()) {\n allSelected =\n this.hour !== \"\" &&\n this.minute !== \"\" &&\n this.second !== \"\" &&\n this.millisecond !== \"\";\n } else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {\n allSelected =\n this.hour !== \"\" && this.minute !== \"\" && this.second !== \"\";\n } else if (this.timeFormat === \"HH:MM\") {\n allSelected = this.hour !== \"\" && this.minute !== \"\";\n }\n\n let time = t;\n let date24hours = hour;\n if (\n hour != null &&\n period &&\n this.timePeriod === \"12\" &&\n this.showAmPmToggle\n ) {\n date24hours = this.convertTo24Hour(hour);\n time = new Date();\n time.setHours(date24hours ?? 0);\n time.setMinutes(minute ?? 0);\n time.setSeconds(second ?? 0);\n this.isSSSFormat() && time.setMilliseconds(millisecond ?? 0);\n }\n\n this.selectedTime = time;\n\n const allTimePartsEmpty =\n this.hour === \"\" &&\n this.minute === \"\" &&\n this.second === \"\" &&\n this.millisecond === \"\";\n\n const onlyPeriodChanged =\n allTimePartsEmpty &&\n this.period !== this.previousPeriod &&\n this.previousHour === \"\" &&\n this.previousMinute === \"\" &&\n this.previousSecond === \"\" &&\n this.previousMillisecond === \"\";\n\n if (!onlyPeriodChanged) {\n this.icTimeChange.emit({\n value: allSelected ? time : null,\n timeObject: {\n hour: this.hour === \"\" ? null : this.hour,\n minute: this.minute === \"\" ? null : this.minute,\n second: this.second === \"\" ? null : this.second,\n millisecond: this.millisecond === \"\" ? null : this.millisecond,\n period: this.period === \"\" ? null : this.period,\n },\n });\n }\n\n this.previousHour = this.hour;\n this.previousMinute = this.minute;\n this.previousSecond = this.second;\n this.previousMillisecond = this.millisecond;\n this.previousPeriod = this.period;\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 if (this.millisecond) this.millisecond = \"\";\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 this.millisecond = parts[3] || \"\";\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 if (this.isSSSFormat()) {\n this.millisecond = time.getMilliseconds().toString().padStart(3, \"0\");\n }\n }\n }\n this.setValidationMessage();\n };\n\n private setAriaInvalid = (\n validHour: boolean,\n validMinute: boolean,\n validSecond: boolean,\n validMillisecond: 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 (!validMillisecond) {\n this.millisecondInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!(validHour && validMinute && validSecond && validMillisecond)) {\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 if (this.isSSSFormat() && this.millisecondInputEl) {\n this.millisecondInputEl.value = \"\";\n }\n this.hour = \"\";\n this.minute = \"\";\n this.second = \"\";\n this.millisecond = \"\";\n this.period = \"AM\";\n if (this.showAmPmToggle) {\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"AM\") {\n toggleBtn.checked = true;\n } else {\n toggleBtn.checked = false;\n }\n });\n }\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 let hours = this.selectedTime.getHours();\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n hours = this.convertTo24Hour(hours);\n }\n const hoursStr = hours.toString().padStart(2, \"0\");\n const minutesStr = this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\");\n const secondsStr = this.selectedTime\n .getSeconds()\n .toString()\n .padStart(2, \"0\");\n const msStr = this.selectedTime\n .getMilliseconds()\n .toString()\n .padStart(3, \"0\");\n if (this.isHHMMFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}`;\n } else if (!this.isSSSFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}`;\n } else {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}.${msStr}`;\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(\n /(hour|minute|second|millisecond)-input$/\n )\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 millisecond: string | null = null\n ): Date | null => {\n if (\n !isEmptyString(hour) &&\n !isEmptyString(minute) &&\n (this.isHHMMFormat() || !isEmptyString(second)) &&\n (!this.isSSSFormat() ||\n (millisecond !== null && !isEmptyString(millisecond)))\n ) {\n const d = new Date();\n d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);\n if (this.isSSSFormat() && millisecond !== null) {\n d.setMilliseconds(+millisecond);\n }\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 this.hourInputEl && (this.hourInputEl.value = hour);\n this.minuteInputEl && (this.minuteInputEl.value = minute);\n this.secondInputEl && (this.secondInputEl.value = second);\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) {\n case \"HH\":\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 \"MM\":\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 \"SS\":\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 break;\n case \"SSS\":\n if (this.isSSSFormat()) {\n return (\n <input\n id=\"millisecond-input\"\n class=\"millisecond-input\"\n ref={(el) => (this.millisecondInputEl = el)}\n aria-label=\"millisecond\"\n placeholder=\"SSS\"\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.preventMillisecondInput)\n }\n ></input>\n );\n }\n return null;\n default:\n return null;\n }\n });\n };\n\n private getDescOfInputsOrder = () => {\n if (this.isSSSFormat()) {\n return \"hour, minute, second, and millisecond\";\n }\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|millisecond)-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 if (this.isSSSFormat()) {\n if (/^\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3}$/.test(value)) {\n return value;\n }\n if (/^\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3}Z$/.test(value)) {\n return value.replace(\"Z\", \"\");\n }\n const isoMatch = value.match(/T(\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3})/);\n if (isoMatch) {\n return isoMatch[1];\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 let timeValue = timeParts[index] || \"\";\n if (input === this.millisecondInputEl && this.isSSSFormat()) {\n timeValue = timeValue.slice(0, 3);\n } else {\n timeValue = timeValue.slice(0, 2);\n }\n if (input === this.hourInputEl) {\n let activeToggle: HTMLIcToggleButtonElement | undefined;\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n if (parseInt(timeValue) > 12) {\n timeValue = (parseInt(timeValue) - 12)\n .toString()\n .padStart(2, \"0\");\n if (parseInt(timeValue) > 12) {\n return;\n } else {\n this.period = \"PM\";\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"PM\") {\n activeToggle = toggleBtn;\n } else {\n toggleBtn.checked = false;\n }\n });\n if (activeToggle) {\n this.periodToggleEl?.setActiveToggle(activeToggle);\n activeToggle.checked = true;\n }\n this.invalidTimeText = \"\";\n this.validationStatus = \"\";\n }\n } else {\n if (parseInt(timeValue) === 0) {\n timeValue = \"12\";\n }\n this.period = \"AM\";\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"AM\") {\n activeToggle = toggleBtn;\n } else {\n toggleBtn.checked = false;\n }\n });\n if (activeToggle) {\n this.periodToggleEl?.setActiveToggle(activeToggle);\n activeToggle.checked = true;\n }\n this.invalidTimeText = \"\";\n this.validationStatus = \"\";\n }\n }\n }\n input.value = timeValue;\n this.setInputValue(input);\n this.autocompleteInput(input);\n });\n if (\n this.isHHMMFormat() &&\n this.second !== \"\" &&\n this.millisecond !== \"\"\n ) {\n this.second = \"\";\n this.millisecond = \"\";\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 private handleAMPM = (selectedOption: HTMLIcToggleButtonElement) => {\n this.period = selectedOption.label!;\n this.periodToggleEl?.setActiveToggle(selectedOption);\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 validationAriaLive,\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\n if (this.showAmPmToggle && this.timePeriod !== \"12\") {\n this.showAmPmToggle = false;\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 <div\n class={{\n \"with-am-pm-toggle\": this.showAmPmToggle === true,\n }}\n >\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 this.isSSSFormat()\n ? [\".\", this.getInputsInOrder()[3]]\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 {this.showAmPmToggle && (\n <ic-toggle-button-group\n select-type=\"single\"\n accessible-label=\"AM PM Toggle\"\n ref={(el: HTMLIcToggleButtonGroupElement) =>\n (this.periodToggleEl = el)\n }\n disabled={disabled}\n class=\"am-pm-toggle\"\n select-method=\"auto\"\n onIcChange={(e: any) =>\n this.handleAMPM(e.detail.selectedOption)\n }\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === \"Tab\" && e.shiftKey) {\n e.preventDefault();\n if (this.inputsInOrder && this.inputsInOrder.length > 0) {\n const lastInput = this.inputsInOrder[\n this.inputsInOrder.length - 1\n ] as HTMLElement;\n lastInput?.focus();\n }\n }\n }}\n >\n <ic-toggle-button\n label=\"AM\"\n disabled={disabled}\n checked={true}\n ></ic-toggle-button>\n <ic-toggle-button\n label=\"PM\"\n disabled={disabled}\n ></ic-toggle-button>\n </ic-toggle-button-group>\n )}\n </div>\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 <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidTimeText\n }\n for={inputId}\n ariaLiveMode={validationAriaLive}\n ></ic-input-validation>\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 IcAriaLive,\n IcDateValueFormat,\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 parseTimeHelper,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Clock from \"../../assets/clock.svg\";\n\nimport \"../../../../web-components/src/components/ic-input-container/ic-input-container\";\nimport \"../../../../web-components/src/components/ic-input-component-container/ic-input-component-container\";\nimport \"../../../../web-components/src/components/ic-input-label/ic-input-label\";\nimport \"../../../../web-components/src/components/ic-toggle-button-group/ic-toggle-button-group\";\nimport \"../../../../web-components/src/components/ic-toggle-button/ic-toggle-button\";\nimport \"../../../../web-components/src/components/ic-input-validation/ic-input-validation\";\nimport \"../../../../web-components/src/components/ic-button/ic-button\";\nimport \"../../../../web-components/src/components/ic-typography/ic-typography\";\nimport \"../../../../web-components/src/components/ic-link/ic-link\";\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 TOGGLE_BUTTON_SELECTOR = \"ic-toggle-button\";\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 millisecondInputEl?: HTMLInputElement;\n private periodToggleEl?: HTMLIcToggleButtonGroupElement;\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 isValidMillisecond: 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 preventMillisecondInput: 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 private previousHour: string = \"\";\n private previousMinute: string = \"\";\n private previousSecond: string = \"\";\n private previousMillisecond: string = \"\";\n private previousPeriod: string = \"AM\";\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 @State() millisecond: string = \"\";\n @State() period: string = \"AM\";\n\n @Watch(\"hour\")\n @Watch(\"minute\")\n @Watch(\"second\")\n @Watch(\"millisecond\")\n @Watch(\"period\")\n watchInputHandler(): void {\n if (\n this.emitTimePartChange &&\n !this.externalSetTime &&\n !this.clearInput &&\n !(\n this.hour &&\n this.minute &&\n this.second &&\n (this.isSSSFormat() ? this.millisecond : true)\n ) &&\n this.selectedTime === null\n ) {\n this.emitIcTimeChange(this.selectedTime);\n }\n }\n private isSSSFormat = () => this.timeFormat === \"HH:MM:SS.SSS\";\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 objects with start and end values 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 icTimeChange 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 @Watch(\"helperText\")\n watchHelperTextHandler(useDefault = false): void {\n if (isEmptyString(this.helperText) || useDefault === true)\n this.helperText = this.defaultHelperText;\n }\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 = parseTimeHelper(this.max).date;\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 = parseTimeHelper(this.min).date;\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`, the time input will show an AM/PM toggle when in 12-hour time period.\n */\n @Prop({ mutable: true }) showAmPmToggle?: boolean = false;\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 @Watch(\"timeFormat\")\n watchTimeFormatHandler(): void {\n const oldDefaultHelperText = this.defaultHelperText;\n this.defaultHelperText = `Use format ${this.timeFormat}`;\n this.watchHelperTextHandler(this.helperText === oldDefaultHelperText);\n }\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?: IcDateValueFormat = \"\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\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() icTimeChange: EventEmitter<{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n millisecond: string | null;\n period: 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.watchTimeFormatHandler();\n this.watchHelperTextHandler();\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 this.isValidMillisecond\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 (!this.isTimeSetFromKeyboardEvent) this.setTime(this.value);\n this.setAriaInvalid(\n this.isValidHour,\n this.isValidMinute,\n this.isValidSecond,\n this.isValidMillisecond\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 icTimeChange event from the input.\n */\n @Method()\n async triggerIcTimeChange(t: Date | null): Promise<void> {\n this.externalSetTime = true;\n this.setTime(t);\n this.emitIcTimeChange(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 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\" ? 12 : 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 if (this.isSSSFormat()) {\n if (!isEmptyString(this.millisecond)) {\n this.isValidMillisecond =\n +this.millisecond >= 0 && +this.millisecond <= 999;\n } else {\n this.isValidMillisecond = true;\n }\n } else {\n this.isValidMillisecond = true;\n }\n } else {\n this.isValidSecond = true;\n this.isValidMillisecond = 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 } else if (this.isSSSFormat() && input === this.millisecondInputEl) {\n this.millisecond = 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 } else if (this.isSSSFormat() && input === this.millisecondInputEl) {\n this.preventMillisecondInput = isPrevented;\n }\n };\n\n private setValidationMessage = () => {\n this.maxTime = parseTimeHelper(this.max).date;\n this.minTime = parseTimeHelper(this.min).date;\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 (!this.isSSSFormat() || !isEmptyString(this.millisecond))\n ) {\n this.selectedTime = this.convertToTime(\n this.hour,\n this.minute,\n this.isHHMMFormat() ? \"00\" : this.second,\n this.isSSSFormat() ? this.millisecond : \"000\"\n );\n const inputHour = +this.hour;\n const selectedHour = this.selectedTime\n ? this.selectedTime.getHours()\n : null;\n if (\n this.timePeriod === \"12\" &&\n this.showAmPmToggle &&\n selectedHour !== null\n ) {\n let selectedHour12 = selectedHour % 12;\n if (selectedHour12 === 0) selectedHour12 = 12;\n this.isValidTime =\n !!this.selectedTime &&\n selectedHour12 == inputHour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() ||\n this.selectedTime.getSeconds() == +this.second) &&\n (!this.isSSSFormat() ||\n this.selectedTime.getMilliseconds() == +this.millisecond);\n } else {\n this.isValidTime =\n !!this.selectedTime &&\n this.selectedTime.getHours() == inputHour &&\n this.selectedTime.getMinutes() == +this.minute &&\n (this.isHHMMFormat() ||\n this.selectedTime.getSeconds() == +this.second) &&\n (!this.isSSSFormat() ||\n this.selectedTime.getMilliseconds() == +this.millisecond);\n }\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 = parseTimeHelper(t.start).date;\n const end = parseTimeHelper(t.end).date;\n if (start && end) {\n return this.selectedTime! >= start && this.selectedTime! <= end;\n }\n return false;\n }\n const parsed = parseTimeHelper(t as string | Date).parts;\n if (!parsed) return false;\n let selectedHour = this.selectedTime!.getHours();\n let parsedHour = parsed.hour;\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n selectedHour = this.convertTo24Hour(selectedHour);\n parsedHour = this.convertTo24Hour(parsedHour);\n }\n return (\n parsedHour === selectedHour &&\n parsed.minute === this.selectedTime!.getMinutes() &&\n parsed.second === 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.isValidMillisecond &&\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 const sss = time.getMilliseconds().toString().padStart(3, \"0\");\n if (this.isSSSFormat()) {\n return `${hh}:${mm}:${ss}.${sss}`;\n }\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.millisecondInputEl && this.isSSSFormat()) {\n this.setInputValue(input);\n this.setPreventInput(input, false);\n this.setFitToValueStyling(input);\n if (input.value.length === 3) {\n this.moveToNextInput(input);\n this.setPreventInput(input, true);\n } else {\n this.setPreventInput(input, false);\n }\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\n } else 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 this.setFitToValueStyling(input);\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n this.notifyScreenReader(input);\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 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\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const navKeys =\n /arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/i;\n const input = event.target as HTMLInputElement;\n const eventKey = event.key?.toLowerCase();\n if (\n !/-?\\d*\\.?\\d+(e[-+]?\\d+)?|[:]|[.]/i.test(eventKey) &&\n !navKeys.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\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 as HTMLInputElement;\n if (input === this.millisecondInputEl && this.isSSSFormat()) {\n if (input.value.length === 1) {\n input.value = `00${input.value}`;\n this.setInputValue(input);\n } else if (input.value.length === 2) {\n input.value = `0${input.value}`;\n this.setInputValue(input);\n }\n this.setFitToValueStyling(input);\n } else if (input) {\n this.autocompleteInput(input);\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 = this.timePeriod === \"12\" ? 1 : 0;\n maxValue = this.timePeriod === \"12\" ? 12 : 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, true);\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, force = false) => {\n if (this.value !== value || force) {\n this.emitIcTimeChange(value);\n this.value = value;\n }\n };\n\n private convertTo24Hour = (hour: number) => {\n let date24hours = hour;\n if (this.period === \"PM\" && hour < 12) date24hours = hour + 12;\n if (this.period === \"AM\" && hour === 12) date24hours = 0;\n\n return date24hours;\n };\n\n private emitIcTimeChange = (t: Date | null) => {\n const hour = parseInt(this.hour);\n const minute = parseInt(this.minute);\n const second = parseInt(this.second);\n const millisecond = parseInt(this.millisecond);\n const period = this.period;\n\n let allSelected = false;\n if (this.isSSSFormat()) {\n allSelected =\n this.hour !== \"\" &&\n this.minute !== \"\" &&\n this.second !== \"\" &&\n this.millisecond !== \"\";\n } else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {\n allSelected =\n this.hour !== \"\" && this.minute !== \"\" && this.second !== \"\";\n } else if (this.timeFormat === \"HH:MM\") {\n allSelected = this.hour !== \"\" && this.minute !== \"\";\n }\n\n let time = t;\n let date24hours = hour;\n if (\n hour != null &&\n period &&\n this.timePeriod === \"12\" &&\n this.showAmPmToggle\n ) {\n date24hours = this.convertTo24Hour(hour);\n time = new Date();\n time.setHours(date24hours ?? 0);\n time.setMinutes(minute ?? 0);\n time.setSeconds(second ?? 0);\n this.isSSSFormat() && time.setMilliseconds(millisecond ?? 0);\n }\n\n this.selectedTime = time;\n\n const allTimePartsEmpty =\n this.hour === \"\" &&\n this.minute === \"\" &&\n this.second === \"\" &&\n this.millisecond === \"\";\n\n const onlyPeriodChanged =\n allTimePartsEmpty &&\n this.period !== this.previousPeriod &&\n this.previousHour === \"\" &&\n this.previousMinute === \"\" &&\n this.previousSecond === \"\" &&\n this.previousMillisecond === \"\";\n\n if (!onlyPeriodChanged) {\n this.icTimeChange.emit({\n value: allSelected ? time : null,\n timeObject: {\n hour: this.hour === \"\" ? null : this.hour,\n minute: this.minute === \"\" ? null : this.minute,\n second: this.second === \"\" ? null : this.second,\n millisecond: this.millisecond === \"\" ? null : this.millisecond,\n period: this.period === \"\" ? null : this.period,\n },\n });\n }\n\n this.previousHour = this.hour;\n this.previousMinute = this.minute;\n this.previousSecond = this.second;\n this.previousMillisecond = this.millisecond;\n this.previousPeriod = this.period;\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 if (this.millisecond) this.millisecond = \"\";\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 this.millisecond = parts[3] || \"\";\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 if (this.isSSSFormat()) {\n this.millisecond = time.getMilliseconds().toString().padStart(3, \"0\");\n }\n }\n }\n this.setValidationMessage();\n };\n\n private setAriaInvalid = (\n validHour: boolean,\n validMinute: boolean,\n validSecond: boolean,\n validMillisecond: 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 (!validMillisecond) {\n this.millisecondInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n if (!(validHour && validMinute && validSecond && validMillisecond)) {\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 if (this.isSSSFormat() && this.millisecondInputEl) {\n this.millisecondInputEl.value = \"\";\n }\n this.hour = \"\";\n this.minute = \"\";\n this.second = \"\";\n this.millisecond = \"\";\n this.period = \"AM\";\n if (this.showAmPmToggle) {\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"AM\") {\n toggleBtn.checked = true;\n } else {\n toggleBtn.checked = false;\n }\n });\n }\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 let hours = this.selectedTime.getHours();\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n hours = this.convertTo24Hour(hours);\n }\n const hoursStr = hours.toString().padStart(2, \"0\");\n const minutesStr = this.selectedTime\n .getMinutes()\n .toString()\n .padStart(2, \"0\");\n const secondsStr = this.selectedTime\n .getSeconds()\n .toString()\n .padStart(2, \"0\");\n const msStr = this.selectedTime\n .getMilliseconds()\n .toString()\n .padStart(3, \"0\");\n if (this.isHHMMFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}`;\n } else if (!this.isSSSFormat()) {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}`;\n } else {\n this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}.${msStr}`;\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(\n /(hour|minute|second|millisecond)-input$/\n )\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 millisecond: string | null = null\n ): Date | null => {\n if (\n !isEmptyString(hour) &&\n !isEmptyString(minute) &&\n (this.isHHMMFormat() || !isEmptyString(second)) &&\n (!this.isSSSFormat() ||\n (millisecond !== null && !isEmptyString(millisecond)))\n ) {\n const d = new Date();\n d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);\n if (this.isSSSFormat() && millisecond !== null) {\n d.setMilliseconds(+millisecond);\n }\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 this.hourInputEl && (this.hourInputEl.value = hour);\n this.minuteInputEl && (this.minuteInputEl.value = minute);\n this.secondInputEl && (this.secondInputEl.value = second);\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) {\n case \"HH\":\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 \"MM\":\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 \"SS\":\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 break;\n case \"SSS\":\n if (this.isSSSFormat()) {\n return (\n <input\n id=\"millisecond-input\"\n class=\"millisecond-input\"\n ref={(el) => (this.millisecondInputEl = el)}\n aria-label=\"millisecond\"\n placeholder=\"SSS\"\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.preventMillisecondInput)\n }\n ></input>\n );\n }\n return null;\n default:\n return null;\n }\n });\n };\n\n private getDescOfInputsOrder = () => {\n if (this.isSSSFormat()) {\n return \"hour, minute, second, and millisecond\";\n }\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|millisecond)-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 if (this.isSSSFormat()) {\n if (/^\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3}$/.test(value)) {\n return value;\n }\n if (/^\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3}Z$/.test(value)) {\n return value.replace(\"Z\", \"\");\n }\n const isoMatch = value.match(/T(\\d{2}:\\d{2}:\\d{2}\\.\\d{1,3})/);\n if (isoMatch) {\n return isoMatch[1];\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 let timeValue = timeParts[index] || \"\";\n if (input === this.millisecondInputEl && this.isSSSFormat()) {\n timeValue = timeValue.slice(0, 3);\n } else {\n timeValue = timeValue.slice(0, 2);\n }\n if (input === this.hourInputEl) {\n let activeToggle: HTMLIcToggleButtonElement | undefined;\n if (this.timePeriod === \"12\" && this.showAmPmToggle) {\n if (parseInt(timeValue) > 12) {\n timeValue = (parseInt(timeValue) - 12)\n .toString()\n .padStart(2, \"0\");\n if (parseInt(timeValue) > 12) {\n return;\n } else {\n this.period = \"PM\";\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"PM\") {\n activeToggle = toggleBtn;\n } else {\n toggleBtn.checked = false;\n }\n });\n if (activeToggle) {\n this.periodToggleEl?.setActiveToggle(activeToggle);\n activeToggle.checked = true;\n }\n this.invalidTimeText = \"\";\n this.validationStatus = \"\";\n }\n } else {\n if (parseInt(timeValue) === 0) {\n timeValue = \"12\";\n }\n this.period = \"AM\";\n this.periodToggleEl\n ?.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR)\n .forEach((btn) => {\n const toggleBtn = btn as HTMLIcToggleButtonElement;\n if (toggleBtn.label === \"AM\") {\n activeToggle = toggleBtn;\n } else {\n toggleBtn.checked = false;\n }\n });\n if (activeToggle) {\n this.periodToggleEl?.setActiveToggle(activeToggle);\n activeToggle.checked = true;\n }\n this.invalidTimeText = \"\";\n this.validationStatus = \"\";\n }\n }\n }\n input.value = timeValue;\n this.setInputValue(input);\n this.autocompleteInput(input);\n });\n if (\n this.isHHMMFormat() &&\n this.second !== \"\" &&\n this.millisecond !== \"\"\n ) {\n this.second = \"\";\n this.millisecond = \"\";\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 private handleAMPM = (selectedOption: HTMLIcToggleButtonElement) => {\n this.period = selectedOption.label!;\n this.periodToggleEl?.setActiveToggle(selectedOption);\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 validationAriaLive,\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\n if (this.showAmPmToggle && this.timePeriod !== \"12\") {\n this.showAmPmToggle = false;\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 ?? undefined : \"\"}\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 <div\n class={{\n \"with-am-pm-toggle\": this.showAmPmToggle === true,\n }}\n >\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement | undefined) =>\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 this.isSSSFormat()\n ? [\".\", this.getInputsInOrder()[3]]\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 {this.showAmPmToggle && (\n <ic-toggle-button-group\n select-type=\"single\"\n accessible-label=\"AM PM Toggle\"\n ref={(el: HTMLIcToggleButtonGroupElement | undefined) =>\n (this.periodToggleEl = el)\n }\n disabled={disabled}\n class=\"am-pm-toggle\"\n select-method=\"auto\"\n onIcChange={(e: any) =>\n this.handleAMPM(e.detail.selectedOption)\n }\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === \"Tab\" && e.shiftKey) {\n e.preventDefault();\n if (this.inputsInOrder && this.inputsInOrder.length > 0) {\n const lastInput = this.inputsInOrder[\n this.inputsInOrder.length - 1\n ] as HTMLElement;\n lastInput?.focus();\n }\n }\n }}\n >\n <ic-toggle-button\n label=\"AM\"\n disabled={disabled}\n checked={true}\n ></ic-toggle-button>\n <ic-toggle-button\n label=\"PM\"\n disabled={disabled}\n ></ic-toggle-button>\n </ic-toggle-button-group>\n )}\n </div>\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 <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation\n ? this.validationText ?? \"\"\n : this.invalidTimeText\n }\n for={inputId}\n ariaLiveMode={validationAriaLive}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
@@ -372,7 +372,7 @@ export const IcTimeChangeTimePartsMilliseconds = {
372
372
  */
373
373
  export const MinTime = {
374
374
  render: () => html `<ic-time-input
375
- label="What time would you like to collect your coffee?"
375
+ label="What time would you like to collect your coffee? We are closed before 08:00"
376
376
  min="08:00:00"
377
377
  ></ic-time-input>`,
378
378
  name: "Min time",
@@ -383,7 +383,7 @@ export const MinTime = {
383
383
  */
384
384
  export const MaxTime = {
385
385
  render: () => html `<ic-time-input
386
- label="What time would you like to collect your coffee?"
386
+ label="What time would you like to collect your coffee? We are closed after 16:00"
387
387
  max="16:00:00"
388
388
  ></ic-time-input>`,
389
389
  name: "Max time",
@@ -398,14 +398,14 @@ export const DisableTimes = {
398
398
  render: () => html `<div>
399
399
  <ic-time-input
400
400
  id="time-input-default-disable-time"
401
- label="What time would you like to collect your coffee?"
401
+ label="What time would you like to collect your coffee? We are closed between 08:00 and 10:00."
402
402
  ></ic-time-input>
403
403
  </div>
404
404
  <script>
405
405
  var timeInputDate = document.querySelector(
406
406
  "#time-input-default-disable-time"
407
407
  );
408
- timeInputDate.disableTimes = [{ start: "08:00", end: "10:00" }, "13:20"];
408
+ timeInputDate.disableTimes = [{ start: "08:00", end: "10:00" }];
409
409
  </script>`,
410
410
  name: "Disable times",
411
411
  };