@ukic/canary-web-components 3.0.0-canary.21 → 3.0.0-canary.23

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 (606) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/clear-icon-547aa9b9.js +10 -0
  3. package/dist/cjs/clear-icon-547aa9b9.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +1 -1
  5. package/dist/cjs/helpers-da852478.js.map +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +41 -86
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-vertical.cjs.entry.js +4 -4
  19. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox_3.cjs.entry.js +6 -6
  23. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +11 -3
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-table.cjs.entry.js +63 -68
  33. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-date-input.cjs.entry.js +25 -17
  35. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-picker.cjs.entry.js +17 -10
  37. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +3 -3
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +224 -0
  49. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -0
  50. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/{ic-input-component-container_3.cjs.entry.js → ic-menu.cjs.entry.js} +41 -140
  55. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -0
  56. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -10
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  65. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-pagination_4.cjs.entry.js +17 -17
  67. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  69. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  71. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-radio-option.cjs.entry.js +4 -4
  73. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-search-bar.cjs.entry.js +9 -9
  75. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  81. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  87. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  91. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  95. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  101. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-time-input.cjs.entry.js +943 -0
  103. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -0
  104. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  105. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  107. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +15 -4
  109. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -4
  111. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  113. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tree-item.cjs.entry.js +14 -8
  115. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tree-view.cjs.entry.js +23 -15
  117. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  119. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  120. package/dist/cjs/index-d337cd8a.js +12 -4
  121. package/dist/cjs/loader.cjs.js +1 -1
  122. package/dist/collection/assets/clock.svg +1 -0
  123. package/dist/collection/collection-manifest.json +2 -0
  124. package/dist/collection/components/ic-data-table/ic-data-table.css +3 -2
  125. package/dist/collection/components/ic-data-table/ic-data-table.js +62 -68
  126. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  127. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +5 -4
  128. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  129. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  130. package/dist/collection/components/ic-data-table/story-data.js +39 -130
  131. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  132. package/dist/collection/components/ic-date-input/ic-date-input.js +24 -12
  133. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js +37 -10
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-time-input/ic-time-input.css +648 -0
  137. package/dist/collection/components/ic-time-input/ic-time-input.js +1600 -0
  138. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -0
  139. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +320 -0
  140. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -0
  141. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +45 -0
  142. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -0
  143. package/dist/collection/components/ic-tree-item/ic-tree-item.js +14 -8
  144. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  145. package/dist/collection/components/ic-tree-view/ic-tree-view.js +23 -15
  146. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  147. package/dist/collection/utils/types.js.map +1 -1
  148. package/dist/components/clear-icon.js +8 -0
  149. package/dist/components/clear-icon.js.map +1 -0
  150. package/dist/components/helpers2.js.map +1 -1
  151. package/dist/components/ic-action-chip.js +160 -0
  152. package/dist/components/ic-action-chip.js.map +1 -0
  153. package/dist/components/ic-back-to-top.js +3 -3
  154. package/dist/components/ic-back-to-top.js.map +1 -1
  155. package/dist/components/ic-badge.js +2 -2
  156. package/dist/components/ic-badge.js.map +1 -1
  157. package/dist/components/ic-breadcrumb-group.js +2 -2
  158. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  159. package/dist/components/ic-breadcrumb2.js +2 -2
  160. package/dist/components/ic-breadcrumb2.js.map +1 -1
  161. package/dist/components/ic-button2.js +3 -3
  162. package/dist/components/ic-button2.js.map +1 -1
  163. package/dist/components/ic-card-vertical.js +4 -4
  164. package/dist/components/ic-card-vertical.js.map +1 -1
  165. package/dist/components/ic-checkbox-group.js +2 -2
  166. package/dist/components/ic-checkbox-group.js.map +1 -1
  167. package/dist/components/ic-checkbox2.js +4 -4
  168. package/dist/components/ic-checkbox2.js.map +1 -1
  169. package/dist/components/ic-chip.js +12 -4
  170. package/dist/components/ic-chip.js.map +1 -1
  171. package/dist/components/ic-classification-banner.js +2 -2
  172. package/dist/components/ic-classification-banner.js.map +1 -1
  173. package/dist/components/ic-data-list.js +2 -2
  174. package/dist/components/ic-data-list.js.map +1 -1
  175. package/dist/components/ic-data-row.js +2 -2
  176. package/dist/components/ic-data-row.js.map +1 -1
  177. package/dist/components/ic-data-table.js +63 -68
  178. package/dist/components/ic-data-table.js.map +1 -1
  179. package/dist/components/ic-date-input2.js +25 -17
  180. package/dist/components/ic-date-input2.js.map +1 -1
  181. package/dist/components/ic-date-picker.js +18 -10
  182. package/dist/components/ic-date-picker.js.map +1 -1
  183. package/dist/components/ic-dialog.js +1 -1
  184. package/dist/components/ic-dialog.js.map +1 -1
  185. package/dist/components/ic-empty-state2.js +2 -2
  186. package/dist/components/ic-empty-state2.js.map +1 -1
  187. package/dist/components/ic-footer-link.js +2 -2
  188. package/dist/components/ic-footer-link.js.map +1 -1
  189. package/dist/components/ic-footer.js +3 -3
  190. package/dist/components/ic-footer.js.map +1 -1
  191. package/dist/components/ic-hero.js +4 -4
  192. package/dist/components/ic-hero.js.map +1 -1
  193. package/dist/components/ic-horizontal-scroll2.js +5 -5
  194. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  195. package/dist/components/ic-input-component-container2.js +3 -3
  196. package/dist/components/ic-input-component-container2.js.map +1 -1
  197. package/dist/components/ic-input-container2.js +2 -2
  198. package/dist/components/ic-input-container2.js.map +1 -1
  199. package/dist/components/ic-input-label2.js +2 -2
  200. package/dist/components/ic-input-label2.js.map +1 -1
  201. package/dist/components/ic-input-validation2.js +3 -3
  202. package/dist/components/ic-input-validation2.js.map +1 -1
  203. package/dist/components/ic-link2.js +1 -1
  204. package/dist/components/ic-link2.js.map +1 -1
  205. package/dist/components/ic-loading-indicator2.js +6 -6
  206. package/dist/components/ic-loading-indicator2.js.map +1 -1
  207. package/dist/components/ic-menu-group.js +1 -1
  208. package/dist/components/ic-menu-group.js.map +1 -1
  209. package/dist/components/ic-menu2.js +42 -47
  210. package/dist/components/ic-menu2.js.map +1 -1
  211. package/dist/components/ic-navigation-button.js +2 -2
  212. package/dist/components/ic-navigation-button.js.map +1 -1
  213. package/dist/components/ic-navigation-group.js +1 -1
  214. package/dist/components/ic-navigation-group.js.map +1 -1
  215. package/dist/components/ic-navigation-item.js +3 -10
  216. package/dist/components/ic-navigation-item.js.map +1 -1
  217. package/dist/components/ic-navigation-menu2.js +4 -4
  218. package/dist/components/ic-navigation-menu2.js.map +1 -1
  219. package/dist/components/ic-page-header.js +6 -6
  220. package/dist/components/ic-page-header.js.map +1 -1
  221. package/dist/components/ic-pagination-item2.js +1 -1
  222. package/dist/components/ic-pagination-item2.js.map +1 -1
  223. package/dist/components/ic-pagination2.js +4 -4
  224. package/dist/components/ic-pagination2.js.map +1 -1
  225. package/dist/components/ic-popover-menu.js +4 -4
  226. package/dist/components/ic-popover-menu.js.map +1 -1
  227. package/dist/components/ic-radio-group.js +4 -4
  228. package/dist/components/ic-radio-group.js.map +1 -1
  229. package/dist/components/ic-radio-option.js +4 -4
  230. package/dist/components/ic-radio-option.js.map +1 -1
  231. package/dist/components/ic-search-bar.js +9 -9
  232. package/dist/components/ic-search-bar.js.map +1 -1
  233. package/dist/components/ic-section-container2.js +2 -2
  234. package/dist/components/ic-section-container2.js.map +1 -1
  235. package/dist/components/ic-select2.js +6 -6
  236. package/dist/components/ic-select2.js.map +1 -1
  237. package/dist/components/ic-side-navigation.js +4 -4
  238. package/dist/components/ic-side-navigation.js.map +1 -1
  239. package/dist/components/ic-skeleton.js +2 -2
  240. package/dist/components/ic-skeleton.js.map +1 -1
  241. package/dist/components/ic-skip-link.js +2 -2
  242. package/dist/components/ic-skip-link.js.map +1 -1
  243. package/dist/components/ic-status-tag.js +2 -2
  244. package/dist/components/ic-status-tag.js.map +1 -1
  245. package/dist/components/ic-step.js +13 -13
  246. package/dist/components/ic-step.js.map +1 -1
  247. package/dist/components/ic-stepper.js +2 -2
  248. package/dist/components/ic-stepper.js.map +1 -1
  249. package/dist/components/ic-switch.js +4 -4
  250. package/dist/components/ic-switch.js.map +1 -1
  251. package/dist/components/ic-tab-context.js +1 -1
  252. package/dist/components/ic-tab-context.js.map +1 -1
  253. package/dist/components/ic-tab-group.js +2 -2
  254. package/dist/components/ic-tab-group.js.map +1 -1
  255. package/dist/components/ic-tab-panel.js +2 -2
  256. package/dist/components/ic-tab-panel.js.map +1 -1
  257. package/dist/components/ic-tab.js +2 -2
  258. package/dist/components/ic-tab.js.map +1 -1
  259. package/dist/components/ic-text-field2.js +6 -6
  260. package/dist/components/ic-text-field2.js.map +1 -1
  261. package/dist/components/ic-theme.js +1 -1
  262. package/dist/components/ic-theme.js.map +1 -1
  263. package/dist/components/ic-time-input.d.ts +11 -0
  264. package/dist/components/ic-time-input.js +1045 -0
  265. package/dist/components/ic-time-input.js.map +1 -0
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast-region.js.map +1 -1
  268. package/dist/components/ic-toast.js +3 -3
  269. package/dist/components/ic-toast.js.map +1 -1
  270. package/dist/components/ic-toggle-button-group.js +17 -4
  271. package/dist/components/ic-toggle-button-group.js.map +1 -1
  272. package/dist/components/ic-toggle-button.js +14 -4
  273. package/dist/components/ic-toggle-button.js.map +1 -1
  274. package/dist/components/ic-tooltip2.js +33 -78
  275. package/dist/components/ic-tooltip2.js.map +1 -1
  276. package/dist/components/ic-top-navigation.js +4 -4
  277. package/dist/components/ic-top-navigation.js.map +1 -1
  278. package/dist/components/ic-tree-item.js +15 -9
  279. package/dist/components/ic-tree-item.js.map +1 -1
  280. package/dist/components/ic-tree-view.js +24 -16
  281. package/dist/components/ic-tree-view.js.map +1 -1
  282. package/dist/components/ic-typography2.js +2 -2
  283. package/dist/components/ic-typography2.js.map +1 -1
  284. package/dist/core/core.css +227 -7
  285. package/dist/core/core.esm.js +1 -1
  286. package/dist/core/core.esm.js.map +1 -1
  287. package/dist/core/{p-137dd76e.entry.js → p-00a89919.entry.js} +2 -2
  288. package/dist/core/{p-137dd76e.entry.js.map → p-00a89919.entry.js.map} +1 -1
  289. package/dist/core/{p-e253a857.js → p-0f22f41e.js} +2 -2
  290. package/dist/core/p-0f22f41e.js.map +1 -0
  291. package/dist/core/{p-97abdbf7.entry.js → p-1521e96b.entry.js} +2 -2
  292. package/dist/core/{p-97abdbf7.entry.js.map → p-1521e96b.entry.js.map} +1 -1
  293. package/dist/core/{p-5d987f8f.entry.js → p-153d3597.entry.js} +2 -2
  294. package/dist/core/{p-5d987f8f.entry.js.map → p-153d3597.entry.js.map} +1 -1
  295. package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
  296. package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +1 -1
  297. package/dist/core/{p-8d908a57.entry.js → p-22863d31.entry.js} +2 -2
  298. package/dist/core/{p-8d908a57.entry.js.map → p-22863d31.entry.js.map} +1 -1
  299. package/dist/core/{p-c94e7b0b.entry.js → p-27207aa3.entry.js} +2 -2
  300. package/dist/core/{p-c94e7b0b.entry.js.map → p-27207aa3.entry.js.map} +1 -1
  301. package/dist/core/{p-2c4bf16f.entry.js → p-2d6a1b50.entry.js} +2 -2
  302. package/dist/core/{p-2c4bf16f.entry.js.map → p-2d6a1b50.entry.js.map} +1 -1
  303. package/dist/core/{p-b6b7c15c.entry.js → p-307c13a1.entry.js} +2 -2
  304. package/dist/core/p-307c13a1.entry.js.map +1 -0
  305. package/dist/core/{p-2d8900bf.entry.js → p-30b3afb1.entry.js} +2 -2
  306. package/dist/core/{p-2d8900bf.entry.js.map → p-30b3afb1.entry.js.map} +1 -1
  307. package/dist/core/{p-bf93baea.entry.js → p-324862f7.entry.js} +2 -2
  308. package/dist/core/{p-bf93baea.entry.js.map → p-324862f7.entry.js.map} +1 -1
  309. package/dist/core/{p-0fe08a58.js → p-33927ee1.js} +2 -2
  310. package/dist/core/{p-1bcf49fa.entry.js → p-369f4536.entry.js} +2 -2
  311. package/dist/core/p-369f4536.entry.js.map +1 -0
  312. package/dist/core/{p-b6d1988d.entry.js → p-3a5da30c.entry.js} +2 -2
  313. package/dist/core/{p-b6d1988d.entry.js.map → p-3a5da30c.entry.js.map} +1 -1
  314. package/dist/core/{p-826a6c25.entry.js → p-3d10fa12.entry.js} +2 -2
  315. package/dist/core/{p-826a6c25.entry.js.map → p-3d10fa12.entry.js.map} +1 -1
  316. package/dist/core/{p-f569a91f.entry.js → p-48127d40.entry.js} +2 -2
  317. package/dist/core/{p-f569a91f.entry.js.map → p-48127d40.entry.js.map} +1 -1
  318. package/dist/core/{p-3448c713.entry.js → p-48db785a.entry.js} +2 -2
  319. package/dist/core/{p-3448c713.entry.js.map → p-48db785a.entry.js.map} +1 -1
  320. package/dist/core/{p-b27bc1a1.entry.js → p-4b212968.entry.js} +2 -2
  321. package/dist/core/{p-b27bc1a1.entry.js.map → p-4b212968.entry.js.map} +1 -1
  322. package/dist/core/p-53d50d9e.entry.js +2 -0
  323. package/dist/core/p-53d50d9e.entry.js.map +1 -0
  324. package/dist/core/p-558936fb.entry.js +2 -0
  325. package/dist/core/p-558936fb.entry.js.map +1 -0
  326. package/dist/core/{p-64372a57.entry.js → p-593cc594.entry.js} +2 -2
  327. package/dist/core/{p-64372a57.entry.js.map → p-593cc594.entry.js.map} +1 -1
  328. package/dist/core/{p-bbf39a76.entry.js → p-666a671b.entry.js} +2 -2
  329. package/dist/core/{p-bbf39a76.entry.js.map → p-666a671b.entry.js.map} +1 -1
  330. package/dist/core/{p-8397766e.entry.js → p-726144b4.entry.js} +2 -2
  331. package/dist/core/{p-8397766e.entry.js.map → p-726144b4.entry.js.map} +1 -1
  332. package/dist/core/p-74e0f41f.entry.js +2 -0
  333. package/dist/core/p-74e0f41f.entry.js.map +1 -0
  334. package/dist/core/{p-0dc0d839.entry.js → p-75f3038c.entry.js} +2 -2
  335. package/dist/core/{p-0dc0d839.entry.js.map → p-75f3038c.entry.js.map} +1 -1
  336. package/dist/core/p-7892130d.entry.js +2 -0
  337. package/dist/core/p-7892130d.entry.js.map +1 -0
  338. package/dist/core/{p-b6c3cc1c.entry.js → p-7e5e94a9.entry.js} +2 -2
  339. package/dist/core/p-7e5e94a9.entry.js.map +1 -0
  340. package/dist/core/p-8048c7da.entry.js +2 -0
  341. package/dist/core/{p-1e256460.entry.js.map → p-8048c7da.entry.js.map} +1 -1
  342. package/dist/core/p-80e43591.entry.js +2 -0
  343. package/dist/core/{p-8cb5deba.entry.js.map → p-80e43591.entry.js.map} +1 -1
  344. package/dist/core/{p-75901d06.entry.js → p-86ff903d.entry.js} +2 -2
  345. package/dist/core/{p-ead0acc3.entry.js → p-8908b8e6.entry.js} +2 -2
  346. package/dist/core/{p-832c7042.entry.js → p-8bf1022e.entry.js} +2 -2
  347. package/dist/core/{p-90364cef.entry.js → p-8fa7085e.entry.js} +2 -2
  348. package/dist/core/{p-90364cef.entry.js.map → p-8fa7085e.entry.js.map} +1 -1
  349. package/dist/core/{p-5237f3ac.entry.js → p-97c437bb.entry.js} +2 -2
  350. package/dist/core/p-9c8a98e8.entry.js +2 -0
  351. package/dist/core/p-9c8a98e8.entry.js.map +1 -0
  352. package/dist/core/{p-0f86ea09.entry.js → p-9f792a31.entry.js} +2 -2
  353. package/dist/core/{p-0f86ea09.entry.js.map → p-9f792a31.entry.js.map} +1 -1
  354. package/dist/core/{p-cd8178a9.entry.js → p-abcc90f0.entry.js} +2 -2
  355. package/dist/core/{p-cd8178a9.entry.js.map → p-abcc90f0.entry.js.map} +1 -1
  356. package/dist/core/p-ad48c77c.entry.js +2 -0
  357. package/dist/core/p-ad48c77c.entry.js.map +1 -0
  358. package/dist/core/p-b0462734.entry.js +2 -0
  359. package/dist/core/p-b0462734.entry.js.map +1 -0
  360. package/dist/core/{p-88c5ec78.entry.js → p-b2680959.entry.js} +2 -2
  361. package/dist/core/{p-88c5ec78.entry.js.map → p-b2680959.entry.js.map} +1 -1
  362. package/dist/core/{p-b1b27b7e.entry.js → p-b3ac38c5.entry.js} +2 -2
  363. package/dist/core/{p-b1b27b7e.entry.js.map → p-b3ac38c5.entry.js.map} +1 -1
  364. package/dist/core/p-b5ef2799.entry.js +2 -0
  365. package/dist/core/{p-497918fd.entry.js.map → p-b5ef2799.entry.js.map} +1 -1
  366. package/dist/core/{p-33404c14.entry.js → p-b7a0dc04.entry.js} +2 -2
  367. package/dist/core/{p-33404c14.entry.js.map → p-b7a0dc04.entry.js.map} +1 -1
  368. package/dist/core/p-b8938f93.entry.js +2 -0
  369. package/dist/core/p-b8938f93.entry.js.map +1 -0
  370. package/dist/core/{p-9097a16a.entry.js → p-b9d4c0db.entry.js} +2 -2
  371. package/dist/core/{p-9097a16a.entry.js.map → p-b9d4c0db.entry.js.map} +1 -1
  372. package/dist/core/{p-b3509380.entry.js → p-c4bf8742.entry.js} +2 -2
  373. package/dist/core/{p-3cf99186.entry.js → p-c6eabd53.entry.js} +2 -2
  374. package/dist/core/{p-6f72e6ac.entry.js → p-c7ccc52a.entry.js} +2 -2
  375. package/dist/core/{p-6f72e6ac.entry.js.map → p-c7ccc52a.entry.js.map} +1 -1
  376. package/dist/core/p-c82a2e84.entry.js +2 -0
  377. package/dist/core/p-c82a2e84.entry.js.map +1 -0
  378. package/dist/core/{p-94065f7a.entry.js → p-ca3c6653.entry.js} +2 -2
  379. package/dist/core/{p-94065f7a.entry.js.map → p-ca3c6653.entry.js.map} +1 -1
  380. package/dist/core/{p-d281c3cf.entry.js → p-d47acbd4.entry.js} +2 -2
  381. package/dist/core/{p-d281c3cf.entry.js.map → p-d47acbd4.entry.js.map} +1 -1
  382. package/dist/core/{p-a54eb1d1.entry.js → p-d5f8ef77.entry.js} +2 -2
  383. package/dist/core/{p-c77d6efc.entry.js → p-db3b0c0a.entry.js} +2 -2
  384. package/dist/core/{p-c77d6efc.entry.js.map → p-db3b0c0a.entry.js.map} +1 -1
  385. package/dist/core/{p-cc36abaa.entry.js → p-db6d0463.entry.js} +2 -2
  386. package/dist/core/p-dbde45ff.entry.js +2 -0
  387. package/dist/core/p-dbde45ff.entry.js.map +1 -0
  388. package/dist/core/p-dc8eede2.entry.js +2 -0
  389. package/dist/core/p-dc8eede2.entry.js.map +1 -0
  390. package/dist/core/p-dd7450fb.js +2 -0
  391. package/dist/core/p-dd7450fb.js.map +1 -0
  392. package/dist/core/{p-fc5661ac.entry.js → p-de43d375.entry.js} +2 -2
  393. package/dist/core/{p-fc5661ac.entry.js.map → p-de43d375.entry.js.map} +1 -1
  394. package/dist/core/p-de8081c6.entry.js +2 -0
  395. package/dist/core/{p-a26a60ff.entry.js.map → p-de8081c6.entry.js.map} +1 -1
  396. package/dist/core/p-e4906394.entry.js +2 -0
  397. package/dist/core/{p-032113b9.entry.js.map → p-e4906394.entry.js.map} +1 -1
  398. package/dist/core/p-e595bb87.entry.js +2 -0
  399. package/dist/core/p-e595bb87.entry.js.map +1 -0
  400. package/dist/core/{p-42913c5b.entry.js → p-e75514f1.entry.js} +2 -2
  401. package/dist/core/{p-42913c5b.entry.js.map → p-e75514f1.entry.js.map} +1 -1
  402. package/dist/core/{p-6dd73165.entry.js → p-ee6caf27.entry.js} +2 -2
  403. package/dist/core/{p-6dd73165.entry.js.map → p-ee6caf27.entry.js.map} +1 -1
  404. package/dist/core/{p-2de3287c.entry.js → p-f33eae3c.entry.js} +2 -2
  405. package/dist/core/{p-2de3287c.entry.js.map → p-f33eae3c.entry.js.map} +1 -1
  406. package/dist/core/{p-9e051db4.entry.js → p-f34eee68.entry.js} +2 -2
  407. package/dist/core/{p-9e051db4.entry.js.map → p-f34eee68.entry.js.map} +1 -1
  408. package/dist/core/{p-fb7f4e2e.entry.js → p-fbb0a74d.entry.js} +2 -2
  409. package/dist/core/{p-fb7f4e2e.entry.js.map → p-fbb0a74d.entry.js.map} +1 -1
  410. package/dist/core/{p-9fafa5fa.entry.js → p-fbd80981.entry.js} +2 -2
  411. package/dist/core/p-fbd80981.entry.js.map +1 -0
  412. package/dist/core/{p-e18ba5d6.entry.js → p-fffb98c9.entry.js} +2 -2
  413. package/dist/core/{p-e18ba5d6.entry.js.map → p-fffb98c9.entry.js.map} +1 -1
  414. package/dist/esm/clear-icon-1c79bda2.js +8 -0
  415. package/dist/esm/clear-icon-1c79bda2.js.map +1 -0
  416. package/dist/esm/core.js +1 -1
  417. package/dist/esm/{helpers-d9387cd3.js → helpers-89cb996d.js} +2 -2
  418. package/dist/esm/helpers-89cb996d.js.map +1 -0
  419. package/dist/esm/{helpers-574534c9.js → helpers-dea3fd9b.js} +2 -2
  420. package/dist/esm/{helpers-574534c9.js.map → helpers-dea3fd9b.js.map} +1 -1
  421. package/dist/esm/ic-accordion-group.entry.js +1 -1
  422. package/dist/esm/ic-accordion.entry.js +1 -1
  423. package/dist/esm/ic-action-chip.entry.js +112 -0
  424. package/dist/esm/ic-action-chip.entry.js.map +1 -0
  425. package/dist/esm/ic-alert.entry.js +1 -1
  426. package/dist/esm/ic-back-to-top.entry.js +4 -4
  427. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  428. package/dist/esm/ic-badge.entry.js +3 -3
  429. package/dist/esm/ic-badge.entry.js.map +1 -1
  430. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  431. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  432. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  433. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  434. package/dist/esm/ic-button_3.entry.js +42 -87
  435. package/dist/esm/ic-button_3.entry.js.map +1 -1
  436. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  437. package/dist/esm/ic-card-vertical.entry.js +5 -5
  438. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  439. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  440. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  441. package/dist/esm/ic-checkbox_3.entry.js +8 -8
  442. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  443. package/dist/esm/ic-chip.entry.js +12 -4
  444. package/dist/esm/ic-chip.entry.js.map +1 -1
  445. package/dist/esm/ic-classification-banner.entry.js +2 -2
  446. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  447. package/dist/esm/ic-data-list.entry.js +2 -2
  448. package/dist/esm/ic-data-list.entry.js.map +1 -1
  449. package/dist/esm/ic-data-row.entry.js +3 -3
  450. package/dist/esm/ic-data-row.entry.js.map +1 -1
  451. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  452. package/dist/esm/ic-data-table.entry.js +64 -69
  453. package/dist/esm/ic-data-table.entry.js.map +1 -1
  454. package/dist/esm/ic-date-input.entry.js +26 -18
  455. package/dist/esm/ic-date-input.entry.js.map +1 -1
  456. package/dist/esm/ic-date-picker.entry.js +18 -11
  457. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  458. package/dist/esm/ic-dialog.entry.js +2 -2
  459. package/dist/esm/ic-dialog.entry.js.map +1 -1
  460. package/dist/esm/ic-divider.entry.js +1 -1
  461. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  462. package/dist/esm/ic-footer-link.entry.js +3 -3
  463. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  464. package/dist/esm/ic-footer.entry.js +4 -4
  465. package/dist/esm/ic-footer.entry.js.map +1 -1
  466. package/dist/esm/ic-hero.entry.js +5 -5
  467. package/dist/esm/ic-hero.entry.js.map +1 -1
  468. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  469. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  470. package/dist/esm/ic-input-component-container_4.entry.js +217 -0
  471. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -0
  472. package/dist/esm/ic-link.entry.js +2 -2
  473. package/dist/esm/ic-link.entry.js.map +1 -1
  474. package/dist/esm/ic-menu-group.entry.js +2 -2
  475. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  476. package/dist/esm/ic-menu-item.entry.js +1 -1
  477. package/dist/esm/{ic-input-component-container_3.entry.js → ic-menu.entry.js} +43 -140
  478. package/dist/esm/ic-menu.entry.js.map +1 -0
  479. package/dist/esm/ic-navigation-button.entry.js +3 -3
  480. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  481. package/dist/esm/ic-navigation-group.entry.js +2 -2
  482. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  483. package/dist/esm/ic-navigation-item.entry.js +4 -11
  484. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  485. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  486. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  487. package/dist/esm/ic-page-header.entry.js +7 -7
  488. package/dist/esm/ic-page-header.entry.js.map +1 -1
  489. package/dist/esm/ic-pagination_4.entry.js +18 -18
  490. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  491. package/dist/esm/ic-popover-menu.entry.js +5 -5
  492. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  493. package/dist/esm/ic-radio-group.entry.js +5 -5
  494. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  495. package/dist/esm/ic-radio-option.entry.js +5 -5
  496. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  497. package/dist/esm/ic-search-bar.entry.js +10 -10
  498. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  499. package/dist/esm/ic-section-container.entry.js +2 -2
  500. package/dist/esm/ic-section-container.entry.js.map +1 -1
  501. package/dist/esm/ic-side-navigation.entry.js +5 -5
  502. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  503. package/dist/esm/ic-skeleton.entry.js +2 -2
  504. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  505. package/dist/esm/ic-skip-link.entry.js +2 -2
  506. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  507. package/dist/esm/ic-status-tag.entry.js +3 -3
  508. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  509. package/dist/esm/ic-step.entry.js +14 -14
  510. package/dist/esm/ic-step.entry.js.map +1 -1
  511. package/dist/esm/ic-stepper.entry.js +3 -3
  512. package/dist/esm/ic-stepper.entry.js.map +1 -1
  513. package/dist/esm/ic-switch.entry.js +5 -5
  514. package/dist/esm/ic-switch.entry.js.map +1 -1
  515. package/dist/esm/ic-tab-context.entry.js +1 -1
  516. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  517. package/dist/esm/ic-tab-group.entry.js +3 -3
  518. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  519. package/dist/esm/ic-tab-panel.entry.js +2 -2
  520. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  521. package/dist/esm/ic-tab.entry.js +3 -3
  522. package/dist/esm/ic-tab.entry.js.map +1 -1
  523. package/dist/esm/ic-theme.entry.js +2 -2
  524. package/dist/esm/ic-theme.entry.js.map +1 -1
  525. package/dist/esm/ic-time-input.entry.js +939 -0
  526. package/dist/esm/ic-time-input.entry.js.map +1 -0
  527. package/dist/esm/ic-toast-region.entry.js +1 -1
  528. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  529. package/dist/esm/ic-toast.entry.js +4 -4
  530. package/dist/esm/ic-toast.entry.js.map +1 -1
  531. package/dist/esm/ic-toggle-button-group.entry.js +16 -5
  532. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  533. package/dist/esm/ic-toggle-button.entry.js +14 -5
  534. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  535. package/dist/esm/ic-top-navigation.entry.js +5 -5
  536. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  537. package/dist/esm/ic-tree-item.entry.js +15 -9
  538. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  539. package/dist/esm/ic-tree-view.entry.js +24 -16
  540. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  541. package/dist/esm/ic-typography.entry.js +3 -3
  542. package/dist/esm/ic-typography.entry.js.map +1 -1
  543. package/dist/esm/index-a7a720e7.js +12 -4
  544. package/dist/esm/loader.js +1 -1
  545. package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
  546. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +1 -1
  547. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +12 -7
  548. package/dist/types/components/ic-data-table/story-data.d.ts +11 -84
  549. package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -1
  550. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +4 -0
  551. package/dist/types/components/ic-time-input/ic-time-input.d.ts +229 -0
  552. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +121 -0
  553. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +23 -0
  554. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -0
  555. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +2 -1
  556. package/dist/types/components.d.ts +242 -2
  557. package/dist/types/utils/types.d.ts +5 -0
  558. package/hydrate/index.js +1611 -493
  559. package/hydrate/index.mjs +1611 -493
  560. package/package.json +3 -3
  561. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +0 -1
  562. package/dist/cjs/ic-input-label_2.cjs.entry.js +0 -133
  563. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +0 -1
  564. package/dist/core/p-032113b9.entry.js +0 -2
  565. package/dist/core/p-145238fe.entry.js +0 -2
  566. package/dist/core/p-145238fe.entry.js.map +0 -1
  567. package/dist/core/p-1b20ab19.entry.js +0 -2
  568. package/dist/core/p-1b20ab19.entry.js.map +0 -1
  569. package/dist/core/p-1bcf49fa.entry.js.map +0 -1
  570. package/dist/core/p-1e256460.entry.js +0 -2
  571. package/dist/core/p-224b2e14.entry.js +0 -2
  572. package/dist/core/p-224b2e14.entry.js.map +0 -1
  573. package/dist/core/p-497918fd.entry.js +0 -2
  574. package/dist/core/p-5f8b09e4.entry.js +0 -2
  575. package/dist/core/p-5f8b09e4.entry.js.map +0 -1
  576. package/dist/core/p-7001f1c1.entry.js +0 -2
  577. package/dist/core/p-7001f1c1.entry.js.map +0 -1
  578. package/dist/core/p-8cb5deba.entry.js +0 -2
  579. package/dist/core/p-95881758.entry.js +0 -2
  580. package/dist/core/p-95881758.entry.js.map +0 -1
  581. package/dist/core/p-9fafa5fa.entry.js.map +0 -1
  582. package/dist/core/p-a26a60ff.entry.js +0 -2
  583. package/dist/core/p-b6b7c15c.entry.js.map +0 -1
  584. package/dist/core/p-b6c3cc1c.entry.js.map +0 -1
  585. package/dist/core/p-b9369ce5.entry.js +0 -2
  586. package/dist/core/p-b9369ce5.entry.js.map +0 -1
  587. package/dist/core/p-cbbba154.entry.js +0 -2
  588. package/dist/core/p-cbbba154.entry.js.map +0 -1
  589. package/dist/core/p-cdd6d5e8.entry.js +0 -2
  590. package/dist/core/p-cdd6d5e8.entry.js.map +0 -1
  591. package/dist/core/p-dc3aba7c.entry.js +0 -2
  592. package/dist/core/p-dc3aba7c.entry.js.map +0 -1
  593. package/dist/core/p-e253a857.js.map +0 -1
  594. package/dist/esm/helpers-d9387cd3.js.map +0 -1
  595. package/dist/esm/ic-input-component-container_3.entry.js.map +0 -1
  596. package/dist/esm/ic-input-label_2.entry.js +0 -128
  597. package/dist/esm/ic-input-label_2.entry.js.map +0 -1
  598. /package/dist/core/{p-0fe08a58.js.map → p-33927ee1.js.map} +0 -0
  599. /package/dist/core/{p-75901d06.entry.js.map → p-86ff903d.entry.js.map} +0 -0
  600. /package/dist/core/{p-ead0acc3.entry.js.map → p-8908b8e6.entry.js.map} +0 -0
  601. /package/dist/core/{p-832c7042.entry.js.map → p-8bf1022e.entry.js.map} +0 -0
  602. /package/dist/core/{p-5237f3ac.entry.js.map → p-97c437bb.entry.js.map} +0 -0
  603. /package/dist/core/{p-b3509380.entry.js.map → p-c4bf8742.entry.js.map} +0 -0
  604. /package/dist/core/{p-3cf99186.entry.js.map → p-c6eabd53.entry.js.map} +0 -0
  605. /package/dist/core/{p-a54eb1d1.entry.js.map → p-d5f8ef77.entry.js.map} +0 -0
  606. /package/dist/core/{p-cc36abaa.entry.js.map → p-db6d0463.entry.js.map} +0 -0
@@ -0,0 +1,1600 @@
1
+ /* eslint-disable react/jsx-no-bind */
2
+ import { h, Host, } from "@stencil/core";
3
+ import { IcInformationStatus, } from "../../utils/types";
4
+ import { isEmptyString, isNumeric, addFormResetListener, getInputDescribedByText, onComponentRequiredPropUndefined, removeDisabledFalse, removeFormResetListener, renderHiddenInput, } from "../../utils/helpers";
5
+ import Clear from "../../assets/clear-icon.svg";
6
+ import Clock from "../../assets/clock.svg";
7
+ let inputIds = 0;
8
+ /**
9
+ * @slot helper-text - Content is set as the helper text for the time input.
10
+ */
11
+ export class TimeInput {
12
+ constructor() {
13
+ this.DEFAULT_TIME_FORMAT = "HH:MM:SS";
14
+ this.ARIA_INVALID = "aria-invalid";
15
+ this.ARIA_LABEL = "aria-label";
16
+ this.ARIA_LABELLED_BY = "aria-labelledby";
17
+ this.EVENT_OBJECT_STRING = "[object Event]";
18
+ this.FIT_TO_VALUE = "fit-to-value";
19
+ this.initialValue = this.value;
20
+ this.inputsInOrder = [];
21
+ this.isValidHour = true;
22
+ this.isValidMinute = true;
23
+ this.isValidSecond = true;
24
+ this.isValidTime = true;
25
+ this.isTimeSetFromKeyboardEvent = false;
26
+ this.previousSelectedTime = null;
27
+ this.selectedTime = null;
28
+ this.externalSetTime = false;
29
+ this.clearInput = false;
30
+ this.maxTime = null;
31
+ this.minTime = null;
32
+ this.clockFocused = false;
33
+ this.clearButtonFocused = false;
34
+ this.removeLabelledBy = false;
35
+ this.hour = "";
36
+ this.minute = "";
37
+ this.second = "";
38
+ /**
39
+ * If `true`, the disabled state will be set.
40
+ */
41
+ this.disabled = false;
42
+ /**
43
+ * An array of times that will be disabled in the time input. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.
44
+ */
45
+ this.disableTimes = [];
46
+ /**
47
+ * If `true`, every individual input field completed will emit an icChange event.
48
+ */
49
+ this.emitTimePartChange = false;
50
+ /**
51
+ * If `true`, the helper text will be visually hidden, but still read out by screenreaders.
52
+ */
53
+ this.hideHelperText = false;
54
+ /**
55
+ * If `true`, the label will be visually hidden, but will still be read out by screen readers.
56
+ */
57
+ this.hideLabel = false;
58
+ /**
59
+ * The ID for the input.
60
+ */
61
+ this.inputId = `ic-time-input-${inputIds++}`;
62
+ /**
63
+ * The text to display as the validation message when an invalid time is entered.
64
+ */
65
+ this.invalidTimeMessage = "Please enter a valid time.";
66
+ /**
67
+ * 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.
68
+ */
69
+ this.max = "";
70
+ /**
71
+ * 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.
72
+ */
73
+ this.min = "";
74
+ /**
75
+ * The name of the control, which is submitted with the form data.
76
+ */
77
+ this.name = this.inputId;
78
+ /**
79
+ * If `true`, the input will require a value.
80
+ */
81
+ this.required = false;
82
+ /**
83
+ * If `true`, a button which clears the time input when clicked will be displayed.
84
+ */
85
+ this.showClearButton = true;
86
+ /**
87
+ * @internal If `true`, a button which displays the clock view when clicked will be displayed.
88
+ */
89
+ this.showClockButton = false;
90
+ /**
91
+ * The size of the time input to be displayed.
92
+ */
93
+ this.size = "medium";
94
+ /**
95
+ * Sets the time picker to the dark or light theme colors. "inherit" will set the color based on the system settings or ic-theme component.
96
+ */
97
+ this.theme = "inherit";
98
+ /**
99
+ * The format in which the time will be displayed.
100
+ */
101
+ this.timeFormat = this.DEFAULT_TIME_FORMAT;
102
+ /**
103
+ * The time period format: "12" for 12-hour, "24" for 24-hour. Defaults to "24".
104
+ */
105
+ this.timePeriod = "24";
106
+ /**
107
+ * The value of the time input. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object.
108
+ */
109
+ this.value = "";
110
+ /**
111
+ * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in time validation.
112
+ */
113
+ this.validationStatus = "";
114
+ /**
115
+ * The text to display as the validation message. This will override the built-in time validation.
116
+ */
117
+ this.validationText = "";
118
+ this.setInputPasteValue = (input, pastedValue) => {
119
+ if (input) {
120
+ const inputEl = input;
121
+ inputEl.value = pastedValue;
122
+ inputEl.classList.add(this.FIT_TO_VALUE);
123
+ }
124
+ };
125
+ this.parseTime = (value) => {
126
+ if (!value)
127
+ return null;
128
+ if (value instanceof Date)
129
+ return value;
130
+ const parts = value.split(":");
131
+ if (parts.length >= 2) {
132
+ const d = new Date();
133
+ d.setHours(+parts[0], +parts[1], parts[2] ? +parts[2] : 0, 0);
134
+ return d;
135
+ }
136
+ return null;
137
+ };
138
+ this.isHHMMFormat = () => this.timeFormat === "HH:MM";
139
+ this.isKeyboardOrEvent = (event) => {
140
+ return (Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||
141
+ Object.prototype.toString.call(event) === "[object KeyboardEvent]");
142
+ };
143
+ this.setTimeValidity = () => {
144
+ const minHour = 0;
145
+ const maxHour = this.timePeriod === "12" ? 11 : 23;
146
+ if (!isEmptyString(this.hour)) {
147
+ this.isValidHour = +this.hour >= minHour && +this.hour <= maxHour;
148
+ }
149
+ else {
150
+ this.isValidHour = true;
151
+ }
152
+ if (!isEmptyString(this.minute)) {
153
+ this.isValidMinute = +this.minute >= 0 && +this.minute <= 59;
154
+ }
155
+ else {
156
+ this.isValidMinute = true;
157
+ }
158
+ if (!this.isHHMMFormat()) {
159
+ if (!isEmptyString(this.second)) {
160
+ this.isValidSecond = +this.second >= 0 && +this.second <= 59;
161
+ }
162
+ else {
163
+ this.isValidSecond = true;
164
+ }
165
+ }
166
+ else {
167
+ this.isValidSecond = true;
168
+ }
169
+ };
170
+ this.setInputValue = (input, clear = false) => {
171
+ const newValue = clear ? "" : input.value;
172
+ if (input === this.hourInputEl) {
173
+ this.hour = newValue;
174
+ }
175
+ else if (input === this.minuteInputEl) {
176
+ this.minute = newValue;
177
+ }
178
+ else if (input === this.secondInputEl && !this.isHHMMFormat()) {
179
+ this.second = newValue;
180
+ }
181
+ this.setValidationMessage();
182
+ };
183
+ this.setPreventInput = (input, isPrevented) => {
184
+ if (input === this.hourInputEl) {
185
+ this.preventHourInput = isPrevented;
186
+ }
187
+ else if (input === this.minuteInputEl) {
188
+ this.preventMinuteInput = isPrevented;
189
+ }
190
+ else if (input === this.secondInputEl) {
191
+ this.preventSecondInput = isPrevented;
192
+ }
193
+ };
194
+ this.setValidationMessage = () => {
195
+ this.maxTime = this.parseTime(this.max);
196
+ this.minTime = this.parseTime(this.min);
197
+ this.setTimeValidity();
198
+ let outOfBoundsMsg = "";
199
+ let isDisabledTime = false;
200
+ if (!isEmptyString(this.hour) &&
201
+ !isEmptyString(this.minute) &&
202
+ (this.isHHMMFormat() || !isEmptyString(this.second))) {
203
+ this.selectedTime = this.convertToTime(this.hour, this.minute, this.isHHMMFormat() ? "00" : this.second);
204
+ this.isValidTime =
205
+ !!this.selectedTime &&
206
+ this.selectedTime.getHours() == +this.hour &&
207
+ this.selectedTime.getMinutes() == +this.minute &&
208
+ (this.isHHMMFormat() || this.selectedTime.getSeconds() == +this.second);
209
+ if (this.selectedTime &&
210
+ Array.isArray(this.disableTimes) &&
211
+ this.disableTimes.length > 0) {
212
+ isDisabledTime = this.disableTimes.some((t) => {
213
+ if (typeof t === "object" &&
214
+ t !== null &&
215
+ "start" in t &&
216
+ "end" in t) {
217
+ const start = this.parseTime(t.start);
218
+ const end = this.parseTime(t.end);
219
+ if (start && end) {
220
+ return this.selectedTime >= start && this.selectedTime <= end;
221
+ }
222
+ return false;
223
+ }
224
+ const parsed = this.parseTime(t);
225
+ return (parsed &&
226
+ parsed.getHours() === this.selectedTime.getHours() &&
227
+ parsed.getMinutes() === this.selectedTime.getMinutes() &&
228
+ parsed.getSeconds() === this.selectedTime.getSeconds());
229
+ });
230
+ if (isDisabledTime) {
231
+ this.isValidTime = false;
232
+ outOfBoundsMsg = this.invalidTimeMessage;
233
+ }
234
+ }
235
+ if (this.selectedTime && !isDisabledTime) {
236
+ if (this.minTime && this.selectedTime < this.minTime) {
237
+ this.isValidTime = false;
238
+ outOfBoundsMsg = `Please enter a time after ${this.formatTime(this.minTime)}.`;
239
+ }
240
+ else if (this.maxTime && this.selectedTime > this.maxTime) {
241
+ this.isValidTime = false;
242
+ outOfBoundsMsg = `Please enter a time before ${this.formatTime(this.maxTime)}.`;
243
+ }
244
+ }
245
+ if (!this.isValidTime) {
246
+ this.inputsInOrder.forEach((input) => input.setAttribute(this.ARIA_INVALID, "true"));
247
+ }
248
+ else {
249
+ this.inputsInOrder.forEach((input) => input.removeAttribute(this.ARIA_INVALID));
250
+ }
251
+ }
252
+ else {
253
+ this.selectedTime = null;
254
+ }
255
+ if (!(this.isValidHour &&
256
+ this.isValidMinute &&
257
+ this.isValidSecond &&
258
+ this.isValidTime)) {
259
+ this.invalidTimeText = outOfBoundsMsg || this.invalidTimeMessage;
260
+ }
261
+ else {
262
+ this.invalidTimeText = "";
263
+ }
264
+ };
265
+ this.formatTime = (time) => {
266
+ const hh = time.getHours().toString().padStart(2, "0");
267
+ const mm = time.getMinutes().toString().padStart(2, "0");
268
+ const ss = time.getSeconds().toString().padStart(2, "0");
269
+ return this.isHHMMFormat() ? `${hh}:${mm}` : `${hh}:${mm}:${ss}`;
270
+ };
271
+ this.handleInput = (event) => {
272
+ const inputEvent = event;
273
+ const input = event.target;
274
+ if (input !== this.hourInputEl) {
275
+ if (inputEvent.inputType !== "deleteContentBackward" &&
276
+ !this.preventAutoFormatting) {
277
+ if (input.value.length === 1 &&
278
+ +input.value >= 6 &&
279
+ +input.value <= 9) {
280
+ this.setInputValue(input);
281
+ this.notifyScreenReader(input);
282
+ this.moveToNextInput(input);
283
+ }
284
+ if (input.value.length === 2) {
285
+ this.setInputValue(input);
286
+ this.setPreventInput(input, true);
287
+ this.notifyScreenReader(input);
288
+ this.moveToNextInput(input);
289
+ }
290
+ else {
291
+ this.setPreventInput(input, false);
292
+ }
293
+ }
294
+ else if (this.preventAutoFormatting) {
295
+ if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {
296
+ this.setInputValue(input);
297
+ this.setPreventInput(input, true);
298
+ this.moveToNextInput(input);
299
+ }
300
+ else {
301
+ this.setInputValue(input);
302
+ }
303
+ }
304
+ if (input.value.length !== 2) {
305
+ this.setPreventInput(input, false);
306
+ }
307
+ }
308
+ else {
309
+ if (input.value.length === 2) {
310
+ this.setInputValue(input);
311
+ if (Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING) {
312
+ this.moveToNextInput(input);
313
+ }
314
+ this.setPreventInput(input, true);
315
+ }
316
+ else {
317
+ this.setInputValue(input, true);
318
+ this.setPreventInput(input, false);
319
+ }
320
+ }
321
+ this.setFitToValueStyling(input);
322
+ if (input.value.length === 0) {
323
+ this.setInputValue(input, true);
324
+ this.setValidationMessage();
325
+ }
326
+ this.notifyScreenReader(input);
327
+ };
328
+ this.handleKeyDown = (event, isInputPrevented) => {
329
+ var _a;
330
+ const input = event.target;
331
+ const eventKey = (_a = event.key) === null || _a === void 0 ? void 0 : _a.toLowerCase();
332
+ const regex = /-?\d*\.?\d+(e[-+]?\d+)?|[:]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;
333
+ if (!regex.test(eventKey) &&
334
+ !((event.ctrlKey || event.metaKey) &&
335
+ (eventKey === "v" || eventKey === "c"))) {
336
+ event.preventDefault();
337
+ }
338
+ switch (eventKey) {
339
+ case ":":
340
+ case "arrowright":
341
+ event.preventDefault();
342
+ this.moveToNextInput(input);
343
+ break;
344
+ case "arrowleft":
345
+ event.preventDefault();
346
+ this.moveToPreviousInput(input);
347
+ break;
348
+ case "arrowup":
349
+ case "arrowdown":
350
+ this.preventAutoFormatting = true;
351
+ this.handleUpDownArrowKeyPress(input, event);
352
+ break;
353
+ case "backspace":
354
+ if (input.value.length === 0) {
355
+ event.preventDefault();
356
+ this.moveToPreviousInput(input);
357
+ }
358
+ break;
359
+ default:
360
+ break;
361
+ }
362
+ this.preventInput(event, isInputPrevented);
363
+ this.isTimeSetFromKeyboardEvent = true;
364
+ };
365
+ this.handleFocus = (event) => {
366
+ const input = event.target;
367
+ input.select();
368
+ };
369
+ this.handleBlur = (event) => {
370
+ const input = event.target;
371
+ if (input) {
372
+ this.autocompleteInput(input);
373
+ }
374
+ };
375
+ this.handleUpDownArrowKeyPress = (input, event) => {
376
+ let minValue = 0;
377
+ let maxValue = 59;
378
+ if (input === this.hourInputEl) {
379
+ minValue = 0;
380
+ maxValue = this.timePeriod === "12" ? 11 : 23;
381
+ }
382
+ let val = +input.value;
383
+ if (event.key === "ArrowUp") {
384
+ val = val + 1;
385
+ if (val > maxValue)
386
+ val = minValue;
387
+ input.value = val.toString().padStart(2, "0");
388
+ this.notifyScreenReader(input);
389
+ }
390
+ if (event.key === "ArrowDown") {
391
+ val = val - 1;
392
+ if (val < minValue)
393
+ val = maxValue;
394
+ input.value = val.toString().padStart(2, "0");
395
+ this.notifyScreenReader(input);
396
+ }
397
+ this.setInputValue(input);
398
+ this.setFitToValueStyling(input);
399
+ };
400
+ this.handleTimeChange = (force) => {
401
+ if (force || this.selectedTime !== this.previousSelectedTime) {
402
+ if (this.value) {
403
+ this.inputsInOrder.forEach((input) => {
404
+ input.classList.add(this.FIT_TO_VALUE);
405
+ });
406
+ }
407
+ if (this.hour &&
408
+ this.minute &&
409
+ (this.isHHMMFormat() || this.second) &&
410
+ this.invalidTimeText === "") {
411
+ this.setValueAndEmitChange(this.selectedTime);
412
+ this.notifyScreenReaderSelectedTime();
413
+ }
414
+ else if (!(this.selectedTime === null && this.previousSelectedTime === null) &&
415
+ this.selectedTimeInfoEl) {
416
+ this.setValueAndEmitChange(null);
417
+ this.selectedTimeInfoEl.textContent = "";
418
+ }
419
+ this.previousSelectedTime = this.selectedTime;
420
+ if (!this.isTimeSetFromKeyboardEvent) {
421
+ this.updateInputValues(this.hour, this.minute, this.second);
422
+ }
423
+ }
424
+ };
425
+ this.setValueAndEmitChange = (value) => {
426
+ if (this.value !== value) {
427
+ this.emitIcChange(value);
428
+ this.value = value;
429
+ }
430
+ };
431
+ this.emitIcChange = (t) => {
432
+ this.selectedTime = t;
433
+ this.icChange.emit({
434
+ value: t,
435
+ timeObject: {
436
+ hour: this.hour === "" ? null : this.hour,
437
+ minute: this.minute === "" ? null : this.minute,
438
+ second: this.second === "" ? null : this.second,
439
+ },
440
+ });
441
+ };
442
+ this.setTime = (time) => {
443
+ if (time === null || time === "" || time === undefined) {
444
+ if (this.hour)
445
+ this.hour = "";
446
+ if (this.minute)
447
+ this.minute = "";
448
+ if (this.second)
449
+ this.second = "";
450
+ this.inputsInOrder.forEach((input) => {
451
+ input.classList.remove(this.FIT_TO_VALUE);
452
+ this.setPreventInput(input, false);
453
+ });
454
+ this.handleTimeChange(true);
455
+ }
456
+ else {
457
+ if (typeof time === "string") {
458
+ const zuluMatch = time.match(/^(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,3}))?Z?$/);
459
+ if (zuluMatch) {
460
+ this.hour = zuluMatch[1];
461
+ this.minute = zuluMatch[2];
462
+ this.second = zuluMatch[3];
463
+ }
464
+ else {
465
+ const parts = time.split(":");
466
+ this.hour = parts[0] || "";
467
+ this.minute = parts[1] || "";
468
+ this.second = parts[2] || "";
469
+ }
470
+ }
471
+ else if (time instanceof Date) {
472
+ this.hour = time.getHours().toString().padStart(2, "0");
473
+ this.minute = time.getMinutes().toString().padStart(2, "0");
474
+ this.second = time.getSeconds().toString().padStart(2, "0");
475
+ }
476
+ }
477
+ this.setValidationMessage();
478
+ };
479
+ this.setAriaInvalid = (validHour, validMinute, validSecond) => {
480
+ var _a, _b, _c;
481
+ if (this.inputsInOrder.length) {
482
+ this.inputsInOrder.forEach((input) => {
483
+ input.removeAttribute(this.ARIA_INVALID);
484
+ });
485
+ if (!validHour) {
486
+ (_a = this.hourInputEl) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ARIA_INVALID, "true");
487
+ }
488
+ if (!validMinute) {
489
+ (_b = this.minuteInputEl) === null || _b === void 0 ? void 0 : _b.setAttribute(this.ARIA_INVALID, "true");
490
+ }
491
+ if (!validSecond) {
492
+ (_c = this.secondInputEl) === null || _c === void 0 ? void 0 : _c.setAttribute(this.ARIA_INVALID, "true");
493
+ }
494
+ if (!(validHour && validMinute && validSecond)) {
495
+ this.inputsInOrder.forEach((input) => {
496
+ input.setAttribute(this.ARIA_INVALID, "true");
497
+ });
498
+ }
499
+ }
500
+ };
501
+ this.handleClear = () => {
502
+ this.clearInput = true;
503
+ if (this.hourInputEl) {
504
+ this.hourInputEl.value = "";
505
+ }
506
+ if (this.minuteInputEl) {
507
+ this.minuteInputEl.value = "";
508
+ }
509
+ if (!this.isHHMMFormat() && this.secondInputEl) {
510
+ this.secondInputEl.value = "";
511
+ }
512
+ this.hour = "";
513
+ this.minute = "";
514
+ this.second = "";
515
+ this.handleTimeChange(true);
516
+ this.inputsInOrder.forEach((input) => {
517
+ input.classList.remove(this.FIT_TO_VALUE);
518
+ this.setPreventInput(input, false);
519
+ });
520
+ this.clearInput = false;
521
+ this.isTimeSetFromKeyboardEvent = false;
522
+ this.setValidationMessage();
523
+ this.invalidTimeText = "";
524
+ if (this.hourInputEl) {
525
+ this.hourInputEl.focus();
526
+ }
527
+ };
528
+ this.notifyScreenReaderSelectedTime = () => {
529
+ if (this.selectedTime && this.selectedTimeInfoEl) {
530
+ if (this.isHHMMFormat()) {
531
+ this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime
532
+ .getHours()
533
+ .toString()
534
+ .padStart(2, "0")}:${this.selectedTime
535
+ .getMinutes()
536
+ .toString()
537
+ .padStart(2, "0")}`;
538
+ }
539
+ else {
540
+ this.selectedTimeInfoEl.textContent = `Selected time: ${this.selectedTime
541
+ .getHours()
542
+ .toString()
543
+ .padStart(2, "0")}:${this.selectedTime
544
+ .getMinutes()
545
+ .toString()
546
+ .padStart(2, "0")}:${this.selectedTime
547
+ .getSeconds()
548
+ .toString()
549
+ .padStart(2, "0")}`;
550
+ }
551
+ }
552
+ };
553
+ this.setFitToValueStyling = (input) => {
554
+ if (input.value) {
555
+ input.classList.add(this.FIT_TO_VALUE);
556
+ }
557
+ else {
558
+ input.classList.remove(this.FIT_TO_VALUE);
559
+ }
560
+ };
561
+ this.handleHostBlur = () => {
562
+ this.removeLabelledBy = false;
563
+ this.icBlur.emit({ value: this.selectedTime });
564
+ };
565
+ this.handleHostFocus = () => {
566
+ var _a, _b;
567
+ 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$/)) {
568
+ this.removeLabelledBy = false;
569
+ }
570
+ else {
571
+ this.removeLabelledBy = true;
572
+ }
573
+ this.icFocus.emit({ value: this.selectedTime });
574
+ };
575
+ this.handleFormReset = () => {
576
+ this.setTime(this.initialValue);
577
+ this.setValidationMessage();
578
+ this.handleTimeChange(false);
579
+ };
580
+ this.preventInput = (event, isInputPrevented) => {
581
+ const key = event.key;
582
+ const input = event.target;
583
+ let selectedString;
584
+ if (input) {
585
+ selectedString = input.value.substring(input.selectionStart || 0, input.selectionEnd || undefined);
586
+ }
587
+ if (key === "e" ||
588
+ key === "." ||
589
+ key === "-" ||
590
+ (event.key >= "0" &&
591
+ event.key <= "9" &&
592
+ isInputPrevented &&
593
+ !selectedString)) {
594
+ event.preventDefault();
595
+ }
596
+ };
597
+ this.moveToNextInput = (currentInput) => {
598
+ var _a;
599
+ this.preventAutoFormatting = false;
600
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) + 1]) === null || _a === void 0 ? void 0 : _a.focus();
601
+ };
602
+ this.moveToPreviousInput = (currentInput) => {
603
+ var _a;
604
+ this.preventAutoFormatting = false;
605
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) - 1]) === null || _a === void 0 ? void 0 : _a.focus();
606
+ };
607
+ this.autocompleteInput = (input) => {
608
+ const inputValue = input.value;
609
+ if (inputValue.length === 1) {
610
+ input.value = `0${inputValue}`;
611
+ }
612
+ if (input.value) {
613
+ this.setInputValue(input);
614
+ }
615
+ };
616
+ this.convertToTime = (hour, minute, second) => {
617
+ if (!isEmptyString(hour) &&
618
+ !isEmptyString(minute) &&
619
+ (this.isHHMMFormat() || !isEmptyString(second))) {
620
+ const d = new Date();
621
+ d.setHours(+hour, +minute, this.isHHMMFormat() ? 0 : +second, 0);
622
+ return d;
623
+ }
624
+ else {
625
+ return null;
626
+ }
627
+ };
628
+ this.setInputsInOrder = () => {
629
+ var _a;
630
+ this.inputsInOrder = [];
631
+ const shadowInputs = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("input");
632
+ if (shadowInputs) {
633
+ shadowInputs.forEach((input) => this.inputsInOrder.push(input));
634
+ }
635
+ };
636
+ this.updateInputValues = (hour, minute, second) => {
637
+ if (this.hourInputEl && this.minuteInputEl && this.secondInputEl) {
638
+ this.hourInputEl.value = hour;
639
+ this.minuteInputEl.value = minute;
640
+ this.secondInputEl.value = second;
641
+ }
642
+ };
643
+ this.removeAriaLabelledBy = () => {
644
+ var _a;
645
+ (_a = this.inputCompContainerEl) === null || _a === void 0 ? void 0 : _a.removeAttribute(this.ARIA_LABELLED_BY);
646
+ };
647
+ this.setAriaLabelledBy = () => {
648
+ var _a, _b, _c, _d;
649
+ if (this.disabled &&
650
+ ((_a = this.inputCompContainerEl) === null || _a === void 0 ? void 0 : _a.getAttribute(this.ARIA_LABELLED_BY))) {
651
+ this.removeAriaLabelledBy();
652
+ return;
653
+ }
654
+ if (this.disabled) {
655
+ return;
656
+ }
657
+ const labelEl = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("label");
658
+ const labelId = `${this.inputId}-label`;
659
+ if (labelEl !== null && labelEl !== undefined) {
660
+ labelEl.id = labelId;
661
+ }
662
+ const hasValidation = !isEmptyString(this.validationStatus) ||
663
+ !isEmptyString(this.invalidTimeText);
664
+ const labelledBy = `${(_c = labelEl === null || labelEl === void 0 ? void 0 : labelEl.id) !== null && _c !== void 0 ? _c : ""} ${this.screenReaderInfoId} ${getInputDescribedByText(this.el, this.inputId, this.helperText !== "" && this.helperText !== this.defaultHelperText, hasValidation)} ${this.selectedTime ? this.selectedTimeInfoId : ""} ${this.assistiveHintId}`;
665
+ (_d = this.inputCompContainerEl) === null || _d === void 0 ? void 0 : _d.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
666
+ };
667
+ this.getInputsInOrder = () => {
668
+ const timeParts = this.timeFormat.split(":");
669
+ return timeParts.map((part) => {
670
+ switch (part.substring(0, 1)) {
671
+ case "H":
672
+ return (h("input", { class: "hour-input", id: "hour-input", ref: (el) => (this.hourInputEl = el), "aria-label": "hour", placeholder: "HH", disabled: this.disabled, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventHourInput) }));
673
+ case "M":
674
+ return (h("input", { id: "minute-input", class: "minute-input", ref: (el) => (this.minuteInputEl = el), "aria-label": "minute", placeholder: "MM", disabled: this.disabled, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventMinuteInput) }));
675
+ case "S":
676
+ if (!this.isHHMMFormat()) {
677
+ return (h("input", { id: "second-input", class: "second-input", ref: (el) => (this.secondInputEl = el), "aria-label": "second", placeholder: "SS", disabled: this.disabled, inputmode: "number", pattern: "[0-9]*", onPaste: this.handlePaste, onKeyDown: (event) => this.handleKeyDown(event, this.preventSecondInput) }));
678
+ }
679
+ return null;
680
+ default:
681
+ return null;
682
+ }
683
+ });
684
+ };
685
+ this.getDescOfInputsOrder = () => {
686
+ return "hour, minute, and second";
687
+ };
688
+ this.getScreenReaderInfo = (validationStatus) => {
689
+ let inputDescriptors = "";
690
+ if (this.required) {
691
+ inputDescriptors += "required";
692
+ }
693
+ if (validationStatus === IcInformationStatus.Error) {
694
+ inputDescriptors += " invalid data";
695
+ }
696
+ return inputDescriptors === "" ? "" : inputDescriptors + ", ";
697
+ };
698
+ this.notifyScreenReader = (input) => {
699
+ var _a;
700
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
701
+ if (liveRegion) {
702
+ liveRegion.textContent = `${input.value}, ${input.getAttribute(this.ARIA_LABEL)}`;
703
+ }
704
+ };
705
+ this.handlePaste = (event) => {
706
+ var _a;
707
+ event.preventDefault();
708
+ const pastedValue = ((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("Text")) || "";
709
+ const isValidTime = this.isPastedStringTimeValid(pastedValue);
710
+ this.setPastedValueAndValidation(isValidTime, pastedValue, event);
711
+ };
712
+ this.handleClearFocus = () => {
713
+ this.removeLabelledBy = true;
714
+ this.clearButtonFocused = true;
715
+ this.isTimeSetFromKeyboardEvent = true;
716
+ };
717
+ this.handleClearBlur = (ev) => {
718
+ this.clearButtonFocused = false;
719
+ this.isTimeSetFromKeyboardEvent = true;
720
+ const relatedTarget = ev.relatedTarget;
721
+ if ((relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id) === "clock-button") {
722
+ this.removeLabelledBy = false;
723
+ return;
724
+ }
725
+ if (relatedTarget === null || relatedTarget === void 0 ? void 0 : relatedTarget.id.match(/(minute|second)-input$/)) {
726
+ this.removeLabelledBy = false;
727
+ return;
728
+ }
729
+ this.removeLabelledBy = true;
730
+ };
731
+ this.handleClockFocus = () => {
732
+ this.clockFocused = true;
733
+ };
734
+ this.handleClockBlur = () => {
735
+ this.clockFocused = false;
736
+ };
737
+ this.isPastedStringTimeValid = (value) => {
738
+ if (this.isHHMMFormat()) {
739
+ if (/^\d{2}:\d{2}$/.test(value)) {
740
+ return value;
741
+ }
742
+ }
743
+ else {
744
+ if (/^\d{2}:\d{2}:\d{2}$/.test(value)) {
745
+ return value;
746
+ }
747
+ if (/^\d{2}:\d{2}:\d{2}Z$/.test(value)) {
748
+ return value.replace("Z", "");
749
+ }
750
+ const isoMatch = value.match(/T(\d{2}:\d{2}:\d{2})/);
751
+ if (isoMatch) {
752
+ return isoMatch[1];
753
+ }
754
+ }
755
+ return false;
756
+ };
757
+ this.setPastedValueAndValidation = (isValidTime, pastedValue, event) => {
758
+ if (isValidTime) {
759
+ const timeParts = isValidTime.split(":");
760
+ this.inputsInOrder.forEach((input, index) => {
761
+ input.classList.add(this.FIT_TO_VALUE);
762
+ const timeValue = timeParts[index] || "";
763
+ input.value = timeValue.slice(0, 2);
764
+ this.setInputValue(input);
765
+ this.autocompleteInput(input);
766
+ });
767
+ if (this.isHHMMFormat() && this.second !== "") {
768
+ this.second = "";
769
+ }
770
+ }
771
+ else {
772
+ const pasted = pastedValue.trim();
773
+ if ((pasted.length === 1 || pasted.length === 2) && isNumeric(pasted)) {
774
+ this.setInputPasteValue(event.target, pasted);
775
+ this.setInputValue(event.target);
776
+ }
777
+ else {
778
+ this.invalidTimeText = `Please paste a valid ${event.target.getAttribute(this.ARIA_LABEL)}`;
779
+ this.validationStatus = IcInformationStatus.Error;
780
+ }
781
+ }
782
+ };
783
+ }
784
+ watchInputHandler() {
785
+ if (this.emitTimePartChange &&
786
+ !this.externalSetTime &&
787
+ !this.clearInput &&
788
+ !(this.hour && this.minute && this.second) &&
789
+ this.selectedTime === null) {
790
+ this.emitIcChange(this.selectedTime);
791
+ }
792
+ }
793
+ watchDisabledHandler() {
794
+ removeDisabledFalse(this.disabled, this.el);
795
+ }
796
+ watchMaxHandler() {
797
+ this.maxTime = this.parseTime(this.max);
798
+ }
799
+ watchMinHandler() {
800
+ this.minTime = this.parseTime(this.min);
801
+ }
802
+ watchRequiredHandler() {
803
+ var _a, _b;
804
+ const labelEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("label");
805
+ if (this.required) {
806
+ const asteriskSpan = document.createElement("span");
807
+ asteriskSpan.setAttribute("id", "asterisk-span");
808
+ asteriskSpan.setAttribute("aria-hidden", "true");
809
+ asteriskSpan.textContent = " *";
810
+ labelEl === null || labelEl === void 0 ? void 0 : labelEl.appendChild(asteriskSpan);
811
+ }
812
+ else {
813
+ const asteriskSpan = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("#asterisk-span");
814
+ if (asteriskSpan) {
815
+ asteriskSpan.remove();
816
+ }
817
+ }
818
+ }
819
+ disconnectedCallback() {
820
+ removeFormResetListener(this.el, this.handleFormReset);
821
+ }
822
+ componentWillLoad() {
823
+ this.defaultHelperText = `Use format ${this.timeFormat}`;
824
+ if (isEmptyString(this.helperText))
825
+ this.helperText = this.defaultHelperText;
826
+ if (this.value) {
827
+ this.externalSetTime = true;
828
+ this.setTime(this.value);
829
+ }
830
+ this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;
831
+ this.assistiveHintId = `${this.inputId}-assistive-hint`;
832
+ this.selectedTimeInfoId = `${this.inputId}-selected-time-info`;
833
+ addFormResetListener(this.el, this.handleFormReset);
834
+ removeDisabledFalse(this.disabled, this.el);
835
+ }
836
+ componentDidLoad() {
837
+ this.setInputsInOrder();
838
+ onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Time Input");
839
+ if (this.value) {
840
+ this.updateInputValues(this.hour, this.minute, this.second);
841
+ this.inputsInOrder.forEach((input) => {
842
+ input.classList.add(this.FIT_TO_VALUE);
843
+ });
844
+ }
845
+ this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
846
+ if (this.value) {
847
+ this.notifyScreenReaderSelectedTime();
848
+ }
849
+ this.inputsInOrder.forEach((input) => {
850
+ input.addEventListener("input", this.handleInput);
851
+ input.addEventListener("focus", this.handleFocus);
852
+ input.addEventListener("blur", this.handleBlur);
853
+ });
854
+ this.watchRequiredHandler();
855
+ }
856
+ componentWillUpdate() {
857
+ if (isEmptyString(this.helperText))
858
+ this.helperText = this.defaultHelperText;
859
+ if (!this.isTimeSetFromKeyboardEvent)
860
+ this.setTime(this.value);
861
+ this.setAriaInvalid(this.isValidHour, this.isValidMinute, this.isValidSecond);
862
+ this.handleTimeChange(false);
863
+ this.isTimeSetFromKeyboardEvent = false;
864
+ }
865
+ componentDidRender() {
866
+ if (this.removeLabelledBy) {
867
+ this.removeAriaLabelledBy();
868
+ return;
869
+ }
870
+ this.setAriaLabelledBy();
871
+ }
872
+ /**
873
+ * Returns the value as a Date object
874
+ * @returns Date
875
+ */
876
+ async getTime() {
877
+ return this.selectedTime;
878
+ }
879
+ /**
880
+ * @internal Used to enable other components to invoke an IcChange event from the input.
881
+ */
882
+ async triggerIcChange(t) {
883
+ this.externalSetTime = true;
884
+ this.setTime(t);
885
+ this.emitIcChange(t);
886
+ this.externalSetTime = false;
887
+ }
888
+ render() {
889
+ const { inputId, label, disabled, helperText, hideHelperText, hideLabel, showClearButton, showClockButton, size, theme, } = this;
890
+ const hasCustomValidation = !isEmptyString(this.validationStatus);
891
+ const validationStatus = hasCustomValidation
892
+ ? this.validationStatus
893
+ : !isEmptyString(this.invalidTimeText)
894
+ ? IcInformationStatus.Error
895
+ : "";
896
+ const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;
897
+ renderHiddenInput(true, this.el, this.name, this.convertToTime(this.hour, this.minute, this.second), this.disabled);
898
+ const showDivider = !!(showClearButton &&
899
+ !(isEmptyString(this.hour) &&
900
+ isEmptyString(this.minute) &&
901
+ isEmptyString(this.second)));
902
+ return (h(Host, { key: 'cf8b05ab0ccc0a0a779296e4dd3ba52375547b13', class: {
903
+ [`ic-theme-${theme}`]: theme !== "inherit",
904
+ [`ic-time-input-disabled`]: disabled,
905
+ [`ic-time-input-${size}`]: true,
906
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: 'b104968d5b191f040358a7e800f11cb6dd036407', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: 'fa0eaeef4aab6aef24b830e466ba87d68eb84b84', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled }, h("slot", { key: 'e4548928534459ff788ff576483b560cf90fed53', name: "helper-text", slot: "helper-text" }))), h("span", { key: '6f119c460880a9adb8661309c3a59cfee061ae7c', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: 'bd5ce20dab45d2514cd4219eee0d1645596e5e6e', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: 'e3d4a1e518f7bcb1b35ee065b5f038f9f6f3ffe7', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: '396b05aa89aa0e24a1853cc5de20abb5341c49e5', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: '2ac49a3454ce8dbabb546e54af197f0a66840499', class: "input-container" }, h("div", { key: '6917d370b61c997d888c133bb27d5fa8f94a79c0', class: "time-inputs" }, [
907
+ this.getInputsInOrder()[0],
908
+ ":",
909
+ this.getInputsInOrder()[1],
910
+ !this.isHHMMFormat()
911
+ ? [":", this.getInputsInOrder()[2]]
912
+ : null,
913
+ ]), h("div", { key: 'f09f3442355e75170fb1916727fdcac001df885d', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '27173fcbdcd13798c4adc66eda9469bc471693ea', id: "clear-button", "aria-label": "Clear input", class: {
914
+ ["clear-button"]: true,
915
+ ["hidden"]: isEmptyString(this.hour) &&
916
+ isEmptyString(this.minute) &&
917
+ isEmptyString(this.second),
918
+ }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showClockButton && (h("div", { key: '606a05c923fc4b95c21d0418be14168982117938', class: "show-clock-button-wrapper" }, h("div", { key: '4b9b2d37ed3a9661615685f3b077ac244295fbd1', class: { divider: showDivider, [size]: true } }), h("ic-button", { key: 'ab6ec2ca4b1442a23834e1a514800cd0f77c92d5', 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" })))))), h("span", { key: '1695846e5d626056f5a0e372c8513fcf0001f0b9', id: this.selectedTimeInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: '34f41adff4bc3642d21014b85e525b6f80814bb6', ref: (el) => (this.selectedTimeInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidTimeText)) && (h("ic-input-validation", { key: '4b9326e9e9df98698c2c6643262122658a1434de', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidTimeText, for: inputId })))));
919
+ }
920
+ static get is() { return "ic-time-input"; }
921
+ static get encapsulation() { return "shadow"; }
922
+ static get delegatesFocus() { return true; }
923
+ static get originalStyleUrls() {
924
+ return {
925
+ "$": ["ic-time-input.css"]
926
+ };
927
+ }
928
+ static get styleUrls() {
929
+ return {
930
+ "$": ["ic-time-input.css"]
931
+ };
932
+ }
933
+ static get properties() {
934
+ return {
935
+ "disabled": {
936
+ "type": "boolean",
937
+ "mutable": false,
938
+ "complexType": {
939
+ "original": "boolean",
940
+ "resolved": "boolean",
941
+ "references": {}
942
+ },
943
+ "required": false,
944
+ "optional": false,
945
+ "docs": {
946
+ "tags": [],
947
+ "text": "If `true`, the disabled state will be set."
948
+ },
949
+ "getter": false,
950
+ "setter": false,
951
+ "attribute": "disabled",
952
+ "reflect": false,
953
+ "defaultValue": "false"
954
+ },
955
+ "disableTimes": {
956
+ "type": "unknown",
957
+ "mutable": false,
958
+ "complexType": {
959
+ "original": "IcDisableTimeSelection[]",
960
+ "resolved": "IcDisableTimeSelection[]",
961
+ "references": {
962
+ "IcDisableTimeSelection": {
963
+ "location": "import",
964
+ "path": "../../utils/types",
965
+ "id": "src/utils/types.ts::IcDisableTimeSelection"
966
+ }
967
+ }
968
+ },
969
+ "required": false,
970
+ "optional": false,
971
+ "docs": {
972
+ "tags": [],
973
+ "text": "An array of times that will be disabled in the time input. The times can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object."
974
+ },
975
+ "getter": false,
976
+ "setter": false,
977
+ "defaultValue": "[]"
978
+ },
979
+ "emitTimePartChange": {
980
+ "type": "boolean",
981
+ "mutable": false,
982
+ "complexType": {
983
+ "original": "boolean",
984
+ "resolved": "boolean | undefined",
985
+ "references": {}
986
+ },
987
+ "required": false,
988
+ "optional": true,
989
+ "docs": {
990
+ "tags": [],
991
+ "text": "If `true`, every individual input field completed will emit an icChange event."
992
+ },
993
+ "getter": false,
994
+ "setter": false,
995
+ "attribute": "emit-time-part-change",
996
+ "reflect": false,
997
+ "defaultValue": "false"
998
+ },
999
+ "helperText": {
1000
+ "type": "string",
1001
+ "mutable": true,
1002
+ "complexType": {
1003
+ "original": "string | null",
1004
+ "resolved": "null | string",
1005
+ "references": {}
1006
+ },
1007
+ "required": false,
1008
+ "optional": false,
1009
+ "docs": {
1010
+ "tags": [],
1011
+ "text": "The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `timeFormat` value."
1012
+ },
1013
+ "getter": false,
1014
+ "setter": false,
1015
+ "attribute": "helper-text",
1016
+ "reflect": false
1017
+ },
1018
+ "hideHelperText": {
1019
+ "type": "boolean",
1020
+ "mutable": false,
1021
+ "complexType": {
1022
+ "original": "boolean",
1023
+ "resolved": "boolean",
1024
+ "references": {}
1025
+ },
1026
+ "required": false,
1027
+ "optional": false,
1028
+ "docs": {
1029
+ "tags": [],
1030
+ "text": "If `true`, the helper text will be visually hidden, but still read out by screenreaders."
1031
+ },
1032
+ "getter": false,
1033
+ "setter": false,
1034
+ "attribute": "hide-helper-text",
1035
+ "reflect": false,
1036
+ "defaultValue": "false"
1037
+ },
1038
+ "hideLabel": {
1039
+ "type": "boolean",
1040
+ "mutable": false,
1041
+ "complexType": {
1042
+ "original": "boolean",
1043
+ "resolved": "boolean | undefined",
1044
+ "references": {}
1045
+ },
1046
+ "required": false,
1047
+ "optional": true,
1048
+ "docs": {
1049
+ "tags": [],
1050
+ "text": "If `true`, the label will be visually hidden, but will still be read out by screen readers."
1051
+ },
1052
+ "getter": false,
1053
+ "setter": false,
1054
+ "attribute": "hide-label",
1055
+ "reflect": false,
1056
+ "defaultValue": "false"
1057
+ },
1058
+ "inputId": {
1059
+ "type": "string",
1060
+ "mutable": false,
1061
+ "complexType": {
1062
+ "original": "string",
1063
+ "resolved": "string",
1064
+ "references": {}
1065
+ },
1066
+ "required": false,
1067
+ "optional": false,
1068
+ "docs": {
1069
+ "tags": [],
1070
+ "text": "The ID for the input."
1071
+ },
1072
+ "getter": false,
1073
+ "setter": false,
1074
+ "attribute": "input-id",
1075
+ "reflect": false,
1076
+ "defaultValue": "`ic-time-input-${inputIds++}`"
1077
+ },
1078
+ "invalidTimeMessage": {
1079
+ "type": "string",
1080
+ "mutable": false,
1081
+ "complexType": {
1082
+ "original": "string",
1083
+ "resolved": "string",
1084
+ "references": {}
1085
+ },
1086
+ "required": false,
1087
+ "optional": false,
1088
+ "docs": {
1089
+ "tags": [],
1090
+ "text": "The text to display as the validation message when an invalid time is entered."
1091
+ },
1092
+ "getter": false,
1093
+ "setter": false,
1094
+ "attribute": "invalid-time-message",
1095
+ "reflect": false,
1096
+ "defaultValue": "\"Please enter a valid time.\""
1097
+ },
1098
+ "label": {
1099
+ "type": "string",
1100
+ "mutable": false,
1101
+ "complexType": {
1102
+ "original": "string",
1103
+ "resolved": "string",
1104
+ "references": {}
1105
+ },
1106
+ "required": true,
1107
+ "optional": false,
1108
+ "docs": {
1109
+ "tags": [],
1110
+ "text": "The label for the time input."
1111
+ },
1112
+ "getter": false,
1113
+ "setter": false,
1114
+ "attribute": "label",
1115
+ "reflect": false
1116
+ },
1117
+ "max": {
1118
+ "type": "string",
1119
+ "mutable": false,
1120
+ "complexType": {
1121
+ "original": "string | Date",
1122
+ "resolved": "Date | string",
1123
+ "references": {
1124
+ "Date": {
1125
+ "location": "global",
1126
+ "id": "global::Date"
1127
+ }
1128
+ }
1129
+ },
1130
+ "required": false,
1131
+ "optional": false,
1132
+ "docs": {
1133
+ "tags": [],
1134
+ "text": "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."
1135
+ },
1136
+ "getter": false,
1137
+ "setter": false,
1138
+ "attribute": "max",
1139
+ "reflect": false,
1140
+ "defaultValue": "\"\""
1141
+ },
1142
+ "min": {
1143
+ "type": "string",
1144
+ "mutable": false,
1145
+ "complexType": {
1146
+ "original": "string | Date",
1147
+ "resolved": "Date | string",
1148
+ "references": {
1149
+ "Date": {
1150
+ "location": "global",
1151
+ "id": "global::Date"
1152
+ }
1153
+ }
1154
+ },
1155
+ "required": false,
1156
+ "optional": false,
1157
+ "docs": {
1158
+ "tags": [],
1159
+ "text": "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."
1160
+ },
1161
+ "getter": false,
1162
+ "setter": false,
1163
+ "attribute": "min",
1164
+ "reflect": false,
1165
+ "defaultValue": "\"\""
1166
+ },
1167
+ "name": {
1168
+ "type": "string",
1169
+ "mutable": false,
1170
+ "complexType": {
1171
+ "original": "string",
1172
+ "resolved": "string",
1173
+ "references": {}
1174
+ },
1175
+ "required": false,
1176
+ "optional": false,
1177
+ "docs": {
1178
+ "tags": [],
1179
+ "text": "The name of the control, which is submitted with the form data."
1180
+ },
1181
+ "getter": false,
1182
+ "setter": false,
1183
+ "attribute": "name",
1184
+ "reflect": false,
1185
+ "defaultValue": "this.inputId"
1186
+ },
1187
+ "required": {
1188
+ "type": "boolean",
1189
+ "mutable": false,
1190
+ "complexType": {
1191
+ "original": "boolean",
1192
+ "resolved": "boolean",
1193
+ "references": {}
1194
+ },
1195
+ "required": false,
1196
+ "optional": false,
1197
+ "docs": {
1198
+ "tags": [],
1199
+ "text": "If `true`, the input will require a value."
1200
+ },
1201
+ "getter": false,
1202
+ "setter": false,
1203
+ "attribute": "required",
1204
+ "reflect": false,
1205
+ "defaultValue": "false"
1206
+ },
1207
+ "showClearButton": {
1208
+ "type": "boolean",
1209
+ "mutable": false,
1210
+ "complexType": {
1211
+ "original": "boolean",
1212
+ "resolved": "boolean | undefined",
1213
+ "references": {}
1214
+ },
1215
+ "required": false,
1216
+ "optional": true,
1217
+ "docs": {
1218
+ "tags": [],
1219
+ "text": "If `true`, a button which clears the time input when clicked will be displayed."
1220
+ },
1221
+ "getter": false,
1222
+ "setter": false,
1223
+ "attribute": "show-clear-button",
1224
+ "reflect": false,
1225
+ "defaultValue": "true"
1226
+ },
1227
+ "showClockButton": {
1228
+ "type": "boolean",
1229
+ "mutable": false,
1230
+ "complexType": {
1231
+ "original": "boolean",
1232
+ "resolved": "boolean | undefined",
1233
+ "references": {}
1234
+ },
1235
+ "required": false,
1236
+ "optional": true,
1237
+ "docs": {
1238
+ "tags": [{
1239
+ "name": "internal",
1240
+ "text": "If `true`, a button which displays the clock view when clicked will be displayed."
1241
+ }],
1242
+ "text": ""
1243
+ },
1244
+ "getter": false,
1245
+ "setter": false,
1246
+ "attribute": "show-clock-button",
1247
+ "reflect": false,
1248
+ "defaultValue": "false"
1249
+ },
1250
+ "size": {
1251
+ "type": "string",
1252
+ "mutable": false,
1253
+ "complexType": {
1254
+ "original": "IcSizes",
1255
+ "resolved": "\"large\" | \"medium\" | \"small\"",
1256
+ "references": {
1257
+ "IcSizes": {
1258
+ "location": "import",
1259
+ "path": "../../utils/types",
1260
+ "id": "src/utils/types.ts::IcSizes"
1261
+ }
1262
+ }
1263
+ },
1264
+ "required": false,
1265
+ "optional": false,
1266
+ "docs": {
1267
+ "tags": [],
1268
+ "text": "The size of the time input to be displayed."
1269
+ },
1270
+ "getter": false,
1271
+ "setter": false,
1272
+ "attribute": "size",
1273
+ "reflect": false,
1274
+ "defaultValue": "\"medium\""
1275
+ },
1276
+ "theme": {
1277
+ "type": "string",
1278
+ "mutable": false,
1279
+ "complexType": {
1280
+ "original": "IcThemeMode",
1281
+ "resolved": "\"dark\" | \"inherit\" | \"light\" | undefined",
1282
+ "references": {
1283
+ "IcThemeMode": {
1284
+ "location": "import",
1285
+ "path": "../../utils/types",
1286
+ "id": "src/utils/types.ts::IcThemeMode"
1287
+ }
1288
+ }
1289
+ },
1290
+ "required": false,
1291
+ "optional": true,
1292
+ "docs": {
1293
+ "tags": [],
1294
+ "text": "Sets the time picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component."
1295
+ },
1296
+ "getter": false,
1297
+ "setter": false,
1298
+ "attribute": "theme",
1299
+ "reflect": false,
1300
+ "defaultValue": "\"inherit\""
1301
+ },
1302
+ "timeFormat": {
1303
+ "type": "string",
1304
+ "mutable": false,
1305
+ "complexType": {
1306
+ "original": "IcTimeFormat",
1307
+ "resolved": "\"HH:MM\" | \"HH:MM:SS\"",
1308
+ "references": {
1309
+ "IcTimeFormat": {
1310
+ "location": "import",
1311
+ "path": "../../utils/types",
1312
+ "id": "src/utils/types.ts::IcTimeFormat"
1313
+ }
1314
+ }
1315
+ },
1316
+ "required": false,
1317
+ "optional": false,
1318
+ "docs": {
1319
+ "tags": [],
1320
+ "text": "The format in which the time will be displayed."
1321
+ },
1322
+ "getter": false,
1323
+ "setter": false,
1324
+ "attribute": "time-format",
1325
+ "reflect": false,
1326
+ "defaultValue": "this.DEFAULT_TIME_FORMAT"
1327
+ },
1328
+ "timePeriod": {
1329
+ "type": "string",
1330
+ "mutable": false,
1331
+ "complexType": {
1332
+ "original": "\"12\" | \"24\"",
1333
+ "resolved": "\"12\" | \"24\"",
1334
+ "references": {}
1335
+ },
1336
+ "required": false,
1337
+ "optional": false,
1338
+ "docs": {
1339
+ "tags": [],
1340
+ "text": "The time period format: \"12\" for 12-hour, \"24\" for 24-hour. Defaults to \"24\"."
1341
+ },
1342
+ "getter": false,
1343
+ "setter": false,
1344
+ "attribute": "time-period",
1345
+ "reflect": false,
1346
+ "defaultValue": "\"24\""
1347
+ },
1348
+ "value": {
1349
+ "type": "string",
1350
+ "mutable": true,
1351
+ "complexType": {
1352
+ "original": "string | Date | null | undefined",
1353
+ "resolved": "Date | null | string | undefined",
1354
+ "references": {
1355
+ "Date": {
1356
+ "location": "global",
1357
+ "id": "global::Date"
1358
+ }
1359
+ }
1360
+ },
1361
+ "required": false,
1362
+ "optional": true,
1363
+ "docs": {
1364
+ "tags": [],
1365
+ "text": "The value of the time input. The value can be in any format supported as `timeFormat`, in ISO 8601 time string format (`HH:MM:SS`) or as a JavaScript `Date` object."
1366
+ },
1367
+ "getter": false,
1368
+ "setter": false,
1369
+ "attribute": "value",
1370
+ "reflect": false,
1371
+ "defaultValue": "\"\""
1372
+ },
1373
+ "validationStatus": {
1374
+ "type": "string",
1375
+ "mutable": true,
1376
+ "complexType": {
1377
+ "original": "IcInformationStatusOrEmpty",
1378
+ "resolved": "\"\" | \"error\" | \"success\" | \"warning\"",
1379
+ "references": {
1380
+ "IcInformationStatusOrEmpty": {
1381
+ "location": "import",
1382
+ "path": "../../utils/types",
1383
+ "id": "src/utils/types.ts::IcInformationStatusOrEmpty"
1384
+ }
1385
+ }
1386
+ },
1387
+ "required": false,
1388
+ "optional": false,
1389
+ "docs": {
1390
+ "tags": [],
1391
+ "text": "The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in time validation."
1392
+ },
1393
+ "getter": false,
1394
+ "setter": false,
1395
+ "attribute": "validation-status",
1396
+ "reflect": false,
1397
+ "defaultValue": "\"\""
1398
+ },
1399
+ "validationText": {
1400
+ "type": "string",
1401
+ "mutable": false,
1402
+ "complexType": {
1403
+ "original": "string",
1404
+ "resolved": "string | undefined",
1405
+ "references": {}
1406
+ },
1407
+ "required": false,
1408
+ "optional": true,
1409
+ "docs": {
1410
+ "tags": [],
1411
+ "text": "The text to display as the validation message. This will override the built-in time validation."
1412
+ },
1413
+ "getter": false,
1414
+ "setter": false,
1415
+ "attribute": "validation-text",
1416
+ "reflect": false,
1417
+ "defaultValue": "\"\""
1418
+ }
1419
+ };
1420
+ }
1421
+ static get states() {
1422
+ return {
1423
+ "invalidTimeText": {},
1424
+ "clockFocused": {},
1425
+ "clearButtonFocused": {},
1426
+ "removeLabelledBy": {},
1427
+ "hour": {},
1428
+ "minute": {},
1429
+ "second": {}
1430
+ };
1431
+ }
1432
+ static get events() {
1433
+ return [{
1434
+ "method": "clockButtonClicked",
1435
+ "name": "clockButtonClicked",
1436
+ "bubbles": true,
1437
+ "cancelable": true,
1438
+ "composed": true,
1439
+ "docs": {
1440
+ "tags": [{
1441
+ "name": "internal",
1442
+ "text": "Emitted when the clock is opened."
1443
+ }],
1444
+ "text": ""
1445
+ },
1446
+ "complexType": {
1447
+ "original": "{ value: Date | null }",
1448
+ "resolved": "{ value: Date | null; }",
1449
+ "references": {
1450
+ "Date": {
1451
+ "location": "global",
1452
+ "id": "global::Date"
1453
+ }
1454
+ }
1455
+ }
1456
+ }, {
1457
+ "method": "icBlur",
1458
+ "name": "icBlur",
1459
+ "bubbles": true,
1460
+ "cancelable": true,
1461
+ "composed": true,
1462
+ "docs": {
1463
+ "tags": [],
1464
+ "text": "Emitted when the input loses focus."
1465
+ },
1466
+ "complexType": {
1467
+ "original": "{ value: Date | null }",
1468
+ "resolved": "{ value: Date | null; }",
1469
+ "references": {
1470
+ "Date": {
1471
+ "location": "global",
1472
+ "id": "global::Date"
1473
+ }
1474
+ }
1475
+ }
1476
+ }, {
1477
+ "method": "icChange",
1478
+ "name": "icChange",
1479
+ "bubbles": true,
1480
+ "cancelable": true,
1481
+ "composed": true,
1482
+ "docs": {
1483
+ "tags": [],
1484
+ "text": "Emitted when the value has changed."
1485
+ },
1486
+ "complexType": {
1487
+ "original": "{\n value: Date | null;\n timeObject: {\n hour: string | null;\n minute: string | null;\n second: string | null;\n };\n }",
1488
+ "resolved": "{ value: Date | null; timeObject: { hour: string | null; minute: string | null; second: string | null; }; }",
1489
+ "references": {
1490
+ "Date": {
1491
+ "location": "global",
1492
+ "id": "global::Date"
1493
+ }
1494
+ }
1495
+ }
1496
+ }, {
1497
+ "method": "icFocus",
1498
+ "name": "icFocus",
1499
+ "bubbles": true,
1500
+ "cancelable": true,
1501
+ "composed": true,
1502
+ "docs": {
1503
+ "tags": [],
1504
+ "text": "Emitted when the input gains focus."
1505
+ },
1506
+ "complexType": {
1507
+ "original": "{ value: Date | null }",
1508
+ "resolved": "{ value: Date | null; }",
1509
+ "references": {
1510
+ "Date": {
1511
+ "location": "global",
1512
+ "id": "global::Date"
1513
+ }
1514
+ }
1515
+ }
1516
+ }];
1517
+ }
1518
+ static get methods() {
1519
+ return {
1520
+ "getTime": {
1521
+ "complexType": {
1522
+ "signature": "() => Promise<Date | null>",
1523
+ "parameters": [],
1524
+ "references": {
1525
+ "Promise": {
1526
+ "location": "global",
1527
+ "id": "global::Promise"
1528
+ },
1529
+ "Date": {
1530
+ "location": "global",
1531
+ "id": "global::Date"
1532
+ }
1533
+ },
1534
+ "return": "Promise<Date | null>"
1535
+ },
1536
+ "docs": {
1537
+ "text": "Returns the value as a Date object",
1538
+ "tags": [{
1539
+ "name": "returns",
1540
+ "text": "Date"
1541
+ }]
1542
+ }
1543
+ },
1544
+ "triggerIcChange": {
1545
+ "complexType": {
1546
+ "signature": "(t: Date | null) => Promise<void>",
1547
+ "parameters": [{
1548
+ "name": "t",
1549
+ "type": "Date | null",
1550
+ "docs": ""
1551
+ }],
1552
+ "references": {
1553
+ "Promise": {
1554
+ "location": "global",
1555
+ "id": "global::Promise"
1556
+ },
1557
+ "Date": {
1558
+ "location": "global",
1559
+ "id": "global::Date"
1560
+ }
1561
+ },
1562
+ "return": "Promise<void>"
1563
+ },
1564
+ "docs": {
1565
+ "text": "",
1566
+ "tags": [{
1567
+ "name": "internal",
1568
+ "text": "Used to enable other components to invoke an IcChange event from the input."
1569
+ }]
1570
+ }
1571
+ }
1572
+ };
1573
+ }
1574
+ static get elementRef() { return "el"; }
1575
+ static get watchers() {
1576
+ return [{
1577
+ "propName": "hour",
1578
+ "methodName": "watchInputHandler"
1579
+ }, {
1580
+ "propName": "minute",
1581
+ "methodName": "watchInputHandler"
1582
+ }, {
1583
+ "propName": "second",
1584
+ "methodName": "watchInputHandler"
1585
+ }, {
1586
+ "propName": "disabled",
1587
+ "methodName": "watchDisabledHandler"
1588
+ }, {
1589
+ "propName": "max",
1590
+ "methodName": "watchMaxHandler"
1591
+ }, {
1592
+ "propName": "min",
1593
+ "methodName": "watchMinHandler"
1594
+ }, {
1595
+ "propName": "required",
1596
+ "methodName": "watchRequiredHandler"
1597
+ }];
1598
+ }
1599
+ }
1600
+ //# sourceMappingURL=ic-time-input.js.map