@ukic/canary-web-components 3.0.0-canary.14 → 3.0.0-canary.16

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 (589) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/core.cjs.js +2 -2
  3. package/dist/cjs/{date-helpers-c9551119.js → date-helpers-6f70dd03.js} +20 -66
  4. package/dist/cjs/date-helpers-6f70dd03.js.map +1 -0
  5. package/dist/cjs/{helpers-fc51fdcb.js → helpers-199b92d5.js} +42 -2
  6. package/dist/cjs/helpers-199b92d5.js.map +1 -0
  7. package/dist/cjs/{helpers-32016c21.js → helpers-d01564f7.js} +15 -15
  8. package/dist/cjs/helpers-d01564f7.js.map +1 -0
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-button_3.cjs.entry.js +3 -3
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +16 -12
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-checkbox_3.cjs.entry.js} +158 -24
  26. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -0
  27. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  34. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-table.cjs.entry.js +310 -276
  36. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-date-input.cjs.entry.js +130 -148
  38. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-date-picker.cjs.entry.js +87 -70
  40. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
  42. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  50. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +25 -22
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +7 -7
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-page-header.cjs.entry.js +12 -11
  62. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-pagination_4.cjs.entry.js +52 -29
  64. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  66. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-group.cjs.entry.js +7 -7
  68. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-search-bar.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-section-container.cjs.entry.js +3 -3
  73. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -7
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-skip-link.cjs.entry.js +3 -3
  79. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -5
  81. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-step.cjs.entry.js +16 -16
  83. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-stepper.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  87. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
  91. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
  93. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  95. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toast.cjs.entry.js +6 -6
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  103. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-toggle-button.cjs.entry.js +5 -5
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -9
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tree-item.cjs.entry.js +35 -42
  109. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tree-view.cjs.entry.js +25 -21
  111. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  113. package/dist/cjs/{index-8a24b20c.js → index-d337cd8a.js} +6 -11
  114. package/dist/cjs/index-d337cd8a.js.map +1 -0
  115. package/dist/cjs/loader.cjs.js +2 -2
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +1 -1
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +27 -23
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  119. package/dist/collection/components/ic-data-table/ic-data-table.css +16 -0
  120. package/dist/collection/components/ic-data-table/ic-data-table.js +385 -330
  121. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  122. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +8 -9
  123. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  124. package/dist/collection/components/ic-data-table/story-data.js +13 -14
  125. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  126. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +9 -9
  127. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -1
  128. package/dist/collection/components/ic-date-input/ic-date-input.js +166 -183
  129. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  130. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +1 -1
  131. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  132. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js +6 -3
  133. package/dist/collection/components/ic-date-input/test/helpers/ic-date-input.js.map +1 -1
  134. package/dist/collection/components/ic-date-picker/ic-date-picker.js +109 -92
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-date-picker/ic-day-button.js +1 -1
  137. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -1
  138. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -1
  139. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -1
  140. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  141. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +41 -38
  142. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  143. package/dist/collection/components/ic-tree-item/ic-tree-item.js +45 -52
  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 +29 -25
  146. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  147. package/dist/collection/utils/date-helpers.js +19 -61
  148. package/dist/collection/utils/date-helpers.js.map +1 -1
  149. package/dist/collection/utils/helpers.js +44 -61
  150. package/dist/collection/utils/helpers.js.map +1 -1
  151. package/dist/collection/utils/testa11y.helpers.js +2 -1
  152. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  153. package/dist/components/helpers.js +40 -1
  154. package/dist/components/helpers.js.map +1 -1
  155. package/dist/components/helpers2.js +13 -13
  156. package/dist/components/helpers2.js.map +1 -1
  157. package/dist/components/ic-badge.js +1 -1
  158. package/dist/components/ic-badge.js.map +1 -1
  159. package/dist/components/ic-button2.js +1 -1
  160. package/dist/components/ic-button2.js.map +1 -1
  161. package/dist/components/ic-card-horizontal.js +14 -10
  162. package/dist/components/ic-card-horizontal.js.map +1 -1
  163. package/dist/components/ic-card-vertical.js +1 -1
  164. package/dist/components/ic-card-vertical.js.map +1 -1
  165. package/dist/components/ic-checkbox-group.js +5 -5
  166. package/dist/components/ic-checkbox-group.js.map +1 -1
  167. package/dist/components/ic-checkbox.js +1 -175
  168. package/dist/components/ic-checkbox.js.map +1 -1
  169. package/dist/{esm/ic-checkbox.entry.js → components/ic-checkbox2.js} +53 -11
  170. package/dist/components/ic-checkbox2.js.map +1 -0
  171. package/dist/components/ic-chip.js +1 -1
  172. package/dist/components/ic-chip.js.map +1 -1
  173. package/dist/components/ic-classification-banner.js +2 -2
  174. package/dist/components/ic-classification-banner.js.map +1 -1
  175. package/dist/components/ic-data-table-title-bar.js +5 -5
  176. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  177. package/dist/components/ic-data-table.js +319 -279
  178. package/dist/components/ic-data-table.js.map +1 -1
  179. package/dist/components/ic-date-input2.js +146 -210
  180. package/dist/components/ic-date-input2.js.map +1 -1
  181. package/dist/components/ic-date-picker.js +84 -67
  182. package/dist/components/ic-date-picker.js.map +1 -1
  183. package/dist/components/ic-dialog.js +38 -47
  184. package/dist/components/ic-dialog.js.map +1 -1
  185. package/dist/components/ic-footer.js +1 -1
  186. package/dist/components/ic-horizontal-scroll2.js +1 -1
  187. package/dist/components/ic-input-component-container2.js +1 -1
  188. package/dist/components/ic-input-component-container2.js.map +1 -1
  189. package/dist/components/ic-navigation-group.js +25 -21
  190. package/dist/components/ic-navigation-group.js.map +1 -1
  191. package/dist/components/ic-navigation-item.js +1 -1
  192. package/dist/components/ic-navigation-menu2.js +6 -6
  193. package/dist/components/ic-navigation-menu2.js.map +1 -1
  194. package/dist/components/ic-page-header.js +10 -9
  195. package/dist/components/ic-page-header.js.map +1 -1
  196. package/dist/components/ic-pagination-bar2.js +22 -20
  197. package/dist/components/ic-pagination-bar2.js.map +1 -1
  198. package/dist/components/ic-pagination-item2.js +2 -2
  199. package/dist/components/ic-pagination-item2.js.map +1 -1
  200. package/dist/components/ic-pagination2.js +5 -5
  201. package/dist/components/ic-pagination2.js.map +1 -1
  202. package/dist/components/ic-popover-menu.js +4 -4
  203. package/dist/components/ic-popover-menu.js.map +1 -1
  204. package/dist/components/ic-radio-group.js +5 -5
  205. package/dist/components/ic-radio-group.js.map +1 -1
  206. package/dist/components/ic-search-bar.js +2 -2
  207. package/dist/components/ic-search-bar.js.map +1 -1
  208. package/dist/components/ic-section-container2.js +2 -2
  209. package/dist/components/ic-section-container2.js.map +1 -1
  210. package/dist/components/ic-select2.js +6 -6
  211. package/dist/components/ic-select2.js.map +1 -1
  212. package/dist/components/ic-side-navigation.js +6 -6
  213. package/dist/components/ic-side-navigation.js.map +1 -1
  214. package/dist/components/ic-skeleton.js +2 -2
  215. package/dist/components/ic-skeleton.js.map +1 -1
  216. package/dist/components/ic-skip-link.js +2 -2
  217. package/dist/components/ic-skip-link.js.map +1 -1
  218. package/dist/components/ic-status-tag.js +3 -3
  219. package/dist/components/ic-status-tag.js.map +1 -1
  220. package/dist/components/ic-step.js +14 -14
  221. package/dist/components/ic-step.js.map +1 -1
  222. package/dist/components/ic-stepper.js +3 -3
  223. package/dist/components/ic-stepper.js.map +1 -1
  224. package/dist/components/ic-switch.js +4 -4
  225. package/dist/components/ic-switch.js.map +1 -1
  226. package/dist/components/ic-tab-context.js +1 -1
  227. package/dist/components/ic-tab-context.js.map +1 -1
  228. package/dist/components/ic-tab-group.js +2 -2
  229. package/dist/components/ic-tab-group.js.map +1 -1
  230. package/dist/components/ic-tab-panel.js +2 -2
  231. package/dist/components/ic-tab-panel.js.map +1 -1
  232. package/dist/components/ic-tab.js +1 -1
  233. package/dist/components/ic-tab.js.map +1 -1
  234. package/dist/components/ic-text-field2.js +42 -15
  235. package/dist/components/ic-text-field2.js.map +1 -1
  236. package/dist/components/ic-theme.js +2 -2
  237. package/dist/components/ic-theme.js.map +1 -1
  238. package/dist/components/ic-toast-region.js +1 -1
  239. package/dist/components/ic-toast-region.js.map +1 -1
  240. package/dist/components/ic-toast.js +5 -5
  241. package/dist/components/ic-toast.js.map +1 -1
  242. package/dist/components/ic-toggle-button-group.js +2 -2
  243. package/dist/components/ic-toggle-button-group.js.map +1 -1
  244. package/dist/components/ic-toggle-button.js +4 -4
  245. package/dist/components/ic-toggle-button.js.map +1 -1
  246. package/dist/components/ic-top-navigation.js +4 -8
  247. package/dist/components/ic-top-navigation.js.map +1 -1
  248. package/dist/components/ic-tree-item.js +33 -40
  249. package/dist/components/ic-tree-item.js.map +1 -1
  250. package/dist/components/ic-tree-view.js +23 -19
  251. package/dist/components/ic-tree-view.js.map +1 -1
  252. package/dist/core/core.css +358 -250
  253. package/dist/core/core.esm.js +1 -1
  254. package/dist/core/core.esm.js.map +1 -1
  255. package/dist/core/{p-f2f7299b.entry.js → p-071f4748.entry.js} +2 -2
  256. package/dist/core/{p-f2f7299b.entry.js.map → p-071f4748.entry.js.map} +1 -1
  257. package/dist/core/p-09e8b002.entry.js +2 -0
  258. package/dist/core/p-09e8b002.entry.js.map +1 -0
  259. package/dist/core/{p-b18a5861.entry.js → p-110486f0.entry.js} +2 -2
  260. package/dist/core/{p-b18a5861.entry.js.map → p-110486f0.entry.js.map} +1 -1
  261. package/dist/core/{p-a30d165d.entry.js → p-123bd8ce.entry.js} +2 -2
  262. package/dist/core/p-123bd8ce.entry.js.map +1 -0
  263. package/dist/core/{p-1334a78f.entry.js → p-12d4803e.entry.js} +2 -2
  264. package/dist/core/{p-8d73a3cc.entry.js → p-19c4cc6c.entry.js} +2 -2
  265. package/dist/core/p-19c4cc6c.entry.js.map +1 -0
  266. package/dist/core/p-19ecd2a6.entry.js +2 -0
  267. package/dist/core/p-19ecd2a6.entry.js.map +1 -0
  268. package/dist/core/{p-d154b26c.entry.js → p-1b31a720.entry.js} +2 -2
  269. package/dist/core/{p-a4582939.entry.js → p-1bfead5b.entry.js} +2 -2
  270. package/dist/core/p-1bfead5b.entry.js.map +1 -0
  271. package/dist/core/{p-08fd225f.entry.js → p-214a48c6.entry.js} +2 -2
  272. package/dist/core/p-236dc1a6.entry.js +2 -0
  273. package/dist/core/p-236dc1a6.entry.js.map +1 -0
  274. package/dist/core/{p-0848efa2.entry.js → p-2c7e9e71.entry.js} +2 -2
  275. package/dist/core/{p-ef25bb6d.entry.js → p-2d9c36a6.entry.js} +2 -2
  276. package/dist/core/{p-ef25bb6d.entry.js.map → p-2d9c36a6.entry.js.map} +1 -1
  277. package/dist/core/{p-b8aa37f9.entry.js → p-336be00c.entry.js} +2 -2
  278. package/dist/core/{p-5dc25d11.entry.js → p-37df68fe.entry.js} +2 -2
  279. package/dist/core/{p-5dc25d11.entry.js.map → p-37df68fe.entry.js.map} +1 -1
  280. package/dist/core/{p-272352cb.entry.js → p-38f612b0.entry.js} +2 -2
  281. package/dist/core/p-3cf6ca89.entry.js +2 -0
  282. package/dist/core/p-3cf6ca89.entry.js.map +1 -0
  283. package/dist/core/{p-4da17eda.entry.js → p-3ee70c45.entry.js} +2 -2
  284. package/dist/core/{p-762a4d7c.entry.js → p-46f64dc5.entry.js} +2 -2
  285. package/dist/core/p-48465394.entry.js +2 -0
  286. package/dist/core/{p-4e5934f3.entry.js.map → p-48465394.entry.js.map} +1 -1
  287. package/dist/core/{p-cd9e1ffa.entry.js → p-50f4d151.entry.js} +2 -2
  288. package/dist/core/{p-cd9e1ffa.entry.js.map → p-50f4d151.entry.js.map} +1 -1
  289. package/dist/core/p-520dce89.entry.js +2 -0
  290. package/dist/core/p-520dce89.entry.js.map +1 -0
  291. package/dist/core/{p-22e0ed96.entry.js → p-5bd43e19.entry.js} +2 -2
  292. package/dist/core/{p-da798f58.entry.js → p-5ec11974.entry.js} +2 -2
  293. package/dist/core/p-643a94c2.entry.js +2 -0
  294. package/dist/core/p-643a94c2.entry.js.map +1 -0
  295. package/dist/core/{p-be5ad372.entry.js → p-65ddc948.entry.js} +2 -2
  296. package/dist/core/p-69f6db9f.entry.js +2 -0
  297. package/dist/core/p-69f6db9f.entry.js.map +1 -0
  298. package/dist/core/p-6cfd6b56.entry.js +2 -0
  299. package/dist/core/{p-144b1dee.entry.js.map → p-6cfd6b56.entry.js.map} +1 -1
  300. package/dist/core/{p-507ec499.entry.js → p-701696aa.entry.js} +2 -2
  301. package/dist/core/{p-507ec499.entry.js.map → p-701696aa.entry.js.map} +1 -1
  302. package/dist/core/p-7b13ccd0.entry.js +2 -0
  303. package/dist/core/p-7b13ccd0.entry.js.map +1 -0
  304. package/dist/core/p-7d054704.js +2 -0
  305. package/dist/core/p-7d054704.js.map +1 -0
  306. package/dist/core/{p-e13b43b1.entry.js → p-8402fcf7.entry.js} +2 -2
  307. package/dist/core/p-858dd362.entry.js +2 -0
  308. package/dist/core/p-858dd362.entry.js.map +1 -0
  309. package/dist/core/p-87c92ab1.entry.js +2 -0
  310. package/dist/core/p-87c92ab1.entry.js.map +1 -0
  311. package/dist/core/{p-0e3cb8d0.entry.js → p-8856dff4.entry.js} +2 -2
  312. package/dist/core/{p-00135a74.js → p-8e4e97b4.js} +3 -3
  313. package/dist/core/p-8e4e97b4.js.map +1 -0
  314. package/dist/core/{p-32720276.entry.js → p-91b8ee39.entry.js} +2 -2
  315. package/dist/core/{p-fd42f129.entry.js → p-91d5efc0.entry.js} +2 -2
  316. package/dist/core/p-91d5efc0.entry.js.map +1 -0
  317. package/dist/core/p-944ea274.entry.js +2 -0
  318. package/dist/core/p-944ea274.entry.js.map +1 -0
  319. package/dist/core/p-951669ca.entry.js +2 -0
  320. package/dist/core/p-951669ca.entry.js.map +1 -0
  321. package/dist/core/{p-b6db0cc1.entry.js → p-9bf0ce9e.entry.js} +2 -2
  322. package/dist/core/{p-afc4ce53.entry.js → p-9e5e6070.entry.js} +2 -2
  323. package/dist/core/{p-a214a9f8.entry.js → p-a12dd148.entry.js} +2 -2
  324. package/dist/core/{p-a214a9f8.entry.js.map → p-a12dd148.entry.js.map} +1 -1
  325. package/dist/core/p-a2fcea60.entry.js +2 -0
  326. package/dist/core/p-a2fcea60.entry.js.map +1 -0
  327. package/dist/core/{p-60a0c711.entry.js → p-a6031c41.entry.js} +2 -2
  328. package/dist/core/{p-60a0c711.entry.js.map → p-a6031c41.entry.js.map} +1 -1
  329. package/dist/core/{p-3d1ba098.entry.js → p-b006976c.entry.js} +2 -2
  330. package/dist/core/p-b17f6b1d.entry.js +2 -0
  331. package/dist/core/p-b17f6b1d.entry.js.map +1 -0
  332. package/dist/core/{p-0c3bd9e6.entry.js → p-b334a20d.entry.js} +2 -2
  333. package/dist/core/p-b603b9ef.entry.js +2 -0
  334. package/dist/core/p-b603b9ef.entry.js.map +1 -0
  335. package/dist/core/{p-3e9564b5.entry.js → p-b88ae211.entry.js} +2 -2
  336. package/dist/core/{p-5d85bd73.entry.js → p-b953b22f.entry.js} +2 -2
  337. package/dist/core/{p-5d85bd73.entry.js.map → p-b953b22f.entry.js.map} +1 -1
  338. package/dist/core/p-b9e73154.js +2 -0
  339. package/dist/core/p-b9e73154.js.map +1 -0
  340. package/dist/core/p-bb9142fe.entry.js +2 -0
  341. package/dist/core/{p-a13dc5ba.entry.js.map → p-bb9142fe.entry.js.map} +1 -1
  342. package/dist/core/{p-48163a2a.entry.js → p-c1dbb35b.entry.js} +2 -2
  343. package/dist/core/{p-48163a2a.entry.js.map → p-c1dbb35b.entry.js.map} +1 -1
  344. package/dist/core/{p-0fd762bf.entry.js → p-c1f653d4.entry.js} +2 -2
  345. package/dist/core/p-c1f653d4.entry.js.map +1 -0
  346. package/dist/core/{p-96551ddf.entry.js → p-c3f26b24.entry.js} +2 -2
  347. package/dist/core/p-c86ca475.js +2 -0
  348. package/dist/core/p-c86ca475.js.map +1 -0
  349. package/dist/core/{p-fd006a9b.entry.js → p-ca5d3a21.entry.js} +2 -2
  350. package/dist/core/{p-f541034c.entry.js → p-cd0dbcea.entry.js} +2 -2
  351. package/dist/core/p-cda2a461.entry.js +2 -0
  352. package/dist/core/p-cda2a461.entry.js.map +1 -0
  353. package/dist/core/p-ed416362.entry.js +2 -0
  354. package/dist/core/p-ed416362.entry.js.map +1 -0
  355. package/dist/core/{p-b17e7059.entry.js → p-f2beca5c.entry.js} +2 -2
  356. package/dist/core/{p-b17e7059.entry.js.map → p-f2beca5c.entry.js.map} +1 -1
  357. package/dist/core/p-f3bb5006.entry.js +2 -0
  358. package/dist/core/p-f3bb5006.entry.js.map +1 -0
  359. package/dist/core/{p-895a3eb1.entry.js → p-f5e9c8c8.entry.js} +2 -2
  360. package/dist/core/p-f5e9c8c8.entry.js.map +1 -0
  361. package/dist/core/{p-0e119312.entry.js → p-fa02a267.entry.js} +2 -2
  362. package/dist/core/{p-0e119312.entry.js.map → p-fa02a267.entry.js.map} +1 -1
  363. package/dist/core/{p-9f4fa820.entry.js → p-fa18f9c6.entry.js} +2 -2
  364. package/dist/core/{p-9f4fa820.entry.js.map → p-fa18f9c6.entry.js.map} +1 -1
  365. package/dist/core/p-fb01a001.entry.js +2 -0
  366. package/dist/core/p-fb01a001.entry.js.map +1 -0
  367. package/dist/esm/core.js +3 -3
  368. package/dist/esm/{date-helpers-0e5e32a7.js → date-helpers-3b8c39ab.js} +20 -66
  369. package/dist/esm/date-helpers-3b8c39ab.js.map +1 -0
  370. package/dist/esm/{helpers-bbab69a2.js → helpers-9fe45194.js} +42 -3
  371. package/dist/esm/helpers-9fe45194.js.map +1 -0
  372. package/dist/esm/{helpers-5479985d.js → helpers-ddc2008a.js} +16 -16
  373. package/dist/esm/helpers-ddc2008a.js.map +1 -0
  374. package/dist/esm/ic-accordion-group.entry.js +2 -2
  375. package/dist/esm/ic-accordion.entry.js +2 -2
  376. package/dist/esm/ic-alert.entry.js +2 -2
  377. package/dist/esm/ic-back-to-top.entry.js +2 -2
  378. package/dist/esm/ic-badge.entry.js +3 -3
  379. package/dist/esm/ic-badge.entry.js.map +1 -1
  380. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  381. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  382. package/dist/esm/ic-button_3.entry.js +3 -3
  383. package/dist/esm/ic-button_3.entry.js.map +1 -1
  384. package/dist/esm/ic-card-horizontal.entry.js +16 -12
  385. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  386. package/dist/esm/ic-card-vertical.entry.js +3 -3
  387. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  388. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  389. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  390. package/dist/esm/{ic-empty-state_2.entry.js → ic-checkbox_3.entry.js} +158 -25
  391. package/dist/esm/ic-checkbox_3.entry.js.map +1 -0
  392. package/dist/esm/ic-chip.entry.js +3 -3
  393. package/dist/esm/ic-chip.entry.js.map +1 -1
  394. package/dist/esm/ic-classification-banner.entry.js +3 -3
  395. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  396. package/dist/esm/ic-data-list.entry.js +1 -1
  397. package/dist/esm/ic-data-row.entry.js +2 -2
  398. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  399. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  400. package/dist/esm/ic-data-table.entry.js +310 -276
  401. package/dist/esm/ic-data-table.entry.js.map +1 -1
  402. package/dist/esm/ic-date-input.entry.js +130 -148
  403. package/dist/esm/ic-date-input.entry.js.map +1 -1
  404. package/dist/esm/ic-date-picker.entry.js +87 -70
  405. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  406. package/dist/esm/ic-dialog.entry.js +38 -47
  407. package/dist/esm/ic-dialog.entry.js.map +1 -1
  408. package/dist/esm/ic-divider.entry.js +2 -2
  409. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  410. package/dist/esm/ic-footer-link.entry.js +2 -2
  411. package/dist/esm/ic-footer.entry.js +2 -2
  412. package/dist/esm/ic-hero.entry.js +2 -2
  413. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  414. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  415. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  416. package/dist/esm/ic-input-label_2.entry.js +2 -2
  417. package/dist/esm/ic-link.entry.js +2 -2
  418. package/dist/esm/ic-menu-group.entry.js +2 -2
  419. package/dist/esm/ic-menu-item.entry.js +2 -2
  420. package/dist/esm/ic-navigation-button.entry.js +2 -2
  421. package/dist/esm/ic-navigation-group.entry.js +25 -22
  422. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  423. package/dist/esm/ic-navigation-item.entry.js +2 -2
  424. package/dist/esm/ic-navigation-menu.entry.js +7 -7
  425. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  426. package/dist/esm/ic-page-header.entry.js +12 -11
  427. package/dist/esm/ic-page-header.entry.js.map +1 -1
  428. package/dist/esm/ic-pagination_4.entry.js +52 -29
  429. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  430. package/dist/esm/ic-popover-menu.entry.js +6 -6
  431. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  432. package/dist/esm/ic-radio-group.entry.js +7 -7
  433. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  434. package/dist/esm/ic-radio-option.entry.js +2 -2
  435. package/dist/esm/ic-search-bar.entry.js +3 -3
  436. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  437. package/dist/esm/ic-section-container.entry.js +3 -3
  438. package/dist/esm/ic-section-container.entry.js.map +1 -1
  439. package/dist/esm/ic-side-navigation.entry.js +7 -7
  440. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  441. package/dist/esm/ic-skeleton.entry.js +3 -3
  442. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  443. package/dist/esm/ic-skip-link.entry.js +3 -3
  444. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  445. package/dist/esm/ic-status-tag.entry.js +5 -5
  446. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  447. package/dist/esm/ic-step.entry.js +16 -16
  448. package/dist/esm/ic-step.entry.js.map +1 -1
  449. package/dist/esm/ic-stepper.entry.js +4 -4
  450. package/dist/esm/ic-stepper.entry.js.map +1 -1
  451. package/dist/esm/ic-switch.entry.js +6 -6
  452. package/dist/esm/ic-switch.entry.js.map +1 -1
  453. package/dist/esm/ic-tab-context.entry.js +2 -2
  454. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  455. package/dist/esm/ic-tab-group.entry.js +4 -4
  456. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  457. package/dist/esm/ic-tab-panel.entry.js +3 -3
  458. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  459. package/dist/esm/ic-tab.entry.js +3 -3
  460. package/dist/esm/ic-tab.entry.js.map +1 -1
  461. package/dist/esm/ic-theme.entry.js +3 -3
  462. package/dist/esm/ic-theme.entry.js.map +1 -1
  463. package/dist/esm/ic-toast-region.entry.js +2 -2
  464. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  465. package/dist/esm/ic-toast.entry.js +6 -6
  466. package/dist/esm/ic-toast.entry.js.map +1 -1
  467. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  468. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  469. package/dist/esm/ic-toggle-button.entry.js +5 -5
  470. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  471. package/dist/esm/ic-top-navigation.entry.js +5 -9
  472. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  473. package/dist/esm/ic-tree-item.entry.js +35 -42
  474. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  475. package/dist/esm/ic-tree-view.entry.js +25 -21
  476. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  477. package/dist/esm/ic-typography.entry.js +2 -2
  478. package/dist/esm/{index-163fe708.js → index-a7a720e7.js} +6 -11
  479. package/dist/esm/index-a7a720e7.js.map +1 -0
  480. package/dist/esm/loader.js +3 -3
  481. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +3 -3
  482. package/dist/types/components/ic-data-table/ic-data-table.d.ts +30 -20
  483. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +3 -9
  484. package/dist/types/components/ic-data-table/story-data.d.ts +15 -4
  485. package/dist/types/components/ic-date-input/ic-date-input.d.ts +34 -28
  486. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -12
  487. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +2 -2
  488. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +3 -3
  489. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +3 -3
  490. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +2 -2
  491. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +3 -3
  492. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +4 -4
  493. package/dist/types/components.d.ts +95 -72
  494. package/dist/types/utils/date-helpers.d.ts +4 -4
  495. package/dist/types/utils/helpers.d.ts +6 -15
  496. package/hydrate/index.js +898 -851
  497. package/hydrate/index.mjs +898 -851
  498. package/package.json +3 -3
  499. package/dist/cjs/date-helpers-c9551119.js.map +0 -1
  500. package/dist/cjs/helpers-32016c21.js.map +0 -1
  501. package/dist/cjs/helpers-fc51fdcb.js.map +0 -1
  502. package/dist/cjs/ic-checkbox.cjs.entry.js +0 -141
  503. package/dist/cjs/ic-checkbox.cjs.entry.js.map +0 -1
  504. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
  505. package/dist/cjs/index-8a24b20c.js.map +0 -1
  506. package/dist/core/p-00135a74.js.map +0 -1
  507. package/dist/core/p-0ad472d0.entry.js +0 -2
  508. package/dist/core/p-0ad472d0.entry.js.map +0 -1
  509. package/dist/core/p-0c97a53d.entry.js +0 -2
  510. package/dist/core/p-0c97a53d.entry.js.map +0 -1
  511. package/dist/core/p-0efeab8a.entry.js +0 -2
  512. package/dist/core/p-0efeab8a.entry.js.map +0 -1
  513. package/dist/core/p-0f6b9686.js +0 -2
  514. package/dist/core/p-0f6b9686.js.map +0 -1
  515. package/dist/core/p-0fd762bf.entry.js.map +0 -1
  516. package/dist/core/p-144b1dee.entry.js +0 -2
  517. package/dist/core/p-1cf61bf2.entry.js +0 -2
  518. package/dist/core/p-1cf61bf2.entry.js.map +0 -1
  519. package/dist/core/p-250bf568.entry.js +0 -2
  520. package/dist/core/p-250bf568.entry.js.map +0 -1
  521. package/dist/core/p-33dd24eb.js +0 -2
  522. package/dist/core/p-33dd24eb.js.map +0 -1
  523. package/dist/core/p-4e5934f3.entry.js +0 -2
  524. package/dist/core/p-4f00aa91.entry.js +0 -2
  525. package/dist/core/p-4f00aa91.entry.js.map +0 -1
  526. package/dist/core/p-54e01fad.entry.js +0 -2
  527. package/dist/core/p-54e01fad.entry.js.map +0 -1
  528. package/dist/core/p-6040a025.entry.js +0 -2
  529. package/dist/core/p-6040a025.entry.js.map +0 -1
  530. package/dist/core/p-62f7f2bd.entry.js +0 -2
  531. package/dist/core/p-62f7f2bd.entry.js.map +0 -1
  532. package/dist/core/p-6eaf585a.entry.js +0 -2
  533. package/dist/core/p-6eaf585a.entry.js.map +0 -1
  534. package/dist/core/p-72310da8.js +0 -2
  535. package/dist/core/p-72310da8.js.map +0 -1
  536. package/dist/core/p-836d302a.entry.js +0 -2
  537. package/dist/core/p-836d302a.entry.js.map +0 -1
  538. package/dist/core/p-881bb783.entry.js +0 -2
  539. package/dist/core/p-881bb783.entry.js.map +0 -1
  540. package/dist/core/p-895a3eb1.entry.js.map +0 -1
  541. package/dist/core/p-8d73a3cc.entry.js.map +0 -1
  542. package/dist/core/p-9a46b1e5.entry.js +0 -2
  543. package/dist/core/p-9a46b1e5.entry.js.map +0 -1
  544. package/dist/core/p-a13dc5ba.entry.js +0 -2
  545. package/dist/core/p-a30d165d.entry.js.map +0 -1
  546. package/dist/core/p-a4582939.entry.js.map +0 -1
  547. package/dist/core/p-a7f95a61.entry.js +0 -2
  548. package/dist/core/p-a7f95a61.entry.js.map +0 -1
  549. package/dist/core/p-a81c9048.entry.js +0 -2
  550. package/dist/core/p-a81c9048.entry.js.map +0 -1
  551. package/dist/core/p-c0687222.entry.js +0 -2
  552. package/dist/core/p-c0687222.entry.js.map +0 -1
  553. package/dist/core/p-c2aef5cc.entry.js +0 -2
  554. package/dist/core/p-c2aef5cc.entry.js.map +0 -1
  555. package/dist/core/p-c4f7e479.entry.js +0 -2
  556. package/dist/core/p-c4f7e479.entry.js.map +0 -1
  557. package/dist/core/p-fb11ce9b.entry.js +0 -2
  558. package/dist/core/p-fb11ce9b.entry.js.map +0 -1
  559. package/dist/core/p-fba58c42.entry.js +0 -2
  560. package/dist/core/p-fba58c42.entry.js.map +0 -1
  561. package/dist/core/p-fd42f129.entry.js.map +0 -1
  562. package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
  563. package/dist/esm/helpers-5479985d.js.map +0 -1
  564. package/dist/esm/helpers-bbab69a2.js.map +0 -1
  565. package/dist/esm/ic-checkbox.entry.js.map +0 -1
  566. package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
  567. package/dist/esm/index-163fe708.js.map +0 -1
  568. /package/dist/core/{p-1334a78f.entry.js.map → p-12d4803e.entry.js.map} +0 -0
  569. /package/dist/core/{p-d154b26c.entry.js.map → p-1b31a720.entry.js.map} +0 -0
  570. /package/dist/core/{p-08fd225f.entry.js.map → p-214a48c6.entry.js.map} +0 -0
  571. /package/dist/core/{p-0848efa2.entry.js.map → p-2c7e9e71.entry.js.map} +0 -0
  572. /package/dist/core/{p-b8aa37f9.entry.js.map → p-336be00c.entry.js.map} +0 -0
  573. /package/dist/core/{p-272352cb.entry.js.map → p-38f612b0.entry.js.map} +0 -0
  574. /package/dist/core/{p-4da17eda.entry.js.map → p-3ee70c45.entry.js.map} +0 -0
  575. /package/dist/core/{p-762a4d7c.entry.js.map → p-46f64dc5.entry.js.map} +0 -0
  576. /package/dist/core/{p-22e0ed96.entry.js.map → p-5bd43e19.entry.js.map} +0 -0
  577. /package/dist/core/{p-da798f58.entry.js.map → p-5ec11974.entry.js.map} +0 -0
  578. /package/dist/core/{p-be5ad372.entry.js.map → p-65ddc948.entry.js.map} +0 -0
  579. /package/dist/core/{p-e13b43b1.entry.js.map → p-8402fcf7.entry.js.map} +0 -0
  580. /package/dist/core/{p-0e3cb8d0.entry.js.map → p-8856dff4.entry.js.map} +0 -0
  581. /package/dist/core/{p-32720276.entry.js.map → p-91b8ee39.entry.js.map} +0 -0
  582. /package/dist/core/{p-b6db0cc1.entry.js.map → p-9bf0ce9e.entry.js.map} +0 -0
  583. /package/dist/core/{p-afc4ce53.entry.js.map → p-9e5e6070.entry.js.map} +0 -0
  584. /package/dist/core/{p-3d1ba098.entry.js.map → p-b006976c.entry.js.map} +0 -0
  585. /package/dist/core/{p-0c3bd9e6.entry.js.map → p-b334a20d.entry.js.map} +0 -0
  586. /package/dist/core/{p-3e9564b5.entry.js.map → p-b88ae211.entry.js.map} +0 -0
  587. /package/dist/core/{p-96551ddf.entry.js.map → p-c3f26b24.entry.js.map} +0 -0
  588. /package/dist/core/{p-fd006a9b.entry.js.map → p-ca5d3a21.entry.js.map} +0 -0
  589. /package/dist/core/{p-f541034c.entry.js.map → p-cd0dbcea.entry.js.map} +0 -0
@@ -13,12 +13,8 @@ const isMonthFirstFormat = (dateString) => {
13
13
  const monthFirstFormat = /^(0[1-9]|1[0-2])(\/|-)(0[1-9]|[12][0-9]|3[01])(\/|-)\d{4}$/;
14
14
  return monthFirstFormat.test(dateString);
15
15
  };
16
- const isDayFirstFormat = (dateString) => {
17
- const dayFirstFormat = /^(0[1-9]|[12][0-9]|3[01])(\/|-)(0[1-9]|1[0-2])(\/|-)\d{4}$/;
18
- return dayFirstFormat.test(dateString);
19
- };
20
16
  const createDate = (date, dateFormat) => {
21
- let newDate;
17
+ let newDate = new Date();
22
18
  if (isDateOrEpoch(date)) {
23
19
  newDate = typeof date === "string" ? new Date(date) : date;
24
20
  }
@@ -31,57 +27,30 @@ const createDate = (date, dateFormat) => {
31
27
  }
32
28
  return newDate;
33
29
  };
34
- const isDateOrEpoch = (date) => {
35
- return date instanceof Date || !isNaN(+new Date(+date));
36
- };
30
+ const isDateOrEpoch = (date) => date instanceof Date || !isNaN(+new Date(+date));
37
31
  const extractDateFromZuluDateTime = (zuluDateTime) => zuluDateTime.slice(0, zuluDateTime.indexOf("T"));
38
32
  const splitStringDate = (date, dateFormat) => {
39
33
  // returns an array where item 1 is year, item 2 is month, item 3 is day
40
- if (date.includes("T") && date.includes("Z")) {
41
- const nextDate = extractDateFromZuluDateTime(date);
42
- return nextDate.split("-");
43
- }
34
+ if (date.includes("T") && date.includes("Z"))
35
+ return extractDateFromZuluDateTime(date).split("-");
44
36
  let newDate = [];
45
- const dateWithSlashes = date.replace(/-/g, "/");
46
- if (dateWithSlashes.split("/").length > 1) {
47
- const dateParts = dateWithSlashes.split("/");
48
- // pad any values to 2 characters
49
- dateParts.forEach((d, i) => {
50
- if (d.length === 1) {
51
- dateParts[i] = convertToDoubleDigits(d);
52
- }
53
- });
37
+ const splitDateWithSlashes = date.replace(/-/g, "/").split("/");
38
+ if (splitDateWithSlashes.length > 1) {
39
+ const dateParts = splitDateWithSlashes.map((part) => part.length === 1 ? convertToDoubleDigits(part) : part); // pad any values to 2 characters
54
40
  if (dateParts[0].length === 4) {
55
41
  newDate = [dateParts[0], dateParts[1], dateParts[2]];
56
42
  }
57
43
  else {
58
- const newDateStr = dateParts.join("/");
59
- const validDayFirst = isDayFirstFormat(newDateStr);
60
- const validMonthFirst = isMonthFirstFormat(newDateStr);
61
- if (validDayFirst && validMonthFirst) {
62
- if (dateFormat.charAt(0) === "M") {
63
- newDate = [dateParts[2], dateParts[0], dateParts[1]];
64
- }
65
- else {
66
- newDate = [dateParts[2], dateParts[1], dateParts[0]];
67
- }
68
- }
69
- else if (validMonthFirst) {
44
+ newDate = [dateParts[2], dateParts[1], dateParts[0]];
45
+ if (isMonthFirstFormat(dateParts.join("/")) &&
46
+ dateFormat.charAt(0) === "M") {
70
47
  newDate = [dateParts[2], dateParts[0], dateParts[1]];
71
48
  }
72
- else {
73
- newDate = [dateParts[2], dateParts[1], dateParts[0]];
74
- }
75
49
  }
76
50
  }
77
51
  return newDate;
78
52
  };
79
- const convertToDoubleDigits = (value) => {
80
- if (+value < 10) {
81
- return `0${value}`;
82
- }
83
- return value.toString();
84
- };
53
+ const convertToDoubleDigits = (value) => +value < 10 ? `0${value}` : value.toString();
85
54
  const getWeekStart = (date, startDay) => {
86
55
  const tmpDate = new Date(date);
87
56
  const day = tmpDate.getDay();
@@ -105,14 +74,11 @@ const getMonthEnd = (date) => {
105
74
  /**
106
75
  * Compare if two dates are equal exactly equal
107
76
  */
108
- const dateMatches = (a, b) => {
109
- if (a === null || b === null) {
110
- return false;
111
- }
112
- return (a.getFullYear() === b.getFullYear() &&
113
- a.getMonth() === b.getMonth() &&
114
- a.getDate() === b.getDate());
115
- };
77
+ const dateMatches = (a, b) => a !== null &&
78
+ b !== null &&
79
+ a.getFullYear() === b.getFullYear() &&
80
+ a.getMonth() === b.getMonth() &&
81
+ a.getDate() === b.getDate();
116
82
  const clampDate = (date, min, max) => {
117
83
  const time = date.getTime();
118
84
  if (min !== null && time < min.getTime()) {
@@ -126,21 +92,9 @@ const clampDate = (date, min, max) => {
126
92
  /**
127
93
  * Compare if date is within specified range
128
94
  */
129
- const dateInRange = (date, min, max) => {
130
- return clampDate(date, min, max) === date;
131
- };
132
- const yearInRange = (year, min, max) => {
133
- let allowed = true;
134
- if (year !== null) {
135
- if (min !== null && year < min.getFullYear()) {
136
- allowed = false;
137
- }
138
- if (allowed && max !== null && year > max.getFullYear()) {
139
- allowed = false;
140
- }
141
- }
142
- return allowed;
143
- };
95
+ const dateInRange = (date, min, max) => clampDate(date, min, max) === date;
96
+ const yearInRange = (year, min, max) => !year ||
97
+ (!(min && year < min.getFullYear()) && !(max && year > max.getFullYear()));
144
98
 
145
99
  const Clear = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
146
100
  <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>
@@ -164,6 +118,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
164
118
  this.icBlur = createEvent(this, "icBlur", 7);
165
119
  this.icChange = createEvent(this, "icChange", 7);
166
120
  this.icFocus = createEvent(this, "icFocus", 7);
121
+ this.DEFAULT_DATE_FORMAT = "DD/MM/YYYY";
167
122
  this.ARIA_INVALID = "aria-invalid";
168
123
  this.ARIA_LABEL = "aria-label";
169
124
  this.ARIA_LABELLED_BY = "aria-labelledby";
@@ -196,8 +151,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
196
151
  /**
197
152
  * The format in which the date will be displayed.
198
153
  */
199
- // eslint-disable-next-line sonarjs/no-duplicate-string
200
- this.dateFormat = "DD/MM/YYYY";
154
+ this.dateFormat = this.DEFAULT_DATE_FORMAT;
201
155
  /**
202
156
  * If `true`, every individual input field completed will emit an icChange event.
203
157
  */
@@ -293,9 +247,11 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
293
247
  */
294
248
  this.validationText = "";
295
249
  this.setInputPasteValue = (input, pastedValue) => {
296
- const inputEl = input;
297
- inputEl.value = pastedValue;
298
- inputEl.classList.add(this.FIT_TO_VALUE);
250
+ if (input) {
251
+ const inputEl = input;
252
+ inputEl.value = pastedValue;
253
+ inputEl.classList.add(this.FIT_TO_VALUE);
254
+ }
299
255
  };
300
256
  this.checkSingleCopiedValueIsValid = (input, pastedValue) => {
301
257
  let isValid = false;
@@ -310,9 +266,6 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
310
266
  case this.yearInputEl:
311
267
  isValid = true;
312
268
  break;
313
- default:
314
- isValid = false;
315
- break;
316
269
  }
317
270
  return isValid;
318
271
  };
@@ -454,8 +407,10 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
454
407
  };
455
408
  this.handleBlur = (event) => {
456
409
  const input = event.target;
457
- this.setPasteInvalidText();
458
- this.autocompleteInput(input);
410
+ if (input) {
411
+ this.setPasteInvalidText();
412
+ this.autocompleteInput(input);
413
+ }
459
414
  };
460
415
  this.handleLeftRightArrowKeyPress = (input, key) => {
461
416
  if (key === "arrowright") {
@@ -467,13 +422,15 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
467
422
  this.setPasteInvalidText();
468
423
  };
469
424
  this.notifyScreenReaderSelectedDate = () => {
470
- const dayNames = stringEnumToArray(IcDayNames);
471
- const months = stringEnumToArray(IcDateInputMonths);
472
- this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
425
+ if (this.selectedDate && this.selectedDateInfoEl) {
426
+ const dayNames = stringEnumToArray(IcDayNames);
427
+ const months = stringEnumToArray(IcDateInputMonths);
428
+ this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
429
+ }
473
430
  };
474
431
  this.handleUpDownArrowKeyPress = (input, event) => {
475
432
  const minValue = input === this.yearInputEl ? 0 : 1;
476
- let maxValue;
433
+ let maxValue = 9999;
477
434
  switch (input) {
478
435
  case this.dayInputEl:
479
436
  maxValue = this.MAX_DAY;
@@ -516,22 +473,18 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
516
473
  else {
517
474
  if (event.key === "ArrowDown") {
518
475
  event.preventDefault();
519
- if (input === this.yearInputEl) {
520
- input.value = new Date().getFullYear().toString();
521
- }
522
- else {
523
- input.value = maxValue.toString();
524
- }
476
+ input.value =
477
+ input === this.yearInputEl
478
+ ? new Date().getFullYear().toString()
479
+ : maxValue.toString();
525
480
  this.notifyScreenReader(input, event);
526
481
  }
527
482
  else if (event.key === "ArrowUp") {
528
483
  event.preventDefault();
529
- if (input === this.yearInputEl) {
530
- input.value = new Date().getFullYear().toString();
531
- }
532
- else {
533
- input.value = `0${minValue}`;
534
- }
484
+ input.value =
485
+ input === this.yearInputEl
486
+ ? new Date().getFullYear().toString()
487
+ : `0${minValue}`;
535
488
  this.notifyScreenReader(input, event);
536
489
  }
537
490
  }
@@ -551,7 +504,8 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
551
504
  this.setValueAndEmitChange(this.selectedDate);
552
505
  this.notifyScreenReaderSelectedDate();
553
506
  }
554
- else if (!(this.selectedDate === null && this.previousSelectedDate === null)) {
507
+ else if (!(this.selectedDate === null && this.previousSelectedDate === null) &&
508
+ this.selectedDateInfoEl) {
555
509
  this.setValueAndEmitChange(null);
556
510
  this.selectedDateInfoEl.textContent = "";
557
511
  }
@@ -581,19 +535,20 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
581
535
  // Set value of each input to value of pasted date part
582
536
  // Allows formats separated by '-' or '/'
583
537
  this.handlePaste = (event) => {
538
+ var _a;
584
539
  event.preventDefault();
585
- const pastedValue = event.clipboardData.getData("Text");
540
+ const pastedValue = ((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("Text")) || "";
586
541
  const isValidDate = this.isPastedStringDateValid(pastedValue);
587
542
  this.setPastedValueAndValidation(isValidDate, pastedValue, event);
588
543
  };
589
544
  this.setDate = (date) => {
590
545
  if (date === null || date === "" || date === undefined) {
591
546
  if (this.day)
592
- this.day = null;
547
+ this.day = "";
593
548
  if (this.month)
594
- this.month = null;
549
+ this.month = "";
595
550
  if (this.year)
596
- this.year = null;
551
+ this.year = "";
597
552
  this.inputsInOrder.forEach((input) => {
598
553
  input.classList.remove(this.FIT_TO_VALUE);
599
554
  this.setPreventInput(input, false);
@@ -631,7 +586,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
631
586
  const month = convertToDoubleDigits(date.getMonth() + 1);
632
587
  const year = date.getFullYear();
633
588
  switch (this.dateFormat) {
634
- case "DD/MM/YYYY":
589
+ case this.DEFAULT_DATE_FORMAT:
635
590
  formattedDate = `${day}/${month}/${year}`;
636
591
  break;
637
592
  case "MM/DD/YYYY":
@@ -644,9 +599,11 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
644
599
  return formattedDate;
645
600
  };
646
601
  this.updateInputValues = (day, month, year) => {
647
- this.dayInputEl.value = day;
648
- this.monthInputEl.value = month;
649
- this.yearInputEl.value = year;
602
+ if (this.dayInputEl && this.monthInputEl && this.yearInputEl) {
603
+ this.dayInputEl.value = day;
604
+ this.monthInputEl.value = month;
605
+ this.yearInputEl.value = year;
606
+ }
650
607
  };
651
608
  // Set value in state based on input
652
609
  this.setInputValue = (input, clear = false) => {
@@ -674,7 +631,9 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
674
631
  // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)
675
632
  this.selectedDate = this.convertToDate(this.year, this.month, this.day);
676
633
  this.isValidDate =
677
- +this.selectedDate !== 0 && this.selectedDate.getDate() == +this.day;
634
+ !!this.selectedDate &&
635
+ +this.selectedDate !== 0 &&
636
+ this.selectedDate.getDate() == +this.day;
678
637
  this.isDisabledDate = this.isSelectedDateDisabled();
679
638
  if (!this.isValidDate || this.isDisabledDate) {
680
639
  this.inputsInOrder.forEach((input) => input.setAttribute(this.ARIA_INVALID, "true"));
@@ -724,13 +683,13 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
724
683
  };
725
684
  // Set refs to the input elements in the order they are displayed (based on the dateFormat)
726
685
  this.setInputsInOrder = () => {
727
- const inputs = this.el.shadowRoot.querySelectorAll("input");
728
- inputs.forEach((input) => this.inputsInOrder.push(input));
686
+ var _a;
687
+ (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("input").forEach((input) => this.inputsInOrder.push(input));
729
688
  };
730
689
  // Includes text usually added using aria-describedby
731
690
  // (which doesn't work on input component container)
732
691
  this.setAriaLabelledBy = () => {
733
- var _a, _b;
692
+ var _a, _b, _c;
734
693
  if (this.disabled &&
735
694
  !isEmptyString((_a = this.inputCompContainerEl) === null || _a === void 0 ? void 0 : _a.getAttribute(this.ARIA_LABELLED_BY))) {
736
695
  this.removeAriaLabelledBy();
@@ -739,14 +698,14 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
739
698
  if (this.disabled) {
740
699
  return;
741
700
  }
742
- const labelEl = this.el.shadowRoot.querySelector("label");
701
+ const labelEl = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("label");
743
702
  const labelId = `${this.inputId}-label`;
744
703
  if (labelEl !== null && labelEl !== undefined) {
745
704
  labelEl.id = labelId;
746
705
  }
747
706
  const hasValidation = !isEmptyString(this.validationStatus) ||
748
707
  !isEmptyString(this.invalidDateText);
749
- const labelledBy = `${(_b = labelEl === null || labelEl === void 0 ? void 0 : labelEl.id) !== null && _b !== void 0 ? _b : ""} ${this.screenReaderInfoId} ${getInputDescribedByText(this.inputId, this.helperText !== "" && this.helperText !== this.defaultHelperText, hasValidation)} ${this.selectedDate ? this.selectedDateInfoId : ""} ${this.assistiveHintId}`;
708
+ const labelledBy = `${(_c = labelEl === null || labelEl === void 0 ? void 0 : labelEl.id) !== null && _c !== void 0 ? _c : ""} ${this.screenReaderInfoId} ${getInputDescribedByText(this.inputId, this.helperText !== "" && this.helperText !== this.defaultHelperText, hasValidation)} ${this.selectedDate ? this.selectedDateInfoId : ""} ${this.assistiveHintId}`;
750
709
  this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
751
710
  };
752
711
  // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)
@@ -795,7 +754,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
795
754
  this.getDescOfInputsOrder = () => {
796
755
  let description;
797
756
  switch (this.dateFormat) {
798
- case "DD/MM/YYYY":
757
+ case this.DEFAULT_DATE_FORMAT:
799
758
  description = "day, month, and year";
800
759
  break;
801
760
  case "MM/DD/YYYY":
@@ -827,7 +786,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
827
786
  const input = event.target;
828
787
  let selectedString;
829
788
  if (input) {
830
- selectedString = input.value.substring(input.selectionStart, input.selectionEnd);
789
+ selectedString = input.value.substring(input.selectionStart || 0, input.selectionEnd || undefined);
831
790
  }
832
791
  if (key === "e" ||
833
792
  key === "." ||
@@ -839,81 +798,60 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
839
798
  event.preventDefault();
840
799
  }
841
800
  };
842
- // Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
843
- // Consider using dateClamp and inDateRange
801
+ /**
802
+ * Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
803
+ * Consider using dateClamp and inDateRange
804
+ * @returns `boolean`
805
+ */
844
806
  this.isSelectedDateDisabled = () => {
807
+ if (!this.selectedDate)
808
+ return false;
845
809
  const currentDate = new Date();
846
- this.isAfterMax = false;
847
- this.isBeforeMin = false;
848
- let disabled = false;
849
810
  const isNotToday = this.selectedDate.toDateString() !== currentDate.toDateString();
850
- if (this.minDate && this.selectedDate < this.minDate && isNotToday) {
851
- this.isBeforeMin = true;
852
- disabled = true;
853
- }
854
- if (this.maxDate && this.selectedDate > this.maxDate && isNotToday) {
855
- this.isAfterMax = true;
856
- disabled = true;
857
- }
858
- if (this.disableDays.includes(this.selectedDate.getDay())) {
859
- disabled = true;
860
- }
861
- if (((this.disablePast && this.selectedDate < currentDate) ||
862
- (this.disableFuture && this.selectedDate > currentDate)) &&
863
- isNotToday) {
864
- disabled = true;
865
- }
866
- return disabled;
811
+ this.isAfterMax =
812
+ this.maxDate && this.selectedDate > this.maxDate && isNotToday;
813
+ this.isBeforeMin =
814
+ this.minDate && this.selectedDate < this.minDate && isNotToday;
815
+ return (this.isAfterMax ||
816
+ this.isBeforeMin ||
817
+ this.disableDays.includes(this.selectedDate.getDay()) ||
818
+ (((!!this.disablePast && this.selectedDate < currentDate) ||
819
+ (!!this.disableFuture && this.selectedDate > currentDate)) &&
820
+ isNotToday));
867
821
  };
868
822
  this.moveToNextInput = (currentInput) => {
869
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
870
- const nextInput = this.inputsInOrder[currentInputPos + 1];
823
+ var _a;
871
824
  this.preventAutoFormatting = false;
872
- if (nextInput) {
873
- nextInput.focus();
874
- }
825
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) + 1]) === null || _a === void 0 ? void 0 : _a.focus();
875
826
  };
876
827
  this.moveToPreviousInput = (currentInput) => {
877
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
828
+ var _a;
878
829
  this.preventAutoFormatting = false;
879
- if (this.inputsInOrder[currentInputPos - 1]) {
880
- this.inputsInOrder[currentInputPos - 1].focus();
881
- }
830
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) - 1]) === null || _a === void 0 ? void 0 : _a.focus();
882
831
  };
883
832
  this.autocompleteInput = (input) => {
884
- if (input === this.yearInputEl) {
885
- this.autocompleteYear();
833
+ const inputValue = input.value;
834
+ if (this.yearInputEl && input === this.yearInputEl) {
835
+ // Autocomplete year as current millennium when fewer than 4 characters entered
836
+ const yearNumbers = ["2", "0", "0"];
837
+ let autocompletedInput = "";
838
+ if (inputValue) {
839
+ yearNumbers.forEach((number, index) => {
840
+ if (inputValue.length + index <= 3) {
841
+ autocompletedInput += number;
842
+ }
843
+ });
844
+ this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
845
+ }
886
846
  }
887
- else {
888
- const inputValue = input.value;
847
+ else if (inputValue.length === 1) {
889
848
  // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)
890
- if (inputValue.length === 1) {
891
- if (+inputValue === 0) {
892
- input.value = "01";
893
- }
894
- else {
895
- input.value = `0${inputValue}`;
896
- }
897
- }
849
+ input.value = +inputValue === 0 ? "01" : `0${inputValue}`;
898
850
  }
899
851
  if (input.value) {
900
852
  this.setInputValue(input);
901
853
  }
902
854
  };
903
- // Autocomplete year as current millennium when fewer than 4 characters entered
904
- this.autocompleteYear = () => {
905
- const inputValue = this.yearInputEl.value;
906
- const yearNumbers = ["2", "0", "0"];
907
- let autocompletedInput = "";
908
- if (inputValue) {
909
- yearNumbers.forEach((number, index) => {
910
- if (inputValue.length + index <= 3) {
911
- autocompletedInput += number;
912
- }
913
- });
914
- this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
915
- }
916
- };
917
855
  this.convertToDate = (year, month, day) => {
918
856
  if (!isEmptyString(year) && !isEmptyString(month) && !isEmptyString(day)) {
919
857
  return new Date(+year, +month - 1, +day);
@@ -927,8 +865,8 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
927
865
  this.icBlur.emit({ value: this.selectedDate });
928
866
  };
929
867
  this.handleHostFocus = () => {
930
- var _a;
931
- if ((_a = this.el.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.id.match(/(day|month|year)-input$/)) {
868
+ var _a, _b;
869
+ if ((_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) === null || _b === void 0 ? void 0 : _b.id.match(/(day|month|year)-input$/)) {
932
870
  this.removeLabelledBy = false;
933
871
  }
934
872
  else {
@@ -942,14 +880,13 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
942
880
  this.setValidationMessage();
943
881
  this.handleDateChange(false);
944
882
  };
945
- this.getAriaLabel = (input) => {
946
- return input.getAttribute(this.ARIA_LABEL);
947
- };
883
+ this.getAriaLabel = (input) => input.getAttribute(this.ARIA_LABEL);
948
884
  this.notifyScreenReaderArrowKeys = (input) => {
949
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
950
- let announcement = "";
885
+ var _a;
886
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
951
887
  const ariaLabel = this.getAriaLabel(input);
952
- if (liveRegion && input.value) {
888
+ if (liveRegion && input.value && ariaLabel) {
889
+ let announcement = "";
953
890
  if (input === this.monthInputEl &&
954
891
  !!IcDateInputMonths[+input.value - 1]) {
955
892
  announcement = `${input.value} - ${IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
@@ -961,32 +898,23 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
961
898
  }
962
899
  };
963
900
  this.notifyScreenReaderInput = (input, liveRegion) => {
964
- let announcement = "";
965
901
  const ariaLabel = this.getAriaLabel(input);
966
- if (input === this.dayInputEl || input === this.monthInputEl) {
967
- if (input.value.length === 2) {
968
- if (input === this.monthInputEl &&
969
- !!IcDateInputMonths[+input.value - 1] &&
970
- this.isValidMonth) {
971
- announcement = `${input.value} - ${IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
972
- }
973
- if (input === this.dayInputEl && this.isValidDay) {
974
- announcement = `${input.value}, ${ariaLabel}`;
975
- }
976
- }
977
- else {
978
- announcement = "";
979
- }
980
- }
981
- else {
982
- if (input.value.length === 4) {
983
- announcement = `${input.value}, ${ariaLabel}`;
902
+ const value = input.value;
903
+ if (ariaLabel && value) {
904
+ let announcement = "";
905
+ const monthValue = IcDateInputMonths[+value - 1];
906
+ if (input === this.monthInputEl &&
907
+ !!monthValue &&
908
+ this.isValidMonth &&
909
+ value.length === 2) {
910
+ announcement = `${value} - ${monthValue}`;
984
911
  }
985
- else {
986
- announcement = "";
912
+ else if ((input === this.dayInputEl && this.isValidDay && value.length === 2) ||
913
+ (input === this.yearInputEl && value.length === 4)) {
914
+ announcement = value;
987
915
  }
916
+ liveRegion.textContent = `${announcement}, ${ariaLabel}`;
988
917
  }
989
- liveRegion.textContent = announcement;
990
918
  };
991
919
  this.setFitToValueStyling = (input) => {
992
920
  if (input.value) {
@@ -997,15 +925,16 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
997
925
  }
998
926
  };
999
927
  this.setAriaInvalid = (validDay, validMonth, validDate, disabledDate) => {
928
+ var _a, _b;
1000
929
  if (this.inputsInOrder.length) {
1001
930
  this.inputsInOrder.forEach((input) => {
1002
931
  input.removeAttribute(this.ARIA_INVALID);
1003
932
  });
1004
933
  if (!validDay) {
1005
- this.dayInputEl.setAttribute(this.ARIA_INVALID, "true");
934
+ (_a = this.dayInputEl) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ARIA_INVALID, "true");
1006
935
  }
1007
936
  if (!validMonth) {
1008
- this.monthInputEl.setAttribute(this.ARIA_INVALID, "true");
937
+ (_b = this.monthInputEl) === null || _b === void 0 ? void 0 : _b.setAttribute(this.ARIA_INVALID, "true");
1009
938
  }
1010
939
  if (!validDate || disabledDate) {
1011
940
  this.inputsInOrder.forEach((input) => {
@@ -1028,15 +957,15 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1028
957
  this.inputsInOrder[0].focus();
1029
958
  };
1030
959
  this.handleCalendarOpen = (ev) => {
1031
- var _a, _b;
960
+ var _a, _b, _c, _d, _e, _f;
1032
961
  ev.stopImmediatePropagation();
1033
- (_a = this.calendarButtonEl) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
962
+ (_c = (_b = (_a = this.calendarButtonEl) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("ic-tooltip")) === null || _c === void 0 ? void 0 : _c.displayTooltip(false);
1034
963
  this.calendarButtonClicked.emit({ value: this.selectedDate });
1035
- (_b = this.calendarButtonEl) === null || _b === void 0 ? void 0 : _b.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
964
+ (_f = (_e = (_d = this.calendarButtonEl) === null || _d === void 0 ? void 0 : _d.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelector("ic-tooltip")) === null || _f === void 0 ? void 0 : _f.displayTooltip(false);
1036
965
  this.isDateSetFromKeyboardEvent = false;
1037
966
  };
1038
967
  this.setValueAndEmitChange = (value) => {
1039
- if (!dateMatches(new Date(this.value), value)) {
968
+ if (!dateMatches(this.value ? new Date(this.value) : null, value)) {
1040
969
  this.emitIcChange(value);
1041
970
  this.value = value;
1042
971
  }
@@ -1066,6 +995,10 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1066
995
  this.day !== null ||
1067
996
  this.month !== null ||
1068
997
  this.year !== null) {
998
+ let UTCDate = null;
999
+ if (d !== null) {
1000
+ UTCDate = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
1001
+ }
1069
1002
  this.icChange.emit({
1070
1003
  value: d,
1071
1004
  dateObject: {
@@ -1073,6 +1006,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1073
1006
  month: this.month === "" ? null : this.month,
1074
1007
  year: this.year === "" ? null : this.year,
1075
1008
  },
1009
+ utcValue: UTCDate,
1076
1010
  });
1077
1011
  }
1078
1012
  };
@@ -1112,9 +1046,10 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1112
1046
  }
1113
1047
  }
1114
1048
  watchRequiredHandler() {
1049
+ var _a, _b;
1115
1050
  // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)
1116
1051
  // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'
1117
- const labelEl = this.el.shadowRoot.querySelector("label");
1052
+ const labelEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("label");
1118
1053
  if (this.required) {
1119
1054
  const asteriskSpan = document.createElement("span");
1120
1055
  asteriskSpan.setAttribute("id", "asterisk-span");
@@ -1123,7 +1058,7 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1123
1058
  labelEl === null || labelEl === void 0 ? void 0 : labelEl.appendChild(asteriskSpan);
1124
1059
  }
1125
1060
  else {
1126
- const asteriskSpan = this.el.shadowRoot.querySelector("#asterisk-span");
1061
+ const asteriskSpan = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("#asterisk-span");
1127
1062
  if (asteriskSpan) {
1128
1063
  asteriskSpan.remove();
1129
1064
  }
@@ -1273,18 +1208,18 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1273
1208
  }
1274
1209
  pasteZuluDateTime(dateParts, index) {
1275
1210
  // ['YYYY', 'MM', 'DD']
1276
- if (index === 0) {
1211
+ if (index === 0 && this.yearInputEl) {
1277
1212
  const dateValue = this.slicePastedDate(4, dateParts[index]);
1278
1213
  this.yearInputEl.value = dateValue;
1279
1214
  this.setInputValue(this.yearInputEl);
1280
1215
  }
1281
- else if (index === 1) {
1216
+ else if (index === 1 && this.monthInputEl) {
1282
1217
  // The month value is the second item in the array
1283
1218
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1284
1219
  this.monthInputEl.value = dateValue;
1285
1220
  this.setInputValue(this.monthInputEl);
1286
1221
  }
1287
- else {
1222
+ else if (this.dayInputEl) {
1288
1223
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1289
1224
  this.dayInputEl.value = dateValue;
1290
1225
  this.setInputValue(this.dayInputEl);
@@ -1309,7 +1244,8 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1309
1244
  }
1310
1245
  }
1311
1246
  notifyScreenReader(input, event) {
1312
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
1247
+ var _a;
1248
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
1313
1249
  if (liveRegion) {
1314
1250
  if (this.isKeyboardOrEvent(event)) {
1315
1251
  this.notifyScreenReaderArrowKeys(input);
@@ -1329,15 +1265,15 @@ const DateInput = /*@__PURE__*/ proxyCustomElement(class DateInput extends HTMLE
1329
1265
  : "";
1330
1266
  const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;
1331
1267
  renderHiddenInput(true, this.el, this.name, this.convertToDate(this.year, this.month, this.day), this.disabled);
1332
- return (h(Host, { key: 'a37b652ab1896d583a970f2fe3f23480fe923406', class: {
1268
+ return (h(Host, { key: '5e9f71b2a1c5dbc55f615ea389121c300ed68fd4', class: {
1333
1269
  [`ic-theme-${theme}`]: theme !== "inherit",
1334
1270
  [`ic-date-input-disabled`]: disabled,
1335
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '41c1cd439879613d8920593309e19c050e5d451e', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: 'a598faa23eda4cf283cd5e542008aad20150736e', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), h("span", { key: '71265eb5808610652efe874a2ad9828c970a9176', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: '67121b1b28fa69acd5c143d8dacb9c634db15f05', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '2af3f97d24ed25ba868b08d13b4467075b350a36', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: 'c7c455f3f16458f6a56e604e8f8499834f277933', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: 'ccf2a9ca8154cdc108fdbbe4a8b1cf2fd6fb5070', class: "input-container" }, h("div", { key: 'c044b44ee99dcf32722bdbfa481c8464a9a4d7bb', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), h("div", { key: '30818ad45a24cdca204f8b629f064840420afb44', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '99a6a5b62893e56cf5d3a4f6645ce2aa1b77e538', id: "clear-button", "aria-label": "Clear input", class: {
1271
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '64fe93a68d17f2b84e296efb2d9602876628d972', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: '69bb1722d84504483a7691fe713c86639025765f', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), h("span", { key: '3ef289406284d077b47db67d8b5d45919fdaad0e', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: '20222a2534cf00d15fe40610412babb302fc0e7a', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '5d4346a0fec1b1ee9d22057b7f2f1aa3b98f9693', id: "live-region", "aria-live": "assertive", class: "sr-only" }), h("ic-input-component-container", { key: '1a2adcdeaf2e5cb437f77dd76054dcd872937bfc', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, h("div", { key: 'ad5c42cec33b39329bde1975b094f3f13e974191', class: "input-container" }, h("div", { key: '5bc9b871e605562b50306d5bb6bcc078892bafc5', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), h("div", { key: '6efb1d64b2eeab1c3da78d1e0b95f3df987fedcc', class: "action-buttons" }, showClearButton && (h("ic-button", { key: '39a73d58a6814d3fac7425050291e3f2f821cd72', id: "clear-button", "aria-label": "Clear input", class: {
1336
1272
  ["clear-button"]: true,
1337
1273
  ["hidden"]: isEmptyString(this.day) &&
1338
1274
  isEmptyString(this.month) &&
1339
1275
  isEmptyString(this.year),
1340
- }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (h("div", { key: '77a0ba0e9dfa3b99a97252178e42f49261619503', class: "show-calendar-button-wrapper" }, h("div", { key: '70408bceb4963e3ba54fe5630ba95905d15be0a6', class: { divider: true, [size]: true } }), h("ic-button", { key: 'f38c632d59fe23bfda2f20a8a9646028ac40f99b', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), h("span", { key: '614cc74c88f8d83e04ec9bde0d984567c536d65c', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: 'f1dea32613b9f162808ffef69baa6231c86998d3', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidDateText)) && (h("ic-input-validation", { key: '802cdf9f7bc52c9164137059b46f5c1dfcbcdb80', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1276
+ }, disabled: this.disabled, innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearFocus, onBlur: this.handleClearBlur, variant: "icon-tertiary", theme: this.clearButtonFocused ? "light" : "dark", size: size })), showCalendarButton && (h("div", { key: '6d05e11943d6bd56f9dd6d20b8306a45062ac3f2', class: "show-calendar-button-wrapper" }, h("div", { key: 'c04cdf2665700c19fdc323bf92435d2b0d710016', class: { divider: true, [size]: true } }), h("ic-button", { key: '1a88f2b979c6c1569bb5bff797ea28e86526ff69', id: "calendar-button", ref: (el) => (this.calendarButtonEl = el), "aria-label": "Display calendar", "aria-haspopup": "dialog", class: "calendar-button", disabled: this.disabled, innerHTML: Calendar, onClick: this.handleCalendarOpen, variant: "icon-tertiary", size: size, onFocus: this.handleCalendarFocus, onBlur: this.handleCalendarBlur, theme: this.calendarFocused ? "light" : "dark" })))))), h("span", { key: '49dc06b59b4ecbee2899842a1dc63d5bbde70cc3', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: 'bd2d89299077ceaf51b03fc5f22e6d0ff2f1550a', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidDateText)) && (h("ic-input-validation", { key: 'd1502e42604239e61c7ec08840c258d2ea4d07e8', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1341
1277
  }
1342
1278
  static get delegatesFocus() { return true; }
1343
1279
  get el() { return this; }