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

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 (307) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-6f4b406b.js → helpers-f81fed28.js} +37 -1
  3. package/dist/cjs/helpers-f81fed28.js.map +1 -0
  4. package/dist/cjs/ic-calendar_2.cjs.entry.js +2 -2
  5. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-checkbox_3.cjs.entry.js +11 -7
  8. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-data-table.cjs.entry.js +11 -8
  11. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
  14. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-time-input.cjs.entry.js +401 -99
  17. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-time-selector.cjs.entry.js +842 -0
  19. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
  20. package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +274 -1
  21. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
  22. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  23. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  24. package/dist/cjs/index-d337cd8a.js +8 -8
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/collection/collection-manifest.json +1 -0
  27. package/dist/collection/components/ic-calendar/ic-calendar.css +8 -6
  28. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
  29. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
  30. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -7
  31. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  32. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +30 -6
  33. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  34. package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
  35. package/dist/collection/components/ic-time-input/ic-time-input.js +434 -106
  36. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  37. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +58 -9
  38. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  39. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
  40. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
  41. package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
  42. package/dist/collection/components/ic-time-selector/ic-time-selector.js +1075 -0
  43. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
  44. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +166 -0
  45. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
  46. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
  47. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
  48. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  49. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  50. package/dist/collection/utils/helpers.js +35 -0
  51. package/dist/collection/utils/helpers.js.map +1 -1
  52. package/dist/collection/utils/types.js.map +1 -1
  53. package/dist/components/helpers2.js +36 -1
  54. package/dist/components/helpers2.js.map +1 -1
  55. package/dist/components/ic-calendar2.js +1 -1
  56. package/dist/components/ic-calendar2.js.map +1 -1
  57. package/dist/components/ic-data-table.js +10 -7
  58. package/dist/components/ic-data-table.js.map +1 -1
  59. package/dist/components/ic-pagination-bar2.js +11 -6
  60. package/dist/components/ic-pagination-bar2.js.map +1 -1
  61. package/dist/components/ic-pagination2.js +9 -4
  62. package/dist/components/ic-pagination2.js.map +1 -1
  63. package/dist/components/ic-time-input.js +431 -112
  64. package/dist/components/ic-time-input.js.map +1 -1
  65. package/dist/components/ic-time-selector.d.ts +11 -0
  66. package/dist/components/ic-time-selector.js +898 -0
  67. package/dist/components/ic-time-selector.js.map +1 -0
  68. package/dist/components/ic-toggle-button-group.js +1 -299
  69. package/dist/components/ic-toggle-button-group.js.map +1 -1
  70. package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
  71. package/dist/components/ic-toggle-button-group2.js.map +1 -0
  72. package/dist/components/ic-toggle-button.js +1 -228
  73. package/dist/components/ic-toggle-button.js.map +1 -1
  74. package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +65 -10
  75. package/dist/components/ic-toggle-button2.js.map +1 -0
  76. package/dist/components/ic-tree-item.js +2 -2
  77. package/dist/components/ic-tree-view.js +4 -4
  78. package/dist/core/core.css +28 -6
  79. package/dist/core/core.esm.js +1 -1
  80. package/dist/core/core.esm.js.map +1 -1
  81. package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
  82. package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
  83. package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
  84. package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
  85. package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
  86. package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
  87. package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
  88. package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
  89. package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
  90. package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
  91. package/dist/core/{p-fd20470e.entry.js → p-496b314f.entry.js} +2 -2
  92. package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
  93. package/dist/core/p-551a0fc1.entry.js +2 -0
  94. package/dist/core/p-551a0fc1.entry.js.map +1 -0
  95. package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
  96. package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
  97. package/dist/core/p-61c92598.entry.js +2 -0
  98. package/dist/core/p-61c92598.entry.js.map +1 -0
  99. package/dist/core/{p-e00e67ff.entry.js → p-6323da7a.entry.js} +2 -2
  100. package/dist/core/p-691dd972.entry.js +2 -0
  101. package/dist/core/p-691dd972.entry.js.map +1 -0
  102. package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
  103. package/dist/core/p-71cc5909.entry.js +2 -0
  104. package/dist/core/p-71cc5909.entry.js.map +1 -0
  105. package/dist/core/{p-fd7f3b58.entry.js → p-770e92cd.entry.js} +2 -2
  106. package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
  107. package/dist/core/{p-285892ef.entry.js → p-7b4b45cf.entry.js} +2 -2
  108. package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
  109. package/dist/core/{p-96177a74.entry.js → p-802a4bd3.entry.js} +2 -2
  110. package/dist/core/p-829b34f9.js +2 -0
  111. package/dist/core/p-829b34f9.js.map +1 -0
  112. package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
  113. package/dist/core/{p-3891ce53.entry.js → p-8830011c.entry.js} +2 -2
  114. package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
  115. package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
  116. package/dist/core/{p-4992e9ac.entry.js → p-939b168a.entry.js} +2 -2
  117. package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
  118. package/dist/core/{p-af821831.entry.js → p-a88e61b2.entry.js} +2 -2
  119. package/dist/core/p-a88e61b2.entry.js.map +1 -0
  120. package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
  121. package/dist/core/{p-31f3fb15.entry.js → p-a94a7b71.entry.js} +2 -2
  122. package/dist/core/p-ad551a0c.entry.js +2 -0
  123. package/dist/core/p-ad551a0c.entry.js.map +1 -0
  124. package/dist/core/{p-ba75ed34.entry.js → p-b434bd7c.entry.js} +2 -2
  125. package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
  126. package/dist/core/{p-2bd2f38b.entry.js → p-c0b227d2.entry.js} +2 -2
  127. package/dist/core/{p-2646a629.entry.js → p-c32f043e.entry.js} +2 -2
  128. package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
  129. package/dist/core/{p-775b8dba.entry.js → p-c9525aac.entry.js} +2 -2
  130. package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
  131. package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
  132. package/dist/core/{p-15c05eb8.entry.js → p-d528d856.entry.js} +2 -2
  133. package/dist/core/{p-0043b019.entry.js → p-da1c2883.entry.js} +2 -2
  134. package/dist/core/{p-ffc1cea6.entry.js → p-e2e556ec.entry.js} +2 -2
  135. package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
  136. package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
  137. package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
  138. package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
  139. package/dist/core/{p-9a95f428.entry.js → p-eaeb473e.entry.js} +2 -2
  140. package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
  141. package/dist/core/{p-6cfba272.entry.js → p-efe260f0.entry.js} +2 -2
  142. package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
  143. package/dist/core/{p-e4551a38.entry.js → p-f5dc04f7.entry.js} +2 -2
  144. package/dist/core/{p-25280383.entry.js → p-fb07921b.entry.js} +2 -2
  145. package/dist/core/p-fb07921b.entry.js.map +1 -0
  146. package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
  147. package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
  148. package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
  149. package/dist/esm/core.js +1 -1
  150. package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
  151. package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
  152. package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
  153. package/dist/esm/helpers-a08b3f32.js.map +1 -0
  154. package/dist/esm/ic-accordion-group.entry.js +1 -1
  155. package/dist/esm/ic-accordion.entry.js +1 -1
  156. package/dist/esm/ic-action-chip.entry.js +1 -1
  157. package/dist/esm/ic-alert.entry.js +1 -1
  158. package/dist/esm/ic-back-to-top.entry.js +1 -1
  159. package/dist/esm/ic-badge.entry.js +1 -1
  160. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  161. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  162. package/dist/esm/ic-button_3.entry.js +1 -1
  163. package/dist/esm/ic-calendar_2.entry.js +2 -2
  164. package/dist/esm/ic-calendar_2.entry.js.map +1 -1
  165. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  166. package/dist/esm/ic-card-vertical.entry.js +1 -1
  167. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  168. package/dist/esm/ic-checkbox_3.entry.js +12 -8
  169. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  170. package/dist/esm/ic-chip.entry.js +1 -1
  171. package/dist/esm/ic-data-row.entry.js +1 -1
  172. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  173. package/dist/esm/ic-data-table.entry.js +11 -8
  174. package/dist/esm/ic-data-table.entry.js.map +1 -1
  175. package/dist/esm/ic-date-picker.entry.js +1 -1
  176. package/dist/esm/ic-dialog.entry.js +1 -1
  177. package/dist/esm/ic-divider.entry.js +1 -1
  178. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  179. package/dist/esm/ic-footer-link.entry.js +1 -1
  180. package/dist/esm/ic-footer.entry.js +1 -1
  181. package/dist/esm/ic-hero.entry.js +1 -1
  182. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  183. package/dist/esm/ic-input-component-container_4.entry.js +1 -1
  184. package/dist/esm/ic-link.entry.js +1 -1
  185. package/dist/esm/ic-menu-group.entry.js +1 -1
  186. package/dist/esm/ic-menu-item.entry.js +1 -1
  187. package/dist/esm/ic-menu.entry.js +1 -1
  188. package/dist/esm/ic-navigation-button.entry.js +1 -1
  189. package/dist/esm/ic-navigation-group.entry.js +1 -1
  190. package/dist/esm/ic-navigation-item.entry.js +1 -1
  191. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  192. package/dist/esm/ic-page-header.entry.js +1 -1
  193. package/dist/esm/ic-pagination_4.entry.js +9 -5
  194. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  195. package/dist/esm/ic-popover-menu.entry.js +1 -1
  196. package/dist/esm/ic-radio-group.entry.js +1 -1
  197. package/dist/esm/ic-radio-option.entry.js +1 -1
  198. package/dist/esm/ic-search-bar.entry.js +1 -1
  199. package/dist/esm/ic-side-navigation.entry.js +1 -1
  200. package/dist/esm/ic-status-tag.entry.js +1 -1
  201. package/dist/esm/ic-step.entry.js +1 -1
  202. package/dist/esm/ic-stepper.entry.js +1 -1
  203. package/dist/esm/ic-switch.entry.js +1 -1
  204. package/dist/esm/ic-tab-group.entry.js +1 -1
  205. package/dist/esm/ic-tab.entry.js +1 -1
  206. package/dist/esm/ic-table-of-contents.entry.js +1 -1
  207. package/dist/esm/ic-theme.entry.js +1 -1
  208. package/dist/esm/ic-time-input.entry.js +401 -99
  209. package/dist/esm/ic-time-input.entry.js.map +1 -1
  210. package/dist/esm/ic-time-selector.entry.js +838 -0
  211. package/dist/esm/ic-time-selector.entry.js.map +1 -0
  212. package/dist/esm/ic-toast.entry.js +1 -1
  213. package/dist/esm/ic-toggle-button_2.entry.js +449 -0
  214. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
  215. package/dist/esm/ic-top-navigation.entry.js +1 -1
  216. package/dist/esm/ic-tree-item.entry.js +3 -3
  217. package/dist/esm/ic-tree-view.entry.js +4 -4
  218. package/dist/esm/ic-typography.entry.js +1 -1
  219. package/dist/esm/index-a7a720e7.js +8 -8
  220. package/dist/esm/loader.js +1 -1
  221. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
  222. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +4 -0
  223. package/dist/types/components/ic-time-input/ic-time-input.d.ts +26 -6
  224. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
  225. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
  226. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +88 -0
  227. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +99 -0
  228. package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
  229. package/dist/types/components.d.ts +147 -11
  230. package/dist/types/utils/helpers.d.ts +14 -0
  231. package/dist/types/utils/types.d.ts +2 -1
  232. package/hydrate/index.js +1356 -131
  233. package/hydrate/index.mjs +1356 -131
  234. package/package.json +30 -30
  235. package/dist/cjs/helpers-6f4b406b.js.map +0 -1
  236. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
  237. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
  238. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
  239. package/dist/core/p-25280383.entry.js.map +0 -1
  240. package/dist/core/p-2c86ce4b.entry.js +0 -2
  241. package/dist/core/p-2c86ce4b.entry.js.map +0 -1
  242. package/dist/core/p-5b32aaf3.entry.js +0 -2
  243. package/dist/core/p-5b32aaf3.entry.js.map +0 -1
  244. package/dist/core/p-80111272.entry.js +0 -2
  245. package/dist/core/p-80111272.entry.js.map +0 -1
  246. package/dist/core/p-9044539c.entry.js +0 -2
  247. package/dist/core/p-9044539c.entry.js.map +0 -1
  248. package/dist/core/p-af821831.entry.js.map +0 -1
  249. package/dist/core/p-c3eddb99.entry.js +0 -2
  250. package/dist/core/p-c3eddb99.entry.js.map +0 -1
  251. package/dist/core/p-f48ce5f6.js +0 -2
  252. package/dist/core/p-f48ce5f6.js.map +0 -1
  253. package/dist/esm/helpers-9f228880.js.map +0 -1
  254. package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
  255. package/dist/esm/ic-toggle-button.entry.js.map +0 -1
  256. /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
  257. /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
  258. /package/dist/core/{p-81f12581.entry.js.map → p-169ad948.entry.js.map} +0 -0
  259. /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
  260. /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
  261. /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
  262. /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
  263. /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
  264. /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
  265. /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
  266. /package/dist/core/{p-fd20470e.entry.js.map → p-496b314f.entry.js.map} +0 -0
  267. /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
  268. /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
  269. /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
  270. /package/dist/core/{p-e00e67ff.entry.js.map → p-6323da7a.entry.js.map} +0 -0
  271. /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
  272. /package/dist/core/{p-fd7f3b58.entry.js.map → p-770e92cd.entry.js.map} +0 -0
  273. /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
  274. /package/dist/core/{p-285892ef.entry.js.map → p-7b4b45cf.entry.js.map} +0 -0
  275. /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
  276. /package/dist/core/{p-96177a74.entry.js.map → p-802a4bd3.entry.js.map} +0 -0
  277. /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
  278. /package/dist/core/{p-3891ce53.entry.js.map → p-8830011c.entry.js.map} +0 -0
  279. /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
  280. /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
  281. /package/dist/core/{p-4992e9ac.entry.js.map → p-939b168a.entry.js.map} +0 -0
  282. /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
  283. /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
  284. /package/dist/core/{p-31f3fb15.entry.js.map → p-a94a7b71.entry.js.map} +0 -0
  285. /package/dist/core/{p-ba75ed34.entry.js.map → p-b434bd7c.entry.js.map} +0 -0
  286. /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
  287. /package/dist/core/{p-2bd2f38b.entry.js.map → p-c0b227d2.entry.js.map} +0 -0
  288. /package/dist/core/{p-2646a629.entry.js.map → p-c32f043e.entry.js.map} +0 -0
  289. /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
  290. /package/dist/core/{p-775b8dba.entry.js.map → p-c9525aac.entry.js.map} +0 -0
  291. /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
  292. /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
  293. /package/dist/core/{p-15c05eb8.entry.js.map → p-d528d856.entry.js.map} +0 -0
  294. /package/dist/core/{p-0043b019.entry.js.map → p-da1c2883.entry.js.map} +0 -0
  295. /package/dist/core/{p-ffc1cea6.entry.js.map → p-e2e556ec.entry.js.map} +0 -0
  296. /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
  297. /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
  298. /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
  299. /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
  300. /package/dist/core/{p-9a95f428.entry.js.map → p-eaeb473e.entry.js.map} +0 -0
  301. /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
  302. /package/dist/core/{p-6cfba272.entry.js.map → p-efe260f0.entry.js.map} +0 -0
  303. /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
  304. /package/dist/core/{p-e4551a38.entry.js.map → p-f5dc04f7.entry.js.map} +0 -0
  305. /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
  306. /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
  307. /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
package/hydrate/index.js CHANGED
@@ -5924,6 +5924,41 @@ const hasDynamicChildSlots = (mutationList, slotNames) => mutationList.some(({ t
5924
5924
  const renderDynamicChildSlots = (mutationList, slotNames, ref) => {
5925
5925
  if (hasDynamicChildSlots(mutationList, slotNames)) ;
5926
5926
  };
5927
+ /**
5928
+ * Parses a time string (HH:MM or HH:MM:SS) or Date and returns both Date and time parts.
5929
+ * @param value string or Date
5930
+ * @returns { date: Date | null, parts: { hour: number, minute: number, second: number } | null }
5931
+ */
5932
+ function parseTimeHelper(value) {
5933
+ if (!value)
5934
+ return { date: null, parts: null };
5935
+ let d;
5936
+ if (typeof value === "string") {
5937
+ const parts = value.split(/[:.]/);
5938
+ if (parts.length >= 2) {
5939
+ d = new Date();
5940
+ d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, parts[3] ? +parts[3] : 0);
5941
+ }
5942
+ else {
5943
+ return { date: null, parts: null };
5944
+ }
5945
+ }
5946
+ else if (value instanceof Date) {
5947
+ d = value;
5948
+ }
5949
+ else {
5950
+ return { date: null, parts: null };
5951
+ }
5952
+ return {
5953
+ date: d,
5954
+ parts: {
5955
+ hour: d.getHours(),
5956
+ minute: d.getMinutes(),
5957
+ second: d.getSeconds(),
5958
+ millisecond: d.getMilliseconds(),
5959
+ },
5960
+ };
5961
+ }
5927
5962
 
5928
5963
  const DayButton = ({ focussed, today, day, monthInView, onFocusDay, onBlurDay, onSelectDay, selected, focussedDayRef, inRange, showDaysOutsideMonth, disableDay, }) => {
5929
5964
  const handleDayClick = () => {
@@ -6048,7 +6083,7 @@ const YearPicker = ({ decadeView, size, focussedYear, yearInView, onSelectYear,
6048
6083
  return (hAsync("div", { class: "year-picker", role: "grid" }, thisDecade.map((years, yearIdx) => (hAsync("div", { class: "year-picker-row", role: "row", key: yearIdx }, years.map((yr, idx) => renderYearButton(yr, yearIdx, idx)))))));
6049
6084
  };
6050
6085
 
6051
- const icCalendarCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-date-picker-above) .calendar-container{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host(.ic-date-picker-calendar) .calendar-container{box-shadow:var(--ic-calendar-elevation)}:host .calendar-container{min-width:19rem;max-width:23.5rem;width:var(--input-width);display:flex;flex-direction:column;gap:var(--ic-space-xs);position:absolute;border:var(--ic-border-default);border-color:var(--ic-calendar-border);border-radius:var(--ic-border-radius);align-items:center;background-color:var(--ic-calendar-bg);z-index:var(--ic-z-index-calendar);box-sizing:border-box;margin-top:var(--ic-space-xxxs);padding:var(--ic-space-xs);animation:fade-in-calendar var(--ic-transition-duration-slow)}:host(.ic-calendar-small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.ic-calendar-large) .calendar-container{min-width:21rem;max-width:25.5rem}:host(.ic-calendar-large){--month-button-width:6.3125rem}:host(.ic-calendar-small){--month-button-width:6.25rem}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{display:flex;flex-direction:column;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.ic-calendar-small) .month-picker,:host(.ic-calendar-small) .year-picker{width:13.125rem}:host(.ic-calendar-large) .month-picker,:host(.ic-calendar-large) .year-picker{width:20rem}:host .month-picker .month-picker-row,:host .year-picker .year-picker-row{display:inline-grid;grid-template-columns:repeat(3, minmax(0, 1fr));width:100%;gap:var(--ic-space-xs)}:host(.ic-calendar-small) .month-picker .month-picker-row,:host(.ic-calendar-small) .year-picker .year-picker-row{grid-template-columns:repeat(2, minmax(0, 1fr))}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width);padding:var(--ic-space-xs) auto}:host .prev-decade.year-button svg{margin-right:calc(-1 * var(--ic-space-xs));--icon-width:var(--ic-space-md);--icon-height:var(--ic-space-md)}:host(.ic-calendar-small) .prev-decade.year-button svg{margin-right:calc(-1 * calc(var(--ic-space-md) + var(--ic-space-1px)))}:host(.ic-calendar-large) .prev-decade.year-button svg{margin-right:calc(-1 * calc(var(--ic-space-md) + var(--ic-space-xxs)))}:host .prev-decade.year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg);gap:var(--ic-space-xxxs);display:inline-grid;grid-template-columns:1.5rem 1fr}:host(.ic-calendar-small) .prev-decade.year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade.year-button svg{margin-left:calc(-1 * var(--ic-space-lg));--icon-width:var(--ic-space-md);--icon-height:var(--ic-space-md)}:host(.ic-calendar-small) .next-decade.year-button svg,:host(.ic-calendar-large) .next-decade.year-button svg{margin-left:calc(\n -1 * (var(--ic-space-lg) + var(--ic-space-xs) + var(--ic-space-1px))\n )}:host .next-decade.year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg);gap:var(--ic-space-xxxs);display:inline-grid;grid-template-columns:1fr 1.5rem}:host(.ic-calendar-small) .next-decade.year-button::part(button),:host(.ic-calendar-large) .next-decade.year-button::part(button){padding-left:calc(var(--ic-space-xl) - var(--ic-space-xxs))}:host .bottom-buttons{display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-calendar-large) .calendar{width:19.25rem}:host(.ic-calendar-small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays-container{display:flex;align-self:stretch}:host .weekdays{display:flex;flex-grow:1;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs)}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0;min-height:16rem;align-content:flex-start}:host(.ic-calendar-small) .calendar-days-container{padding:var(--ic-space-xxxs) 0;min-height:14.5rem}:host(.ic-calendar-large) .calendar-days-container{padding:var(--ic-space-xs) 0;min-height:17.5rem}:host .calendar-days-container tr{display:flex;flex-grow:1;justify-content:space-between;border-spacing:0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center;color:var(--ic-typography-color, var(--ic-color-text-primary));--ic-typography-color:var(--ic-calendar-label);text-align:center;font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-calendar-large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.ic-calendar-small) .day-button-container{width:2rem;height:2rem}:host(.ic-calendar-large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-calendar-bg);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.ic-calendar-large) .day-button{width:2.25rem;height:2.25rem}:host(.ic-calendar-small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;--ic-typography-color:var(--ic-calendar-date-label-default)}:host .day-button.outside-range ic-typography{--ic-typography-color:var(--ic-calendar-date-label-disabled)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{--ic-typography-color:var(--ic-calendar-date-label-default)}:host .day-button:hover:not(.disabled){background-color:var(--ic-calendar-date-default-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-calendar-date-default-bg-pressed)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-calendar-date-active-bg-default)}:host .day-button.selected ic-typography{--ic-typography-color:var(--ic-calendar-date-label-selected)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-calendar-date-active-bg-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-calendar-date-active-bg-pressed)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:\"\";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-calendar-default-underline)}:host(.ic-calendar-small) .day-button.today::after{bottom:0.35rem}:host(.ic-calendar-large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-calendar-selected-underline)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-border-hc)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}";
6086
+ const icCalendarCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-date-picker-above) .calendar-container{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host(.ic-date-picker-calendar) .calendar-container{position:absolute;min-width:19rem;max-width:23.5rem;width:var(--input-width);margin-top:var(--ic-space-xxxs);animation:fade-in-calendar var(--ic-transition-duration-slow);box-shadow:var(--ic-calendar-elevation)}:host .calendar-container{display:flex;flex-direction:column;gap:var(--ic-space-xs);width:-moz-fit-content;width:fit-content;border:var(--ic-border-default);border-color:var(--ic-calendar-border);border-radius:var(--ic-border-radius);align-items:center;background-color:var(--ic-calendar-bg);z-index:var(--ic-z-index-calendar);box-sizing:border-box;padding:var(--ic-space-xs)}:host(.ic-calendar-small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.ic-calendar-large) .calendar-container{min-width:21rem;max-width:25.5rem}:host(.ic-calendar-large){--month-button-width:6.3125rem}:host(.ic-calendar-small){--month-button-width:6.25rem}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{display:flex;flex-direction:column;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.ic-calendar-small) .month-picker,:host(.ic-calendar-small) .year-picker{width:13.125rem}:host(.ic-calendar-large) .month-picker,:host(.ic-calendar-large) .year-picker{width:20rem}:host .month-picker .month-picker-row,:host .year-picker .year-picker-row{display:inline-grid;grid-template-columns:repeat(3, minmax(0, 1fr));width:100%;gap:var(--ic-space-xs)}:host(.ic-calendar-small) .month-picker .month-picker-row,:host(.ic-calendar-small) .year-picker .year-picker-row{grid-template-columns:repeat(2, minmax(0, 1fr))}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width);padding:var(--ic-space-xs) auto}:host .prev-decade.year-button svg{margin-right:calc(-1 * var(--ic-space-xs));--icon-width:var(--ic-space-md);--icon-height:var(--ic-space-md)}:host(.ic-calendar-small) .prev-decade.year-button svg{margin-right:calc(-1 * calc(var(--ic-space-md) + var(--ic-space-1px)))}:host(.ic-calendar-large) .prev-decade.year-button svg{margin-right:calc(-1 * calc(var(--ic-space-md) + var(--ic-space-xxs)))}:host .prev-decade.year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg);gap:var(--ic-space-xxxs);display:inline-grid;grid-template-columns:1.5rem 1fr}:host(.ic-calendar-small) .prev-decade.year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade.year-button svg{margin-left:calc(-1 * var(--ic-space-lg));--icon-width:var(--ic-space-md);--icon-height:var(--ic-space-md)}:host(.ic-calendar-small) .next-decade.year-button svg,:host(.ic-calendar-large) .next-decade.year-button svg{margin-left:calc(\n -1 * (var(--ic-space-lg) + var(--ic-space-xs) + var(--ic-space-1px))\n )}:host .next-decade.year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg);gap:var(--ic-space-xxxs);display:inline-grid;grid-template-columns:1fr 1.5rem}:host(.ic-calendar-small) .next-decade.year-button::part(button),:host(.ic-calendar-large) .next-decade.year-button::part(button){padding-left:calc(var(--ic-space-xl) - var(--ic-space-xxs))}:host .bottom-buttons{display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-calendar-large) .calendar{width:19.25rem}:host(.ic-calendar-small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays-container{display:flex;align-self:stretch}:host .weekdays{display:flex;flex-grow:1;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs)}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0;min-height:16rem;align-content:flex-start}:host(.ic-calendar-small) .calendar-days-container{padding:var(--ic-space-xxxs) 0;min-height:14.5rem}:host(.ic-calendar-large) .calendar-days-container{padding:var(--ic-space-xs) 0;min-height:17.5rem}:host .calendar-days-container tr{display:flex;flex-grow:1;justify-content:space-between;border-spacing:0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center;color:var(--ic-typography-color, var(--ic-color-text-primary));--ic-typography-color:var(--ic-calendar-label);text-align:center;font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-calendar-large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.ic-calendar-small) .day-button-container{width:2rem;height:2rem}:host(.ic-calendar-large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-calendar-bg);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.ic-calendar-large) .day-button{width:2.25rem;height:2.25rem}:host(.ic-calendar-small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;--ic-typography-color:var(--ic-calendar-date-label-default)}:host .day-button.outside-range ic-typography{--ic-typography-color:var(--ic-calendar-date-label-disabled)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{--ic-typography-color:var(--ic-calendar-date-label-default)}:host .day-button:hover:not(.disabled){background-color:var(--ic-calendar-date-default-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-calendar-date-default-bg-pressed)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-calendar-date-active-bg-default)}:host .day-button.selected ic-typography{--ic-typography-color:var(--ic-calendar-date-label-selected)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-calendar-date-active-bg-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-calendar-date-active-bg-pressed)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:\"\";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-calendar-default-underline)}:host(.ic-calendar-small) .day-button.today::after{bottom:0.35rem}:host(.ic-calendar-large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-calendar-selected-underline)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-border-hc)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}";
6052
6087
  var IcCalendarStyle0 = icCalendarCss;
6053
6088
 
6054
6089
  const FOCUS_TIMER = 100;
@@ -10128,6 +10163,9 @@ class DataTable {
10128
10163
  if (columnWidth.maxWidth) {
10129
10164
  columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-max-width"]: columnWidth.maxWidth });
10130
10165
  }
10166
+ if (columnWidth.width) {
10167
+ columnWidthStyling = Object.assign(Object.assign({}, columnWidthStyling), { ["--column-width"]: columnWidth.width });
10168
+ }
10131
10169
  }
10132
10170
  return columnWidthStyling;
10133
10171
  };
@@ -10926,26 +10964,26 @@ class DataTable {
10926
10964
  ? "deselect all"
10927
10965
  : "select all remaining"
10928
10966
  : "select all";
10929
- return (hAsync(Host, { key: '9f183b318d949b1342869be9193cdff5fed88d2f', style: Object.assign({}, this.setTableDimensions()), class: {
10967
+ return (hAsync(Host, { key: '5a54a8292fc31e31e968c76b21f957d6ed4665bb', style: Object.assign({}, this.setTableDimensions()), class: {
10930
10968
  [`ic-theme-${theme}`]: theme !== "inherit",
10931
10969
  [`ic-data-table-show-pagination`]: !!showPagination,
10932
10970
  [`ic-data-table-embedded`]: !!embedded,
10933
- } }, hAsync("div", { key: '67ed81b3d232c0126317900dabba13b24a06946f', class: "table-container" }, isSlotUsed(this.el, "title-bar") && hAsync("slot", { key: 'd2543f5ac57d62ade8d1651c2285b6bf7a31f12f', name: "title-bar" }), hAsync("div", { key: '875654c430a0d216061249dbaa1674b8073250e2', class: {
10971
+ } }, hAsync("div", { key: '664f9b13c5c5f9b2a0323a870b7c96cfc8e2c45d', class: "table-container" }, isSlotUsed(this.el, "title-bar") && hAsync("slot", { key: '997ec993032c647aea11da288c2f2b19c5f69f8b', name: "title-bar" }), hAsync("div", { key: '35823b8f7cfeeaeab64dc248ef65c6c52762cf03', class: {
10934
10972
  ["table-row-container"]: true,
10935
10973
  scrollable,
10936
- }, tabIndex: scrollable ? 0 : undefined, onScroll: updateScrollOffset }, hAsync("table", { key: 'e3f2659b9fe5f091525a949ccb955da9d633afe7', style: {
10974
+ }, tabIndex: scrollable ? 0 : undefined, onScroll: updateScrollOffset }, hAsync("table", { key: '9b9c1bbf6ebcc08ca235f2637c95dc74bd49c3a1', style: {
10937
10975
  "--table-layout": tableLayout,
10938
- } }, hAsync("caption", { key: 'e841f03366a519a9f22a2e9385e3085b9db63201', class: "table-caption" }, caption), !hideColumnHeaders && (hAsync("thead", { key: '51f0415b666ac119c08ba3a7ef2223547bd55ae3', class: {
10976
+ } }, hAsync("caption", { key: 'f5acadc8976d3b474dab6d17c957553a384c348a', class: "table-caption" }, caption), !hideColumnHeaders && (hAsync("thead", { key: '4131acaa910add9c3f596f34c879b539e69e4c69', class: {
10939
10977
  ["column-header-sticky"]: stickyColumnHeaders,
10940
10978
  ["column-header-overlay"]: stickyColumnHeaders && scrollOffset !== 0,
10941
- } }, hAsync("tr", { key: '0694725f5af74c8173371365e72c7670b8a0e0ac' }, rowSelection && data && (hAsync("th", { key: '6c93c841bab80011f41397363d69172d62f2f11d', class: {
10979
+ } }, hAsync("tr", { key: 'ddf0b02e09b404800f07b86709812a8c719da333' }, rowSelection && data && (hAsync("th", { key: '3aa7cb15d490ea90a1c33959ff83987b244951f4', class: {
10942
10980
  "column-header": true,
10943
10981
  "checkbox-cell": true,
10944
10982
  "updating-state-headers": updating && !loading,
10945
10983
  [`table-density-${density}`]: this.notDefaultDensity(),
10946
- } }, hAsync("div", { key: 'c97ccb8ac9acfea3f948606f3fbb699d15a142b6', class: "checkbox-wrapper" }, hAsync("ic-checkbox", { key: '6973d631e63e183ecd21c7ca645206966ae95c5b', class: "ic-data-table-checkbox", checked: rowsSelected && allRowsSelected, disabled: updating || loading, hideLabel: true, indeterminate: rowsSelected && !allRowsSelected, label: `${caption} ${headerCheckboxLabelState} rows`, nativeIndeterminateBehaviour: true, onIcCheck: () => selectAllRows(), size: density === "dense" ? "small" : "medium", value: caption })))), createColumnHeaders()))), updating &&
10984
+ } }, hAsync("div", { key: '0b42136651692a5b69131dc40eb80636e0cb5ff1', class: "checkbox-wrapper" }, hAsync("ic-checkbox", { key: 'be47f6ce2b9c6450b4fff5bba46686396fbf7bab', class: "ic-data-table-checkbox", checked: rowsSelected && allRowsSelected, disabled: updating || loading, hideLabel: true, indeterminate: rowsSelected && !allRowsSelected, label: `${caption} ${headerCheckboxLabelState} rows`, nativeIndeterminateBehaviour: true, onIcCheck: () => selectAllRows(), size: density === "dense" ? "small" : "medium", value: caption })))), createColumnHeaders()))), updating &&
10947
10985
  !loading &&
10948
- (hideColumnHeaders ? (hAsync("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), this.renderEmptyState(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), hAsync("div", { key: 'd55e2139c46b6fd77fa4d09e8a1a2308912d2027', "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || isSlotUsed(this.el, "pagination-bar")) && (hAsync("div", { key: '6d65f7399346a04d4c050a569b5a716a1374bcc9', class: "pagination-container" }, isSlotUsed(this.el, "pagination-bar") ? (hAsync("slot", { name: "pagination-bar" })) : (hAsync("ic-pagination-bar", { alignment: paginationBarOptions.alignment, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, hideCurrentPage: paginationBarOptions.hideCurrentPage, hideFirstAndLastPageButton: paginationBarOptions.hideFirstAndLastPageButton, hideRangeLabel: paginationBarOptions.hideRangeLabel, itemLabel: paginationBarOptions.itemLabel, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, monochrome: paginationBarOptions.monochrome, pageLabel: paginationBarOptions.pageLabel, rangeLabelType: paginationBarOptions.rangeLabelType, selectedItemsPerPage: paginationBarOptions.selectedItemsPerPage, selectItemsPerPageOnEnter: paginationBarOptions.selectItemsPerPageOnEnter, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange, showGoToPageControl: paginationBarOptions.showGoToPageControl, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, theme: theme, totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type })))), sortable && (hAsync("div", { key: '2c4efdb9a3b0a8a775600c6763961e0ee431cf86', class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
10986
+ (hideColumnHeaders ? (hAsync("thead", null, createUpdatingIndicator())) : (createUpdatingIndicator())), this.renderTableBody(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), this.renderEmptyState(loading, data, loadingOptions === null || loadingOptions === void 0 ? void 0 : loadingOptions.overlay)), hAsync("div", { key: '23b30f12641186e93d7c20cee3b302d002f799cc', "aria-live": "assertive", class: "sr-only" }, this.renderAriaLiveLoading()), this.renderLoadingIndicator(loading, loadingOptions), (showPagination || isSlotUsed(this.el, "pagination-bar")) && (hAsync("div", { key: '639f16bbcb3ee28acd812e753ad242bdfc9fda24', class: "pagination-container" }, isSlotUsed(this.el, "pagination-bar") ? (hAsync("slot", { name: "pagination-bar" })) : (hAsync("ic-pagination-bar", { alignment: paginationBarOptions.alignment, hideAllFromItemsPerPage: paginationBarOptions.hideAllFromItemsPerPage, hideCurrentPage: paginationBarOptions.hideCurrentPage, hideFirstAndLastPageButton: paginationBarOptions.hideFirstAndLastPageButton, hideRangeLabel: paginationBarOptions.hideRangeLabel, itemLabel: paginationBarOptions.itemLabel, itemsPerPageOptions: paginationBarOptions.itemsPerPageOptions, monochrome: paginationBarOptions.monochrome, pageLabel: paginationBarOptions.pageLabel, rangeLabelType: paginationBarOptions.rangeLabelType, selectedItemsPerPage: paginationBarOptions.selectedItemsPerPage, selectItemsPerPageOnEnter: paginationBarOptions.selectItemsPerPageOnEnter, setToFirstPageOnPaginationChange: paginationBarOptions.setToFirstPageOnPaginationChange, showGoToPageControl: paginationBarOptions.showGoToPageControl, showItemsPerPageControl: paginationBarOptions.showItemsPerPageControl, theme: theme, totalItems: (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0, type: paginationBarOptions.type })))), sortable && (hAsync("div", { key: 'fdd6bfc99732ce13c66e322f91630bb02e23fd1b', class: "screen-reader-sort-text", "aria-live": "polite" }, sortedColumnOrder !== "unsorted" && sortedColumn
10949
10987
  ? `${((_b = columns.find((col) => col.key === sortedColumn)) === null || _b === void 0 ? void 0 : _b.title) ||
10950
10988
  sortedColumn} sorted ${sortedColumnOrder}`
10951
10989
  : "table unsorted")))));
@@ -11086,7 +11124,7 @@ class DataTableTitleBar {
11086
11124
  }; }
11087
11125
  }
11088
11126
 
11089
- var Clear$1 = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
11127
+ var Clear$2 = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
11090
11128
  <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>
11091
11129
  </svg>
11092
11130
  `;
@@ -12278,7 +12316,7 @@ class DateInput {
12278
12316
  ["hidden"]: isEmptyString(this.day) &&
12279
12317
  isEmptyString(this.month) &&
12280
12318
  isEmptyString(this.year),
12281
- }, disabled: this.disabled, innerHTML: Clear$1, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (hAsync("div", { key: 'ec2f995db607ae5d575ddd7994e85f4b883ce2bb', class: "show-calendar-button-wrapper" }, hAsync("div", { key: '74e895071ab608fcccc0a3e2b2ec368511efe4d3', class: { divider: true, [size]: true } }), hAsync("ic-button", { key: '51e8939da851ae18809840d22492f3b5be958b26', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), hAsync("span", { key: '77d360d10492577650304e7914021ad40bb8b281', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, hAsync("span", { key: '1c285045fb1b18bca93c9e32956e93b8d400b0a1', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), hAsync("ic-input-validation", { key: '7f02c2d9ec754c92dec3156339e6ea6b504b8d74', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId, ariaLiveMode: validationAriaLive }))));
12319
+ }, disabled: this.disabled, innerHTML: Clear$2, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (hAsync("div", { key: 'ec2f995db607ae5d575ddd7994e85f4b883ce2bb', class: "show-calendar-button-wrapper" }, hAsync("div", { key: '74e895071ab608fcccc0a3e2b2ec368511efe4d3', class: { divider: true, [size]: true } }), hAsync("ic-button", { key: '51e8939da851ae18809840d22492f3b5be958b26', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), hAsync("span", { key: '77d360d10492577650304e7914021ad40bb8b281', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, hAsync("span", { key: '1c285045fb1b18bca93c9e32956e93b8d400b0a1', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), hAsync("ic-input-validation", { key: '7f02c2d9ec754c92dec3156339e6ea6b504b8d74', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId, ariaLiveMode: validationAriaLive }))));
12282
12320
  }
12283
12321
  static get delegatesFocus() { return true; }
12284
12322
  get el() { return getElement(this); }
@@ -18906,6 +18944,10 @@ class Pagination {
18906
18944
  this.midItems = [];
18907
18945
  this.startEllipsis = false;
18908
18946
  this.startItems = [];
18947
+ /**
18948
+ * The accessible label of the pagination component to provide context for screen reader users.
18949
+ */
18950
+ this.accessibleLabel = "Pagination Navigation";
18909
18951
  /**
18910
18952
  * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.
18911
18953
  */
@@ -19136,14 +19178,14 @@ class Pagination {
19136
19178
  }
19137
19179
  render() {
19138
19180
  const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;
19139
- return (hAsync(Host, { key: '9f9c0ceb1629ebff96c677d7b4ad9995bbe480cd', class: {
19181
+ return (hAsync(Host, { key: '206014fa2aa2c61bb9535e4de4fa5bf756bd318c', class: {
19140
19182
  [`ic-theme-${theme}`]: theme !== "inherit",
19141
19183
  ["ic-pagination-monochrome"]: !!monochrome,
19142
- } }, type === "simple" && (hAsync("nav", { key: '4d24ed30438c6755a1717454ee83e2a1b58d93c5', class: {
19184
+ } }, type === "simple" && (hAsync("nav", { key: '8544b88d593c806867e0bd49cb0624a684dec271', class: {
19143
19185
  ["disabled"]: !!disabled,
19144
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), hAsync("ic-pagination-item", { key: '784f99d1fa32d4f48c6de793707825333e45651a', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (hAsync("nav", { key: 'ce6061fcee8e202cb895e2919525b64c6a1c1114', class: {
19186
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), hAsync("ic-pagination-item", { key: '5331aca30709281171cf19f17c2f05a0d0cdf168', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (hAsync("nav", { key: '6b7acef9da08b590b941a7ce142ce448dbf79ff2', class: {
19145
19187
  ["disabled"]: !!disabled,
19146
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (hAsync("span", { key: '4980f1fd9ebd31a5b8835876479e12a8a0f5d54d', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
19188
+ }, role: "navigation", "aria-label": this.accessibleLabel }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (hAsync("span", { key: 'e60f3fb36b78e7970f14836295efbd3a1f481885', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
19147
19189
  }
19148
19190
  get el() { return getElement(this); }
19149
19191
  static get watchers() { return {
@@ -19159,6 +19201,7 @@ class Pagination {
19159
19201
  "$flags$": 9,
19160
19202
  "$tagName$": "ic-pagination",
19161
19203
  "$members$": {
19204
+ "accessibleLabel": [1, "accessible-label"],
19162
19205
  "adjacentPageCount": [1026, "adjacent-page-count"],
19163
19206
  "boundaryPageCount": [1026, "boundary-page-count"],
19164
19207
  "defaultPage": [2, "default-page"],
@@ -19201,6 +19244,10 @@ class PaginationBar {
19201
19244
  this.itemsPerPageString = "10";
19202
19245
  this.lowerBound = 1;
19203
19246
  this.paginationWrapped = false;
19247
+ /**
19248
+ * The accessible label passed down to the pagination component to provide context for screen reader users.
19249
+ */
19250
+ this.accessibleLabel = "Pagination Navigation";
19204
19251
  /**
19205
19252
  * Sets the alignment of the items in the pagination bar.
19206
19253
  */
@@ -19528,22 +19575,22 @@ class PaginationBar {
19528
19575
  this.changePage(page);
19529
19576
  }
19530
19577
  render() {
19531
- const { alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, activePage, itemsPerPageString, theme, monochrome, selectItemsPerPageOnEnter, hideCurrentPage, hideFirstAndLastPageButton, } = this;
19532
- return (hAsync(Host, { key: '9e58353122e7c4d900d8e05557b1ad455318193e', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, hAsync("div", { key: '3b321296452318c0d4e6c6127de6c585d1685b79', class: {
19578
+ const { accessibleLabel, alignment, displayedItemsPerPageOptions, PAGE_INPUT_FIELD_ID, type, rangeLabelType, hideRangeLabel, showItemsPerPageControl, showGoToPageControl, pageLabel, capitalizedPageLabel, lowerCasePageLabel, capitalizedItemLabel, lowerCaseItemLabel, totalPages, activePage, itemsPerPageString, theme, monochrome, selectItemsPerPageOnEnter, hideCurrentPage, hideFirstAndLastPageButton, } = this;
19579
+ return (hAsync(Host, { key: 'b4156a3e8ea25f4e3c63b6806a132998acc4d413', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, hAsync("div", { key: 'cdbb0088e57c64438cdf78d82a09f022321a6e79', class: {
19533
19580
  ["pagination-bar"]: true,
19534
19581
  [`pagination-bar-${alignment}`]: true,
19535
- }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (hAsync("div", { key: '9d848e5c743b0e175147b69ad6c347fe9501d949', class: "item-controls" }, showItemsPerPageControl && (hAsync("div", { key: '52783c5fc011c45d55801d0b2154bc9a087a004b', class: "items-per-page-holder" }, hAsync("ic-typography", { key: '6b819e980dad965c28db3d0aaa7b6a898d162d69', class: {
19582
+ }, ref: (el) => (this.paginationBarEl = el) }, (!hideRangeLabel || showItemsPerPageControl) && (hAsync("div", { key: '2ca590958c60e8e01b77e8f8ed09e7fa8dd91557', class: "item-controls" }, showItemsPerPageControl && (hAsync("div", { key: '4fc26efe806e4897e305842dcc47d81180364698', class: "items-per-page-holder" }, hAsync("ic-typography", { key: 'eb35b4a2a49a249584532042647a02aaadd4c9b6', class: {
19536
19583
  ["items-per-page-control-label"]: true,
19537
- }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), hAsync("ic-select", { key: '971399bcdf27a530f80520819c271e9038066581', theme: theme, size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, selectOnEnter: selectItemsPerPageOnEnter, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
19584
+ }, variant: "label", onClick: this.itemsPerPageLabelClickHandler }, capitalizedItemLabel, "s per ", lowerCasePageLabel), hAsync("ic-select", { key: 'f8541624bc0a7121cac0dce4e49392c6ad85e819', theme: theme, size: "small", label: "items-per-page-input", class: "items-per-page-input", hideLabel: true, options: displayedItemsPerPageOptions, selectOnEnter: selectItemsPerPageOnEnter, value: itemsPerPageString, onIcChange: this.changeItemsPerPage, ref: (el) => (this.pageDropdownEl = el) }))), !hideRangeLabel &&
19538
19585
  (rangeLabelType === "data" ? (hAsync("ic-typography", { class: {
19539
19586
  ["item-pagination-label"]: true,
19540
19587
  }, variant: "label", "aria-live": "polite" }, this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`, this.upperBound > 0 &&
19541
19588
  `${this.lowerBound} - ${this.upperBound} of ${this.totalItems} ${lowerCaseItemLabel}${this.totalItems > 1 ? "s" : ""}`)) : (hAsync("ic-typography", { class: {
19542
19589
  ["page-pagination-label"]: true,
19543
- }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), hAsync("div", { key: '9b488eaf711d15286be92a4b367d02f7e225a0c3', class: {
19590
+ }, variant: "label", "aria-live": "polite" }, capitalizedPageLabel, " ", activePage, " of ", totalPages))))), hAsync("div", { key: 'a781f60abd8da11927f5e3686926113f638936ad', class: {
19544
19591
  ["pagination-controls"]: true,
19545
19592
  ["pagination-controls-wrap"]: this.paginationWrapped,
19546
- } }, hAsync("div", { key: '22cba9694627e35900b6847697360a5924ad0518', class: "pagination-holder" }, hAsync("ic-pagination", { key: '1c397720f1637f856e9bed188ff53b07fff24bea', type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el), currentPage: activePage, theme: theme, monochrome: monochrome, hideCurrentPage: hideCurrentPage, hideFirstAndLastPageButton: hideFirstAndLastPageButton })), showGoToPageControl && (hAsync("div", { key: '0fea3a086dbcbad5e01cf79808b678d2357c12bf', class: "go-to-page-holder" }, hAsync("ic-typography", { key: 'e8f93eeb864821e80f735dcdbd56ec02cde8bbda', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), hAsync("ic-tooltip", { key: 'ca276acfeddd757806772b9ffa7207ba1208e08d', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, hAsync("ic-text-field", { key: 'f5b56075402822ebd8bad42bf21b2bbb2e6b2e12', theme: theme, type: "number", size: "small", label: PAGE_INPUT_FIELD_ID, class: PAGE_INPUT_FIELD_ID, id: PAGE_INPUT_FIELD_ID, hideLabel: true, onKeyDown: this.handleKeydown, onKeyUp: this.handleKeyUp, onInput: this.handleInputChange, max: totalPages, min: "1", validationInlineInternal: true, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: (el) => (this.pageInputEl = el) })), hAsync("ic-button", { key: '021bb44718fb00a03bddb167ba4f878b06776973', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
19593
+ } }, hAsync("div", { key: 'eb1dd49fe13eaa7358fadd76e7b7fe552f3e3fe1', class: "pagination-holder" }, hAsync("ic-pagination", { key: '717308c1d004d129c56d2b37ecf6ea207bdd1bc5', accessibleLabel: accessibleLabel, type: type, pages: totalPages, label: pageLabel, ref: (el) => (this.paginationEl = el), currentPage: activePage, theme: theme, monochrome: monochrome, hideCurrentPage: hideCurrentPage, hideFirstAndLastPageButton: hideFirstAndLastPageButton })), showGoToPageControl && (hAsync("div", { key: 'f13fda5cee5728bf3c35ba480a96437416a66721', class: "go-to-page-holder" }, hAsync("ic-typography", { key: 'd33e0a8d6ccbde4f5b44d2cdac54eac4288cf2de', variant: "label", onClick: this.goToPageLabelClickHandler }, "Go to ", lowerCasePageLabel), hAsync("ic-tooltip", { key: '6a6d2d300dbb3419313775fec483f5580bf45add', label: this.inputError, target: `#${PAGE_INPUT_FIELD_ID}`, disableHover: true, disableClick: true, ref: (el) => (this.pageInputTooltipEl = el) }, hAsync("ic-text-field", { key: '94b9d3cb57ca5141392827b81006267e44358473', theme: theme, type: "number", size: "small", label: PAGE_INPUT_FIELD_ID, class: PAGE_INPUT_FIELD_ID, id: PAGE_INPUT_FIELD_ID, hideLabel: true, onKeyDown: this.handleKeydown, onKeyUp: this.handleKeyUp, onInput: this.handleInputChange, max: totalPages, min: "1", validationInlineInternal: true, onBlur: this.handleBlur, onFocus: this.handleFocus, ref: (el) => (this.pageInputEl = el) })), hAsync("ic-button", { key: 'e6b3a97814c0af73c289f46b9c797efdfd3702e2', variant: "secondary", onClick: this.goToPage, size: "small", class: "go-to-page-button" }, "Go")))))));
19547
19594
  }
19548
19595
  get el() { return getElement(this); }
19549
19596
  static get watchers() { return {
@@ -19560,6 +19607,7 @@ class PaginationBar {
19560
19607
  "$flags$": 9,
19561
19608
  "$tagName$": "ic-pagination-bar",
19562
19609
  "$members$": {
19610
+ "accessibleLabel": [1, "accessible-label"],
19563
19611
  "alignment": [1],
19564
19612
  "currentPage": [2, "current-page"],
19565
19613
  "selectedItemsPerPage": [2, "selected-items-per-page"],
@@ -21169,7 +21217,7 @@ var Expand = `<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
21169
21217
  </svg>
21170
21218
  `;
21171
21219
 
21172
- var Clear = `<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
21220
+ var Clear$1 = `<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
21173
21221
  <path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />
21174
21222
  </svg>
21175
21223
  `;
@@ -21991,7 +22039,7 @@ class Select {
21991
22039
  }, role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": `${open}`, "aria-invalid": invalid, "aria-required": `${required}`, "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: inputId, value: searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: form }), isClearable && (hAsync("div", { class: "clear-button-container" }, hAsync("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": searchableSelectInputValue &&
21992
22040
  (currValue === null || loading)
21993
22041
  ? "Clear input"
21994
- : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }), hAsync("div", { class: "divider" }))), hAsync("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
22042
+ : "Clear selection", class: "clear-button", innerHTML: Clear$1, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }), hAsync("div", { class: "divider" }))), hAsync("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
21995
22043
  "expand-icon": true,
21996
22044
  "expand-icon-open": open,
21997
22045
  }, innerHTML: Expand, "aria-hidden": "true" }), hAsync("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (hAsync("div", { class: "select-container" }, hAsync("button", { role: "combobox", class: "select-input", ref: (el) => (this.customSelectElement = el), id: inputId, "aria-label": `${label}, ${(multiple && currValue
@@ -22005,7 +22053,7 @@ class Select {
22005
22053
  } }, valueLabelString || placeholder), hAsync("div", { class: "select-input-end" }, isClearable && hAsync("div", { class: "divider" }), hAsync("span", { class: {
22006
22054
  "expand-icon": true,
22007
22055
  "expand-icon-open": open,
22008
- }, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && (hAsync("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (hAsync("ic-menu", { key: 'b56cf5adc26838ad0f873aa16df8da7fd7b83d22', class: {
22056
+ }, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && (hAsync("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear$1, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon-tertiary", theme: clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (hAsync("ic-menu", { key: 'b56cf5adc26838ad0f873aa16df8da7fd7b83d22', class: {
22009
22057
  "no-results": loading ||
22010
22058
  hasTimedOut ||
22011
22059
  (searchable &&
@@ -24798,7 +24846,7 @@ class Theme {
24798
24846
 
24799
24847
  var Clock = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>clock-outline</title><path d="M12,20A8,8 0 0,0 20,12A8,8 0 0,0 12,4A8,8 0 0,0 4,12A8,8 0 0,0 12,20M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22C6.47,22 2,17.5 2,12A10,10 0 0,1 12,2M12.5,7V12.25L17,14.92L16.25,16.15L11,13V7H12.5Z" /></svg>`;
24800
24848
 
24801
- const icTimeInputCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--ic-input-label-helpertext-padding:var(--ic-space-xs);--input-bg-color:var(--ic-time-picker-field-background);--ic-input-label-text-color:var(--ic-time-picker-label);--ic-input-label-helper-text-color:var(--ic-time-picker-subtitle);--border-color:var(--ic-time-picker-time-field-border-default);--border-color-disabled:var(--ic-time-picker-border-disabled);--border-color-hover:var(--ic-time-picker-time-field-border-hover);--border-color-pressed:var(--ic-time-picker-time-field-border-pressed);--border-error-color:var(--ic-time-picker-border-error);--border-error-color-hover:var(--ic-time-picker-border-error-hover);--border-error-color-pressed:var(--ic-time-picker-border-error-pressed);--border-success-color:var(--ic-time-picker-border-success);--border-success-color-hover:var(--ic-time-picker-border-success-hover);--border-success-color-pressed:var(--ic-time-picker-border-success-pressed);--border-warning-color:var(--ic-time-picker-border-warning);--border-warning-color-hover:var(--ic-time-picker-border-warning-hover);--border-warning-color-pressed:var(--ic-time-picker-border-warning-pressed);--input-width:calc((4 * var(--ic-space-xxl)) + var(--ic-space-xxs))}:host(.ic-time-input-disabled){--ic-input-label-text-color:var(--ic-time-picker-label-disabled);--ic-input-label-helper-text-color:var(--ic-time-picker-subtitle-disabled)}:host(.ic-time-input-disabled) input{color:var(--ic-time-picker-time-text-disabled)}:host(.ic-time-input-large){--input-width:calc(\n (4 * var(--ic-space-xxl)) + var(--ic-space-xxs) + var(--ic-space-lg)\n )}:host(.ic-time-input-small){--input-width:calc(\n (3 * var(--ic-space-xxl)) + var(--ic-space-xxs) + var(--ic-space-xl)\n )}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;color:var(--ic-time-picker-time-text-default);caret-color:var(--ic-time-picker-typing-cursor)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input:-webkit-autofill{box-shadow:0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;-webkit-text-fill-color:var(--ic-time-picker-time-text-default) !important}input::-moz-placeholder{color:var(--ic-time-picker-field-placeholder-text)}input::placeholder{color:var(--ic-time-picker-field-placeholder-text)}ic-input-component-container{cursor:text}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.time-inputs{color:var(--ic-time-picker-field-placeholder-text)}.hour-input{width:1.438rem}.minute-input{width:1.813rem}.second-input,.second-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-clock-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.clock-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.clock-button:focus,.clear-button:active,.clock-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:0.25rem}.clock-button:focus,.clock-button:active{--ic-button-tertiary-text-active:var(--ic-atoms-input-clear-button-focus);--ic-button-tertiary-text-hover-active:var(\n --ic-atoms-input-clear-button-focus\n );--ic-button-tertiary-text-pressed-active:var(\n --ic-atoms-input-clear-button-focus\n )}.clear-button:focus,.clock-button:focus,.clear-button:active *,.clock-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button svg{color:var(--ic-time-picker-clear-icon)}.clear-button:focus svg{color:var(--ic-atoms-input-clear-button-focus)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-atoms-input-divider);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.medium{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}ic-input-validation{--ic-input-validation-status-text-color:var(--ic-time-picker-status-text);--ic-input-validation-error:var(--ic-time-picker-icon-error);--ic-input-validation-warning-icon-color:var(--ic-time-picker-icon-warning);--ic-input-validation-success-icon-color:var(--ic-time-picker-icon-success)}@media (forced-colors: active){.clear-button svg{color:currentcolor}}";
24849
+ const icTimeInputCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--ic-input-label-helpertext-padding:var(--ic-space-xs);--input-bg-color:var(--ic-time-picker-field-background);--ic-input-label-text-color:var(--ic-time-picker-label);--ic-input-label-helper-text-color:var(--ic-time-picker-subtitle);--border-color:var(--ic-time-picker-time-field-border-default);--border-color-disabled:var(--ic-time-picker-border-disabled);--border-color-hover:var(--ic-time-picker-time-field-border-hover);--border-color-pressed:var(--ic-time-picker-time-field-border-pressed);--border-error-color:var(--ic-time-picker-border-error);--border-error-color-hover:var(--ic-time-picker-border-error-hover);--border-error-color-pressed:var(--ic-time-picker-border-error-pressed);--border-success-color:var(--ic-time-picker-border-success);--border-success-color-hover:var(--ic-time-picker-border-success-hover);--border-success-color-pressed:var(--ic-time-picker-border-success-pressed);--border-warning-color:var(--ic-time-picker-border-warning);--border-warning-color-hover:var(--ic-time-picker-border-warning-hover);--border-warning-color-pressed:var(--ic-time-picker-border-warning-pressed);--input-width:calc((4 * var(--ic-space-xxl)) + var(--ic-space-xxs))}:host(.ic-time-input-disabled){--ic-input-label-text-color:var(--ic-time-picker-label-disabled);--ic-input-label-helper-text-color:var(--ic-time-picker-subtitle-disabled)}:host(.ic-time-input-disabled) input{color:var(--ic-time-picker-time-text-disabled)}:host(.ic-time-input-large){--input-width:calc(\n (4 * var(--ic-space-xxl)) + var(--ic-space-xxs) + var(--ic-space-lg)\n )}:host(.ic-time-input-small){--input-width:calc(\n (3 * var(--ic-space-xxl)) + var(--ic-space-xxs) + var(--ic-space-xl)\n )}.with-am-pm-toggle{display:flex;flex-direction:row}.am-pm-toggle ::part(button){min-width:-moz-fit-content;min-width:fit-content}.am-pm-toggle{margin-left:var(--ic-space-xs)}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;color:var(--ic-time-picker-time-text-default);caret-color:var(--ic-time-picker-typing-cursor)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input:-webkit-autofill{box-shadow:0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;-webkit-text-fill-color:var(--ic-time-picker-time-text-default) !important}input::-moz-placeholder{color:var(--ic-time-picker-field-placeholder-text)}input::placeholder{color:var(--ic-time-picker-field-placeholder-text)}ic-input-component-container{cursor:text}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.time-inputs{color:var(--ic-time-picker-field-placeholder-text)}.hour-input{width:1.438rem}.minute-input{width:1.813rem}.second-input{width:1.18rem}.millisecond-input,.millisecond-input.fit-to-value{width:1.75rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-clock-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.clock-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.clock-button:focus,.clear-button:active,.clock-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:0.25rem}.clock-button:focus,.clock-button:active{--ic-button-tertiary-text-active:var(--ic-atoms-input-clear-button-focus);--ic-button-tertiary-text-hover-active:var(\n --ic-atoms-input-clear-button-focus\n );--ic-button-tertiary-text-pressed-active:var(\n --ic-atoms-input-clear-button-focus\n )}.clear-button:focus,.clock-button:focus,.clear-button:active *,.clock-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button svg{color:var(--ic-time-picker-clear-icon)}.clear-button:focus svg{color:var(--ic-atoms-input-clear-button-focus)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-atoms-input-divider);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.medium{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}ic-input-validation{--ic-input-validation-status-text-color:var(--ic-time-picker-status-text);--ic-input-validation-error:var(--ic-time-picker-icon-error);--ic-input-validation-warning-icon-color:var(--ic-time-picker-icon-warning);--ic-input-validation-success-icon-color:var(--ic-time-picker-icon-success)}@media (forced-colors: active){.clear-button svg{color:currentcolor}}";
24802
24850
  var IcTimeInputStyle0 = icTimeInputCss;
24803
24851
 
24804
24852
  let inputIds = 0;
@@ -24810,9 +24858,10 @@ class TimeInput {
24810
24858
  registerInstance(this, hostRef);
24811
24859
  this.clockButtonClicked = createEvent(this, "clockButtonClicked", 7);
24812
24860
  this.icBlur = createEvent(this, "icBlur", 7);
24813
- this.icChange = createEvent(this, "icChange", 7);
24861
+ this.icTimeChange = createEvent(this, "icTimeChange", 7);
24814
24862
  this.icFocus = createEvent(this, "icFocus", 7);
24815
24863
  this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
24864
+ this.TOGGLE_BUTTON_SELECTOR = "ic-toggle-button";
24816
24865
  this.ARIA_INVALID = "aria-invalid";
24817
24866
  this.ARIA_LABEL = "aria-label";
24818
24867
  this.ARIA_LABELLED_BY = "aria-labelledby";
@@ -24823,6 +24872,7 @@ class TimeInput {
24823
24872
  this.isValidHour = true;
24824
24873
  this.isValidMinute = true;
24825
24874
  this.isValidSecond = true;
24875
+ this.isValidMillisecond = true;
24826
24876
  this.isValidTime = true;
24827
24877
  this.isTimeSetFromKeyboardEvent = false;
24828
24878
  this.previousSelectedTime = null;
@@ -24831,12 +24881,20 @@ class TimeInput {
24831
24881
  this.clearInput = false;
24832
24882
  this.maxTime = null;
24833
24883
  this.minTime = null;
24884
+ this.previousHour = "";
24885
+ this.previousMinute = "";
24886
+ this.previousSecond = "";
24887
+ this.previousMillisecond = "";
24888
+ this.previousPeriod = "AM";
24834
24889
  this.clockFocused = false;
24835
24890
  this.clearButtonFocused = false;
24836
24891
  this.removeLabelledBy = false;
24837
24892
  this.hour = "";
24838
24893
  this.minute = "";
24839
24894
  this.second = "";
24895
+ this.millisecond = "";
24896
+ this.period = "AM";
24897
+ this.isSSSFormat = () => this.timeFormat === "HH:MM:SS.SSS";
24840
24898
  /**
24841
24899
  * If `true`, the disabled state will be set.
24842
24900
  */
@@ -24846,7 +24904,7 @@ class TimeInput {
24846
24904
  */
24847
24905
  this.disableTimes = [];
24848
24906
  /**
24849
- * If `true`, every individual input field completed will emit an icChange event.
24907
+ * If `true`, every individual input field completed will emit an icTimeChange event.
24850
24908
  */
24851
24909
  this.emitTimePartChange = false;
24852
24910
  /**
@@ -24881,6 +24939,10 @@ class TimeInput {
24881
24939
  * If `true`, the input will require a value.
24882
24940
  */
24883
24941
  this.required = false;
24942
+ /**
24943
+ * If `true`, the time input will show an AM/PM toggle when in 12-hour time period.
24944
+ */
24945
+ this.showAmPmToggle = false;
24884
24946
  /**
24885
24947
  * If `true`, a button which clears the time input when clicked will be displayed.
24886
24948
  */
@@ -24928,19 +24990,6 @@ class TimeInput {
24928
24990
  inputEl.classList.add(this.FIT_TO_VALUE);
24929
24991
  }
24930
24992
  };
24931
- this.parseTime = (value) => {
24932
- if (!value)
24933
- return null;
24934
- if (value instanceof Date)
24935
- return value;
24936
- const parts = value.split(":");
24937
- if (parts.length >= 2) {
24938
- const d = new Date();
24939
- d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, 0);
24940
- return d;
24941
- }
24942
- return null;
24943
- };
24944
24993
  this.isHHMMFormat = () => this.timeFormat === "HH:MM";
24945
24994
  this.isKeyboardOrEvent = (event) => {
24946
24995
  return (Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||
@@ -24968,9 +25017,22 @@ class TimeInput {
24968
25017
  else {
24969
25018
  this.isValidSecond = true;
24970
25019
  }
25020
+ if (this.isSSSFormat()) {
25021
+ if (!isEmptyString(this.millisecond)) {
25022
+ this.isValidMillisecond =
25023
+ +this.millisecond >= 0 && +this.millisecond <= 999;
25024
+ }
25025
+ else {
25026
+ this.isValidMillisecond = true;
25027
+ }
25028
+ }
25029
+ else {
25030
+ this.isValidMillisecond = true;
25031
+ }
24971
25032
  }
24972
25033
  else {
24973
25034
  this.isValidSecond = true;
25035
+ this.isValidMillisecond = true;
24974
25036
  }
24975
25037
  };
24976
25038
  this.setInputValue = (input, clear = false) => {
@@ -24984,6 +25046,9 @@ class TimeInput {
24984
25046
  else if (input === this.secondInputEl && !this.isHHMMFormat()) {
24985
25047
  this.second = newValue;
24986
25048
  }
25049
+ else if (this.isSSSFormat() && input === this.millisecondInputEl) {
25050
+ this.millisecond = newValue;
25051
+ }
24987
25052
  this.setValidationMessage();
24988
25053
  };
24989
25054
  this.setPreventInput = (input, isPrevented) => {
@@ -24996,22 +25061,50 @@ class TimeInput {
24996
25061
  else if (input === this.secondInputEl) {
24997
25062
  this.preventSecondInput = isPrevented;
24998
25063
  }
25064
+ else if (this.isSSSFormat() && input === this.millisecondInputEl) {
25065
+ this.preventMillisecondInput = isPrevented;
25066
+ }
24999
25067
  };
25000
25068
  this.setValidationMessage = () => {
25001
- this.maxTime = this.parseTime(this.max);
25002
- this.minTime = this.parseTime(this.min);
25069
+ this.maxTime = parseTimeHelper(this.max).date;
25070
+ this.minTime = parseTimeHelper(this.min).date;
25003
25071
  this.setTimeValidity();
25004
25072
  let outOfBoundsMsg = "";
25005
25073
  let isDisabledTime = false;
25006
25074
  if (!isEmptyString(this.hour) &&
25007
25075
  !isEmptyString(this.minute) &&
25008
- (this.isHHMMFormat() || !isEmptyString(this.second))) {
25009
- this.selectedTime = this.convertToTime(this.hour, this.minute, this.isHHMMFormat() ? "00" : this.second);
25010
- this.isValidTime =
25011
- !!this.selectedTime &&
25012
- this.selectedTime.getHours() == +this.hour &&
25013
- this.selectedTime.getMinutes() == +this.minute &&
25014
- (this.isHHMMFormat() || this.selectedTime.getSeconds() == +this.second);
25076
+ (this.isHHMMFormat() || !isEmptyString(this.second)) &&
25077
+ (!this.isSSSFormat() || !isEmptyString(this.millisecond))) {
25078
+ this.selectedTime = this.convertToTime(this.hour, this.minute, this.isHHMMFormat() ? "00" : this.second, this.isSSSFormat() ? this.millisecond : "000");
25079
+ const inputHour = +this.hour;
25080
+ const selectedHour = this.selectedTime
25081
+ ? this.selectedTime.getHours()
25082
+ : null;
25083
+ if (this.timePeriod === "12" &&
25084
+ this.showAmPmToggle &&
25085
+ selectedHour !== null) {
25086
+ let selectedHour12 = selectedHour % 12;
25087
+ if (selectedHour12 === 0)
25088
+ selectedHour12 = 12;
25089
+ this.isValidTime =
25090
+ !!this.selectedTime &&
25091
+ selectedHour12 == inputHour &&
25092
+ this.selectedTime.getMinutes() == +this.minute &&
25093
+ (this.isHHMMFormat() ||
25094
+ this.selectedTime.getSeconds() == +this.second) &&
25095
+ (!this.isSSSFormat() ||
25096
+ this.selectedTime.getMilliseconds() == +this.millisecond);
25097
+ }
25098
+ else {
25099
+ this.isValidTime =
25100
+ !!this.selectedTime &&
25101
+ this.selectedTime.getHours() == inputHour &&
25102
+ this.selectedTime.getMinutes() == +this.minute &&
25103
+ (this.isHHMMFormat() ||
25104
+ this.selectedTime.getSeconds() == +this.second) &&
25105
+ (!this.isSSSFormat() ||
25106
+ this.selectedTime.getMilliseconds() == +this.millisecond);
25107
+ }
25015
25108
  if (this.selectedTime &&
25016
25109
  Array.isArray(this.disableTimes) &&
25017
25110
  this.disableTimes.length > 0) {
@@ -25020,18 +25113,25 @@ class TimeInput {
25020
25113
  t !== null &&
25021
25114
  "start" in t &&
25022
25115
  "end" in t) {
25023
- const start = this.parseTime(t.start);
25024
- const end = this.parseTime(t.end);
25116
+ const start = parseTimeHelper(t.start).date;
25117
+ const end = parseTimeHelper(t.end).date;
25025
25118
  if (start && end) {
25026
25119
  return this.selectedTime >= start && this.selectedTime <= end;
25027
25120
  }
25028
25121
  return false;
25029
25122
  }
25030
- const parsed = this.parseTime(t);
25031
- return (parsed &&
25032
- parsed.getHours() === this.selectedTime.getHours() &&
25033
- parsed.getMinutes() === this.selectedTime.getMinutes() &&
25034
- parsed.getSeconds() === this.selectedTime.getSeconds());
25123
+ const parsed = parseTimeHelper(t).parts;
25124
+ if (!parsed)
25125
+ return false;
25126
+ let selectedHour = this.selectedTime.getHours();
25127
+ let parsedHour = parsed.hour;
25128
+ if (this.timePeriod === "12" && this.showAmPmToggle) {
25129
+ selectedHour = this.convertTo24Hour(selectedHour);
25130
+ parsedHour = this.convertTo24Hour(parsedHour);
25131
+ }
25132
+ return (parsedHour === selectedHour &&
25133
+ parsed.minute === this.selectedTime.getMinutes() &&
25134
+ parsed.second === this.selectedTime.getSeconds());
25035
25135
  });
25036
25136
  if (isDisabledTime) {
25037
25137
  this.isValidTime = false;
@@ -25061,6 +25161,7 @@ class TimeInput {
25061
25161
  if (!(this.isValidHour &&
25062
25162
  this.isValidMinute &&
25063
25163
  this.isValidSecond &&
25164
+ this.isValidMillisecond &&
25064
25165
  this.isValidTime)) {
25065
25166
  this.invalidTimeText = outOfBoundsMsg || this.invalidTimeMessage;
25066
25167
  }
@@ -25072,12 +25173,33 @@ class TimeInput {
25072
25173
  const hh = time.getHours().toString().padStart(2, "0");
25073
25174
  const mm = time.getMinutes().toString().padStart(2, "0");
25074
25175
  const ss = time.getSeconds().toString().padStart(2, "0");
25176
+ const sss = time.getMilliseconds().toString().padStart(3, "0");
25177
+ if (this.isSSSFormat()) {
25178
+ return `${hh}:${mm}:${ss}.${sss}`;
25179
+ }
25075
25180
  return this.isHHMMFormat() ? `${hh}:${mm}` : `${hh}:${mm}:${ss}`;
25076
25181
  };
25077
25182
  this.handleInput = (event) => {
25078
25183
  const inputEvent = event;
25079
25184
  const input = event.target;
25080
- if (input !== this.hourInputEl) {
25185
+ if (input === this.millisecondInputEl && this.isSSSFormat()) {
25186
+ this.setInputValue(input);
25187
+ this.setPreventInput(input, false);
25188
+ this.setFitToValueStyling(input);
25189
+ if (input.value.length === 3) {
25190
+ this.moveToNextInput(input);
25191
+ this.setPreventInput(input, true);
25192
+ }
25193
+ else {
25194
+ this.setPreventInput(input, false);
25195
+ }
25196
+ if (input.value.length === 0) {
25197
+ this.setInputValue(input, true);
25198
+ this.setValidationMessage();
25199
+ }
25200
+ this.notifyScreenReader(input);
25201
+ }
25202
+ else if (input !== this.hourInputEl) {
25081
25203
  if (inputEvent.inputType !== "deleteContentBackward" &&
25082
25204
  !this.preventAutoFormatting) {
25083
25205
  if (input.value.length === 1 &&
@@ -25110,6 +25232,12 @@ class TimeInput {
25110
25232
  if (input.value.length !== 2) {
25111
25233
  this.setPreventInput(input, false);
25112
25234
  }
25235
+ this.setFitToValueStyling(input);
25236
+ if (input.value.length === 0) {
25237
+ this.setInputValue(input, true);
25238
+ this.setValidationMessage();
25239
+ }
25240
+ this.notifyScreenReader(input);
25113
25241
  }
25114
25242
  else {
25115
25243
  if (input.value.length === 2) {
@@ -25123,18 +25251,25 @@ class TimeInput {
25123
25251
  this.setInputValue(input, true);
25124
25252
  this.setPreventInput(input, false);
25125
25253
  }
25254
+ this.setFitToValueStyling(input);
25255
+ if (input.value.length === 0) {
25256
+ this.setInputValue(input, true);
25257
+ this.setValidationMessage();
25258
+ }
25259
+ this.notifyScreenReader(input);
25126
25260
  }
25127
- this.setFitToValueStyling(input);
25128
- if (input.value.length === 0) {
25129
- this.setInputValue(input, true);
25130
- this.setValidationMessage();
25131
- }
25132
- this.notifyScreenReader(input);
25133
25261
  };
25134
25262
  this.handleKeyDown = (event, isInputPrevented) => {
25135
25263
  var _a;
25264
+ const navKeys = /arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/i;
25136
25265
  const input = event.target;
25137
25266
  const eventKey = (_a = event.key) === null || _a === void 0 ? void 0 : _a.toLowerCase();
25267
+ if (!/-?\d*\.?\d+(e[-+]?\d+)?|[:]|[.]/i.test(eventKey) &&
25268
+ !navKeys.test(eventKey) &&
25269
+ !((event.ctrlKey || event.metaKey) &&
25270
+ (eventKey === "v" || eventKey === "c"))) {
25271
+ event.preventDefault();
25272
+ }
25138
25273
  const regex = /-?\d*\.?\d+(e[-+]?\d+)?|[:]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;
25139
25274
  if (!regex.test(eventKey) &&
25140
25275
  !((event.ctrlKey || event.metaKey) &&
@@ -25172,7 +25307,18 @@ class TimeInput {
25172
25307
  };
25173
25308
  this.handleBlur = (event) => {
25174
25309
  const input = event.target;
25175
- if (input) {
25310
+ if (input === this.millisecondInputEl && this.isSSSFormat()) {
25311
+ if (input.value.length === 1) {
25312
+ input.value = `00${input.value}`;
25313
+ this.setInputValue(input);
25314
+ }
25315
+ else if (input.value.length === 2) {
25316
+ input.value = `0${input.value}`;
25317
+ this.setInputValue(input);
25318
+ }
25319
+ this.setFitToValueStyling(input);
25320
+ }
25321
+ else if (input) {
25176
25322
  this.autocompleteInput(input);
25177
25323
  }
25178
25324
  };
@@ -25228,20 +25374,80 @@ class TimeInput {
25228
25374
  };
25229
25375
  this.setValueAndEmitChange = (value, force = false) => {
25230
25376
  if (this.value !== value || force) {
25231
- this.emitIcChange(value);
25377
+ this.emitIcTimeChange(value);
25232
25378
  this.value = value;
25233
25379
  }
25234
25380
  };
25235
- this.emitIcChange = (t) => {
25236
- this.selectedTime = t;
25237
- this.icChange.emit({
25238
- value: t,
25239
- timeObject: {
25240
- hour: this.hour === "" ? null : this.hour,
25241
- minute: this.minute === "" ? null : this.minute,
25242
- second: this.second === "" ? null : this.second,
25243
- },
25244
- });
25381
+ this.convertTo24Hour = (hour) => {
25382
+ let date24hours = hour;
25383
+ if (this.period === "PM" && hour < 12)
25384
+ date24hours = hour + 12;
25385
+ if (this.period === "AM" && hour === 12)
25386
+ date24hours = 0;
25387
+ return date24hours;
25388
+ };
25389
+ this.emitIcTimeChange = (t) => {
25390
+ const hour = parseInt(this.hour);
25391
+ const minute = parseInt(this.minute);
25392
+ const second = parseInt(this.second);
25393
+ const millisecond = parseInt(this.millisecond);
25394
+ const period = this.period;
25395
+ let allSelected = false;
25396
+ if (this.isSSSFormat()) {
25397
+ allSelected =
25398
+ this.hour !== "" &&
25399
+ this.minute !== "" &&
25400
+ this.second !== "" &&
25401
+ this.millisecond !== "";
25402
+ }
25403
+ else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
25404
+ allSelected =
25405
+ this.hour !== "" && this.minute !== "" && this.second !== "";
25406
+ }
25407
+ else if (this.timeFormat === "HH:MM") {
25408
+ allSelected = this.hour !== "" && this.minute !== "";
25409
+ }
25410
+ let time = t;
25411
+ let date24hours = hour;
25412
+ if (hour != null &&
25413
+ period &&
25414
+ this.timePeriod === "12" &&
25415
+ this.showAmPmToggle) {
25416
+ date24hours = this.convertTo24Hour(hour);
25417
+ time = new Date();
25418
+ time.setHours(date24hours !== null && date24hours !== void 0 ? date24hours : 0);
25419
+ time.setMinutes(minute !== null && minute !== void 0 ? minute : 0);
25420
+ time.setSeconds(second !== null && second !== void 0 ? second : 0);
25421
+ this.isSSSFormat() && time.setMilliseconds(millisecond !== null && millisecond !== void 0 ? millisecond : 0);
25422
+ }
25423
+ this.selectedTime = time;
25424
+ const allTimePartsEmpty = this.hour === "" &&
25425
+ this.minute === "" &&
25426
+ this.second === "" &&
25427
+ this.millisecond === "";
25428
+ const onlyPeriodChanged = allTimePartsEmpty &&
25429
+ this.period !== this.previousPeriod &&
25430
+ this.previousHour === "" &&
25431
+ this.previousMinute === "" &&
25432
+ this.previousSecond === "" &&
25433
+ this.previousMillisecond === "";
25434
+ if (!onlyPeriodChanged) {
25435
+ this.icTimeChange.emit({
25436
+ value: allSelected ? time : null,
25437
+ timeObject: {
25438
+ hour: this.hour === "" ? null : this.hour,
25439
+ minute: this.minute === "" ? null : this.minute,
25440
+ second: this.second === "" ? null : this.second,
25441
+ millisecond: this.millisecond === "" ? null : this.millisecond,
25442
+ period: this.period === "" ? null : this.period,
25443
+ },
25444
+ });
25445
+ }
25446
+ this.previousHour = this.hour;
25447
+ this.previousMinute = this.minute;
25448
+ this.previousSecond = this.second;
25449
+ this.previousMillisecond = this.millisecond;
25450
+ this.previousPeriod = this.period;
25245
25451
  };
25246
25452
  this.setTime = (time) => {
25247
25453
  if (time === null || time === "" || time === undefined) {
@@ -25251,6 +25457,8 @@ class TimeInput {
25251
25457
  this.minute = "";
25252
25458
  if (this.second)
25253
25459
  this.second = "";
25460
+ if (this.millisecond)
25461
+ this.millisecond = "";
25254
25462
  this.inputsInOrder.forEach((input) => {
25255
25463
  input.classList.remove(this.FIT_TO_VALUE);
25256
25464
  this.setPreventInput(input, false);
@@ -25266,22 +25474,26 @@ class TimeInput {
25266
25474
  this.second = zuluMatch[3];
25267
25475
  }
25268
25476
  else {
25269
- const parts = time.split(":");
25477
+ const parts = time.split(/[:.]/);
25270
25478
  this.hour = parts[0] || "";
25271
25479
  this.minute = parts[1] || "";
25272
25480
  this.second = parts[2] || "";
25481
+ this.millisecond = parts[3] || "";
25273
25482
  }
25274
25483
  }
25275
25484
  else if (time instanceof Date) {
25276
25485
  this.hour = time.getHours().toString().padStart(2, "0");
25277
25486
  this.minute = time.getMinutes().toString().padStart(2, "0");
25278
25487
  this.second = time.getSeconds().toString().padStart(2, "0");
25488
+ if (this.isSSSFormat()) {
25489
+ this.millisecond = time.getMilliseconds().toString().padStart(3, "0");
25490
+ }
25279
25491
  }
25280
25492
  }
25281
25493
  this.setValidationMessage();
25282
25494
  };
25283
- this.setAriaInvalid = (validHour, validMinute, validSecond) => {
25284
- var _a, _b, _c;
25495
+ this.setAriaInvalid = (validHour, validMinute, validSecond, validMillisecond) => {
25496
+ var _a, _b, _c, _d;
25285
25497
  if (this.inputsInOrder.length) {
25286
25498
  this.inputsInOrder.forEach((input) => {
25287
25499
  input.removeAttribute(this.ARIA_INVALID);
@@ -25295,7 +25507,10 @@ class TimeInput {
25295
25507
  if (!validSecond) {
25296
25508
  (_c = this.secondInputEl) === null || _c === void 0 ? void 0 : _c.setAttribute(this.ARIA_INVALID, "true");
25297
25509
  }
25298
- if (!(validHour && validMinute && validSecond)) {
25510
+ if (!validMillisecond) {
25511
+ (_d = this.millisecondInputEl) === null || _d === void 0 ? void 0 : _d.setAttribute(this.ARIA_INVALID, "true");
25512
+ }
25513
+ if (!(validHour && validMinute && validSecond && validMillisecond)) {
25299
25514
  this.inputsInOrder.forEach((input) => {
25300
25515
  input.setAttribute(this.ARIA_INVALID, "true");
25301
25516
  });
@@ -25303,6 +25518,7 @@ class TimeInput {
25303
25518
  }
25304
25519
  };
25305
25520
  this.handleClear = () => {
25521
+ var _a;
25306
25522
  this.clearInput = true;
25307
25523
  if (this.hourInputEl) {
25308
25524
  this.hourInputEl.value = "";
@@ -25313,9 +25529,25 @@ class TimeInput {
25313
25529
  if (!this.isHHMMFormat() && this.secondInputEl) {
25314
25530
  this.secondInputEl.value = "";
25315
25531
  }
25532
+ if (this.isSSSFormat() && this.millisecondInputEl) {
25533
+ this.millisecondInputEl.value = "";
25534
+ }
25316
25535
  this.hour = "";
25317
25536
  this.minute = "";
25318
25537
  this.second = "";
25538
+ this.millisecond = "";
25539
+ this.period = "AM";
25540
+ if (this.showAmPmToggle) {
25541
+ (_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
25542
+ const toggleBtn = btn;
25543
+ if (toggleBtn.label === "AM") {
25544
+ toggleBtn.checked = true;
25545
+ }
25546
+ else {
25547
+ toggleBtn.checked = false;
25548
+ }
25549
+ });
25550
+ }
25319
25551
  this.handleTimeChange(true);
25320
25552
  this.inputsInOrder.forEach((input) => {
25321
25553
  input.classList.remove(this.FIT_TO_VALUE);
@@ -25331,26 +25563,31 @@ class TimeInput {
25331
25563
  };
25332
25564
  this.notifyScreenReaderSelectedTime = () => {
25333
25565
  if (this.selectedTime && this.selectedTimeInfoEl) {
25566
+ let hours = this.selectedTime.getHours();
25567
+ if (this.timePeriod === "12" && this.showAmPmToggle) {
25568
+ hours = this.convertTo24Hour(hours);
25569
+ }
25570
+ const hoursStr = hours.toString().padStart(2, "0");
25571
+ const minutesStr = this.selectedTime
25572
+ .getMinutes()
25573
+ .toString()
25574
+ .padStart(2, "0");
25575
+ const secondsStr = this.selectedTime
25576
+ .getSeconds()
25577
+ .toString()
25578
+ .padStart(2, "0");
25579
+ const msStr = this.selectedTime
25580
+ .getMilliseconds()
25581
+ .toString()
25582
+ .padStart(3, "0");
25334
25583
  if (this.isHHMMFormat()) {
25335
- this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime
25336
- .getHours()
25337
- .toString()
25338
- .padStart(2, "0")}:${this.selectedTime
25339
- .getMinutes()
25340
- .toString()
25341
- .padStart(2, "0")}`;
25584
+ this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}`;
25585
+ }
25586
+ else if (!this.isSSSFormat()) {
25587
+ this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}`;
25342
25588
  }
25343
25589
  else {
25344
- this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime
25345
- .getHours()
25346
- .toString()
25347
- .padStart(2, "0")}:${this.selectedTime
25348
- .getMinutes()
25349
- .toString()
25350
- .padStart(2, "0")}:${this.selectedTime
25351
- .getSeconds()
25352
- .toString()
25353
- .padStart(2, "0")}`;
25590
+ this.selectedTimeInfoEl.textContent = `Selected time: ${hoursStr}:${minutesStr}:${secondsStr}.${msStr}`;
25354
25591
  }
25355
25592
  }
25356
25593
  };
@@ -25368,7 +25605,7 @@ class TimeInput {
25368
25605
  };
25369
25606
  this.handleHostFocus = () => {
25370
25607
  var _a, _b;
25371
- if ((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.id.match(/(hour|minute|second)-input$/)) {
25608
+ if ((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.id.match(/(hour|minute|second|millisecond)-input$/)) {
25372
25609
  this.removeLabelledBy = false;
25373
25610
  }
25374
25611
  else {
@@ -25417,12 +25654,17 @@ class TimeInput {
25417
25654
  this.setInputValue(input);
25418
25655
  }
25419
25656
  };
25420
- this.convertToTime = (hour, minute, second) => {
25657
+ this.convertToTime = (hour, minute, second, millisecond = null) => {
25421
25658
  if (!isEmptyString(hour) &&
25422
25659
  !isEmptyString(minute) &&
25423
- (this.isHHMMFormat() || !isEmptyString(second))) {
25660
+ (this.isHHMMFormat() || !isEmptyString(second)) &&
25661
+ (!this.isSSSFormat() ||
25662
+ (millisecond !== null && !isEmptyString(millisecond)))) {
25424
25663
  const d = new Date();
25425
25664
  d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);
25665
+ if (this.isSSSFormat() && millisecond !== null) {
25666
+ d.setMilliseconds(+millisecond);
25667
+ }
25426
25668
  return d;
25427
25669
  }
25428
25670
  else {
@@ -25467,17 +25709,22 @@ class TimeInput {
25467
25709
  (_d = this.inputCompContainerEl) === null || _d === void 0 ? void 0 : _d.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
25468
25710
  };
25469
25711
  this.getInputsInOrder = () => {
25470
- const timeParts = this.timeFormat.split(":");
25712
+ const timeParts = this.timeFormat.split(/[:.]/);
25471
25713
  return timeParts.map((part) => {
25472
- switch (part.substring(0, 1)) {
25473
- case "H":
25714
+ switch (part) {
25715
+ case "HH":
25474
25716
  return (hAsync("input", { class: "hour-input", id: "hour-input", ref: (el) => (this.hourInputEl = el), "aria-label": "hour", placeholder: "HH", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventHourInput) }));
25475
- case "M":
25717
+ case "MM":
25476
25718
  return (hAsync("input", { id: "minute-input", class: "minute-input", ref: (el) => (this.minuteInputEl = el), "aria-label": "minute", placeholder: "MM", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventMinuteInput) }));
25477
- case "S":
25719
+ case "SS":
25478
25720
  if (!this.isHHMMFormat()) {
25479
25721
  return (hAsync("input", { id: "second-input", class: "second-input", ref: (el) => (this.secondInputEl = el), "aria-label": "second", placeholder: "SS", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventSecondInput) }));
25480
25722
  }
25723
+ break;
25724
+ case "SSS":
25725
+ if (this.isSSSFormat()) {
25726
+ return (hAsync("input", { id: "millisecond-input", class: "millisecond-input", ref: (el) => (this.millisecondInputEl = el), "aria-label": "millisecond", placeholder: "SSS", disabled: this.disabled, "aria-required": `${this.required}`, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventMillisecondInput) }));
25727
+ }
25481
25728
  return null;
25482
25729
  default:
25483
25730
  return null;
@@ -25485,6 +25732,9 @@ class TimeInput {
25485
25732
  });
25486
25733
  };
25487
25734
  this.getDescOfInputsOrder = () => {
25735
+ if (this.isSSSFormat()) {
25736
+ return "hour, minute, second, and millisecond";
25737
+ }
25488
25738
  return "hour, minute, and second";
25489
25739
  };
25490
25740
  this.getScreenReaderInfo = (validationStatus) => {
@@ -25524,7 +25774,7 @@ class TimeInput {
25524
25774
  this.removeLabelledBy = false;
25525
25775
  return;
25526
25776
  }
25527
- if (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id.match(/(minute|second)-input$/)) {
25777
+ if (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id.match(/(minute|second|millisecond)-input$/)) {
25528
25778
  this.removeLabelledBy = false;
25529
25779
  return;
25530
25780
  }
@@ -25542,6 +25792,18 @@ class TimeInput {
25542
25792
  return value;
25543
25793
  }
25544
25794
  }
25795
+ else if (this.isSSSFormat()) {
25796
+ if (/^\d{2}:\d{2}:\d{2}\.\d{1,3}$/.test(value)) {
25797
+ return value;
25798
+ }
25799
+ if (/^\d{2}:\d{2}:\d{2}\.\d{1,3}Z$/.test(value)) {
25800
+ return value.replace("Z", "");
25801
+ }
25802
+ const isoMatch = value.match(/T(\d{2}:\d{2}:\d{2}\.\d{1,3})/);
25803
+ if (isoMatch) {
25804
+ return isoMatch[1];
25805
+ }
25806
+ }
25545
25807
  else {
25546
25808
  if (/^\d{2}:\d{2}:\d{2}$/.test(value)) {
25547
25809
  return value;
@@ -25558,16 +25820,78 @@ class TimeInput {
25558
25820
  };
25559
25821
  this.setPastedValueAndValidation = (isValidTime, pastedValue, event) => {
25560
25822
  if (isValidTime) {
25561
- const timeParts = isValidTime.split(":");
25823
+ const timeParts = isValidTime.split(/[:.]/);
25562
25824
  this.inputsInOrder.forEach((input, index) => {
25825
+ var _a, _b, _c, _d;
25563
25826
  input.classList.add(this.FIT_TO_VALUE);
25564
- const timeValue = timeParts[index] || "";
25565
- input.value = timeValue.slice(0, 2);
25827
+ let timeValue = timeParts[index] || "";
25828
+ if (input === this.millisecondInputEl && this.isSSSFormat()) {
25829
+ timeValue = timeValue.slice(0, 3);
25830
+ }
25831
+ else {
25832
+ timeValue = timeValue.slice(0, 2);
25833
+ }
25834
+ if (input === this.hourInputEl) {
25835
+ let activeToggle;
25836
+ if (this.timePeriod === "12" && this.showAmPmToggle) {
25837
+ if (parseInt(timeValue) > 12) {
25838
+ timeValue = (parseInt(timeValue) - 12)
25839
+ .toString()
25840
+ .padStart(2, "0");
25841
+ if (parseInt(timeValue) > 12) {
25842
+ return;
25843
+ }
25844
+ else {
25845
+ this.period = "PM";
25846
+ (_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
25847
+ const toggleBtn = btn;
25848
+ if (toggleBtn.label === "PM") {
25849
+ activeToggle = toggleBtn;
25850
+ }
25851
+ else {
25852
+ toggleBtn.checked = false;
25853
+ }
25854
+ });
25855
+ if (activeToggle) {
25856
+ (_b = this.periodToggleEl) === null || _b === void 0 ? void 0 : _b.setActiveToggle(activeToggle);
25857
+ activeToggle.checked = true;
25858
+ }
25859
+ this.invalidTimeText = "";
25860
+ this.validationStatus = "";
25861
+ }
25862
+ }
25863
+ else {
25864
+ if (parseInt(timeValue) === 0) {
25865
+ timeValue = "12";
25866
+ }
25867
+ this.period = "AM";
25868
+ (_c = this.periodToggleEl) === null || _c === void 0 ? void 0 : _c.querySelectorAll(this.TOGGLE_BUTTON_SELECTOR).forEach((btn) => {
25869
+ const toggleBtn = btn;
25870
+ if (toggleBtn.label === "AM") {
25871
+ activeToggle = toggleBtn;
25872
+ }
25873
+ else {
25874
+ toggleBtn.checked = false;
25875
+ }
25876
+ });
25877
+ if (activeToggle) {
25878
+ (_d = this.periodToggleEl) === null || _d === void 0 ? void 0 : _d.setActiveToggle(activeToggle);
25879
+ activeToggle.checked = true;
25880
+ }
25881
+ this.invalidTimeText = "";
25882
+ this.validationStatus = "";
25883
+ }
25884
+ }
25885
+ }
25886
+ input.value = timeValue;
25566
25887
  this.setInputValue(input);
25567
25888
  this.autocompleteInput(input);
25568
25889
  });
25569
- if (this.isHHMMFormat() && this.second !== "") {
25890
+ if (this.isHHMMFormat() &&
25891
+ this.second !== "" &&
25892
+ this.millisecond !== "") {
25570
25893
  this.second = "";
25894
+ this.millisecond = "";
25571
25895
  }
25572
25896
  }
25573
25897
  else {
@@ -25582,14 +25906,22 @@ class TimeInput {
25582
25906
  }
25583
25907
  }
25584
25908
  };
25909
+ this.handleAMPM = (selectedOption) => {
25910
+ var _a;
25911
+ this.period = selectedOption.label;
25912
+ (_a = this.periodToggleEl) === null || _a === void 0 ? void 0 : _a.setActiveToggle(selectedOption);
25913
+ };
25585
25914
  }
25586
25915
  watchInputHandler() {
25587
25916
  if (this.emitTimePartChange &&
25588
25917
  !this.externalSetTime &&
25589
25918
  !this.clearInput &&
25590
- !(this.hour && this.minute && this.second) &&
25919
+ !(this.hour &&
25920
+ this.minute &&
25921
+ this.second &&
25922
+ (this.isSSSFormat() ? this.millisecond : true)) &&
25591
25923
  this.selectedTime === null) {
25592
- this.emitIcChange(this.selectedTime);
25924
+ this.emitIcTimeChange(this.selectedTime);
25593
25925
  }
25594
25926
  }
25595
25927
  watchDisabledHandler() {
@@ -25600,10 +25932,10 @@ class TimeInput {
25600
25932
  this.helperText = this.defaultHelperText;
25601
25933
  }
25602
25934
  watchMaxHandler() {
25603
- this.maxTime = this.parseTime(this.max);
25935
+ this.maxTime = parseTimeHelper(this.max).date;
25604
25936
  }
25605
25937
  watchMinHandler() {
25606
- this.minTime = this.parseTime(this.min);
25938
+ this.minTime = parseTimeHelper(this.min).date;
25607
25939
  }
25608
25940
  watchRequiredHandler() {
25609
25941
  var _a, _b;
@@ -25652,7 +25984,7 @@ class TimeInput {
25652
25984
  input.classList.add(this.FIT_TO_VALUE);
25653
25985
  });
25654
25986
  }
25655
- this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
25987
+ this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond, this.isValidMillisecond);
25656
25988
  if (this.value) {
25657
25989
  this.notifyScreenReaderSelectedTime();
25658
25990
  }
@@ -25666,7 +25998,7 @@ class TimeInput {
25666
25998
  componentWillUpdate() {
25667
25999
  if (!this.isTimeSetFromKeyboardEvent)
25668
26000
  this.setTime(this.value);
25669
- this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
26001
+ this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond, this.isValidMillisecond);
25670
26002
  this.handleTimeChange(false);
25671
26003
  this.isTimeSetFromKeyboardEvent = false;
25672
26004
  }
@@ -25685,12 +26017,12 @@ class TimeInput {
25685
26017
  return this.selectedTime;
25686
26018
  }
25687
26019
  /**
25688
- * @internal Used to enable other components to invoke an IcChange event from the input.
26020
+ * @internal Used to enable other components to invoke an icTimeChange event from the input.
25689
26021
  */
25690
- async triggerIcChange(t) {
26022
+ async triggerIcTimeChange(t) {
25691
26023
  this.externalSetTime = true;
25692
26024
  this.setTime(t);
25693
- this.emitIcChange(t);
26025
+ this.emitIcTimeChange(t);
25694
26026
  this.externalSetTime = false;
25695
26027
  }
25696
26028
  render() {
@@ -25707,23 +26039,39 @@ class TimeInput {
25707
26039
  !(isEmptyString(this.hour) &&
25708
26040
  isEmptyString(this.minute) &&
25709
26041
  isEmptyString(this.second)));
25710
- return (hAsync(Host, { key: 'b4330a85fcd6bf99ace98ba735759e0e98ebea69', class: {
26042
+ if (this.showAmPmToggle && this.timePeriod !== "12") {
26043
+ this.showAmPmToggle = false;
26044
+ }
26045
+ return (hAsync(Host, { key: 'd005982324084fad9fdfe6392cf879e15709d2ef', class: {
25711
26046
  [`ic-theme-${theme}`]: theme !== "inherit",
25712
26047
  [`ic-time-input-disabled`]: disabled,
25713
26048
  [`ic-time-input-${size}`]: true,
25714
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, hAsync("ic-input-container", { key: 'e61ccf4dc81c26e14bf37e388aeb60fd25b4abd7', disabled: disabled }, !(hideLabel && hideHelperText) && (hAsync("ic-input-label", { key: '7bda8a8034ae7b80594341f6924d561abcbbab90', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, hAsync("slot", { key: 'da6a06701686398f4a44b71e76db5d02da897631', name: "helper-text", slot: "helper-text" }))), hAsync("span", { key: '62e88d54d2f445778e96be67949b1a82fc272955', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), hAsync("span", { key: '0a80156ecc1ddf0dea39033cc78de875ab7fa532', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), hAsync("span", { key: '09d36876b7dc4d8050bcb0e7d39a0b008bab4a12', id: "live-region", "aria-live": "assertive", class: "sr-only" }), hAsync("ic-input-component-container", { key: '6bb2743ce8c211b4500d707bf0a2ce10245dc31c', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, hAsync("div", { key: '02a184415c1f445340b3d4a3097b28a79cd258fe', class: "input-container" }, hAsync("div", { key: 'a68248f5ad7a134ebe73456268b6f9cf07a35afa', class: "time-inputs" }, [
26049
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, hAsync("ic-input-container", { key: '6fcc48d72a92ef2a0acf3f6b109e29b24c6608db', disabled: disabled }, !(hideLabel && hideHelperText) && (hAsync("ic-input-label", { key: '84364f527bbfeffed22d95df1ce879bb9cb55fde', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, hAsync("slot", { key: '4a993ddc9a3923e4fbe58f4abfd1d6f51ef63494', name: "helper-text", slot: "helper-text" }))), hAsync("span", { key: 'de2889971bef74376661a3fb0963c9bc88673e12', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), hAsync("span", { key: 'b68b686d6794d6ad1247f18c867b1652066b48da', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), hAsync("span", { key: '56557e76da321f937be614926cd3f41b4c9a09a8', id: "live-region", "aria-live": "assertive", class: "sr-only" }), hAsync("div", { key: '89cbb13ffe21d66fd82a28ad6b5b295cf68c5787', class: {
26050
+ "with-am-pm-toggle": this.showAmPmToggle === true,
26051
+ } }, hAsync("ic-input-component-container", { key: '03a61c8d72f43d68f81069327aa31b632bfee74d', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, hAsync("div", { key: '0fdf9d4191272a8b53e73d6230e10750032d5279', class: "input-container" }, hAsync("div", { key: 'c7b13f330ec67b48e817f4b87fff96ad6ad6102e', class: "time-inputs" }, [
25715
26052
  this.getInputsInOrder()[0],
25716
26053
  ":",
25717
26054
  this.getInputsInOrder()[1],
25718
26055
  !this.isHHMMFormat()
25719
26056
  ? [":", this.getInputsInOrder()[2]]
25720
26057
  : null,
25721
- ]), hAsync("div", { key: '095391d922701f29a7debfd2482723fe05d1fdeb', class: "action-buttons" }, showClearButton && (hAsync("ic-button", { key: '8690a529f57705b60ecbc3122925557803197ed8', id: "clear-button", "aria-label": "Clear input", class: {
26058
+ this.isSSSFormat()
26059
+ ? [".", this.getInputsInOrder()[3]]
26060
+ : null,
26061
+ ]), hAsync("div", { key: 'caf4926b8008875a111f6bb3aa0815cfb2e10768', class: "action-buttons" }, showClearButton && (hAsync("ic-button", { key: '9883c16dc3d60c6ea4d9d3cc3e4a770479339879', id: "clear-button", "aria-label": "Clear input", class: {
25722
26062
  ["clear-button"]: true,
25723
26063
  ["hidden"]: isEmptyString(this.hour) &&
25724
26064
  isEmptyString(this.minute) &&
25725
26065
  isEmptyString(this.second),
25726
- }, disabled: this.disabled, innerHTML: Clear$1, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (hAsync("div", { key: '83fe94cb9dc7b16f70049b36644d62f714e03c6f', class: "show-clock-button-wrapper" }, hAsync("div", { key: '34171a16f8058ad79af9ac3bfeb9c2aea06c0c91', class: { divider: showDivider, [size]: true } }), hAsync("ic-button", { key: '3290691bc0e95d300e526052934efbc93e806e62', id: "clock-button", "aria-label": "Display clock", "aria-haspopup": "dialog", class: "clock-button", disabled: this.disabled, innerHTML: Clock, variant: "icon-tertiary", size: size, onFocus: this.handleClockFocus, onBlur: this.handleClockBlur, theme: this.clockFocused ? "light" : "dark" })))))), hAsync("span", { key: 'b44af8625ff62cf77e8be3e88d62bcb411bd5dc0', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, hAsync("span", { key: 'a68f8dac81536f4f14302d7be6151a20c7e92024', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), hAsync("ic-input-validation", { key: 'c152fd0a46420a430bb61f619dbbb395f1dd41cb', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId, ariaLiveMode: validationAriaLive }))));
26066
+ }, disabled: this.disabled, innerHTML: Clear$2, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (hAsync("div", { key: '9ace5895419381c300bbdc5c8ef2eeacad05b63b', class: "show-clock-button-wrapper" }, hAsync("div", { key: 'dfa2a5bbf9e7bd74353d7caf3514861d545d6026', class: { divider: showDivider, [size]: true } }), hAsync("ic-button", { key: '1c36dcf4f02a323aafeb265126e2d1334df077b2', id: "clock-button", "aria-label": "Display clock", "aria-haspopup": "dialog", class: "clock-button", disabled: this.disabled, innerHTML: Clock, variant: "icon-tertiary", size: size, onFocus: this.handleClockFocus, onBlur: this.handleClockBlur, theme: this.clockFocused ? "light" : "dark" })))))), this.showAmPmToggle && (hAsync("ic-toggle-button-group", { key: 'c63749fddcc1b7ed3c394a17a5d1a65aa322f024', "select-type": "single", "accessible-label": "AM PM Toggle", ref: (el) => (this.periodToggleEl = el), disabled: disabled, class: "am-pm-toggle", "select-method": "auto", onIcChange: (e) => this.handleAMPM(e.detail.selectedOption), onKeyDown: (e) => {
26067
+ if (e.key === "Tab" && e.shiftKey) {
26068
+ e.preventDefault();
26069
+ if (this.inputsInOrder && this.inputsInOrder.length > 0) {
26070
+ const lastInput = this.inputsInOrder[this.inputsInOrder.length - 1];
26071
+ lastInput === null || lastInput === void 0 ? void 0 : lastInput.focus();
26072
+ }
26073
+ }
26074
+ } }, hAsync("ic-toggle-button", { key: 'fc731674e7c26846a969768ddc77b94b14c6cca6', label: "AM", disabled: disabled, checked: true }), hAsync("ic-toggle-button", { key: '89e0bd48a39a8e786fcac5e034358edd560f4136', label: "PM", disabled: disabled })))), hAsync("span", { key: '52854ea1dc4a1c4e7783914ff90bf204848a2e6e', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, hAsync("span", { key: '065c89020778df53ae78d037ef62feb189b7fdba', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), hAsync("ic-input-validation", { key: 'fc2500bef0e8e077272424a46663a85509a160c3', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId, ariaLiveMode: validationAriaLive }))));
25727
26075
  }
25728
26076
  static get delegatesFocus() { return true; }
25729
26077
  get el() { return getElement(this); }
@@ -25731,6 +26079,8 @@ class TimeInput {
25731
26079
  "hour": ["watchInputHandler"],
25732
26080
  "minute": ["watchInputHandler"],
25733
26081
  "second": ["watchInputHandler"],
26082
+ "millisecond": ["watchInputHandler"],
26083
+ "period": ["watchInputHandler"],
25734
26084
  "disabled": ["watchDisabledHandler"],
25735
26085
  "helperText": ["watchHelperTextHandler"],
25736
26086
  "max": ["watchMaxHandler"],
@@ -25756,6 +26106,7 @@ class TimeInput {
25756
26106
  "min": [1],
25757
26107
  "name": [1],
25758
26108
  "required": [4],
26109
+ "showAmPmToggle": [1028, "show-am-pm-toggle"],
25759
26110
  "showClearButton": [4, "show-clear-button"],
25760
26111
  "showClockButton": [4, "show-clock-button"],
25761
26112
  "size": [1],
@@ -25773,8 +26124,864 @@ class TimeInput {
25773
26124
  "hour": [32],
25774
26125
  "minute": [32],
25775
26126
  "second": [32],
26127
+ "millisecond": [32],
26128
+ "period": [32],
25776
26129
  "getTime": [64],
25777
- "triggerIcChange": [64]
26130
+ "triggerIcTimeChange": [64]
26131
+ },
26132
+ "$listeners$": undefined,
26133
+ "$lazyBundleId$": "-",
26134
+ "$attrsToReflect$": []
26135
+ }; }
26136
+ }
26137
+
26138
+ var Check = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
26139
+ <path d="M8.79502 15.875L4.62502 11.705L3.20502 13.115L8.79502 18.705L20.795 6.70501L19.385 5.29501L8.79502 15.875Z" fill="currentColor"/>
26140
+ </svg>
26141
+ `;
26142
+
26143
+ var Clear = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
26144
+ <path d="M0 0h24v24H0z" fill="none"/>
26145
+ <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/>
26146
+ <title>close icon</title>
26147
+ </svg>
26148
+ `;
26149
+
26150
+ const icTimeSelectorCss = ":host(.ic-time-selector-small){--time-selector-padded-item-height:var(--ic-space-lg)}:host(.ic-time-selector-medium){--time-selector-padded-item-height:calc(\n var(--ic-space-lg) + var(--ic-space-xxs)\n )}:host(.ic-time-selector-large){--time-selector-padded-item-height:var(--ic-space-xl)}.ic-time-selector-dialog-container{background-color:var(--ic-time-picker-time-selector-bg);border:var(--ic-space-1px) solid var(--ic-time-picker-time-selector-border);border-radius:var(--ic-space-xxs);padding:var(--ic-space-xs);max-width:calc(\n 3 * var(--ic-space-xxl) + var(--ic-space-xl) + var(--ic-space-xxs)\n );width:-moz-fit-content;width:fit-content}:host(.ic-time-selector-small) .ic-time-selector-dialog-container{padding:var(--ic-space-xxs);max-width:calc(\n 3 * var(--ic-space-xxl) + var(--ic-space-lg) + var(--ic-space-xxs)\n )}:host(.ic-time-selector-large) .ic-time-selector-dialog-container{padding:var(--ic-space-md);max-width:calc(\n 3 * var(--ic-space-xxl) + var(--ic-space-xl) + var(--ic-space-xs) +\n var(--ic-space-xxs)\n )}.ic-time-selector-item{height:var(--ic-space-lg);padding:var(--ic-space-xxxs);text-align:center;cursor:pointer;scroll-snap-align:start;transition:background 0.2s, color 0.2s}:host(.ic-time-selector-small) .ic-time-selector-item{padding:0}:host(.ic-time-selector-large) .ic-time-selector-item{padding:var(--ic-space-xxs)}.ic-time-selector-item:hover:not(.disabled):not(.selected){background-color:var(--ic-time-picker-time-bg-hover)}.ic-time-selector-item:active:not(.disabled):not(.selected){background-color:var(--ic-time-picker-time-bg-pressed)}.ic-time-selector-item.selected{background-color:var(--ic-time-picker-time-bg-selected);--ic-typography-color:var(--ic-time-picker-time-text-selected);position:relative}.ic-time-selector-item.selected:hover{background-color:var(--ic-time-picker-time-active-bg-hover)}.ic-time-selector-item.selected:active{background-color:var(--ic-time-picker-time-active-bg-pressed)}.ic-time-selector-colon-selected{background-color:var(--ic-time-picker-colon-bg-selected);color:var(--ic-time-picker-colon-selected) !important}.ic-time-selector-item.selected::before,.ic-time-selector-item.selected::after,.ic-time-selector-colon-selected::before,.ic-time-selector-colon-selected::after{content:\"\";position:absolute;left:0;right:0;height:var(--ic-space-1px);background:var(--ic-time-picker-time-selector-bg)}.ic-time-selector-item.selected::before,.ic-time-selector-colon-selected::before{top:0}.ic-time-selector-item.selected::after,.ic-time-selector-colon-selected::after{bottom:0}.ic-time-selector-item.disabled{--ic-typography-color:var(--ic-time-picker-time-text-disabled);cursor:not-allowed}.ic-time-selector-column-wrapper{display:flex;flex-direction:column}.ic-time-selector-scroll-row{height:var(--time-selector-padded-item-height) !important;background:transparent !important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default !important;box-sizing:border-box}:host(.ic-time-selector-small) .ic-time-selector-scroll-row-last{height:calc(var(--ic-space-1px) + var(--ic-space-xxxs)) !important}:host(.ic-time-selector-medium) .ic-time-selector-scroll-row-last,:host(.ic-time-selector-large) .ic-time-selector-scroll-row-last{height:calc(\n var(--ic-space-1px) + var(--ic-space-xxxs) + var(--ic-space-md)\n ) !important}.ic-time-selector-scroll-row:hover,.ic-time-selector-scroll-row:active{background:transparent !important}.ic-time-selector-header-row{color:var(--ic-time-picker-hh-label);--ic-typography-color:var(--ic-time-picker-hh-label) !important;background:transparent !important;text-align:center;height:var(--time-selector-padded-item-height);display:flex;align-items:center;justify-content:center}.ic-time-selector-header-border{position:absolute;left:0;right:0;top:var(--time-selector-padded-item-height);height:var(--ic-space-1px);background:var(--ic-time-picker-header-border);pointer-events:none}.ic-time-selector-colon{display:flex;align-items:center;justify-content:center;color:var(--ic-time-picker-colon-default);height:var(--time-selector-padded-item-height);margin-top:calc(3 * var(--time-selector-padded-item-height))}.ic-time-selector-columns{display:flex;flex-direction:row;border-bottom:var(--ic-space-1px) solid var(--ic-time-picker-lower-border);margin:0 var(--ic-space-xxs);position:relative;z-index:1}.ic-time-selector-highlight-lines{position:relative;width:100%}.ic-time-selector-highlight{position:absolute;left:0;right:0;width:100%;height:var(--ic-space-1px);background:var(--ic-time-picker-selection-border);pointer-events:none;z-index:1}.ic-time-selector-highlight-top{top:calc(3 * var(--time-selector-padded-item-height) - var(--ic-space-1px))}.ic-time-selector-highlight-bottom{top:calc(4 * var(--time-selector-padded-item-height))}.ic-time-selector-column{height:calc((5 * var(--ic-space-xxl)) + (3 * var(--ic-space-1px)));overflow-y:auto;width:calc(var(--ic-space-xl) + var(--ic-space-xs));position:relative;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}:host(.ic-time-selector-small) .ic-time-selector-column{width:calc(var(--ic-space-xl) + var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.ic-time-selector-large) .ic-time-selector-column{width:calc(var(--ic-space-xl) + var(--ic-space-xs) + var(--ic-space-xxxs))}.ic-time-selector-column-period{margin-left:var(--ic-space-xxs)}.ic-time-selector-column::-webkit-scrollbar{display:none}.ic-time-selector-column:focus-visible,.ic-time-selector-item:focus-visible{outline:none;background-color:transparent}.ic-time-selector-column:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast);z-index:3}.ic-time-selector-list{list-style:none;margin:0;padding:0}.ic-time-selector-actions{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;margin-top:var(--ic-space-xs);margin-left:auto}.ic-time-selector-check-btn{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs))}.sr-only{position:absolute;left:-9999px}@media (forced-colors: active){.ic-time-selector-item.selected{background-color:highlight !important}.ic-time-selector-item.disabled{--ic-typography-color:GrayText !important}.ic-time-selector-column:focus{border:var(--ic-border-hc)}.ic-time-selector-highlight{background:Highlight !important}}";
26151
+ var IcTimeSelectorStyle0 = icTimeSelectorCss;
26152
+
26153
+ const COLUMN_TYPES = ["hour", "minute", "second", "period"];
26154
+ const COLUMN_CLASS = ".ic-time-selector-column";
26155
+ const ITEM_CLASS = ".ic-time-selector-item";
26156
+ class TimeSelector {
26157
+ constructor(hostRef) {
26158
+ registerInstance(this, hostRef);
26159
+ this.icChange = createEvent(this, "icChange", 7);
26160
+ this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
26161
+ this.minutes = Array.from({ length: 60 }, (_, i) => i);
26162
+ this.seconds = Array.from({ length: 60 }, (_, i) => i);
26163
+ this.periods = ["AM", "PM"];
26164
+ this.minTime = null;
26165
+ this.maxTime = null;
26166
+ this.ariaLiveMessage = "";
26167
+ /**
26168
+ * An array of times that will be disabled in the time selector. 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.
26169
+ */
26170
+ this.disableTimes = [];
26171
+ /**
26172
+ * 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.
26173
+ */
26174
+ this.min = "";
26175
+ /**
26176
+ * 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.
26177
+ */
26178
+ this.max = "";
26179
+ /**
26180
+ * The size of the time selector to be displayed.
26181
+ */
26182
+ this.size = "medium";
26183
+ /**
26184
+ * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
26185
+ */
26186
+ this.theme = "inherit";
26187
+ /**
26188
+ * The format in which the time will be displayed.
26189
+ */
26190
+ this.timeFormat = this.DEFAULT_TIME_FORMAT;
26191
+ /**
26192
+ * The time period format: "12" for 12-hour, "24" for 24-hour. Defaults to "24".
26193
+ */
26194
+ this.timePeriod = "24";
26195
+ /**
26196
+ * The value of the time selector. 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.
26197
+ */
26198
+ this.value = "";
26199
+ this.setTimeParts = (hour, minute, second) => {
26200
+ let period = "AM";
26201
+ if (this.timePeriod === "12") {
26202
+ if (hour === 0) {
26203
+ hour = 12;
26204
+ period = "AM";
26205
+ }
26206
+ else if (hour === 12) {
26207
+ period = "PM";
26208
+ }
26209
+ else if (hour > 12) {
26210
+ hour = hour - 12;
26211
+ period = "PM";
26212
+ }
26213
+ else {
26214
+ period = "AM";
26215
+ }
26216
+ this.selectedHour = hour;
26217
+ this.selectedPeriod = period;
26218
+ }
26219
+ else {
26220
+ this.selectedHour = hour;
26221
+ }
26222
+ this.selectedMinute = minute;
26223
+ this.selectedSecond = second;
26224
+ };
26225
+ this.checkIfScrollIsFinished = (column, scrollTop) => {
26226
+ const isScrollFinished = setInterval(() => {
26227
+ if (column.scrollTop === scrollTop + 56) {
26228
+ column === null || column === void 0 ? void 0 : column.focus();
26229
+ clearInterval(isScrollFinished);
26230
+ }
26231
+ }, 25);
26232
+ };
26233
+ this.handleSelect = (type, value) => {
26234
+ var _a;
26235
+ const prevValue = this.getSelectedValue(type);
26236
+ switch (type) {
26237
+ case "hour":
26238
+ this.selectedHour = Number(value);
26239
+ break;
26240
+ case "minute":
26241
+ this.selectedMinute = Number(value);
26242
+ break;
26243
+ case "second":
26244
+ this.selectedSecond = Number(value);
26245
+ break;
26246
+ case "period":
26247
+ this.selectedPeriod = value;
26248
+ break;
26249
+ }
26250
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26251
+ const idx = COLUMN_TYPES.indexOf(type);
26252
+ if (columns && columns[idx]) {
26253
+ columns[idx].focus();
26254
+ window.requestAnimationFrame(() => {
26255
+ this.scrollSelectedItem(type);
26256
+ });
26257
+ }
26258
+ if (prevValue === undefined || prevValue === null) {
26259
+ this.announceSelectedColumn(type);
26260
+ }
26261
+ else {
26262
+ this.lastAnnouncedType = type;
26263
+ this.lastAnnouncedValue = this.getSelectedValue(type);
26264
+ }
26265
+ };
26266
+ this.isTimeDisabled = (hour, minute, second, type) => {
26267
+ var _a, _b, _c, _d;
26268
+ for (const t of this.disableTimes) {
26269
+ if (typeof t === "string" || t instanceof Date) {
26270
+ const parts = parseTimeHelper(t).parts;
26271
+ if (parts &&
26272
+ parts.hour === hour &&
26273
+ parts.minute === minute &&
26274
+ parts.second === second) {
26275
+ return true;
26276
+ }
26277
+ }
26278
+ else if (t && typeof t === "object" && "start" in t && "end" in t) {
26279
+ const startParts = parseTimeHelper(t.start).parts;
26280
+ const endParts = parseTimeHelper(t.end).parts;
26281
+ if (startParts && endParts) {
26282
+ const timeVal = hour * 3600 + minute * 60 + second;
26283
+ const startVal = startParts.hour * 3600 + startParts.minute * 60 + startParts.second;
26284
+ const endVal = endParts.hour * 3600 + endParts.minute * 60 + endParts.second;
26285
+ if (timeVal >= startVal && timeVal <= endVal) {
26286
+ return true;
26287
+ }
26288
+ }
26289
+ }
26290
+ }
26291
+ if (this.min) {
26292
+ this.minTime = parseTimeHelper(this.min).date;
26293
+ if (this.minTime) {
26294
+ const minHour = this.minTime.getHours();
26295
+ const minMinute = this.minTime.getMinutes();
26296
+ const minSecond = this.minTime.getSeconds();
26297
+ if (type === "hour") {
26298
+ const highlightedMinute = (_a = this.selectedMinute) !== null && _a !== void 0 ? _a : minMinute;
26299
+ const highlightedSecond = (_b = this.selectedSecond) !== null && _b !== void 0 ? _b : minSecond;
26300
+ if (hour < minHour ||
26301
+ (hour === minHour && highlightedMinute < minMinute) ||
26302
+ (hour === minHour &&
26303
+ highlightedMinute === minMinute &&
26304
+ highlightedSecond < minSecond)) {
26305
+ return true;
26306
+ }
26307
+ }
26308
+ else if (type === "minute") {
26309
+ if (hour === minHour && minute < minMinute) {
26310
+ return true;
26311
+ }
26312
+ }
26313
+ else if (type === "second") {
26314
+ if (hour === minHour && minute === minMinute && second < minSecond) {
26315
+ return true;
26316
+ }
26317
+ }
26318
+ else {
26319
+ if (hour < minHour ||
26320
+ (hour === minHour && minute < minMinute) ||
26321
+ (hour === minHour && minute === minMinute && second < minSecond)) {
26322
+ return true;
26323
+ }
26324
+ }
26325
+ }
26326
+ }
26327
+ if (this.max) {
26328
+ this.maxTime = parseTimeHelper(this.max).date;
26329
+ if (this.maxTime) {
26330
+ const maxHour = this.maxTime.getHours();
26331
+ const maxMinute = this.maxTime.getMinutes();
26332
+ const maxSecond = this.maxTime.getSeconds();
26333
+ if (type === "hour") {
26334
+ const selectedMinute = (_c = this.selectedMinute) !== null && _c !== void 0 ? _c : 59;
26335
+ const selectedSecond = (_d = this.selectedSecond) !== null && _d !== void 0 ? _d : 59;
26336
+ if (hour > maxHour ||
26337
+ (hour === maxHour && selectedMinute > maxMinute) ||
26338
+ (hour === maxHour &&
26339
+ selectedMinute === maxMinute &&
26340
+ selectedSecond > maxSecond)) {
26341
+ return true;
26342
+ }
26343
+ }
26344
+ else if (type === "minute") {
26345
+ if (hour === maxHour && minute > maxMinute) {
26346
+ return true;
26347
+ }
26348
+ }
26349
+ else if (type === "second") {
26350
+ if (hour === maxHour && minute === maxMinute && second > maxSecond) {
26351
+ return true;
26352
+ }
26353
+ }
26354
+ else {
26355
+ if (hour > maxHour ||
26356
+ (hour === maxHour && minute > maxMinute) ||
26357
+ (hour === maxHour && minute === maxMinute && second > maxSecond)) {
26358
+ return true;
26359
+ }
26360
+ }
26361
+ }
26362
+ }
26363
+ return false;
26364
+ };
26365
+ this.handleColumnKeyDown = (type, event) => {
26366
+ var _a, _b, _c, _d, _e, _f, _g;
26367
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26368
+ const idx = COLUMN_TYPES.indexOf(type);
26369
+ if (!columns)
26370
+ return;
26371
+ const values = this.getColumnValues(type);
26372
+ const selected = this.getSelectedValue(type);
26373
+ const col = columns[idx];
26374
+ if (!col)
26375
+ return;
26376
+ const selectHighlighted = () => {
26377
+ const highlighted = this.getHighlightedValue(type, col);
26378
+ if (highlighted !== null) {
26379
+ this.handleSelect(type, highlighted);
26380
+ }
26381
+ else if (values.length > 0) {
26382
+ this.handleSelect(type, values[0]);
26383
+ }
26384
+ };
26385
+ switch (event.key) {
26386
+ case "Enter":
26387
+ case " ":
26388
+ event.preventDefault();
26389
+ selectHighlighted();
26390
+ return;
26391
+ case "ArrowRight":
26392
+ event.preventDefault();
26393
+ selectHighlighted();
26394
+ if (idx < columns.length - 1) {
26395
+ (_b = columns[idx + 1]) === null || _b === void 0 ? void 0 : _b.focus();
26396
+ }
26397
+ return;
26398
+ case "ArrowLeft":
26399
+ event.preventDefault();
26400
+ if (idx > 0)
26401
+ (_c = columns[idx - 1]) === null || _c === void 0 ? void 0 : _c.focus();
26402
+ return;
26403
+ case "Tab":
26404
+ if (event.shiftKey) {
26405
+ if (idx === 0) {
26406
+ return;
26407
+ }
26408
+ else {
26409
+ event.preventDefault();
26410
+ (_d = columns[idx - 1]) === null || _d === void 0 ? void 0 : _d.focus();
26411
+ }
26412
+ }
26413
+ else {
26414
+ event.preventDefault();
26415
+ selectHighlighted();
26416
+ this.announceSelectedColumn(type);
26417
+ if (idx < columns.length - 1) {
26418
+ (_e = columns[idx + 1]) === null || _e === void 0 ? void 0 : _e.focus();
26419
+ }
26420
+ else {
26421
+ (_g = (_f = this.el.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelector(".ic-time-selector-clear-btn")) === null || _g === void 0 ? void 0 : _g.focus();
26422
+ this.updateAriaLiveMessage();
26423
+ }
26424
+ }
26425
+ return;
26426
+ case "ArrowUp":
26427
+ case "ArrowDown": {
26428
+ let idxInValues = values.findIndex((v) => v === selected);
26429
+ if (idxInValues === -1)
26430
+ idxInValues = 0;
26431
+ let newIdx = idxInValues;
26432
+ const direction = event.key === "ArrowUp" ? -1 : 1;
26433
+ const maxIdx = values.length - 1;
26434
+ do {
26435
+ newIdx += direction;
26436
+ } while (newIdx >= 0 &&
26437
+ newIdx <= maxIdx &&
26438
+ (() => {
26439
+ var _a, _b, _c;
26440
+ if (type === "hour" || type === "minute" || type === "second") {
26441
+ const hour = type === "hour"
26442
+ ? values[newIdx]
26443
+ : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
26444
+ const minute = type === "minute"
26445
+ ? values[newIdx]
26446
+ : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
26447
+ const second = type === "second"
26448
+ ? values[newIdx]
26449
+ : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
26450
+ return this.isTimeDisabled(hour, minute, second);
26451
+ }
26452
+ return false;
26453
+ })());
26454
+ this.ariaLiveMessage = `Selected ${type}: ${values[newIdx]}`;
26455
+ if (newIdx >= 0 && newIdx <= maxIdx && newIdx !== idxInValues) {
26456
+ this.handleSelect(type, values[newIdx]);
26457
+ }
26458
+ return;
26459
+ }
26460
+ default:
26461
+ return;
26462
+ }
26463
+ };
26464
+ this.renderColumn = (type, values, selected) => {
26465
+ const isTimeColumn = type === "hour" || type === "minute" || type === "second";
26466
+ const isPeriodColumn = type === "period";
26467
+ const headerLabel = this.getHeaderLabel(type);
26468
+ const topSpacerCount = 2;
26469
+ let bottomSpacerCount = 6;
26470
+ if (this.size === "large") {
26471
+ bottomSpacerCount = 5;
26472
+ }
26473
+ else if (this.size === "small") {
26474
+ bottomSpacerCount = 8;
26475
+ }
26476
+ return (hAsync("div", { class: "ic-time-selector-column-wrapper" }, isPeriodColumn ? (hAsync("div", { class: "ic-time-selector-header-row" })) : (headerLabel && (hAsync("div", { class: "ic-time-selector-header-row" }, hAsync("ic-typography", { variant: "subtitle-small" }, headerLabel)))), hAsync("div", { class: {
26477
+ "ic-time-selector-column": true,
26478
+ "ic-time-selector-column-period": isPeriodColumn,
26479
+ }, tabIndex: 0, onKeyDown: (e) => this.handleColumnKeyDown(type, e) }, hAsync("ul", { class: "ic-time-selector-list", role: "listbox", "aria-label": type }, this.renderScrollRows(topSpacerCount, `${type}-top-spacer`), values.map((val) => {
26480
+ var _a, _b, _c;
26481
+ let disabled = false;
26482
+ if (isTimeColumn) {
26483
+ const hour = type === "hour" ? val : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
26484
+ const minute = type === "minute"
26485
+ ? val
26486
+ : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
26487
+ const second = type === "second"
26488
+ ? val
26489
+ : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
26490
+ disabled = this.isTimeDisabled(hour, minute, second, type);
26491
+ }
26492
+ return (hAsync("li", { class: {
26493
+ "ic-time-selector-item": true,
26494
+ selected: val === selected,
26495
+ disabled,
26496
+ }, role: "option", "aria-selected": val === selected ? "true" : "false", "aria-disabled": disabled ? "true" : "false", onClick: () => !disabled && this.handleSelect(type, val), tabIndex: -1, key: `${type}-val-${val}` }, hAsync("ic-typography", { variant: "subtitle-small" }, typeof val === "number"
26497
+ ? val.toString().padStart(2, "0")
26498
+ : val)));
26499
+ }), (isTimeColumn || isPeriodColumn) &&
26500
+ this.renderScrollRows(bottomSpacerCount, `${type}-bottom-spacer`)))));
26501
+ };
26502
+ this.handleClear = () => {
26503
+ this.selectedHour = undefined;
26504
+ this.scrollSelectedItem("hour", true);
26505
+ this.selectedMinute = undefined;
26506
+ this.scrollSelectedItem("minute", true);
26507
+ this.selectedSecond = undefined;
26508
+ this.scrollSelectedItem("second", true);
26509
+ this.selectedPeriod = undefined;
26510
+ this.scrollSelectedItem("period", true);
26511
+ this.lastAnnouncedType = undefined;
26512
+ this.lastAnnouncedValue = undefined;
26513
+ this.icChange.emit({
26514
+ value: null,
26515
+ timeString: null,
26516
+ timeObject: {
26517
+ hour: null,
26518
+ minute: null,
26519
+ second: null,
26520
+ period: undefined,
26521
+ },
26522
+ });
26523
+ };
26524
+ this.handleConfirmClick = () => {
26525
+ const hour = this.selectedHour != null ? this.selectedHour : null;
26526
+ const minute = this.selectedMinute != null ? this.selectedMinute : null;
26527
+ const second = this.selectedSecond != null ? this.selectedSecond : null;
26528
+ const period = this.selectedPeriod;
26529
+ const hourStr = hour != null ? hour.toString().padStart(2, "0") : null;
26530
+ const minuteStr = minute != null ? minute.toString().padStart(2, "0") : null;
26531
+ const secondStr = second != null ? second.toString().padStart(2, "0") : null;
26532
+ let allSelected = false;
26533
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
26534
+ allSelected = hour !== null && minute !== null && second !== null;
26535
+ }
26536
+ else {
26537
+ allSelected = hour !== null && minute !== null;
26538
+ }
26539
+ let value = null;
26540
+ let timeString = null;
26541
+ if (allSelected) {
26542
+ let date24hours = hour;
26543
+ if (hour != null && period && this.timePeriod === "12") {
26544
+ if (period === "PM" && hour < 12)
26545
+ date24hours = hour + 12;
26546
+ if (period === "AM" && hour === 12)
26547
+ date24hours = 0;
26548
+ }
26549
+ value = new Date();
26550
+ value.setHours(date24hours !== null && date24hours !== void 0 ? date24hours : 0);
26551
+ value.setMinutes(minute !== null && minute !== void 0 ? minute : 0);
26552
+ value.setSeconds(second !== null && second !== void 0 ? second : 0);
26553
+ value.setMilliseconds(0);
26554
+ if (this.timeFormat === "HH:MM") {
26555
+ timeString = hourStr + ":" + minuteStr + (period ? " " + period : "");
26556
+ }
26557
+ else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
26558
+ timeString =
26559
+ hourStr +
26560
+ ":" +
26561
+ minuteStr +
26562
+ ":" +
26563
+ secondStr +
26564
+ (period ? " " + period : "");
26565
+ }
26566
+ this.value = value;
26567
+ }
26568
+ this.icChange.emit({
26569
+ value: allSelected ? value : null,
26570
+ timeString: allSelected ? timeString : null,
26571
+ timeObject: Object.assign({ hour: hourStr, minute: minuteStr, second: secondStr }, (period ? { period } : {})),
26572
+ });
26573
+ };
26574
+ }
26575
+ watchMinHandler() {
26576
+ this.minTime = parseTimeHelper(this.min).date;
26577
+ }
26578
+ watchMaxHandler() {
26579
+ this.maxTime = parseTimeHelper(this.max).date;
26580
+ }
26581
+ watchValueHandler() {
26582
+ this.setTime(this.value);
26583
+ setTimeout(() => {
26584
+ this.scrollSelectedItem("hour");
26585
+ this.scrollSelectedItem("minute");
26586
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
26587
+ this.scrollSelectedItem("second");
26588
+ }
26589
+ if (this.timePeriod === "12") {
26590
+ this.scrollSelectedItem("period");
26591
+ }
26592
+ }, 0);
26593
+ }
26594
+ componentWillLoad() {
26595
+ this.setTime(this.value);
26596
+ }
26597
+ componentDidLoad() {
26598
+ setTimeout(() => {
26599
+ if (this.selectedHour !== undefined && this.selectedHour !== null) {
26600
+ this.scrollSelectedItem("hour");
26601
+ }
26602
+ else if (this.min) {
26603
+ this.scrollMinTime("hour");
26604
+ }
26605
+ if (this.selectedMinute !== undefined && this.selectedMinute !== null) {
26606
+ this.scrollSelectedItem("minute");
26607
+ }
26608
+ else if (this.min) {
26609
+ this.scrollMinTime("minute");
26610
+ }
26611
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
26612
+ if (this.selectedSecond !== undefined && this.selectedSecond !== null) {
26613
+ this.scrollSelectedItem("second");
26614
+ }
26615
+ else if (this.min) {
26616
+ this.scrollMinTime("second");
26617
+ }
26618
+ }
26619
+ if (this.timePeriod === "12") {
26620
+ if (this.selectedPeriod !== undefined && this.selectedPeriod !== null) {
26621
+ this.scrollSelectedItem("period");
26622
+ }
26623
+ else if (this.min) {
26624
+ this.scrollMinTime("period");
26625
+ }
26626
+ }
26627
+ this.updateAriaLiveMessage();
26628
+ }, 0);
26629
+ }
26630
+ getHeaderLabel(type) {
26631
+ switch (type) {
26632
+ case "hour":
26633
+ return "HH";
26634
+ case "minute":
26635
+ return "MM";
26636
+ case "second":
26637
+ return "SS";
26638
+ default:
26639
+ return "";
26640
+ }
26641
+ }
26642
+ setTime(time) {
26643
+ if (time === null || time === undefined || time === "") {
26644
+ this.handleClear();
26645
+ return;
26646
+ }
26647
+ if (typeof time === "string") {
26648
+ const zuluMatch = time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.[0-9]{1,3})?Z?$/);
26649
+ if (zuluMatch) {
26650
+ this.setTimeParts(Number(zuluMatch[1]), Number(zuluMatch[2]), Number(zuluMatch[3]));
26651
+ }
26652
+ else {
26653
+ const parts = time.split(":");
26654
+ this.setTimeParts(Number(parts[0]) || 0, Number(parts[1]) || 0, Number(parts[2]) || 0);
26655
+ }
26656
+ }
26657
+ else {
26658
+ const { parts } = parseTimeHelper(time);
26659
+ if (parts) {
26660
+ this.setTimeParts(parts.hour, parts.minute, parts.second);
26661
+ }
26662
+ }
26663
+ }
26664
+ renderScrollRows(count, keyPrefix = "scroll-row") {
26665
+ return Array.from({ length: count }).map((_, i) => {
26666
+ const isLast = keyPrefix.endsWith("bottom-spacer")
26667
+ ? i === count - 1
26668
+ : false;
26669
+ return (hAsync("li", { class: Object.assign({ "ic-time-selector-item": true, "ic-time-selector-scroll-row": true }, (isLast ? { "ic-time-selector-scroll-row-last": true } : {})), "aria-hidden": "true", tabIndex: -1, key: `${keyPrefix}-${i}` }));
26670
+ });
26671
+ }
26672
+ scrollSelectedItem(colClass, clear) {
26673
+ var _a;
26674
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26675
+ let colIdx = COLUMN_TYPES.indexOf(colClass);
26676
+ if (colClass === "period" && (columns === null || columns === void 0 ? void 0 : columns.length)) {
26677
+ colIdx = columns.length - 1;
26678
+ }
26679
+ const col = columns === null || columns === void 0 ? void 0 : columns[colIdx];
26680
+ if (col) {
26681
+ const items = col.querySelectorAll(ITEM_CLASS);
26682
+ let selectedIdx = -1;
26683
+ items.forEach((item, idx) => {
26684
+ if (item.classList.contains("selected"))
26685
+ selectedIdx = idx;
26686
+ });
26687
+ if (clear) {
26688
+ selectedIdx = 0;
26689
+ }
26690
+ if (selectedIdx > -1) {
26691
+ const scrollRow = col.querySelector(".ic-time-selector-scroll-row");
26692
+ let resolvedHeight = 0;
26693
+ if (scrollRow) {
26694
+ resolvedHeight = parseFloat(getComputedStyle(scrollRow).height);
26695
+ }
26696
+ const offset = resolvedHeight * 2;
26697
+ const scrollTop = items[selectedIdx].offsetTop - offset;
26698
+ const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
26699
+ col.scrollTo({
26700
+ top: scrollTop,
26701
+ behavior: prefersReducedMotion ? "instant" : "smooth",
26702
+ });
26703
+ if (clear) {
26704
+ setTimeout(() => {
26705
+ var _a;
26706
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26707
+ if (columns && columns.length > 0) {
26708
+ this.checkIfScrollIsFinished(columns[0], scrollTop);
26709
+ }
26710
+ }, 300);
26711
+ }
26712
+ }
26713
+ }
26714
+ }
26715
+ scrollMinTime(colClass) {
26716
+ var _a;
26717
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26718
+ const colIdx = COLUMN_TYPES.indexOf(colClass);
26719
+ const col = columns === null || columns === void 0 ? void 0 : columns[colIdx];
26720
+ if (!col)
26721
+ return;
26722
+ const items = col.querySelectorAll(ITEM_CLASS);
26723
+ let minHour = 0, minMinute = 0, minSecond = 0;
26724
+ if (this.minTime) {
26725
+ minHour = this.minTime.getHours() + 2;
26726
+ minMinute = this.minTime.getMinutes() + 2;
26727
+ minSecond = this.minTime.getSeconds();
26728
+ }
26729
+ else if (this.min) {
26730
+ const minDate = parseTimeHelper(this.min).date;
26731
+ if (minDate) {
26732
+ minHour = minDate.getHours();
26733
+ minMinute = minDate.getMinutes();
26734
+ minSecond = minDate.getSeconds();
26735
+ }
26736
+ }
26737
+ let targetIdx = -1;
26738
+ const values = this.getColumnValues(colClass);
26739
+ if (colClass === "hour") {
26740
+ targetIdx = values.findIndex((v) => v === minHour);
26741
+ }
26742
+ else if (colClass === "minute") {
26743
+ targetIdx = values.findIndex((v) => v === minMinute);
26744
+ }
26745
+ else if (colClass === "second") {
26746
+ targetIdx = values.findIndex((v) => v === minSecond);
26747
+ }
26748
+ else if (colClass === "period") {
26749
+ let period = "AM";
26750
+ if (this.timePeriod === "12") {
26751
+ if (minHour === 0) {
26752
+ period = "AM";
26753
+ }
26754
+ else if (minHour === 12) {
26755
+ period = "PM";
26756
+ }
26757
+ else if (minHour > 12) {
26758
+ period = "PM";
26759
+ }
26760
+ else {
26761
+ period = "AM";
26762
+ }
26763
+ }
26764
+ targetIdx = values.findIndex((v) => v === period);
26765
+ }
26766
+ if (targetIdx > -1) {
26767
+ const scrollRow = col.querySelector(".ic-time-selector-scroll-row");
26768
+ let resolvedHeight = 0;
26769
+ if (scrollRow) {
26770
+ resolvedHeight = parseFloat(getComputedStyle(scrollRow).height);
26771
+ }
26772
+ const offset = resolvedHeight * 2;
26773
+ const scrollTop = items[targetIdx].offsetTop - offset;
26774
+ const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
26775
+ col.scrollTo({
26776
+ top: scrollTop,
26777
+ behavior: prefersReducedMotion ? "instant" : "smooth",
26778
+ });
26779
+ }
26780
+ }
26781
+ announceSelectedColumn(type) {
26782
+ const value = this.getSelectedValue(type);
26783
+ if (value !== null &&
26784
+ value !== undefined &&
26785
+ (type !== this.lastAnnouncedType || value !== this.lastAnnouncedValue)) {
26786
+ this.ariaLiveMessage = `Selected ${type}: ${value}`;
26787
+ }
26788
+ else {
26789
+ this.ariaLiveMessage = "";
26790
+ }
26791
+ this.lastAnnouncedType = type;
26792
+ this.lastAnnouncedValue = value;
26793
+ }
26794
+ getColumnValues(type) {
26795
+ if (type === "hour")
26796
+ return this.timePeriod === "12"
26797
+ ? Array.from({ length: 12 }, (_, i) => i + 1)
26798
+ : Array.from({ length: 24 }, (_, i) => i);
26799
+ if (type === "minute")
26800
+ return this.minutes;
26801
+ if (type === "second")
26802
+ return this.seconds;
26803
+ if (type === "period")
26804
+ return this.periods;
26805
+ return [];
26806
+ }
26807
+ getSelectedValue(type) {
26808
+ var _a, _b, _c, _d;
26809
+ if (type === "hour")
26810
+ return (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null;
26811
+ if (type === "minute")
26812
+ return (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null;
26813
+ if (type === "second")
26814
+ return (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null;
26815
+ if (type === "period")
26816
+ return (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null;
26817
+ return null;
26818
+ }
26819
+ getHighlightedValue(type, col) {
26820
+ var _a, _b, _c;
26821
+ const items = Array.from(col.querySelectorAll(ITEM_CLASS));
26822
+ const realItems = items.filter((item) => !item.classList.contains("ic-time-selector-scroll-row"));
26823
+ if (realItems.length === 0)
26824
+ return null;
26825
+ const highlightTop = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".ic-time-selector-highlight-top");
26826
+ const highlightBottom = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(".ic-time-selector-highlight-bottom");
26827
+ if (!highlightTop || !highlightBottom)
26828
+ return null;
26829
+ const topRect = highlightTop.getBoundingClientRect();
26830
+ const bottomRect = highlightBottom.getBoundingClientRect();
26831
+ const highlightStart = topRect.bottom;
26832
+ const highlightEnd = bottomRect.top;
26833
+ for (const item of realItems) {
26834
+ const itemRect = item.getBoundingClientRect();
26835
+ const itemCenter = itemRect.top + itemRect.height / 2;
26836
+ if (itemCenter >= highlightStart && itemCenter <= highlightEnd) {
26837
+ const key = item.getAttribute("key");
26838
+ if (key) {
26839
+ const valStr = key.replace(`${type}-val-`, "");
26840
+ if (type === "hour" || type === "minute" || type === "second") {
26841
+ return Number(valStr);
26842
+ }
26843
+ else {
26844
+ return valStr;
26845
+ }
26846
+ }
26847
+ const text = (_c = item.textContent) === null || _c === void 0 ? void 0 : _c.trim();
26848
+ if (type === "hour" || type === "minute" || type === "second") {
26849
+ return text ? Number(text) : null;
26850
+ }
26851
+ else {
26852
+ return text;
26853
+ }
26854
+ }
26855
+ }
26856
+ return null;
26857
+ }
26858
+ updateAriaLiveMessage() {
26859
+ const hourStr = this.selectedHour != null
26860
+ ? this.selectedHour.toString().padStart(2, "0")
26861
+ : null;
26862
+ const minuteStr = this.selectedMinute != null
26863
+ ? this.selectedMinute.toString().padStart(2, "0")
26864
+ : null;
26865
+ const secondStr = this.selectedSecond != null
26866
+ ? this.selectedSecond.toString().padStart(2, "0")
26867
+ : null;
26868
+ let timeString = "";
26869
+ let allSelected = false;
26870
+ if (this.timeFormat === "HH:MM") {
26871
+ allSelected = hourStr !== null && minuteStr !== null;
26872
+ if (allSelected) {
26873
+ timeString =
26874
+ hourStr +
26875
+ ":" +
26876
+ minuteStr +
26877
+ (this.selectedPeriod ? " " + this.selectedPeriod : "");
26878
+ }
26879
+ }
26880
+ else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
26881
+ allSelected =
26882
+ hourStr !== null && minuteStr !== null && secondStr !== null;
26883
+ if (allSelected) {
26884
+ timeString =
26885
+ hourStr +
26886
+ ":" +
26887
+ minuteStr +
26888
+ ":" +
26889
+ secondStr +
26890
+ (this.selectedPeriod ? " " + this.selectedPeriod : "");
26891
+ }
26892
+ }
26893
+ this.ariaLiveMessage =
26894
+ allSelected && timeString ? `Selected time: ${timeString}` : "";
26895
+ }
26896
+ render() {
26897
+ var _a, _b, _c, _d;
26898
+ const hours = this.timePeriod === "12"
26899
+ ? Array.from({ length: 12 }, (_, i) => i + 1)
26900
+ : Array.from({ length: 24 }, (_, i) => i);
26901
+ const timeFormat = this.timeFormat || this.DEFAULT_TIME_FORMAT;
26902
+ const columns = [
26903
+ this.renderColumn("hour", hours, (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null),
26904
+ this.renderColumn("minute", this.minutes, (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null),
26905
+ ];
26906
+ if (timeFormat === this.DEFAULT_TIME_FORMAT) {
26907
+ columns.push(this.renderColumn("second", this.seconds, (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null));
26908
+ }
26909
+ let colonSelectedStates = [];
26910
+ if (timeFormat === this.DEFAULT_TIME_FORMAT) {
26911
+ colonSelectedStates = [
26912
+ this.selectedHour !== undefined && this.selectedMinute !== undefined,
26913
+ this.selectedMinute !== undefined && this.selectedSecond !== undefined,
26914
+ ];
26915
+ }
26916
+ else {
26917
+ colonSelectedStates = [
26918
+ this.selectedHour !== undefined && this.selectedMinute !== undefined,
26919
+ ];
26920
+ }
26921
+ const isInPicker = this.el.closest("ic-time-picker") !== null;
26922
+ const { size, theme, timePeriod } = this;
26923
+ return (hAsync(Host, { key: '0a25adbaeba34a4dcd3ef15edd5076d8ed4ad0a5', class: {
26924
+ [`ic-theme-${theme}`]: theme !== "inherit",
26925
+ [`ic-time-selector-${size}`]: true,
26926
+ } }, hAsync("div", { key: 'e65b452fb22c989b634fd1d8839ecf3bcb5c8a96', role: isInPicker ? "dialog" : undefined, "aria-modal": isInPicker ? true : undefined, "aria-label": "Select time. Use arrow keys to navigate and select the options and then tab to move onto the next selection.", class: {
26927
+ "ic-time-selector-dialog-container": true,
26928
+ } }, hAsync("div", { key: '178213ede67d838f70b8bd164aac6481a97b03eb', class: "ic-time-selector-highlight-lines" }, hAsync("div", { key: 'c10de931f6cba5496de152f1fdfc87a118413e08', class: "ic-time-selector-header-border" }), hAsync("div", { key: '440b09028d77256e9b0bb18cc2f24550eac5f30d', class: {
26929
+ "ic-time-selector-highlight": true,
26930
+ "ic-time-selector-highlight-top": true,
26931
+ } }), hAsync("div", { key: 'eed615b5bbd35c5b0d0a5b3625710b00675856ab', class: "ic-time-selector-columns" }, columns.map((col, idx) => [
26932
+ col,
26933
+ idx < columns.length - 1 ? (hAsync("ic-typography", { class: {
26934
+ "ic-time-selector-colon": true,
26935
+ "ic-time-selector-colon-selected": colonSelectedStates[idx],
26936
+ }, variant: "subtitle-small", "aria-hidden": "true", key: `colon-${idx}` }, ":")) : null,
26937
+ ]), timePeriod !== "24" &&
26938
+ this.renderColumn("period", this.periods, (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null)), hAsync("div", { key: '8b2b12a4e907c615b7e79d9801d5840d522e775d', class: {
26939
+ "ic-time-selector-highlight": true,
26940
+ "ic-time-selector-highlight-bottom": true,
26941
+ } })), hAsync("div", { key: '0d3a320315b1cf0557b8d281b6e468ef517b7ff4', class: "ic-time-selector-actions" }, hAsync("ic-button", { key: '70d842672493c3a63ced6571d7e1ab6afba2abdf', variant: "icon-tertiary", "aria-label": "Clear time", class: {
26942
+ "ic-time-selector-clear-btn": true,
26943
+ }, onClick: this.handleClear, disabled: this.selectedHour === undefined &&
26944
+ this.selectedMinute === undefined &&
26945
+ this.selectedSecond === undefined &&
26946
+ this.selectedPeriod === undefined, size: size, tabIndex: 0, onKeyDown: (e) => {
26947
+ var _a;
26948
+ if (e.key === "Tab" && e.shiftKey) {
26949
+ e.preventDefault();
26950
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
26951
+ if (columns && columns.length > 0) {
26952
+ const lastCol = columns[columns.length - 1];
26953
+ lastCol === null || lastCol === void 0 ? void 0 : lastCol.focus();
26954
+ }
26955
+ }
26956
+ } }, hAsync("span", { key: '45c66f9552c10be9e3b466342c6e7d22fd7df90b', "aria-hidden": "true", innerHTML: Clear })), hAsync("ic-button", { key: 'eae553c514bc635a71220b969044df8d32e457bb', variant: "icon-tertiary", "aria-label": "Select time", class: "ic-time-selector-check-btn", onClick: this.handleConfirmClick, disabled: this.selectedHour === undefined &&
26957
+ this.selectedMinute === undefined &&
26958
+ this.selectedSecond === undefined &&
26959
+ this.selectedPeriod === undefined, size: size, tabIndex: 0 }, hAsync("span", { key: 'f586f8d1b2659d3cf2f0f8e7365ebcd9828ebf23', "aria-hidden": "true", innerHTML: Check })))), hAsync("div", { key: '27dd2db88615040635a0b61b9e785d50a488d90a', class: "sr-only", "aria-live": "polite" }, this.ariaLiveMessage)));
26960
+ }
26961
+ get el() { return getElement(this); }
26962
+ static get watchers() { return {
26963
+ "min": ["watchMinHandler"],
26964
+ "max": ["watchMaxHandler"],
26965
+ "value": ["watchValueHandler"]
26966
+ }; }
26967
+ static get style() { return IcTimeSelectorStyle0; }
26968
+ static get cmpMeta() { return {
26969
+ "$flags$": 9,
26970
+ "$tagName$": "ic-time-selector",
26971
+ "$members$": {
26972
+ "disableTimes": [16],
26973
+ "min": [1],
26974
+ "max": [1],
26975
+ "size": [1],
26976
+ "theme": [1],
26977
+ "timeFormat": [1, "time-format"],
26978
+ "timePeriod": [1, "time-period"],
26979
+ "value": [1025],
26980
+ "selectedHour": [32],
26981
+ "selectedMinute": [32],
26982
+ "selectedSecond": [32],
26983
+ "selectedPeriod": [32],
26984
+ "ariaLiveMessage": [32]
25778
26985
  },
25779
26986
  "$listeners$": undefined,
25780
26987
  "$lazyBundleId$": "-",
@@ -26304,6 +27511,7 @@ class ToggleButtonGroup {
26304
27511
  key: null,
26305
27512
  shift: false,
26306
27513
  };
27514
+ this.externallySetActiveToggle = null;
26307
27515
  /**
26308
27516
  * The accessible label of the toggle button group component to provide context for screen reader users.
26309
27517
  */
@@ -26387,7 +27595,15 @@ class ToggleButtonGroup {
26387
27595
  key !== "ArrowUp")
26388
27596
  return;
26389
27597
  const toggleButtonOptions = this.getAllToggleButtons();
26390
- const targetToggle = toggleButtonOptions[this.getNextItemToSelect(toggleButtonOptions.indexOf(toggleButtonOptions.filter((el) => el === document.activeElement)[0]), key === "ArrowDown" || key === "ArrowRight")];
27598
+ let targetToggle;
27599
+ if (this.externallySetActiveToggle) {
27600
+ targetToggle =
27601
+ toggleButtonOptions[this.getNextItemToSelect(toggleButtonOptions.indexOf(toggleButtonOptions.filter((el) => el === this.externallySetActiveToggle)[0]), key === "ArrowDown" || key === "ArrowRight")];
27602
+ }
27603
+ else {
27604
+ targetToggle =
27605
+ toggleButtonOptions[this.getNextItemToSelect(toggleButtonOptions.indexOf(toggleButtonOptions.filter((el) => el === document.activeElement)[0]), key === "ArrowDown" || key === "ArrowRight")];
27606
+ }
26391
27607
  if (this.selectMethod === "auto") {
26392
27608
  // trigger selectHandler when unable to add 'target'
26393
27609
  targetToggle.checked = true;
@@ -26497,6 +27713,12 @@ class ToggleButtonGroup {
26497
27713
  });
26498
27714
  }
26499
27715
  }
27716
+ /**
27717
+ * @internal Used to enable other components to set the active toggle button when toggle button group is in a shadow dom.
27718
+ */
27719
+ async setActiveToggle(toggle) {
27720
+ this.externallySetActiveToggle = toggle;
27721
+ }
26500
27722
  componentWillLoad() {
26501
27723
  if (this.selectType === "multi")
26502
27724
  this.selectMethod = "manual";
@@ -26525,14 +27747,14 @@ class ToggleButtonGroup {
26525
27747
  }
26526
27748
  render() {
26527
27749
  const { accessibleLabel, disabled, fullWidth, loading, monochrome, outline, theme, } = this;
26528
- return (hAsync(Host, { key: '57a5273a71510ce0c22fec40fa9bd924b475c185', role: "group", "aria-label": accessibleLabel, tabindex: disabled ? -1 : 0, class: {
27750
+ return (hAsync(Host, { key: '5ae12c9f09c65a04cbe1f19850998c0d942327c8', role: "group", "aria-label": accessibleLabel, tabindex: disabled ? -1 : 0, class: {
26529
27751
  "ic-toggle-button-group-disabled": disabled,
26530
27752
  "ic-toggle-button-group-full-width": fullWidth,
26531
27753
  "ic-toggle-button-group-loading": loading,
26532
27754
  "ic-toggle-button-group-monochrome": monochrome,
26533
27755
  "ic-toggle-button-group-hide-outline": !outline,
26534
27756
  [`ic-theme-${theme}`]: theme !== "inherit",
26535
- }, onFocus: this.handleHostFocus }, hAsync("slot", { key: '2d957f4dec7d5c097a39be86538c2dcea68cffdc' })));
27757
+ }, onFocus: this.handleHostFocus }, hAsync("slot", { key: '02c4f4cd7df626d4032246bdbcd7e07d2167ba52' })));
26536
27758
  }
26537
27759
  get el() { return getElement(this); }
26538
27760
  static get watchers() { return {
@@ -26564,7 +27786,9 @@ class ToggleButtonGroup {
26564
27786
  "theme": [1],
26565
27787
  "tooltipPlacement": [1, "tooltip-placement"],
26566
27788
  "variant": [513],
26567
- "lastKeyPressed": [32]
27789
+ "lastKeyPressed": [32],
27790
+ "externallySetActiveToggle": [32],
27791
+ "setActiveToggle": [64]
26568
27792
  },
26569
27793
  "$listeners$": [[0, "icToggleChecked", "selectHandler"]],
26570
27794
  "$lazyBundleId$": "-",
@@ -27378,7 +28602,7 @@ class TreeItem {
27378
28602
  rel: this.rel,
27379
28603
  target: this.target,
27380
28604
  };
27381
- return (hAsync(Host, { key: '735aa762f3a11335e21af5ce963b703bc85e0070', class: {
28605
+ return (hAsync(Host, { key: '2b66767ebcadc7f0d59c0e2309424e01dbc49410', class: {
27382
28606
  "ic-tree-item-disabled": disabled,
27383
28607
  "ic-tree-item-selected": !disabled && selected,
27384
28608
  [`ic-tree-item-${size}`]: size !== "medium",
@@ -27389,7 +28613,7 @@ class TreeItem {
27389
28613
  }, tabIndex: disabled ? -1 : 0, onClick: this.handleTreeItemClicked, ref: (el) => (this.treeItemElement = el), "aria-disabled": disabled ? "true" : "false", "aria-live": "polite" }, attrs, { onFocus: () => this.handleDisplayTooltip(true), onBlur: () => this.handleDisplayTooltip(false) }), this.isParent && (hAsync("span", { class: {
27390
28614
  ["arrow-dropdown"]: true,
27391
28615
  ["tree-item-expanded"]: expanded,
27392
- }, "aria-hidden": "true", innerHTML: arrowDropdown })), isSlotUsed(this.el, "icon") && (hAsync("div", { class: "icon-container" }, hAsync("slot", { name: "icon" }))), hAsync("ic-typography", { class: "tree-item-label" }, isSlotUsed(this.el, "label") ? hAsync("slot", { name: "label" }) : label))), expanded && (hAsync("div", { key: 'ca3bf6979ae492a45fadd0e5cac144139511842f', "aria-hidden": `${!expanded}` }, hAsync("slot", { key: 'e7142f27b9d7d753ace48748ea1d74266c9940e2' })))));
28616
+ }, "aria-hidden": "true", innerHTML: arrowDropdown })), isSlotUsed(this.el, "icon") && (hAsync("div", { class: "icon-container" }, hAsync("slot", { name: "icon" }))), hAsync("ic-typography", { class: "tree-item-label" }, isSlotUsed(this.el, "label") ? hAsync("slot", { name: "label" }) : label))), expanded && (hAsync("div", { key: '1806805bf01bf7d6320b753a2ed577ea08b8f716', "aria-hidden": `${!expanded}` }, hAsync("slot", { key: '2c7de11af3f2248a6c7ca57d43f56851046cc26a' })))));
27393
28617
  }
27394
28618
  get el() { return getElement(this); }
27395
28619
  static get watchers() { return {
@@ -27746,14 +28970,14 @@ class TreeView {
27746
28970
  }
27747
28971
  render() {
27748
28972
  const { heading, isLoaded, size, theme, truncateHeading } = this;
27749
- return (hAsync(Host, { key: '28757cb9ec7287dbeca529a06194945e85d59961', "context-id": this.treeViewId, class: {
28973
+ return (hAsync(Host, { key: 'b64c96601e14f028d70d42596ab73c3adcc5c50c', "context-id": this.treeViewId, class: {
27750
28974
  [`ic-tree-view-${size}`]: size !== "medium",
27751
28975
  [`ic-theme-${theme}`]: theme !== "inherit",
27752
28976
  "ic-tree-view-truncate": truncateHeading,
27753
- }, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (hAsync("div", { key: '5f60334aa3bcb1981f838f2961a363ac8c71e836', class: "heading-area-container" }, isSlotUsed(this.el, "icon") && (hAsync("div", { key: '547a4d855e7f595504b3eec6df1b49913b85bbbf', class: "icon-container" }, hAsync("slot", { key: 'bd75707980d222e48aa143c4bf9b06be06d2b9e3', name: "icon" }))), hAsync("ic-typography", { key: 'c272371c592cf629a8ac4bcc0f4e6b907e27e526', variant: "subtitle-large", class: {
28977
+ }, onKeyDown: this.handleKeyDown, "aria-label": this.isHeadingDefined() ? heading : null }, this.hasHeadingAreaContent() && (hAsync("div", { key: '2147d52cb5d094a6b2030707832e7986452ec793', class: "heading-area-container" }, isSlotUsed(this.el, "icon") && (hAsync("div", { key: '884b18baa7bf9a6530578e14e554e7da405184e4', class: "icon-container" }, hAsync("slot", { key: 'a7b165ab9a5851dd0006a0ed2d58299c6cce8008', name: "icon" }))), hAsync("ic-typography", { key: 'b851dc0c5d16d8127ba3e3e0c0efdbbb2675bdd4', variant: "subtitle-large", class: {
27754
28978
  "tree-view-header": true,
27755
28979
  "with-padding": this.truncateHeading && !isLoaded,
27756
- } }, isSlotUsed(this.el, "heading") ? (hAsync("slot", { name: "heading" })) : (heading)))), hAsync("slot", { key: '7cd22f3cf4e5eb8850632aca6a8f8c2e4e26d743' })));
28980
+ } }, isSlotUsed(this.el, "heading") ? (hAsync("slot", { name: "heading" })) : (heading)))), hAsync("slot", { key: '1e2577f386a2121c89644f395358fb746eb63cd1' })));
27757
28981
  }
27758
28982
  get el() { return getElement(this); }
27759
28983
  static get watchers() { return {
@@ -28067,6 +29291,7 @@ registerComponents([
28067
29291
  TextField,
28068
29292
  Theme,
28069
29293
  TimeInput,
29294
+ TimeSelector,
28070
29295
  Toast,
28071
29296
  ToastRegion,
28072
29297
  ToggleButton,