@ukic/canary-web-components 3.0.0-canary.31 → 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 (388) 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 +19 -7
  8. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-data-table.cjs.entry.js +13 -8
  13. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-footer.cjs.entry.js +9 -5
  16. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-menu.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  23. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
  27. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
  31. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-time-input.cjs.entry.js +401 -99
  36. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-time-selector.cjs.entry.js +842 -0
  38. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ic-toast.cjs.entry.js +14 -6
  40. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  41. package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +274 -1
  42. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
  43. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  44. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  45. package/dist/cjs/index-d337cd8a.js +8 -8
  46. package/dist/cjs/loader.cjs.js +1 -1
  47. package/dist/collection/collection-manifest.json +1 -0
  48. package/dist/collection/components/ic-calendar/ic-calendar.css +13 -7
  49. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
  50. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
  51. package/dist/collection/components/ic-data-table/ic-data-table.js +13 -8
  52. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  53. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +78 -6
  54. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  55. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
  56. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
  57. package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
  58. package/dist/collection/components/ic-time-input/ic-time-input.js +434 -106
  59. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  60. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +58 -9
  61. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  62. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
  63. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
  64. package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
  65. package/dist/collection/components/ic-time-selector/ic-time-selector.js +1075 -0
  66. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
  67. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +166 -0
  68. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
  69. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
  70. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
  71. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  72. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  73. package/dist/collection/utils/helpers.js +35 -0
  74. package/dist/collection/utils/helpers.js.map +1 -1
  75. package/dist/collection/utils/types.js.map +1 -1
  76. package/dist/components/helpers2.js +36 -1
  77. package/dist/components/helpers2.js.map +1 -1
  78. package/dist/components/ic-calendar2.js +1 -1
  79. package/dist/components/ic-calendar2.js.map +1 -1
  80. package/dist/components/ic-checkbox2.js.map +1 -1
  81. package/dist/components/ic-data-list.js.map +1 -1
  82. package/dist/components/ic-data-row.js.map +1 -1
  83. package/dist/components/ic-data-table.js +12 -7
  84. package/dist/components/ic-data-table.js.map +1 -1
  85. package/dist/components/ic-footer.js +10 -5
  86. package/dist/components/ic-footer.js.map +1 -1
  87. package/dist/components/ic-hero.js.map +1 -1
  88. package/dist/components/ic-input-component-container2.js +1 -1
  89. package/dist/components/ic-input-component-container2.js.map +1 -1
  90. package/dist/components/ic-input-validation2.js +1 -1
  91. package/dist/components/ic-input-validation2.js.map +1 -1
  92. package/dist/components/ic-menu2.js +1 -1
  93. package/dist/components/ic-menu2.js.map +1 -1
  94. package/dist/components/ic-navigation-group.js +1 -1
  95. package/dist/components/ic-navigation-group.js.map +1 -1
  96. package/dist/components/ic-navigation-item.js +1 -1
  97. package/dist/components/ic-navigation-item.js.map +1 -1
  98. package/dist/components/ic-pagination-bar2.js +21 -6
  99. package/dist/components/ic-pagination-bar2.js.map +1 -1
  100. package/dist/components/ic-pagination2.js +9 -4
  101. package/dist/components/ic-pagination2.js.map +1 -1
  102. package/dist/components/ic-radio-group.js +1 -1
  103. package/dist/components/ic-radio-group.js.map +1 -1
  104. package/dist/components/ic-radio-option.js +10 -7
  105. package/dist/components/ic-radio-option.js.map +1 -1
  106. package/dist/components/ic-search-bar.js +1 -1
  107. package/dist/components/ic-search-bar.js.map +1 -1
  108. package/dist/components/ic-time-input.js +431 -112
  109. package/dist/components/ic-time-input.js.map +1 -1
  110. package/dist/components/ic-time-selector.d.ts +11 -0
  111. package/dist/components/ic-time-selector.js +898 -0
  112. package/dist/components/ic-time-selector.js.map +1 -0
  113. package/dist/components/ic-toast.js +15 -6
  114. package/dist/components/ic-toast.js.map +1 -1
  115. package/dist/components/ic-toggle-button-group.js +1 -299
  116. package/dist/components/ic-toggle-button-group.js.map +1 -1
  117. package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
  118. package/dist/components/ic-toggle-button-group2.js.map +1 -0
  119. package/dist/components/ic-toggle-button.js +1 -228
  120. package/dist/components/ic-toggle-button.js.map +1 -1
  121. package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +65 -10
  122. package/dist/components/ic-toggle-button2.js.map +1 -0
  123. package/dist/components/ic-tree-item.js +2 -2
  124. package/dist/components/ic-tree-view.js +4 -4
  125. package/dist/core/core.css +28 -6
  126. package/dist/core/core.esm.js +1 -1
  127. package/dist/core/core.esm.js.map +1 -1
  128. package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
  129. package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
  130. package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
  131. package/dist/core/p-169ad948.entry.js.map +1 -0
  132. package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
  133. package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
  134. package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
  135. package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
  136. package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
  137. package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
  138. package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
  139. package/dist/core/{p-ffbf493f.entry.js → p-496b314f.entry.js} +2 -2
  140. package/dist/core/p-496b314f.entry.js.map +1 -0
  141. package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
  142. package/dist/core/p-551a0fc1.entry.js +2 -0
  143. package/dist/core/p-551a0fc1.entry.js.map +1 -0
  144. package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
  145. package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
  146. package/dist/core/p-61c92598.entry.js +2 -0
  147. package/dist/core/p-61c92598.entry.js.map +1 -0
  148. package/dist/core/{p-e00e67ff.entry.js → p-6323da7a.entry.js} +2 -2
  149. package/dist/core/p-691dd972.entry.js +2 -0
  150. package/dist/core/p-691dd972.entry.js.map +1 -0
  151. package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
  152. package/dist/core/p-71cc5909.entry.js +2 -0
  153. package/dist/core/p-71cc5909.entry.js.map +1 -0
  154. package/dist/core/p-770e92cd.entry.js +2 -0
  155. package/dist/core/p-770e92cd.entry.js.map +1 -0
  156. package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
  157. package/dist/core/p-7b4b45cf.entry.js +2 -0
  158. package/dist/core/p-7b4b45cf.entry.js.map +1 -0
  159. package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
  160. package/dist/core/p-802a4bd3.entry.js +2 -0
  161. package/dist/core/p-802a4bd3.entry.js.map +1 -0
  162. package/dist/core/p-829b34f9.js +2 -0
  163. package/dist/core/p-829b34f9.js.map +1 -0
  164. package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
  165. package/dist/core/{p-3891ce53.entry.js → p-8830011c.entry.js} +2 -2
  166. package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
  167. package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
  168. package/dist/core/p-939b168a.entry.js +2 -0
  169. package/dist/core/p-939b168a.entry.js.map +1 -0
  170. package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
  171. package/dist/core/{p-af821831.entry.js → p-a88e61b2.entry.js} +2 -2
  172. package/dist/core/p-a88e61b2.entry.js.map +1 -0
  173. package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
  174. package/dist/core/{p-31f3fb15.entry.js → p-a94a7b71.entry.js} +2 -2
  175. package/dist/core/p-ad551a0c.entry.js +2 -0
  176. package/dist/core/p-ad551a0c.entry.js.map +1 -0
  177. package/dist/core/{p-ba75ed34.entry.js → p-b434bd7c.entry.js} +2 -2
  178. package/dist/core/p-b4a2f6fa.entry.js.map +1 -1
  179. package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
  180. package/dist/core/p-c0b227d2.entry.js +2 -0
  181. package/dist/core/p-c0b227d2.entry.js.map +1 -0
  182. package/dist/core/{p-2646a629.entry.js → p-c32f043e.entry.js} +2 -2
  183. package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
  184. package/dist/core/p-c9525aac.entry.js +2 -0
  185. package/dist/core/p-c9525aac.entry.js.map +1 -0
  186. package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
  187. package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
  188. package/dist/core/{p-15c05eb8.entry.js → p-d528d856.entry.js} +2 -2
  189. package/dist/core/{p-0043b019.entry.js → p-da1c2883.entry.js} +2 -2
  190. package/dist/core/{p-ffc1cea6.entry.js → p-e2e556ec.entry.js} +2 -2
  191. package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
  192. package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
  193. package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
  194. package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
  195. package/dist/core/{p-9a95f428.entry.js → p-eaeb473e.entry.js} +2 -2
  196. package/dist/core/p-eaeb473e.entry.js.map +1 -0
  197. package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
  198. package/dist/core/p-efe260f0.entry.js +2 -0
  199. package/dist/core/p-efe260f0.entry.js.map +1 -0
  200. package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
  201. package/dist/core/p-f5dc04f7.entry.js +2 -0
  202. package/dist/core/p-f5dc04f7.entry.js.map +1 -0
  203. package/dist/core/p-fb07921b.entry.js +2 -0
  204. package/dist/core/p-fb07921b.entry.js.map +1 -0
  205. package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
  206. package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
  207. package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
  208. package/dist/esm/core.js +1 -1
  209. package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
  210. package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
  211. package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
  212. package/dist/esm/helpers-a08b3f32.js.map +1 -0
  213. package/dist/esm/ic-accordion-group.entry.js +1 -1
  214. package/dist/esm/ic-accordion.entry.js +1 -1
  215. package/dist/esm/ic-action-chip.entry.js +1 -1
  216. package/dist/esm/ic-alert.entry.js +1 -1
  217. package/dist/esm/ic-back-to-top.entry.js +1 -1
  218. package/dist/esm/ic-badge.entry.js +1 -1
  219. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  220. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  221. package/dist/esm/ic-button_3.entry.js +1 -1
  222. package/dist/esm/ic-calendar_2.entry.js +2 -2
  223. package/dist/esm/ic-calendar_2.entry.js.map +1 -1
  224. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  225. package/dist/esm/ic-card-vertical.entry.js +1 -1
  226. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  227. package/dist/esm/ic-checkbox_3.entry.js +20 -8
  228. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  229. package/dist/esm/ic-chip.entry.js +1 -1
  230. package/dist/esm/ic-data-list.entry.js.map +1 -1
  231. package/dist/esm/ic-data-row.entry.js +1 -1
  232. package/dist/esm/ic-data-row.entry.js.map +1 -1
  233. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  234. package/dist/esm/ic-data-table.entry.js +13 -8
  235. package/dist/esm/ic-data-table.entry.js.map +1 -1
  236. package/dist/esm/ic-date-picker.entry.js +1 -1
  237. package/dist/esm/ic-dialog.entry.js +1 -1
  238. package/dist/esm/ic-divider.entry.js +1 -1
  239. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  240. package/dist/esm/ic-footer-link.entry.js +1 -1
  241. package/dist/esm/ic-footer.entry.js +10 -6
  242. package/dist/esm/ic-footer.entry.js.map +1 -1
  243. package/dist/esm/ic-hero.entry.js +1 -1
  244. package/dist/esm/ic-hero.entry.js.map +1 -1
  245. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  246. package/dist/esm/ic-input-component-container_4.entry.js +3 -3
  247. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  248. package/dist/esm/ic-link.entry.js +1 -1
  249. package/dist/esm/ic-menu-group.entry.js +1 -1
  250. package/dist/esm/ic-menu-item.entry.js +1 -1
  251. package/dist/esm/ic-menu.entry.js +2 -2
  252. package/dist/esm/ic-menu.entry.js.map +1 -1
  253. package/dist/esm/ic-navigation-button.entry.js +1 -1
  254. package/dist/esm/ic-navigation-group.entry.js +2 -2
  255. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  256. package/dist/esm/ic-navigation-item.entry.js +2 -2
  257. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  258. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  259. package/dist/esm/ic-page-header.entry.js +1 -1
  260. package/dist/esm/ic-pagination_4.entry.js +9 -5
  261. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  262. package/dist/esm/ic-popover-menu.entry.js +1 -1
  263. package/dist/esm/ic-radio-group.entry.js +2 -2
  264. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  265. package/dist/esm/ic-radio-option.entry.js +10 -7
  266. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  267. package/dist/esm/ic-search-bar.entry.js +2 -2
  268. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  269. package/dist/esm/ic-side-navigation.entry.js +1 -1
  270. package/dist/esm/ic-status-tag.entry.js +1 -1
  271. package/dist/esm/ic-step.entry.js +1 -1
  272. package/dist/esm/ic-stepper.entry.js +1 -1
  273. package/dist/esm/ic-switch.entry.js +1 -1
  274. package/dist/esm/ic-tab-group.entry.js +1 -1
  275. package/dist/esm/ic-tab.entry.js +1 -1
  276. package/dist/esm/ic-table-of-contents.entry.js +1 -1
  277. package/dist/esm/ic-theme.entry.js +1 -1
  278. package/dist/esm/ic-time-input.entry.js +401 -99
  279. package/dist/esm/ic-time-input.entry.js.map +1 -1
  280. package/dist/esm/ic-time-selector.entry.js +838 -0
  281. package/dist/esm/ic-time-selector.entry.js.map +1 -0
  282. package/dist/esm/ic-toast.entry.js +15 -7
  283. package/dist/esm/ic-toast.entry.js.map +1 -1
  284. package/dist/esm/ic-toggle-button_2.entry.js +449 -0
  285. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
  286. package/dist/esm/ic-top-navigation.entry.js +1 -1
  287. package/dist/esm/ic-tree-item.entry.js +3 -3
  288. package/dist/esm/ic-tree-view.entry.js +4 -4
  289. package/dist/esm/ic-typography.entry.js +1 -1
  290. package/dist/esm/index-a7a720e7.js +8 -8
  291. package/dist/esm/loader.js +1 -1
  292. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
  293. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +12 -0
  294. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
  295. package/dist/types/components/ic-time-input/ic-time-input.d.ts +26 -6
  296. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
  297. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
  298. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +88 -0
  299. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +99 -0
  300. package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
  301. package/dist/types/components.d.ts +163 -11
  302. package/dist/types/utils/helpers.d.ts +14 -0
  303. package/dist/types/utils/types.d.ts +4 -1
  304. package/hydrate/index.js +1410 -156
  305. package/hydrate/index.mjs +1410 -156
  306. package/package.json +30 -30
  307. package/dist/cjs/helpers-6f4b406b.js.map +0 -1
  308. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
  309. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
  310. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
  311. package/dist/core/p-1a976789.entry.js +0 -2
  312. package/dist/core/p-1a976789.entry.js.map +0 -1
  313. package/dist/core/p-3ba2b455.entry.js +0 -2
  314. package/dist/core/p-3ba2b455.entry.js.map +0 -1
  315. package/dist/core/p-41def410.entry.js +0 -2
  316. package/dist/core/p-41def410.entry.js.map +0 -1
  317. package/dist/core/p-4b188516.entry.js +0 -2
  318. package/dist/core/p-4b188516.entry.js.map +0 -1
  319. package/dist/core/p-5b32aaf3.entry.js +0 -2
  320. package/dist/core/p-5b32aaf3.entry.js.map +0 -1
  321. package/dist/core/p-7332320d.entry.js +0 -2
  322. package/dist/core/p-7332320d.entry.js.map +0 -1
  323. package/dist/core/p-81f12581.entry.js.map +0 -1
  324. package/dist/core/p-9044539c.entry.js +0 -2
  325. package/dist/core/p-9044539c.entry.js.map +0 -1
  326. package/dist/core/p-9a95f428.entry.js.map +0 -1
  327. package/dist/core/p-9f76eed6.entry.js +0 -2
  328. package/dist/core/p-9f76eed6.entry.js.map +0 -1
  329. package/dist/core/p-a1448064.entry.js +0 -2
  330. package/dist/core/p-a1448064.entry.js.map +0 -1
  331. package/dist/core/p-a237af88.entry.js +0 -2
  332. package/dist/core/p-a237af88.entry.js.map +0 -1
  333. package/dist/core/p-af821831.entry.js.map +0 -1
  334. package/dist/core/p-ba21f477.entry.js +0 -2
  335. package/dist/core/p-ba21f477.entry.js.map +0 -1
  336. package/dist/core/p-c3eddb99.entry.js +0 -2
  337. package/dist/core/p-c3eddb99.entry.js.map +0 -1
  338. package/dist/core/p-c5d65718.entry.js +0 -2
  339. package/dist/core/p-c5d65718.entry.js.map +0 -1
  340. package/dist/core/p-d144ca59.entry.js +0 -2
  341. package/dist/core/p-d144ca59.entry.js.map +0 -1
  342. package/dist/core/p-f48ce5f6.js +0 -2
  343. package/dist/core/p-f48ce5f6.js.map +0 -1
  344. package/dist/core/p-ffbf493f.entry.js.map +0 -1
  345. package/dist/esm/helpers-9f228880.js.map +0 -1
  346. package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
  347. package/dist/esm/ic-toggle-button.entry.js.map +0 -1
  348. /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
  349. /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
  350. /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
  351. /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
  352. /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
  353. /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
  354. /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
  355. /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
  356. /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
  357. /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
  358. /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
  359. /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
  360. /package/dist/core/{p-e00e67ff.entry.js.map → p-6323da7a.entry.js.map} +0 -0
  361. /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
  362. /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
  363. /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
  364. /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
  365. /package/dist/core/{p-3891ce53.entry.js.map → p-8830011c.entry.js.map} +0 -0
  366. /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
  367. /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
  368. /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
  369. /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
  370. /package/dist/core/{p-31f3fb15.entry.js.map → p-a94a7b71.entry.js.map} +0 -0
  371. /package/dist/core/{p-ba75ed34.entry.js.map → p-b434bd7c.entry.js.map} +0 -0
  372. /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
  373. /package/dist/core/{p-2646a629.entry.js.map → p-c32f043e.entry.js.map} +0 -0
  374. /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
  375. /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
  376. /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
  377. /package/dist/core/{p-15c05eb8.entry.js.map → p-d528d856.entry.js.map} +0 -0
  378. /package/dist/core/{p-0043b019.entry.js.map → p-da1c2883.entry.js.map} +0 -0
  379. /package/dist/core/{p-ffc1cea6.entry.js.map → p-e2e556ec.entry.js.map} +0 -0
  380. /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
  381. /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
  382. /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
  383. /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
  384. /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
  385. /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
  386. /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
  387. /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
  388. /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
@@ -0,0 +1,898 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { z as parseTimeHelper } from './helpers2.js';
3
+ import { d as defineCustomElement$5 } from './ic-button2.js';
4
+ import { d as defineCustomElement$4 } from './ic-loading-indicator2.js';
5
+ import { d as defineCustomElement$3 } from './ic-tooltip2.js';
6
+ import { d as defineCustomElement$2 } from './ic-typography2.js';
7
+
8
+ const Check = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
9
+ <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"/>
10
+ </svg>
11
+ `;
12
+
13
+ const Clear = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
14
+ <path d="M0 0h24v24H0z" fill="none"/>
15
+ <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"/>
16
+ <title>close icon</title>
17
+ </svg>
18
+ `;
19
+
20
+ 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}}";
21
+ const IcTimeSelectorStyle0 = icTimeSelectorCss;
22
+
23
+ const COLUMN_TYPES = ["hour", "minute", "second", "period"];
24
+ const COLUMN_CLASS = ".ic-time-selector-column";
25
+ const ITEM_CLASS = ".ic-time-selector-item";
26
+ const TimeSelector = /*@__PURE__*/ proxyCustomElement(class TimeSelector extends HTMLElement {
27
+ constructor() {
28
+ super();
29
+ this.__registerHost();
30
+ this.__attachShadow();
31
+ this.icChange = createEvent(this, "icChange", 7);
32
+ this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
33
+ this.minutes = Array.from({ length: 60 }, (_, i) => i);
34
+ this.seconds = Array.from({ length: 60 }, (_, i) => i);
35
+ this.periods = ["AM", "PM"];
36
+ this.minTime = null;
37
+ this.maxTime = null;
38
+ this.ariaLiveMessage = "";
39
+ /**
40
+ * 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.
41
+ */
42
+ this.disableTimes = [];
43
+ /**
44
+ * 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.
45
+ */
46
+ this.min = "";
47
+ /**
48
+ * 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.
49
+ */
50
+ this.max = "";
51
+ /**
52
+ * The size of the time selector to be displayed.
53
+ */
54
+ this.size = "medium";
55
+ /**
56
+ * 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.
57
+ */
58
+ this.theme = "inherit";
59
+ /**
60
+ * The format in which the time will be displayed.
61
+ */
62
+ this.timeFormat = this.DEFAULT_TIME_FORMAT;
63
+ /**
64
+ * The time period format: "12" for 12-hour, "24" for 24-hour. Defaults to "24".
65
+ */
66
+ this.timePeriod = "24";
67
+ /**
68
+ * 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.
69
+ */
70
+ this.value = "";
71
+ this.setTimeParts = (hour, minute, second) => {
72
+ let period = "AM";
73
+ if (this.timePeriod === "12") {
74
+ if (hour === 0) {
75
+ hour = 12;
76
+ period = "AM";
77
+ }
78
+ else if (hour === 12) {
79
+ period = "PM";
80
+ }
81
+ else if (hour > 12) {
82
+ hour = hour - 12;
83
+ period = "PM";
84
+ }
85
+ else {
86
+ period = "AM";
87
+ }
88
+ this.selectedHour = hour;
89
+ this.selectedPeriod = period;
90
+ }
91
+ else {
92
+ this.selectedHour = hour;
93
+ }
94
+ this.selectedMinute = minute;
95
+ this.selectedSecond = second;
96
+ };
97
+ this.checkIfScrollIsFinished = (column, scrollTop) => {
98
+ const isScrollFinished = setInterval(() => {
99
+ if (column.scrollTop === scrollTop + 56) {
100
+ column === null || column === void 0 ? void 0 : column.focus();
101
+ clearInterval(isScrollFinished);
102
+ }
103
+ }, 25);
104
+ };
105
+ this.handleSelect = (type, value) => {
106
+ var _a;
107
+ const prevValue = this.getSelectedValue(type);
108
+ switch (type) {
109
+ case "hour":
110
+ this.selectedHour = Number(value);
111
+ break;
112
+ case "minute":
113
+ this.selectedMinute = Number(value);
114
+ break;
115
+ case "second":
116
+ this.selectedSecond = Number(value);
117
+ break;
118
+ case "period":
119
+ this.selectedPeriod = value;
120
+ break;
121
+ }
122
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
123
+ const idx = COLUMN_TYPES.indexOf(type);
124
+ if (columns && columns[idx]) {
125
+ columns[idx].focus();
126
+ window.requestAnimationFrame(() => {
127
+ this.scrollSelectedItem(type);
128
+ });
129
+ }
130
+ if (prevValue === undefined || prevValue === null) {
131
+ this.announceSelectedColumn(type);
132
+ }
133
+ else {
134
+ this.lastAnnouncedType = type;
135
+ this.lastAnnouncedValue = this.getSelectedValue(type);
136
+ }
137
+ };
138
+ this.isTimeDisabled = (hour, minute, second, type) => {
139
+ var _a, _b, _c, _d;
140
+ for (const t of this.disableTimes) {
141
+ if (typeof t === "string" || t instanceof Date) {
142
+ const parts = parseTimeHelper(t).parts;
143
+ if (parts &&
144
+ parts.hour === hour &&
145
+ parts.minute === minute &&
146
+ parts.second === second) {
147
+ return true;
148
+ }
149
+ }
150
+ else if (t && typeof t === "object" && "start" in t && "end" in t) {
151
+ const startParts = parseTimeHelper(t.start).parts;
152
+ const endParts = parseTimeHelper(t.end).parts;
153
+ if (startParts && endParts) {
154
+ const timeVal = hour * 3600 + minute * 60 + second;
155
+ const startVal = startParts.hour * 3600 + startParts.minute * 60 + startParts.second;
156
+ const endVal = endParts.hour * 3600 + endParts.minute * 60 + endParts.second;
157
+ if (timeVal >= startVal && timeVal <= endVal) {
158
+ return true;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ if (this.min) {
164
+ this.minTime = parseTimeHelper(this.min).date;
165
+ if (this.minTime) {
166
+ const minHour = this.minTime.getHours();
167
+ const minMinute = this.minTime.getMinutes();
168
+ const minSecond = this.minTime.getSeconds();
169
+ if (type === "hour") {
170
+ const highlightedMinute = (_a = this.selectedMinute) !== null && _a !== void 0 ? _a : minMinute;
171
+ const highlightedSecond = (_b = this.selectedSecond) !== null && _b !== void 0 ? _b : minSecond;
172
+ if (hour < minHour ||
173
+ (hour === minHour && highlightedMinute < minMinute) ||
174
+ (hour === minHour &&
175
+ highlightedMinute === minMinute &&
176
+ highlightedSecond < minSecond)) {
177
+ return true;
178
+ }
179
+ }
180
+ else if (type === "minute") {
181
+ if (hour === minHour && minute < minMinute) {
182
+ return true;
183
+ }
184
+ }
185
+ else if (type === "second") {
186
+ if (hour === minHour && minute === minMinute && second < minSecond) {
187
+ return true;
188
+ }
189
+ }
190
+ else {
191
+ if (hour < minHour ||
192
+ (hour === minHour && minute < minMinute) ||
193
+ (hour === minHour && minute === minMinute && second < minSecond)) {
194
+ return true;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ if (this.max) {
200
+ this.maxTime = parseTimeHelper(this.max).date;
201
+ if (this.maxTime) {
202
+ const maxHour = this.maxTime.getHours();
203
+ const maxMinute = this.maxTime.getMinutes();
204
+ const maxSecond = this.maxTime.getSeconds();
205
+ if (type === "hour") {
206
+ const selectedMinute = (_c = this.selectedMinute) !== null && _c !== void 0 ? _c : 59;
207
+ const selectedSecond = (_d = this.selectedSecond) !== null && _d !== void 0 ? _d : 59;
208
+ if (hour > maxHour ||
209
+ (hour === maxHour && selectedMinute > maxMinute) ||
210
+ (hour === maxHour &&
211
+ selectedMinute === maxMinute &&
212
+ selectedSecond > maxSecond)) {
213
+ return true;
214
+ }
215
+ }
216
+ else if (type === "minute") {
217
+ if (hour === maxHour && minute > maxMinute) {
218
+ return true;
219
+ }
220
+ }
221
+ else if (type === "second") {
222
+ if (hour === maxHour && minute === maxMinute && second > maxSecond) {
223
+ return true;
224
+ }
225
+ }
226
+ else {
227
+ if (hour > maxHour ||
228
+ (hour === maxHour && minute > maxMinute) ||
229
+ (hour === maxHour && minute === maxMinute && second > maxSecond)) {
230
+ return true;
231
+ }
232
+ }
233
+ }
234
+ }
235
+ return false;
236
+ };
237
+ this.handleColumnKeyDown = (type, event) => {
238
+ var _a, _b, _c, _d, _e, _f, _g;
239
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
240
+ const idx = COLUMN_TYPES.indexOf(type);
241
+ if (!columns)
242
+ return;
243
+ const values = this.getColumnValues(type);
244
+ const selected = this.getSelectedValue(type);
245
+ const col = columns[idx];
246
+ if (!col)
247
+ return;
248
+ const selectHighlighted = () => {
249
+ const highlighted = this.getHighlightedValue(type, col);
250
+ if (highlighted !== null) {
251
+ this.handleSelect(type, highlighted);
252
+ }
253
+ else if (values.length > 0) {
254
+ this.handleSelect(type, values[0]);
255
+ }
256
+ };
257
+ switch (event.key) {
258
+ case "Enter":
259
+ case " ":
260
+ event.preventDefault();
261
+ selectHighlighted();
262
+ return;
263
+ case "ArrowRight":
264
+ event.preventDefault();
265
+ selectHighlighted();
266
+ if (idx < columns.length - 1) {
267
+ (_b = columns[idx + 1]) === null || _b === void 0 ? void 0 : _b.focus();
268
+ }
269
+ return;
270
+ case "ArrowLeft":
271
+ event.preventDefault();
272
+ if (idx > 0)
273
+ (_c = columns[idx - 1]) === null || _c === void 0 ? void 0 : _c.focus();
274
+ return;
275
+ case "Tab":
276
+ if (event.shiftKey) {
277
+ if (idx === 0) {
278
+ return;
279
+ }
280
+ else {
281
+ event.preventDefault();
282
+ (_d = columns[idx - 1]) === null || _d === void 0 ? void 0 : _d.focus();
283
+ }
284
+ }
285
+ else {
286
+ event.preventDefault();
287
+ selectHighlighted();
288
+ this.announceSelectedColumn(type);
289
+ if (idx < columns.length - 1) {
290
+ (_e = columns[idx + 1]) === null || _e === void 0 ? void 0 : _e.focus();
291
+ }
292
+ else {
293
+ (_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();
294
+ this.updateAriaLiveMessage();
295
+ }
296
+ }
297
+ return;
298
+ case "ArrowUp":
299
+ case "ArrowDown": {
300
+ let idxInValues = values.findIndex((v) => v === selected);
301
+ if (idxInValues === -1)
302
+ idxInValues = 0;
303
+ let newIdx = idxInValues;
304
+ const direction = event.key === "ArrowUp" ? -1 : 1;
305
+ const maxIdx = values.length - 1;
306
+ do {
307
+ newIdx += direction;
308
+ } while (newIdx >= 0 &&
309
+ newIdx <= maxIdx &&
310
+ (() => {
311
+ var _a, _b, _c;
312
+ if (type === "hour" || type === "minute" || type === "second") {
313
+ const hour = type === "hour"
314
+ ? values[newIdx]
315
+ : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
316
+ const minute = type === "minute"
317
+ ? values[newIdx]
318
+ : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
319
+ const second = type === "second"
320
+ ? values[newIdx]
321
+ : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
322
+ return this.isTimeDisabled(hour, minute, second);
323
+ }
324
+ return false;
325
+ })());
326
+ this.ariaLiveMessage = `Selected ${type}: ${values[newIdx]}`;
327
+ if (newIdx >= 0 && newIdx <= maxIdx && newIdx !== idxInValues) {
328
+ this.handleSelect(type, values[newIdx]);
329
+ }
330
+ return;
331
+ }
332
+ default:
333
+ return;
334
+ }
335
+ };
336
+ this.renderColumn = (type, values, selected) => {
337
+ const isTimeColumn = type === "hour" || type === "minute" || type === "second";
338
+ const isPeriodColumn = type === "period";
339
+ const headerLabel = this.getHeaderLabel(type);
340
+ const topSpacerCount = 2;
341
+ let bottomSpacerCount = 6;
342
+ if (this.size === "large") {
343
+ bottomSpacerCount = 5;
344
+ }
345
+ else if (this.size === "small") {
346
+ bottomSpacerCount = 8;
347
+ }
348
+ return (h("div", { class: "ic-time-selector-column-wrapper" }, isPeriodColumn ? (h("div", { class: "ic-time-selector-header-row" })) : (headerLabel && (h("div", { class: "ic-time-selector-header-row" }, h("ic-typography", { variant: "subtitle-small" }, headerLabel)))), h("div", { class: {
349
+ "ic-time-selector-column": true,
350
+ "ic-time-selector-column-period": isPeriodColumn,
351
+ }, tabIndex: 0, onKeyDown: (e) => this.handleColumnKeyDown(type, e) }, h("ul", { class: "ic-time-selector-list", role: "listbox", "aria-label": type }, this.renderScrollRows(topSpacerCount, `${type}-top-spacer`), values.map((val) => {
352
+ var _a, _b, _c;
353
+ let disabled = false;
354
+ if (isTimeColumn) {
355
+ const hour = type === "hour" ? val : (_a = this.selectedHour) !== null && _a !== void 0 ? _a : 0;
356
+ const minute = type === "minute"
357
+ ? val
358
+ : (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : 0;
359
+ const second = type === "second"
360
+ ? val
361
+ : (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : 0;
362
+ disabled = this.isTimeDisabled(hour, minute, second, type);
363
+ }
364
+ return (h("li", { class: {
365
+ "ic-time-selector-item": true,
366
+ selected: val === selected,
367
+ disabled,
368
+ }, 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}` }, h("ic-typography", { variant: "subtitle-small" }, typeof val === "number"
369
+ ? val.toString().padStart(2, "0")
370
+ : val)));
371
+ }), (isTimeColumn || isPeriodColumn) &&
372
+ this.renderScrollRows(bottomSpacerCount, `${type}-bottom-spacer`)))));
373
+ };
374
+ this.handleClear = () => {
375
+ this.selectedHour = undefined;
376
+ this.scrollSelectedItem("hour", true);
377
+ this.selectedMinute = undefined;
378
+ this.scrollSelectedItem("minute", true);
379
+ this.selectedSecond = undefined;
380
+ this.scrollSelectedItem("second", true);
381
+ this.selectedPeriod = undefined;
382
+ this.scrollSelectedItem("period", true);
383
+ this.lastAnnouncedType = undefined;
384
+ this.lastAnnouncedValue = undefined;
385
+ this.icChange.emit({
386
+ value: null,
387
+ timeString: null,
388
+ timeObject: {
389
+ hour: null,
390
+ minute: null,
391
+ second: null,
392
+ period: undefined,
393
+ },
394
+ });
395
+ };
396
+ this.handleConfirmClick = () => {
397
+ const hour = this.selectedHour != null ? this.selectedHour : null;
398
+ const minute = this.selectedMinute != null ? this.selectedMinute : null;
399
+ const second = this.selectedSecond != null ? this.selectedSecond : null;
400
+ const period = this.selectedPeriod;
401
+ const hourStr = hour != null ? hour.toString().padStart(2, "0") : null;
402
+ const minuteStr = minute != null ? minute.toString().padStart(2, "0") : null;
403
+ const secondStr = second != null ? second.toString().padStart(2, "0") : null;
404
+ let allSelected = false;
405
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
406
+ allSelected = hour !== null && minute !== null && second !== null;
407
+ }
408
+ else {
409
+ allSelected = hour !== null && minute !== null;
410
+ }
411
+ let value = null;
412
+ let timeString = null;
413
+ if (allSelected) {
414
+ let date24hours = hour;
415
+ if (hour != null && period && this.timePeriod === "12") {
416
+ if (period === "PM" && hour < 12)
417
+ date24hours = hour + 12;
418
+ if (period === "AM" && hour === 12)
419
+ date24hours = 0;
420
+ }
421
+ value = new Date();
422
+ value.setHours(date24hours !== null && date24hours !== void 0 ? date24hours : 0);
423
+ value.setMinutes(minute !== null && minute !== void 0 ? minute : 0);
424
+ value.setSeconds(second !== null && second !== void 0 ? second : 0);
425
+ value.setMilliseconds(0);
426
+ if (this.timeFormat === "HH:MM") {
427
+ timeString = hourStr + ":" + minuteStr + (period ? " " + period : "");
428
+ }
429
+ else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
430
+ timeString =
431
+ hourStr +
432
+ ":" +
433
+ minuteStr +
434
+ ":" +
435
+ secondStr +
436
+ (period ? " " + period : "");
437
+ }
438
+ this.value = value;
439
+ }
440
+ this.icChange.emit({
441
+ value: allSelected ? value : null,
442
+ timeString: allSelected ? timeString : null,
443
+ timeObject: Object.assign({ hour: hourStr, minute: minuteStr, second: secondStr }, (period ? { period } : {})),
444
+ });
445
+ };
446
+ }
447
+ watchMinHandler() {
448
+ this.minTime = parseTimeHelper(this.min).date;
449
+ }
450
+ watchMaxHandler() {
451
+ this.maxTime = parseTimeHelper(this.max).date;
452
+ }
453
+ watchValueHandler() {
454
+ this.setTime(this.value);
455
+ setTimeout(() => {
456
+ this.scrollSelectedItem("hour");
457
+ this.scrollSelectedItem("minute");
458
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
459
+ this.scrollSelectedItem("second");
460
+ }
461
+ if (this.timePeriod === "12") {
462
+ this.scrollSelectedItem("period");
463
+ }
464
+ }, 0);
465
+ }
466
+ componentWillLoad() {
467
+ this.setTime(this.value);
468
+ }
469
+ componentDidLoad() {
470
+ setTimeout(() => {
471
+ if (this.selectedHour !== undefined && this.selectedHour !== null) {
472
+ this.scrollSelectedItem("hour");
473
+ }
474
+ else if (this.min) {
475
+ this.scrollMinTime("hour");
476
+ }
477
+ if (this.selectedMinute !== undefined && this.selectedMinute !== null) {
478
+ this.scrollSelectedItem("minute");
479
+ }
480
+ else if (this.min) {
481
+ this.scrollMinTime("minute");
482
+ }
483
+ if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
484
+ if (this.selectedSecond !== undefined && this.selectedSecond !== null) {
485
+ this.scrollSelectedItem("second");
486
+ }
487
+ else if (this.min) {
488
+ this.scrollMinTime("second");
489
+ }
490
+ }
491
+ if (this.timePeriod === "12") {
492
+ if (this.selectedPeriod !== undefined && this.selectedPeriod !== null) {
493
+ this.scrollSelectedItem("period");
494
+ }
495
+ else if (this.min) {
496
+ this.scrollMinTime("period");
497
+ }
498
+ }
499
+ this.updateAriaLiveMessage();
500
+ }, 0);
501
+ }
502
+ getHeaderLabel(type) {
503
+ switch (type) {
504
+ case "hour":
505
+ return "HH";
506
+ case "minute":
507
+ return "MM";
508
+ case "second":
509
+ return "SS";
510
+ default:
511
+ return "";
512
+ }
513
+ }
514
+ setTime(time) {
515
+ if (time === null || time === undefined || time === "") {
516
+ this.handleClear();
517
+ return;
518
+ }
519
+ if (typeof time === "string") {
520
+ const zuluMatch = time.match(/^([0-9]{2}):([0-9]{2}):([0-9]{2})(?:\.[0-9]{1,3})?Z?$/);
521
+ if (zuluMatch) {
522
+ this.setTimeParts(Number(zuluMatch[1]), Number(zuluMatch[2]), Number(zuluMatch[3]));
523
+ }
524
+ else {
525
+ const parts = time.split(":");
526
+ this.setTimeParts(Number(parts[0]) || 0, Number(parts[1]) || 0, Number(parts[2]) || 0);
527
+ }
528
+ }
529
+ else {
530
+ const { parts } = parseTimeHelper(time);
531
+ if (parts) {
532
+ this.setTimeParts(parts.hour, parts.minute, parts.second);
533
+ }
534
+ }
535
+ }
536
+ renderScrollRows(count, keyPrefix = "scroll-row") {
537
+ return Array.from({ length: count }).map((_, i) => {
538
+ const isLast = keyPrefix.endsWith("bottom-spacer")
539
+ ? i === count - 1
540
+ : false;
541
+ return (h("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}` }));
542
+ });
543
+ }
544
+ scrollSelectedItem(colClass, clear) {
545
+ var _a;
546
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
547
+ let colIdx = COLUMN_TYPES.indexOf(colClass);
548
+ if (colClass === "period" && (columns === null || columns === void 0 ? void 0 : columns.length)) {
549
+ colIdx = columns.length - 1;
550
+ }
551
+ const col = columns === null || columns === void 0 ? void 0 : columns[colIdx];
552
+ if (col) {
553
+ const items = col.querySelectorAll(ITEM_CLASS);
554
+ let selectedIdx = -1;
555
+ items.forEach((item, idx) => {
556
+ if (item.classList.contains("selected"))
557
+ selectedIdx = idx;
558
+ });
559
+ if (clear) {
560
+ selectedIdx = 0;
561
+ }
562
+ if (selectedIdx > -1) {
563
+ const scrollRow = col.querySelector(".ic-time-selector-scroll-row");
564
+ let resolvedHeight = 0;
565
+ if (scrollRow) {
566
+ resolvedHeight = parseFloat(getComputedStyle(scrollRow).height);
567
+ }
568
+ const offset = resolvedHeight * 2;
569
+ const scrollTop = items[selectedIdx].offsetTop - offset;
570
+ const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
571
+ col.scrollTo({
572
+ top: scrollTop,
573
+ behavior: prefersReducedMotion ? "instant" : "smooth",
574
+ });
575
+ if (clear) {
576
+ setTimeout(() => {
577
+ var _a;
578
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
579
+ if (columns && columns.length > 0) {
580
+ this.checkIfScrollIsFinished(columns[0], scrollTop);
581
+ }
582
+ }, 300);
583
+ }
584
+ }
585
+ }
586
+ }
587
+ scrollMinTime(colClass) {
588
+ var _a;
589
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
590
+ const colIdx = COLUMN_TYPES.indexOf(colClass);
591
+ const col = columns === null || columns === void 0 ? void 0 : columns[colIdx];
592
+ if (!col)
593
+ return;
594
+ const items = col.querySelectorAll(ITEM_CLASS);
595
+ let minHour = 0, minMinute = 0, minSecond = 0;
596
+ if (this.minTime) {
597
+ minHour = this.minTime.getHours() + 2;
598
+ minMinute = this.minTime.getMinutes() + 2;
599
+ minSecond = this.minTime.getSeconds();
600
+ }
601
+ else if (this.min) {
602
+ const minDate = parseTimeHelper(this.min).date;
603
+ if (minDate) {
604
+ minHour = minDate.getHours();
605
+ minMinute = minDate.getMinutes();
606
+ minSecond = minDate.getSeconds();
607
+ }
608
+ }
609
+ let targetIdx = -1;
610
+ const values = this.getColumnValues(colClass);
611
+ if (colClass === "hour") {
612
+ targetIdx = values.findIndex((v) => v === minHour);
613
+ }
614
+ else if (colClass === "minute") {
615
+ targetIdx = values.findIndex((v) => v === minMinute);
616
+ }
617
+ else if (colClass === "second") {
618
+ targetIdx = values.findIndex((v) => v === minSecond);
619
+ }
620
+ else if (colClass === "period") {
621
+ let period = "AM";
622
+ if (this.timePeriod === "12") {
623
+ if (minHour === 0) {
624
+ period = "AM";
625
+ }
626
+ else if (minHour === 12) {
627
+ period = "PM";
628
+ }
629
+ else if (minHour > 12) {
630
+ period = "PM";
631
+ }
632
+ else {
633
+ period = "AM";
634
+ }
635
+ }
636
+ targetIdx = values.findIndex((v) => v === period);
637
+ }
638
+ if (targetIdx > -1) {
639
+ const scrollRow = col.querySelector(".ic-time-selector-scroll-row");
640
+ let resolvedHeight = 0;
641
+ if (scrollRow) {
642
+ resolvedHeight = parseFloat(getComputedStyle(scrollRow).height);
643
+ }
644
+ const offset = resolvedHeight * 2;
645
+ const scrollTop = items[targetIdx].offsetTop - offset;
646
+ const prefersReducedMotion = window.matchMedia("(prefers-reduced-motion: reduce)").matches;
647
+ col.scrollTo({
648
+ top: scrollTop,
649
+ behavior: prefersReducedMotion ? "instant" : "smooth",
650
+ });
651
+ }
652
+ }
653
+ announceSelectedColumn(type) {
654
+ const value = this.getSelectedValue(type);
655
+ if (value !== null &&
656
+ value !== undefined &&
657
+ (type !== this.lastAnnouncedType || value !== this.lastAnnouncedValue)) {
658
+ this.ariaLiveMessage = `Selected ${type}: ${value}`;
659
+ }
660
+ else {
661
+ this.ariaLiveMessage = "";
662
+ }
663
+ this.lastAnnouncedType = type;
664
+ this.lastAnnouncedValue = value;
665
+ }
666
+ getColumnValues(type) {
667
+ if (type === "hour")
668
+ return this.timePeriod === "12"
669
+ ? Array.from({ length: 12 }, (_, i) => i + 1)
670
+ : Array.from({ length: 24 }, (_, i) => i);
671
+ if (type === "minute")
672
+ return this.minutes;
673
+ if (type === "second")
674
+ return this.seconds;
675
+ if (type === "period")
676
+ return this.periods;
677
+ return [];
678
+ }
679
+ getSelectedValue(type) {
680
+ var _a, _b, _c, _d;
681
+ if (type === "hour")
682
+ return (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null;
683
+ if (type === "minute")
684
+ return (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null;
685
+ if (type === "second")
686
+ return (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null;
687
+ if (type === "period")
688
+ return (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null;
689
+ return null;
690
+ }
691
+ getHighlightedValue(type, col) {
692
+ var _a, _b, _c;
693
+ const items = Array.from(col.querySelectorAll(ITEM_CLASS));
694
+ const realItems = items.filter((item) => !item.classList.contains("ic-time-selector-scroll-row"));
695
+ if (realItems.length === 0)
696
+ return null;
697
+ const highlightTop = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".ic-time-selector-highlight-top");
698
+ const highlightBottom = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector(".ic-time-selector-highlight-bottom");
699
+ if (!highlightTop || !highlightBottom)
700
+ return null;
701
+ const topRect = highlightTop.getBoundingClientRect();
702
+ const bottomRect = highlightBottom.getBoundingClientRect();
703
+ const highlightStart = topRect.bottom;
704
+ const highlightEnd = bottomRect.top;
705
+ for (const item of realItems) {
706
+ const itemRect = item.getBoundingClientRect();
707
+ const itemCenter = itemRect.top + itemRect.height / 2;
708
+ if (itemCenter >= highlightStart && itemCenter <= highlightEnd) {
709
+ const key = item.getAttribute("key");
710
+ if (key) {
711
+ const valStr = key.replace(`${type}-val-`, "");
712
+ if (type === "hour" || type === "minute" || type === "second") {
713
+ return Number(valStr);
714
+ }
715
+ else {
716
+ return valStr;
717
+ }
718
+ }
719
+ const text = (_c = item.textContent) === null || _c === void 0 ? void 0 : _c.trim();
720
+ if (type === "hour" || type === "minute" || type === "second") {
721
+ return text ? Number(text) : null;
722
+ }
723
+ else {
724
+ return text;
725
+ }
726
+ }
727
+ }
728
+ return null;
729
+ }
730
+ updateAriaLiveMessage() {
731
+ const hourStr = this.selectedHour != null
732
+ ? this.selectedHour.toString().padStart(2, "0")
733
+ : null;
734
+ const minuteStr = this.selectedMinute != null
735
+ ? this.selectedMinute.toString().padStart(2, "0")
736
+ : null;
737
+ const secondStr = this.selectedSecond != null
738
+ ? this.selectedSecond.toString().padStart(2, "0")
739
+ : null;
740
+ let timeString = "";
741
+ let allSelected = false;
742
+ if (this.timeFormat === "HH:MM") {
743
+ allSelected = hourStr !== null && minuteStr !== null;
744
+ if (allSelected) {
745
+ timeString =
746
+ hourStr +
747
+ ":" +
748
+ minuteStr +
749
+ (this.selectedPeriod ? " " + this.selectedPeriod : "");
750
+ }
751
+ }
752
+ else if (this.timeFormat === this.DEFAULT_TIME_FORMAT) {
753
+ allSelected =
754
+ hourStr !== null && minuteStr !== null && secondStr !== null;
755
+ if (allSelected) {
756
+ timeString =
757
+ hourStr +
758
+ ":" +
759
+ minuteStr +
760
+ ":" +
761
+ secondStr +
762
+ (this.selectedPeriod ? " " + this.selectedPeriod : "");
763
+ }
764
+ }
765
+ this.ariaLiveMessage =
766
+ allSelected && timeString ? `Selected time: ${timeString}` : "";
767
+ }
768
+ render() {
769
+ var _a, _b, _c, _d;
770
+ const hours = this.timePeriod === "12"
771
+ ? Array.from({ length: 12 }, (_, i) => i + 1)
772
+ : Array.from({ length: 24 }, (_, i) => i);
773
+ const timeFormat = this.timeFormat || this.DEFAULT_TIME_FORMAT;
774
+ const columns = [
775
+ this.renderColumn("hour", hours, (_a = this.selectedHour) !== null && _a !== void 0 ? _a : null),
776
+ this.renderColumn("minute", this.minutes, (_b = this.selectedMinute) !== null && _b !== void 0 ? _b : null),
777
+ ];
778
+ if (timeFormat === this.DEFAULT_TIME_FORMAT) {
779
+ columns.push(this.renderColumn("second", this.seconds, (_c = this.selectedSecond) !== null && _c !== void 0 ? _c : null));
780
+ }
781
+ let colonSelectedStates = [];
782
+ if (timeFormat === this.DEFAULT_TIME_FORMAT) {
783
+ colonSelectedStates = [
784
+ this.selectedHour !== undefined && this.selectedMinute !== undefined,
785
+ this.selectedMinute !== undefined && this.selectedSecond !== undefined,
786
+ ];
787
+ }
788
+ else {
789
+ colonSelectedStates = [
790
+ this.selectedHour !== undefined && this.selectedMinute !== undefined,
791
+ ];
792
+ }
793
+ const isInPicker = this.el.closest("ic-time-picker") !== null;
794
+ const { size, theme, timePeriod } = this;
795
+ return (h(Host, { key: '0a25adbaeba34a4dcd3ef15edd5076d8ed4ad0a5', class: {
796
+ [`ic-theme-${theme}`]: theme !== "inherit",
797
+ [`ic-time-selector-${size}`]: true,
798
+ } }, h("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: {
799
+ "ic-time-selector-dialog-container": true,
800
+ } }, h("div", { key: '178213ede67d838f70b8bd164aac6481a97b03eb', class: "ic-time-selector-highlight-lines" }, h("div", { key: 'c10de931f6cba5496de152f1fdfc87a118413e08', class: "ic-time-selector-header-border" }), h("div", { key: '440b09028d77256e9b0bb18cc2f24550eac5f30d', class: {
801
+ "ic-time-selector-highlight": true,
802
+ "ic-time-selector-highlight-top": true,
803
+ } }), h("div", { key: 'eed615b5bbd35c5b0d0a5b3625710b00675856ab', class: "ic-time-selector-columns" }, columns.map((col, idx) => [
804
+ col,
805
+ idx < columns.length - 1 ? (h("ic-typography", { class: {
806
+ "ic-time-selector-colon": true,
807
+ "ic-time-selector-colon-selected": colonSelectedStates[idx],
808
+ }, variant: "subtitle-small", "aria-hidden": "true", key: `colon-${idx}` }, ":")) : null,
809
+ ]), timePeriod !== "24" &&
810
+ this.renderColumn("period", this.periods, (_d = this.selectedPeriod) !== null && _d !== void 0 ? _d : null)), h("div", { key: '8b2b12a4e907c615b7e79d9801d5840d522e775d', class: {
811
+ "ic-time-selector-highlight": true,
812
+ "ic-time-selector-highlight-bottom": true,
813
+ } })), h("div", { key: '0d3a320315b1cf0557b8d281b6e468ef517b7ff4', class: "ic-time-selector-actions" }, h("ic-button", { key: '70d842672493c3a63ced6571d7e1ab6afba2abdf', variant: "icon-tertiary", "aria-label": "Clear time", class: {
814
+ "ic-time-selector-clear-btn": true,
815
+ }, onClick: this.handleClear, disabled: this.selectedHour === undefined &&
816
+ this.selectedMinute === undefined &&
817
+ this.selectedSecond === undefined &&
818
+ this.selectedPeriod === undefined, size: size, tabIndex: 0, onKeyDown: (e) => {
819
+ var _a;
820
+ if (e.key === "Tab" && e.shiftKey) {
821
+ e.preventDefault();
822
+ const columns = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(COLUMN_CLASS);
823
+ if (columns && columns.length > 0) {
824
+ const lastCol = columns[columns.length - 1];
825
+ lastCol === null || lastCol === void 0 ? void 0 : lastCol.focus();
826
+ }
827
+ }
828
+ } }, h("span", { key: '45c66f9552c10be9e3b466342c6e7d22fd7df90b', "aria-hidden": "true", innerHTML: Clear })), h("ic-button", { key: 'eae553c514bc635a71220b969044df8d32e457bb', variant: "icon-tertiary", "aria-label": "Select time", class: "ic-time-selector-check-btn", onClick: this.handleConfirmClick, disabled: this.selectedHour === undefined &&
829
+ this.selectedMinute === undefined &&
830
+ this.selectedSecond === undefined &&
831
+ this.selectedPeriod === undefined, size: size, tabIndex: 0 }, h("span", { key: 'f586f8d1b2659d3cf2f0f8e7365ebcd9828ebf23', "aria-hidden": "true", innerHTML: Check })))), h("div", { key: '27dd2db88615040635a0b61b9e785d50a488d90a', class: "sr-only", "aria-live": "polite" }, this.ariaLiveMessage)));
832
+ }
833
+ get el() { return this; }
834
+ static get watchers() { return {
835
+ "min": ["watchMinHandler"],
836
+ "max": ["watchMaxHandler"],
837
+ "value": ["watchValueHandler"]
838
+ }; }
839
+ static get style() { return IcTimeSelectorStyle0; }
840
+ }, [1, "ic-time-selector", {
841
+ "disableTimes": [16],
842
+ "min": [1],
843
+ "max": [1],
844
+ "size": [1],
845
+ "theme": [1],
846
+ "timeFormat": [1, "time-format"],
847
+ "timePeriod": [1, "time-period"],
848
+ "value": [1025],
849
+ "selectedHour": [32],
850
+ "selectedMinute": [32],
851
+ "selectedSecond": [32],
852
+ "selectedPeriod": [32],
853
+ "ariaLiveMessage": [32]
854
+ }, undefined, {
855
+ "min": ["watchMinHandler"],
856
+ "max": ["watchMaxHandler"],
857
+ "value": ["watchValueHandler"]
858
+ }]);
859
+ function defineCustomElement$1() {
860
+ if (typeof customElements === "undefined") {
861
+ return;
862
+ }
863
+ const components = ["ic-time-selector", "ic-button", "ic-loading-indicator", "ic-tooltip", "ic-typography"];
864
+ components.forEach(tagName => { switch (tagName) {
865
+ case "ic-time-selector":
866
+ if (!customElements.get(tagName)) {
867
+ customElements.define(tagName, TimeSelector);
868
+ }
869
+ break;
870
+ case "ic-button":
871
+ if (!customElements.get(tagName)) {
872
+ defineCustomElement$5();
873
+ }
874
+ break;
875
+ case "ic-loading-indicator":
876
+ if (!customElements.get(tagName)) {
877
+ defineCustomElement$4();
878
+ }
879
+ break;
880
+ case "ic-tooltip":
881
+ if (!customElements.get(tagName)) {
882
+ defineCustomElement$3();
883
+ }
884
+ break;
885
+ case "ic-typography":
886
+ if (!customElements.get(tagName)) {
887
+ defineCustomElement$2();
888
+ }
889
+ break;
890
+ } });
891
+ }
892
+
893
+ const IcTimeSelector = TimeSelector;
894
+ const defineCustomElement = defineCustomElement$1;
895
+
896
+ export { IcTimeSelector, defineCustomElement };
897
+
898
+ //# sourceMappingURL=ic-time-selector.js.map