@ukic/canary-web-components 3.0.0-canary.13 → 3.0.0-canary.15

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 (602) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/{date-helpers-c9551119.js → date-helpers-6f70dd03.js} +20 -66
  3. package/dist/cjs/date-helpers-6f70dd03.js.map +1 -0
  4. package/dist/cjs/{helpers-fc51fdcb.js → helpers-bec0dbd4.js} +2 -2
  5. package/dist/cjs/{helpers-fc51fdcb.js.map → helpers-bec0dbd4.js.map} +1 -1
  6. package/dist/cjs/{helpers-0e4c4fdd.js → helpers-d01564f7.js} +35 -17
  7. package/dist/cjs/helpers-d01564f7.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  10. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-button_3.cjs.entry.js +61 -3
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-horizontal.cjs.entry.js +16 -12
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js +3 -3
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +7 -7
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/{ic-empty-state_2.cjs.entry.js → ic-checkbox_3.cjs.entry.js} +158 -24
  25. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +7 -7
  33. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-table.cjs.entry.js +310 -276
  35. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-date-input.cjs.entry.js +175 -160
  37. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-date-picker.cjs.entry.js +92 -70
  39. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-dialog.cjs.entry.js +38 -47
  41. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +3 -3
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -3
  54. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -17
  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 +38 -24
  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 +53 -32
  64. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js +7 -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 +10 -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 +11 -10
  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 +17 -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 +56 -42
  109. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tree-view.cjs.entry.js +127 -22
  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 +19 -2
  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 +240 -198
  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 +19 -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 +133 -91
  135. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  136. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +9 -1
  137. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  138. package/dist/collection/components/ic-date-picker/ic-day-button.js +1 -1
  139. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +1 -1
  140. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +1 -1
  141. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +1 -1
  142. package/dist/collection/components/ic-date-picker/story-data.js +16 -1
  143. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  144. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +41 -38
  145. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  146. package/dist/collection/components/ic-tree-item/ic-tree-item.js +86 -50
  147. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  148. package/dist/collection/components/ic-tree-view/ic-tree-view.js +165 -31
  149. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  150. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +384 -12
  151. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  152. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js +2 -0
  153. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js.map +1 -0
  154. package/dist/collection/utils/date-helpers.js +19 -61
  155. package/dist/collection/utils/date-helpers.js.map +1 -1
  156. package/dist/collection/utils/helpers.js +44 -61
  157. package/dist/collection/utils/helpers.js.map +1 -1
  158. package/dist/collection/utils/testa11y.helpers.js +2 -1
  159. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  160. package/dist/components/helpers.js +1 -1
  161. package/dist/components/helpers2.js +32 -16
  162. package/dist/components/helpers2.js.map +1 -1
  163. package/dist/components/ic-badge.js +1 -1
  164. package/dist/components/ic-badge.js.map +1 -1
  165. package/dist/components/ic-button2.js +59 -1
  166. package/dist/components/ic-button2.js.map +1 -1
  167. package/dist/components/ic-card-horizontal.js +14 -10
  168. package/dist/components/ic-card-horizontal.js.map +1 -1
  169. package/dist/components/ic-card-vertical.js +1 -1
  170. package/dist/components/ic-card-vertical.js.map +1 -1
  171. package/dist/components/ic-checkbox-group.js +5 -5
  172. package/dist/components/ic-checkbox-group.js.map +1 -1
  173. package/dist/components/ic-checkbox.js +1 -175
  174. package/dist/components/ic-checkbox.js.map +1 -1
  175. package/dist/{esm/ic-checkbox.entry.js → components/ic-checkbox2.js} +53 -11
  176. package/dist/components/ic-checkbox2.js.map +1 -0
  177. package/dist/components/ic-chip.js +1 -1
  178. package/dist/components/ic-chip.js.map +1 -1
  179. package/dist/components/ic-classification-banner.js +2 -2
  180. package/dist/components/ic-classification-banner.js.map +1 -1
  181. package/dist/components/ic-data-table-title-bar.js +5 -5
  182. package/dist/components/ic-data-table-title-bar.js.map +1 -1
  183. package/dist/components/ic-data-table.js +319 -279
  184. package/dist/components/ic-data-table.js.map +1 -1
  185. package/dist/components/ic-date-input2.js +198 -225
  186. package/dist/components/ic-date-input2.js.map +1 -1
  187. package/dist/components/ic-date-picker.js +90 -67
  188. package/dist/components/ic-date-picker.js.map +1 -1
  189. package/dist/components/ic-dialog.js +38 -47
  190. package/dist/components/ic-dialog.js.map +1 -1
  191. package/dist/components/ic-input-component-container2.js +1 -1
  192. package/dist/components/ic-input-component-container2.js.map +1 -1
  193. package/dist/components/ic-menu-item2.js +1 -1
  194. package/dist/components/ic-menu-item2.js.map +1 -1
  195. package/dist/components/ic-navigation-group.js +22 -15
  196. package/dist/components/ic-navigation-group.js.map +1 -1
  197. package/dist/components/ic-navigation-menu2.js +37 -23
  198. package/dist/components/ic-navigation-menu2.js.map +1 -1
  199. package/dist/components/ic-page-header.js +10 -9
  200. package/dist/components/ic-page-header.js.map +1 -1
  201. package/dist/components/ic-pagination-bar2.js +22 -20
  202. package/dist/components/ic-pagination-bar2.js.map +1 -1
  203. package/dist/components/ic-pagination-item2.js +2 -2
  204. package/dist/components/ic-pagination-item2.js.map +1 -1
  205. package/dist/components/ic-pagination2.js +5 -5
  206. package/dist/components/ic-pagination2.js.map +1 -1
  207. package/dist/components/ic-popover-menu.js +5 -4
  208. package/dist/components/ic-popover-menu.js.map +1 -1
  209. package/dist/components/ic-radio-group.js +5 -5
  210. package/dist/components/ic-radio-group.js.map +1 -1
  211. package/dist/components/ic-search-bar.js +1 -1
  212. package/dist/components/ic-search-bar.js.map +1 -1
  213. package/dist/components/ic-section-container2.js +2 -2
  214. package/dist/components/ic-section-container2.js.map +1 -1
  215. package/dist/components/ic-select2.js +13 -10
  216. package/dist/components/ic-select2.js.map +1 -1
  217. package/dist/components/ic-side-navigation.js +8 -5
  218. package/dist/components/ic-side-navigation.js.map +1 -1
  219. package/dist/components/ic-skeleton.js +2 -2
  220. package/dist/components/ic-skeleton.js.map +1 -1
  221. package/dist/components/ic-skip-link.js +10 -9
  222. package/dist/components/ic-skip-link.js.map +1 -1
  223. package/dist/components/ic-status-tag.js +3 -3
  224. package/dist/components/ic-status-tag.js.map +1 -1
  225. package/dist/components/ic-step.js +15 -14
  226. package/dist/components/ic-step.js.map +1 -1
  227. package/dist/components/ic-stepper.js +2 -2
  228. package/dist/components/ic-stepper.js.map +1 -1
  229. package/dist/components/ic-switch.js +4 -4
  230. package/dist/components/ic-switch.js.map +1 -1
  231. package/dist/components/ic-tab-context.js +1 -1
  232. package/dist/components/ic-tab-context.js.map +1 -1
  233. package/dist/components/ic-tab-group.js +2 -2
  234. package/dist/components/ic-tab-group.js.map +1 -1
  235. package/dist/components/ic-tab-panel.js +2 -2
  236. package/dist/components/ic-tab-panel.js.map +1 -1
  237. package/dist/components/ic-tab.js +1 -1
  238. package/dist/components/ic-tab.js.map +1 -1
  239. package/dist/components/ic-text-field2.js +35 -13
  240. package/dist/components/ic-text-field2.js.map +1 -1
  241. package/dist/components/ic-theme.js +1 -1
  242. package/dist/components/ic-theme.js.map +1 -1
  243. package/dist/components/ic-toast-region.js +1 -1
  244. package/dist/components/ic-toast-region.js.map +1 -1
  245. package/dist/components/ic-toast.js +5 -5
  246. package/dist/components/ic-toast.js.map +1 -1
  247. package/dist/components/ic-toggle-button-group.js +2 -2
  248. package/dist/components/ic-toggle-button-group.js.map +1 -1
  249. package/dist/components/ic-toggle-button.js +3 -3
  250. package/dist/components/ic-toggle-button.js.map +1 -1
  251. package/dist/components/ic-top-navigation.js +4 -8
  252. package/dist/components/ic-top-navigation.js.map +1 -1
  253. package/dist/components/ic-tree-item.js +55 -40
  254. package/dist/components/ic-tree-item.js.map +1 -1
  255. package/dist/components/ic-tree-view.js +132 -23
  256. package/dist/components/ic-tree-view.js.map +1 -1
  257. package/dist/core/core.css +353 -245
  258. package/dist/core/core.esm.js +1 -1
  259. package/dist/core/core.esm.js.map +1 -1
  260. package/dist/core/{p-8d73a3cc.entry.js → p-0616dfbe.entry.js} +2 -2
  261. package/dist/core/p-0616dfbe.entry.js.map +1 -0
  262. package/dist/core/{p-b17e7059.entry.js → p-06bf2cea.entry.js} +2 -2
  263. package/dist/core/{p-b17e7059.entry.js.map → p-06bf2cea.entry.js.map} +1 -1
  264. package/dist/core/{p-f2f7299b.entry.js → p-071f4748.entry.js} +2 -2
  265. package/dist/core/{p-f2f7299b.entry.js.map → p-071f4748.entry.js.map} +1 -1
  266. package/dist/core/p-09e8b002.entry.js +2 -0
  267. package/dist/core/p-09e8b002.entry.js.map +1 -0
  268. package/dist/core/{p-b18a5861.entry.js → p-110486f0.entry.js} +2 -2
  269. package/dist/core/{p-b18a5861.entry.js.map → p-110486f0.entry.js.map} +1 -1
  270. package/dist/core/p-19ecd2a6.entry.js +2 -0
  271. package/dist/core/p-19ecd2a6.entry.js.map +1 -0
  272. package/dist/core/p-1a2b4803.entry.js +2 -0
  273. package/dist/core/p-1a2b4803.entry.js.map +1 -0
  274. package/dist/core/{p-32720276.entry.js → p-1bbae4b3.entry.js} +2 -2
  275. package/dist/core/{p-0fd762bf.entry.js → p-1f415138.entry.js} +2 -2
  276. package/dist/core/p-1f415138.entry.js.map +1 -0
  277. package/dist/core/{p-b8aa37f9.entry.js → p-20bd48cf.entry.js} +2 -2
  278. package/dist/core/{p-be5ad372.entry.js → p-21193099.entry.js} +2 -2
  279. package/dist/core/p-264335c5.entry.js +2 -0
  280. package/dist/core/p-264335c5.entry.js.map +1 -0
  281. package/dist/core/{p-a214a9f8.entry.js → p-30a5b319.entry.js} +2 -2
  282. package/dist/core/{p-a214a9f8.entry.js.map → p-30a5b319.entry.js.map} +1 -1
  283. package/dist/core/{p-9f4fa820.entry.js → p-3244a174.entry.js} +2 -2
  284. package/dist/core/{p-9f4fa820.entry.js.map → p-3244a174.entry.js.map} +1 -1
  285. package/dist/core/{p-5dc25d11.entry.js → p-37df68fe.entry.js} +2 -2
  286. package/dist/core/{p-5dc25d11.entry.js.map → p-37df68fe.entry.js.map} +1 -1
  287. package/dist/core/{p-3e9564b5.entry.js → p-39269b62.entry.js} +2 -2
  288. package/dist/core/p-3955fa94.entry.js +2 -0
  289. package/dist/core/p-3955fa94.entry.js.map +1 -0
  290. package/dist/core/p-3f185257.entry.js +2 -0
  291. package/dist/core/p-3f185257.entry.js.map +1 -0
  292. package/dist/core/p-401f0043.entry.js +2 -0
  293. package/dist/core/{p-144b1dee.entry.js.map → p-401f0043.entry.js.map} +1 -1
  294. package/dist/core/{p-da798f58.entry.js → p-44ac8f8a.entry.js} +2 -2
  295. package/dist/core/{p-afc4ce53.entry.js → p-4d39cab8.entry.js} +2 -2
  296. package/dist/core/{p-fd006a9b.entry.js → p-4e187a11.entry.js} +2 -2
  297. package/dist/core/{p-d154b26c.entry.js → p-50324682.entry.js} +2 -2
  298. package/dist/core/{p-cd9e1ffa.entry.js → p-50f4d151.entry.js} +2 -2
  299. package/dist/core/{p-cd9e1ffa.entry.js.map → p-50f4d151.entry.js.map} +1 -1
  300. package/dist/core/{p-22e0ed96.entry.js → p-5796b6cd.entry.js} +2 -2
  301. package/dist/core/{p-96551ddf.entry.js → p-57c80527.entry.js} +2 -2
  302. package/dist/core/p-59aed40c.entry.js +2 -0
  303. package/dist/core/p-59aed40c.entry.js.map +1 -0
  304. package/dist/core/{p-b6db0cc1.entry.js → p-60d15d35.entry.js} +2 -2
  305. package/dist/core/p-65d3a515.entry.js +2 -0
  306. package/dist/core/p-65d3a515.entry.js.map +1 -0
  307. package/dist/core/{p-272352cb.entry.js → p-6aa1e928.entry.js} +2 -2
  308. package/dist/core/p-6e0f93c5.entry.js +2 -0
  309. package/dist/core/p-6e0f93c5.entry.js.map +1 -0
  310. package/dist/core/p-6f6d793f.entry.js +2 -0
  311. package/dist/core/p-6f6d793f.entry.js.map +1 -0
  312. package/dist/core/{p-507ec499.entry.js → p-701696aa.entry.js} +2 -2
  313. package/dist/core/{p-507ec499.entry.js.map → p-701696aa.entry.js.map} +1 -1
  314. package/dist/core/{p-1334a78f.entry.js → p-73e41eac.entry.js} +2 -2
  315. package/dist/core/p-7bbd9fcb.entry.js +2 -0
  316. package/dist/core/p-7bbd9fcb.entry.js.map +1 -0
  317. package/dist/core/p-7d054704.js +2 -0
  318. package/dist/core/p-7d054704.js.map +1 -0
  319. package/dist/core/{p-08fd225f.entry.js → p-857c46c0.entry.js} +2 -2
  320. package/dist/core/p-858dd362.entry.js +2 -0
  321. package/dist/core/p-858dd362.entry.js.map +1 -0
  322. package/dist/core/{p-0e3cb8d0.entry.js → p-8856dff4.entry.js} +2 -2
  323. package/dist/core/p-8c5a23b4.entry.js +2 -0
  324. package/dist/core/p-8c5a23b4.entry.js.map +1 -0
  325. package/dist/core/{p-00135a74.js → p-8e4e97b4.js} +3 -3
  326. package/dist/core/p-8e4e97b4.js.map +1 -0
  327. package/dist/core/p-91dc6ad3.entry.js +2 -0
  328. package/dist/core/p-91dc6ad3.entry.js.map +1 -0
  329. package/dist/core/{p-0c3bd9e6.entry.js → p-94427b50.entry.js} +2 -2
  330. package/dist/core/{p-e13b43b1.entry.js → p-9cf7494c.entry.js} +2 -2
  331. package/dist/core/{p-0848efa2.entry.js → p-a2671eb0.entry.js} +2 -2
  332. package/dist/core/p-a2fcea60.entry.js +2 -0
  333. package/dist/core/p-a2fcea60.entry.js.map +1 -0
  334. package/dist/core/p-a5ee9c8d.entry.js +2 -0
  335. package/dist/core/p-a5ee9c8d.entry.js.map +1 -0
  336. package/dist/core/{p-a4582939.entry.js → p-a88369e1.entry.js} +2 -2
  337. package/dist/core/p-a88369e1.entry.js.map +1 -0
  338. package/dist/core/{p-a30d165d.entry.js → p-af405fc0.entry.js} +2 -2
  339. package/dist/core/p-af405fc0.entry.js.map +1 -0
  340. package/dist/core/p-b953b22f.entry.js +2 -0
  341. package/dist/core/p-b953b22f.entry.js.map +1 -0
  342. package/dist/core/p-bb9142fe.entry.js +2 -0
  343. package/dist/core/{p-67f3bf1a.entry.js.map → p-bb9142fe.entry.js.map} +1 -1
  344. package/dist/core/{p-60a0c711.entry.js → p-bfdefe7a.entry.js} +2 -2
  345. package/dist/core/{p-60a0c711.entry.js.map → p-bfdefe7a.entry.js.map} +1 -1
  346. package/dist/core/p-c4baa405.entry.js +2 -0
  347. package/dist/core/p-c4baa405.entry.js.map +1 -0
  348. package/dist/core/p-c86ca475.js +2 -0
  349. package/dist/core/p-c86ca475.js.map +1 -0
  350. package/dist/core/p-cda2a461.entry.js +2 -0
  351. package/dist/core/p-cda2a461.entry.js.map +1 -0
  352. package/dist/core/{p-f6013934.entry.js → p-ce83c802.entry.js} +2 -2
  353. package/dist/core/p-ce83c802.entry.js.map +1 -0
  354. package/dist/core/p-cea17764.entry.js +2 -0
  355. package/dist/core/{p-4e5934f3.entry.js.map → p-cea17764.entry.js.map} +1 -1
  356. package/dist/core/{p-f541034c.entry.js → p-d0768256.entry.js} +2 -2
  357. package/dist/core/p-d2d6f1eb.entry.js +2 -0
  358. package/dist/core/p-d2d6f1eb.entry.js.map +1 -0
  359. package/dist/core/{p-c6f1e205.entry.js → p-d4628704.entry.js} +2 -2
  360. package/dist/core/p-d4628704.entry.js.map +1 -0
  361. package/dist/core/{p-0f6b9686.js → p-e246d84b.js} +2 -2
  362. package/dist/core/p-e4fa4ee5.entry.js +2 -0
  363. package/dist/core/p-e4fa4ee5.entry.js.map +1 -0
  364. package/dist/core/{p-3d1ba098.entry.js → p-e6779171.entry.js} +2 -2
  365. package/dist/core/{p-fd42f129.entry.js → p-e8bb1522.entry.js} +2 -2
  366. package/dist/core/p-e8bb1522.entry.js.map +1 -0
  367. package/dist/core/{p-4da17eda.entry.js → p-f42ca69f.entry.js} +2 -2
  368. package/dist/core/{p-3dc4e128.entry.js → p-f5e9c8c8.entry.js} +2 -2
  369. package/dist/core/p-f5e9c8c8.entry.js.map +1 -0
  370. package/dist/core/{p-0e119312.entry.js → p-fa02a267.entry.js} +2 -2
  371. package/dist/core/{p-0e119312.entry.js.map → p-fa02a267.entry.js.map} +1 -1
  372. package/dist/esm/core.js +3 -3
  373. package/dist/esm/{date-helpers-0e5e32a7.js → date-helpers-3b8c39ab.js} +20 -66
  374. package/dist/esm/date-helpers-3b8c39ab.js.map +1 -0
  375. package/dist/esm/{helpers-bbab69a2.js → helpers-bf471ace.js} +3 -3
  376. package/dist/esm/{helpers-bbab69a2.js.map → helpers-bf471ace.js.map} +1 -1
  377. package/dist/esm/{helpers-4e38ba2b.js → helpers-ddc2008a.js} +34 -18
  378. package/dist/esm/helpers-ddc2008a.js.map +1 -0
  379. package/dist/esm/ic-accordion-group.entry.js +2 -2
  380. package/dist/esm/ic-accordion.entry.js +2 -2
  381. package/dist/esm/ic-alert.entry.js +2 -2
  382. package/dist/esm/ic-back-to-top.entry.js +2 -2
  383. package/dist/esm/ic-badge.entry.js +3 -3
  384. package/dist/esm/ic-badge.entry.js.map +1 -1
  385. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  386. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  387. package/dist/esm/ic-button_3.entry.js +61 -3
  388. package/dist/esm/ic-button_3.entry.js.map +1 -1
  389. package/dist/esm/ic-card-horizontal.entry.js +16 -12
  390. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  391. package/dist/esm/ic-card-vertical.entry.js +3 -3
  392. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  393. package/dist/esm/ic-checkbox-group.entry.js +7 -7
  394. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  395. package/dist/esm/{ic-empty-state_2.entry.js → ic-checkbox_3.entry.js} +158 -25
  396. package/dist/esm/ic-checkbox_3.entry.js.map +1 -0
  397. package/dist/esm/ic-chip.entry.js +3 -3
  398. package/dist/esm/ic-chip.entry.js.map +1 -1
  399. package/dist/esm/ic-classification-banner.entry.js +3 -3
  400. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  401. package/dist/esm/ic-data-list.entry.js +1 -1
  402. package/dist/esm/ic-data-row.entry.js +2 -2
  403. package/dist/esm/ic-data-table-title-bar.entry.js +7 -7
  404. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -1
  405. package/dist/esm/ic-data-table.entry.js +310 -276
  406. package/dist/esm/ic-data-table.entry.js.map +1 -1
  407. package/dist/esm/ic-date-input.entry.js +175 -160
  408. package/dist/esm/ic-date-input.entry.js.map +1 -1
  409. package/dist/esm/ic-date-picker.entry.js +92 -70
  410. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  411. package/dist/esm/ic-dialog.entry.js +38 -47
  412. package/dist/esm/ic-dialog.entry.js.map +1 -1
  413. package/dist/esm/ic-divider.entry.js +2 -2
  414. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  415. package/dist/esm/ic-footer-link.entry.js +2 -2
  416. package/dist/esm/ic-footer.entry.js +2 -2
  417. package/dist/esm/ic-hero.entry.js +2 -2
  418. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  419. package/dist/esm/ic-input-component-container_3.entry.js +3 -3
  420. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  421. package/dist/esm/ic-input-label_2.entry.js +2 -2
  422. package/dist/esm/ic-link.entry.js +2 -2
  423. package/dist/esm/ic-menu-group.entry.js +2 -2
  424. package/dist/esm/ic-menu-item.entry.js +3 -3
  425. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  426. package/dist/esm/ic-navigation-button.entry.js +2 -2
  427. package/dist/esm/ic-navigation-group.entry.js +23 -17
  428. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  429. package/dist/esm/ic-navigation-item.entry.js +2 -2
  430. package/dist/esm/ic-navigation-menu.entry.js +38 -24
  431. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  432. package/dist/esm/ic-page-header.entry.js +12 -11
  433. package/dist/esm/ic-page-header.entry.js.map +1 -1
  434. package/dist/esm/ic-pagination_4.entry.js +53 -32
  435. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  436. package/dist/esm/ic-popover-menu.entry.js +7 -6
  437. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  438. package/dist/esm/ic-radio-group.entry.js +7 -7
  439. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  440. package/dist/esm/ic-radio-option.entry.js +2 -2
  441. package/dist/esm/ic-search-bar.entry.js +3 -3
  442. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  443. package/dist/esm/ic-section-container.entry.js +3 -3
  444. package/dist/esm/ic-section-container.entry.js.map +1 -1
  445. package/dist/esm/ic-side-navigation.entry.js +10 -7
  446. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  447. package/dist/esm/ic-skeleton.entry.js +3 -3
  448. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  449. package/dist/esm/ic-skip-link.entry.js +11 -10
  450. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  451. package/dist/esm/ic-status-tag.entry.js +5 -5
  452. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  453. package/dist/esm/ic-step.entry.js +17 -16
  454. package/dist/esm/ic-step.entry.js.map +1 -1
  455. package/dist/esm/ic-stepper.entry.js +4 -4
  456. package/dist/esm/ic-stepper.entry.js.map +1 -1
  457. package/dist/esm/ic-switch.entry.js +6 -6
  458. package/dist/esm/ic-switch.entry.js.map +1 -1
  459. package/dist/esm/ic-tab-context.entry.js +2 -2
  460. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  461. package/dist/esm/ic-tab-group.entry.js +4 -4
  462. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  463. package/dist/esm/ic-tab-panel.entry.js +3 -3
  464. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  465. package/dist/esm/ic-tab.entry.js +3 -3
  466. package/dist/esm/ic-tab.entry.js.map +1 -1
  467. package/dist/esm/ic-theme.entry.js +3 -3
  468. package/dist/esm/ic-theme.entry.js.map +1 -1
  469. package/dist/esm/ic-toast-region.entry.js +2 -2
  470. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  471. package/dist/esm/ic-toast.entry.js +6 -6
  472. package/dist/esm/ic-toast.entry.js.map +1 -1
  473. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  474. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  475. package/dist/esm/ic-toggle-button.entry.js +5 -5
  476. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  477. package/dist/esm/ic-top-navigation.entry.js +5 -9
  478. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  479. package/dist/esm/ic-tree-item.entry.js +56 -42
  480. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  481. package/dist/esm/ic-tree-view.entry.js +127 -22
  482. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  483. package/dist/esm/ic-typography.entry.js +2 -2
  484. package/dist/esm/{index-163fe708.js → index-a7a720e7.js} +6 -11
  485. package/dist/esm/index-a7a720e7.js.map +1 -0
  486. package/dist/esm/loader.js +3 -3
  487. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +3 -3
  488. package/dist/types/components/ic-data-table/ic-data-table.d.ts +30 -20
  489. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +3 -9
  490. package/dist/types/components/ic-data-table/story-data.d.ts +15 -4
  491. package/dist/types/components/ic-date-input/ic-date-input.d.ts +46 -29
  492. package/dist/types/components/ic-date-input/ic-date-input.stories.d.ts +6 -0
  493. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +18 -12
  494. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +8 -0
  495. package/dist/types/components/ic-date-picker/ic-day-button.d.ts +2 -2
  496. package/dist/types/components/ic-date-picker/ic-month-picker.d.ts +3 -3
  497. package/dist/types/components/ic-date-picker/ic-year-picker.d.ts +3 -3
  498. package/dist/types/components/ic-date-picker/story-data.d.ts +1 -0
  499. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +2 -2
  500. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +8 -2
  501. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +21 -4
  502. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +91 -13
  503. package/dist/types/components/ic-tree-view/ic-tree-view.types.d.ts +12 -0
  504. package/dist/types/components.d.ts +129 -73
  505. package/dist/types/utils/date-helpers.d.ts +4 -4
  506. package/dist/types/utils/helpers.d.ts +8 -17
  507. package/hydrate/index.js +1223 -955
  508. package/hydrate/index.mjs +1223 -955
  509. package/package.json +3 -3
  510. package/dist/cjs/date-helpers-c9551119.js.map +0 -1
  511. package/dist/cjs/helpers-0e4c4fdd.js.map +0 -1
  512. package/dist/cjs/ic-checkbox.cjs.entry.js +0 -141
  513. package/dist/cjs/ic-checkbox.cjs.entry.js.map +0 -1
  514. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +0 -1
  515. package/dist/cjs/index-8a24b20c.js.map +0 -1
  516. package/dist/core/p-00135a74.js.map +0 -1
  517. package/dist/core/p-0efeab8a.entry.js +0 -2
  518. package/dist/core/p-0efeab8a.entry.js.map +0 -1
  519. package/dist/core/p-0fd762bf.entry.js.map +0 -1
  520. package/dist/core/p-144b1dee.entry.js +0 -2
  521. package/dist/core/p-1cf61bf2.entry.js +0 -2
  522. package/dist/core/p-1cf61bf2.entry.js.map +0 -1
  523. package/dist/core/p-33dd24eb.js +0 -2
  524. package/dist/core/p-33dd24eb.js.map +0 -1
  525. package/dist/core/p-3dc4e128.entry.js.map +0 -1
  526. package/dist/core/p-44ffa951.entry.js +0 -2
  527. package/dist/core/p-44ffa951.entry.js.map +0 -1
  528. package/dist/core/p-47962514.entry.js +0 -2
  529. package/dist/core/p-47962514.entry.js.map +0 -1
  530. package/dist/core/p-4e5934f3.entry.js +0 -2
  531. package/dist/core/p-5329e478.entry.js +0 -2
  532. package/dist/core/p-5329e478.entry.js.map +0 -1
  533. package/dist/core/p-5b2a7c1a.entry.js +0 -2
  534. package/dist/core/p-5b2a7c1a.entry.js.map +0 -1
  535. package/dist/core/p-67f3bf1a.entry.js +0 -2
  536. package/dist/core/p-6eaf585a.entry.js +0 -2
  537. package/dist/core/p-6eaf585a.entry.js.map +0 -1
  538. package/dist/core/p-8c4f212a.entry.js +0 -2
  539. package/dist/core/p-8c4f212a.entry.js.map +0 -1
  540. package/dist/core/p-8d73a3cc.entry.js.map +0 -1
  541. package/dist/core/p-9265efef.entry.js +0 -2
  542. package/dist/core/p-9265efef.entry.js.map +0 -1
  543. package/dist/core/p-95f2c59a.entry.js +0 -2
  544. package/dist/core/p-95f2c59a.entry.js.map +0 -1
  545. package/dist/core/p-a30d165d.entry.js.map +0 -1
  546. package/dist/core/p-a35cdfc3.entry.js +0 -2
  547. package/dist/core/p-a35cdfc3.entry.js.map +0 -1
  548. package/dist/core/p-a4582939.entry.js.map +0 -1
  549. package/dist/core/p-a7f95a61.entry.js +0 -2
  550. package/dist/core/p-a7f95a61.entry.js.map +0 -1
  551. package/dist/core/p-a81c9048.entry.js +0 -2
  552. package/dist/core/p-a81c9048.entry.js.map +0 -1
  553. package/dist/core/p-ac74cdac.entry.js +0 -2
  554. package/dist/core/p-ac74cdac.entry.js.map +0 -1
  555. package/dist/core/p-ad3e543e.entry.js +0 -2
  556. package/dist/core/p-ad3e543e.entry.js.map +0 -1
  557. package/dist/core/p-ae2bae87.entry.js +0 -2
  558. package/dist/core/p-ae2bae87.entry.js.map +0 -1
  559. package/dist/core/p-afde50b8.js +0 -2
  560. package/dist/core/p-afde50b8.js.map +0 -1
  561. package/dist/core/p-b84213d1.entry.js +0 -2
  562. package/dist/core/p-b84213d1.entry.js.map +0 -1
  563. package/dist/core/p-c2aef5cc.entry.js +0 -2
  564. package/dist/core/p-c2aef5cc.entry.js.map +0 -1
  565. package/dist/core/p-c6f1e205.entry.js.map +0 -1
  566. package/dist/core/p-cd59dc16.entry.js +0 -2
  567. package/dist/core/p-cd59dc16.entry.js.map +0 -1
  568. package/dist/core/p-e86c1c95.entry.js +0 -2
  569. package/dist/core/p-e86c1c95.entry.js.map +0 -1
  570. package/dist/core/p-f6013934.entry.js.map +0 -1
  571. package/dist/core/p-fba58c42.entry.js +0 -2
  572. package/dist/core/p-fba58c42.entry.js.map +0 -1
  573. package/dist/core/p-fd42f129.entry.js.map +0 -1
  574. package/dist/core/p-fde3bbb2.entry.js +0 -2
  575. package/dist/core/p-fde3bbb2.entry.js.map +0 -1
  576. package/dist/esm/date-helpers-0e5e32a7.js.map +0 -1
  577. package/dist/esm/helpers-4e38ba2b.js.map +0 -1
  578. package/dist/esm/ic-checkbox.entry.js.map +0 -1
  579. package/dist/esm/ic-empty-state_2.entry.js.map +0 -1
  580. package/dist/esm/index-163fe708.js.map +0 -1
  581. /package/dist/core/{p-32720276.entry.js.map → p-1bbae4b3.entry.js.map} +0 -0
  582. /package/dist/core/{p-b8aa37f9.entry.js.map → p-20bd48cf.entry.js.map} +0 -0
  583. /package/dist/core/{p-be5ad372.entry.js.map → p-21193099.entry.js.map} +0 -0
  584. /package/dist/core/{p-3e9564b5.entry.js.map → p-39269b62.entry.js.map} +0 -0
  585. /package/dist/core/{p-da798f58.entry.js.map → p-44ac8f8a.entry.js.map} +0 -0
  586. /package/dist/core/{p-afc4ce53.entry.js.map → p-4d39cab8.entry.js.map} +0 -0
  587. /package/dist/core/{p-fd006a9b.entry.js.map → p-4e187a11.entry.js.map} +0 -0
  588. /package/dist/core/{p-d154b26c.entry.js.map → p-50324682.entry.js.map} +0 -0
  589. /package/dist/core/{p-22e0ed96.entry.js.map → p-5796b6cd.entry.js.map} +0 -0
  590. /package/dist/core/{p-96551ddf.entry.js.map → p-57c80527.entry.js.map} +0 -0
  591. /package/dist/core/{p-b6db0cc1.entry.js.map → p-60d15d35.entry.js.map} +0 -0
  592. /package/dist/core/{p-272352cb.entry.js.map → p-6aa1e928.entry.js.map} +0 -0
  593. /package/dist/core/{p-1334a78f.entry.js.map → p-73e41eac.entry.js.map} +0 -0
  594. /package/dist/core/{p-08fd225f.entry.js.map → p-857c46c0.entry.js.map} +0 -0
  595. /package/dist/core/{p-0e3cb8d0.entry.js.map → p-8856dff4.entry.js.map} +0 -0
  596. /package/dist/core/{p-0c3bd9e6.entry.js.map → p-94427b50.entry.js.map} +0 -0
  597. /package/dist/core/{p-e13b43b1.entry.js.map → p-9cf7494c.entry.js.map} +0 -0
  598. /package/dist/core/{p-0848efa2.entry.js.map → p-a2671eb0.entry.js.map} +0 -0
  599. /package/dist/core/{p-f541034c.entry.js.map → p-d0768256.entry.js.map} +0 -0
  600. /package/dist/core/{p-0f6b9686.js.map → p-e246d84b.js.map} +0 -0
  601. /package/dist/core/{p-3d1ba098.entry.js.map → p-e6779171.entry.js.map} +0 -0
  602. /package/dist/core/{p-4da17eda.entry.js.map → p-f42ca69f.entry.js.map} +0 -0
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-8a24b20c.js');
6
- const helpers = require('./helpers-0e4c4fdd.js');
7
- const dateHelpers = require('./date-helpers-c9551119.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-d01564f7.js');
7
+ const dateHelpers = require('./date-helpers-6f70dd03.js');
8
8
 
9
9
  const Clear = `<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
10
10
  <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"/>
@@ -26,6 +26,7 @@ const DateInput = class {
26
26
  this.icBlur = index.createEvent(this, "icBlur", 7);
27
27
  this.icChange = index.createEvent(this, "icChange", 7);
28
28
  this.icFocus = index.createEvent(this, "icFocus", 7);
29
+ this.DEFAULT_DATE_FORMAT = "DD/MM/YYYY";
29
30
  this.ARIA_INVALID = "aria-invalid";
30
31
  this.ARIA_LABEL = "aria-label";
31
32
  this.ARIA_LABELLED_BY = "aria-labelledby";
@@ -45,20 +46,24 @@ const DateInput = class {
45
46
  this.KEYBOARD_EVENT_OBJECT_STRING = "[object KeyboardEvent]";
46
47
  this.MAX_DAY = 31;
47
48
  this.MAX_MONTH = 12;
48
- this.previousEmittedDate = undefined;
49
49
  this.previousSelectedDate = null;
50
50
  this.selectedDate = null;
51
- this.day = "";
52
- this.month = "";
53
- this.year = "";
51
+ this.externalSetDate = false;
52
+ this.clearInput = false;
54
53
  this.calendarFocused = false;
55
54
  this.clearButtonFocused = false;
56
55
  this.removeLabelledBy = false;
56
+ this.day = "";
57
+ this.month = "";
58
+ this.year = "";
57
59
  /**
58
60
  * The format in which the date will be displayed.
59
61
  */
60
- // eslint-disable-next-line sonarjs/no-duplicate-string
61
- this.dateFormat = "DD/MM/YYYY";
62
+ this.dateFormat = this.DEFAULT_DATE_FORMAT;
63
+ /**
64
+ * If `true`, every individual input field completed will emit an icChange event.
65
+ */
66
+ this.emitDatePartChange = false;
62
67
  /**
63
68
  * If `true`, the disabled state will be set.
64
69
  */
@@ -150,9 +155,11 @@ const DateInput = class {
150
155
  */
151
156
  this.validationText = "";
152
157
  this.setInputPasteValue = (input, pastedValue) => {
153
- const inputEl = input;
154
- inputEl.value = pastedValue;
155
- inputEl.classList.add(this.FIT_TO_VALUE);
158
+ if (input) {
159
+ const inputEl = input;
160
+ inputEl.value = pastedValue;
161
+ inputEl.classList.add(this.FIT_TO_VALUE);
162
+ }
156
163
  };
157
164
  this.checkSingleCopiedValueIsValid = (input, pastedValue) => {
158
165
  let isValid = false;
@@ -167,9 +174,6 @@ const DateInput = class {
167
174
  case this.yearInputEl:
168
175
  isValid = true;
169
176
  break;
170
- default:
171
- isValid = false;
172
- break;
173
177
  }
174
178
  return isValid;
175
179
  };
@@ -311,8 +315,10 @@ const DateInput = class {
311
315
  };
312
316
  this.handleBlur = (event) => {
313
317
  const input = event.target;
314
- this.setPasteInvalidText();
315
- this.autocompleteInput(input);
318
+ if (input) {
319
+ this.setPasteInvalidText();
320
+ this.autocompleteInput(input);
321
+ }
316
322
  };
317
323
  this.handleLeftRightArrowKeyPress = (input, key) => {
318
324
  if (key === "arrowright") {
@@ -324,13 +330,15 @@ const DateInput = class {
324
330
  this.setPasteInvalidText();
325
331
  };
326
332
  this.notifyScreenReaderSelectedDate = () => {
327
- const dayNames = helpers.stringEnumToArray(helpers.IcDayNames);
328
- const months = helpers.stringEnumToArray(helpers.IcDateInputMonths);
329
- this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
333
+ if (this.selectedDate && this.selectedDateInfoEl) {
334
+ const dayNames = helpers.stringEnumToArray(helpers.IcDayNames);
335
+ const months = helpers.stringEnumToArray(helpers.IcDateInputMonths);
336
+ this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
337
+ }
330
338
  };
331
339
  this.handleUpDownArrowKeyPress = (input, event) => {
332
340
  const minValue = input === this.yearInputEl ? 0 : 1;
333
- let maxValue;
341
+ let maxValue = 9999;
334
342
  switch (input) {
335
343
  case this.dayInputEl:
336
344
  maxValue = this.MAX_DAY;
@@ -373,22 +381,18 @@ const DateInput = class {
373
381
  else {
374
382
  if (event.key === "ArrowDown") {
375
383
  event.preventDefault();
376
- if (input === this.yearInputEl) {
377
- input.value = new Date().getFullYear().toString();
378
- }
379
- else {
380
- input.value = maxValue.toString();
381
- }
384
+ input.value =
385
+ input === this.yearInputEl
386
+ ? new Date().getFullYear().toString()
387
+ : maxValue.toString();
382
388
  this.notifyScreenReader(input, event);
383
389
  }
384
390
  else if (event.key === "ArrowUp") {
385
391
  event.preventDefault();
386
- if (input === this.yearInputEl) {
387
- input.value = new Date().getFullYear().toString();
388
- }
389
- else {
390
- input.value = `0${minValue}`;
391
- }
392
+ input.value =
393
+ input === this.yearInputEl
394
+ ? new Date().getFullYear().toString()
395
+ : `0${minValue}`;
392
396
  this.notifyScreenReader(input, event);
393
397
  }
394
398
  }
@@ -408,7 +412,8 @@ const DateInput = class {
408
412
  this.setValueAndEmitChange(this.selectedDate);
409
413
  this.notifyScreenReaderSelectedDate();
410
414
  }
411
- else if (!(this.selectedDate === null && this.previousSelectedDate === null)) {
415
+ else if (!(this.selectedDate === null && this.previousSelectedDate === null) &&
416
+ this.selectedDateInfoEl) {
412
417
  this.setValueAndEmitChange(null);
413
418
  this.selectedDateInfoEl.textContent = "";
414
419
  }
@@ -438,16 +443,20 @@ const DateInput = class {
438
443
  // Set value of each input to value of pasted date part
439
444
  // Allows formats separated by '-' or '/'
440
445
  this.handlePaste = (event) => {
446
+ var _a;
441
447
  event.preventDefault();
442
- const pastedValue = event.clipboardData.getData("Text");
448
+ const pastedValue = ((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("Text")) || "";
443
449
  const isValidDate = this.isPastedStringDateValid(pastedValue);
444
450
  this.setPastedValueAndValidation(isValidDate, pastedValue, event);
445
451
  };
446
452
  this.setDate = (date) => {
447
453
  if (date === null || date === "" || date === undefined) {
448
- this.day = null;
449
- this.month = null;
450
- this.year = null;
454
+ if (this.day)
455
+ this.day = "";
456
+ if (this.month)
457
+ this.month = "";
458
+ if (this.year)
459
+ this.year = "";
451
460
  this.inputsInOrder.forEach((input) => {
452
461
  input.classList.remove(this.FIT_TO_VALUE);
453
462
  this.setPreventInput(input, false);
@@ -470,9 +479,11 @@ const DateInput = class {
470
479
  }
471
480
  else if (typeof date === "string") {
472
481
  const defaultDateArray = dateHelpers.splitStringDate(date, this.dateFormat);
482
+ this.selectedDate = new Date(Number(defaultDateArray[0]), Number(defaultDateArray[1]) - 1, Number(defaultDateArray[2]));
473
483
  this.year = defaultDateArray[0];
474
484
  this.month = defaultDateArray[1];
475
485
  this.day = defaultDateArray[2];
486
+ this.setValueAndEmitChange(this.selectedDate);
476
487
  }
477
488
  }
478
489
  this.setValidationMessage();
@@ -483,7 +494,7 @@ const DateInput = class {
483
494
  const month = dateHelpers.convertToDoubleDigits(date.getMonth() + 1);
484
495
  const year = date.getFullYear();
485
496
  switch (this.dateFormat) {
486
- case "DD/MM/YYYY":
497
+ case this.DEFAULT_DATE_FORMAT:
487
498
  formattedDate = `${day}/${month}/${year}`;
488
499
  break;
489
500
  case "MM/DD/YYYY":
@@ -496,9 +507,11 @@ const DateInput = class {
496
507
  return formattedDate;
497
508
  };
498
509
  this.updateInputValues = (day, month, year) => {
499
- this.dayInputEl.value = day;
500
- this.monthInputEl.value = month;
501
- this.yearInputEl.value = year;
510
+ if (this.dayInputEl && this.monthInputEl && this.yearInputEl) {
511
+ this.dayInputEl.value = day;
512
+ this.monthInputEl.value = month;
513
+ this.yearInputEl.value = year;
514
+ }
502
515
  };
503
516
  // Set value in state based on input
504
517
  this.setInputValue = (input, clear = false) => {
@@ -526,7 +539,9 @@ const DateInput = class {
526
539
  // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)
527
540
  this.selectedDate = this.convertToDate(this.year, this.month, this.day);
528
541
  this.isValidDate =
529
- +this.selectedDate !== 0 && this.selectedDate.getDate() == +this.day;
542
+ !!this.selectedDate &&
543
+ +this.selectedDate !== 0 &&
544
+ this.selectedDate.getDate() == +this.day;
530
545
  this.isDisabledDate = this.isSelectedDateDisabled();
531
546
  if (!this.isValidDate || this.isDisabledDate) {
532
547
  this.inputsInOrder.forEach((input) => input.setAttribute(this.ARIA_INVALID, "true"));
@@ -576,13 +591,13 @@ const DateInput = class {
576
591
  };
577
592
  // Set refs to the input elements in the order they are displayed (based on the dateFormat)
578
593
  this.setInputsInOrder = () => {
579
- const inputs = this.el.shadowRoot.querySelectorAll("input");
580
- inputs.forEach((input) => this.inputsInOrder.push(input));
594
+ var _a;
595
+ (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("input").forEach((input) => this.inputsInOrder.push(input));
581
596
  };
582
597
  // Includes text usually added using aria-describedby
583
598
  // (which doesn't work on input component container)
584
599
  this.setAriaLabelledBy = () => {
585
- var _a, _b;
600
+ var _a, _b, _c;
586
601
  if (this.disabled &&
587
602
  !helpers.isEmptyString((_a = this.inputCompContainerEl) === null || _a === void 0 ? void 0 : _a.getAttribute(this.ARIA_LABELLED_BY))) {
588
603
  this.removeAriaLabelledBy();
@@ -591,14 +606,14 @@ const DateInput = class {
591
606
  if (this.disabled) {
592
607
  return;
593
608
  }
594
- const labelEl = this.el.shadowRoot.querySelector("label");
609
+ const labelEl = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("label");
595
610
  const labelId = `${this.inputId}-label`;
596
611
  if (labelEl !== null && labelEl !== undefined) {
597
612
  labelEl.id = labelId;
598
613
  }
599
614
  const hasValidation = !helpers.isEmptyString(this.validationStatus) ||
600
615
  !helpers.isEmptyString(this.invalidDateText);
601
- const labelledBy = `${(_b = labelEl === null || labelEl === void 0 ? void 0 : labelEl.id) !== null && _b !== void 0 ? _b : ""} ${this.screenReaderInfoId} ${helpers.getInputDescribedByText(this.inputId, this.helperText !== "" && this.helperText !== this.defaultHelperText, hasValidation)} ${this.selectedDate ? this.selectedDateInfoId : ""} ${this.assistiveHintId}`;
616
+ const labelledBy = `${(_c = labelEl === null || labelEl === void 0 ? void 0 : labelEl.id) !== null && _c !== void 0 ? _c : ""} ${this.screenReaderInfoId} ${helpers.getInputDescribedByText(this.inputId, this.helperText !== "" && this.helperText !== this.defaultHelperText, hasValidation)} ${this.selectedDate ? this.selectedDateInfoId : ""} ${this.assistiveHintId}`;
602
617
  this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
603
618
  };
604
619
  // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)
@@ -647,7 +662,7 @@ const DateInput = class {
647
662
  this.getDescOfInputsOrder = () => {
648
663
  let description;
649
664
  switch (this.dateFormat) {
650
- case "DD/MM/YYYY":
665
+ case this.DEFAULT_DATE_FORMAT:
651
666
  description = "day, month, and year";
652
667
  break;
653
668
  case "MM/DD/YYYY":
@@ -679,7 +694,7 @@ const DateInput = class {
679
694
  const input = event.target;
680
695
  let selectedString;
681
696
  if (input) {
682
- selectedString = input.value.substring(input.selectionStart, input.selectionEnd);
697
+ selectedString = input.value.substring(input.selectionStart || 0, input.selectionEnd || undefined);
683
698
  }
684
699
  if (key === "e" ||
685
700
  key === "." ||
@@ -691,81 +706,60 @@ const DateInput = class {
691
706
  event.preventDefault();
692
707
  }
693
708
  };
694
- // Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
695
- // Consider using dateClamp and inDateRange
709
+ /**
710
+ * Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
711
+ * Consider using dateClamp and inDateRange
712
+ * @returns `boolean`
713
+ */
696
714
  this.isSelectedDateDisabled = () => {
715
+ if (!this.selectedDate)
716
+ return false;
697
717
  const currentDate = new Date();
698
- this.isAfterMax = false;
699
- this.isBeforeMin = false;
700
- let disabled = false;
701
718
  const isNotToday = this.selectedDate.toDateString() !== currentDate.toDateString();
702
- if (this.minDate && this.selectedDate < this.minDate && isNotToday) {
703
- this.isBeforeMin = true;
704
- disabled = true;
705
- }
706
- if (this.maxDate && this.selectedDate > this.maxDate && isNotToday) {
707
- this.isAfterMax = true;
708
- disabled = true;
709
- }
710
- if (this.disableDays.includes(this.selectedDate.getDay())) {
711
- disabled = true;
712
- }
713
- if (((this.disablePast && this.selectedDate < currentDate) ||
714
- (this.disableFuture && this.selectedDate > currentDate)) &&
715
- isNotToday) {
716
- disabled = true;
717
- }
718
- return disabled;
719
+ this.isAfterMax =
720
+ this.maxDate && this.selectedDate > this.maxDate && isNotToday;
721
+ this.isBeforeMin =
722
+ this.minDate && this.selectedDate < this.minDate && isNotToday;
723
+ return (this.isAfterMax ||
724
+ this.isBeforeMin ||
725
+ this.disableDays.includes(this.selectedDate.getDay()) ||
726
+ (((!!this.disablePast && this.selectedDate < currentDate) ||
727
+ (!!this.disableFuture && this.selectedDate > currentDate)) &&
728
+ isNotToday));
719
729
  };
720
730
  this.moveToNextInput = (currentInput) => {
721
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
722
- const nextInput = this.inputsInOrder[currentInputPos + 1];
731
+ var _a;
723
732
  this.preventAutoFormatting = false;
724
- if (nextInput) {
725
- nextInput.focus();
726
- }
733
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) + 1]) === null || _a === void 0 ? void 0 : _a.focus();
727
734
  };
728
735
  this.moveToPreviousInput = (currentInput) => {
729
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
736
+ var _a;
730
737
  this.preventAutoFormatting = false;
731
- if (this.inputsInOrder[currentInputPos - 1]) {
732
- this.inputsInOrder[currentInputPos - 1].focus();
733
- }
738
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) - 1]) === null || _a === void 0 ? void 0 : _a.focus();
734
739
  };
735
740
  this.autocompleteInput = (input) => {
736
- if (input === this.yearInputEl) {
737
- this.autocompleteYear();
741
+ const inputValue = input.value;
742
+ if (this.yearInputEl && input === this.yearInputEl) {
743
+ // Autocomplete year as current millennium when fewer than 4 characters entered
744
+ const yearNumbers = ["2", "0", "0"];
745
+ let autocompletedInput = "";
746
+ if (inputValue) {
747
+ yearNumbers.forEach((number, index) => {
748
+ if (inputValue.length + index <= 3) {
749
+ autocompletedInput += number;
750
+ }
751
+ });
752
+ this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
753
+ }
738
754
  }
739
- else {
740
- const inputValue = input.value;
755
+ else if (inputValue.length === 1) {
741
756
  // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)
742
- if (inputValue.length === 1) {
743
- if (+inputValue === 0) {
744
- input.value = "01";
745
- }
746
- else {
747
- input.value = `0${inputValue}`;
748
- }
749
- }
757
+ input.value = +inputValue === 0 ? "01" : `0${inputValue}`;
750
758
  }
751
759
  if (input.value) {
752
760
  this.setInputValue(input);
753
761
  }
754
762
  };
755
- // Autocomplete year as current millennium when fewer than 4 characters entered
756
- this.autocompleteYear = () => {
757
- const inputValue = this.yearInputEl.value;
758
- const yearNumbers = ["2", "0", "0"];
759
- let autocompletedInput = "";
760
- if (inputValue) {
761
- yearNumbers.forEach((number, index) => {
762
- if (inputValue.length + index <= 3) {
763
- autocompletedInput += number;
764
- }
765
- });
766
- this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
767
- }
768
- };
769
763
  this.convertToDate = (year, month, day) => {
770
764
  if (!helpers.isEmptyString(year) && !helpers.isEmptyString(month) && !helpers.isEmptyString(day)) {
771
765
  return new Date(+year, +month - 1, +day);
@@ -779,8 +773,8 @@ const DateInput = class {
779
773
  this.icBlur.emit({ value: this.selectedDate });
780
774
  };
781
775
  this.handleHostFocus = () => {
782
- var _a;
783
- if ((_a = this.el.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.id.match(/(day|month|year)-input$/)) {
776
+ var _a, _b;
777
+ 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$/)) {
784
778
  this.removeLabelledBy = false;
785
779
  }
786
780
  else {
@@ -794,14 +788,13 @@ const DateInput = class {
794
788
  this.setValidationMessage();
795
789
  this.handleDateChange(false);
796
790
  };
797
- this.getAriaLabel = (input) => {
798
- return input.getAttribute(this.ARIA_LABEL);
799
- };
791
+ this.getAriaLabel = (input) => input.getAttribute(this.ARIA_LABEL);
800
792
  this.notifyScreenReaderArrowKeys = (input) => {
801
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
802
- let announcement = "";
793
+ var _a;
794
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
803
795
  const ariaLabel = this.getAriaLabel(input);
804
- if (liveRegion && input.value) {
796
+ if (liveRegion && input.value && ariaLabel) {
797
+ let announcement = "";
805
798
  if (input === this.monthInputEl &&
806
799
  !!helpers.IcDateInputMonths[+input.value - 1]) {
807
800
  announcement = `${input.value} - ${helpers.IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
@@ -813,32 +806,23 @@ const DateInput = class {
813
806
  }
814
807
  };
815
808
  this.notifyScreenReaderInput = (input, liveRegion) => {
816
- let announcement = "";
817
809
  const ariaLabel = this.getAriaLabel(input);
818
- if (input === this.dayInputEl || input === this.monthInputEl) {
819
- if (input.value.length === 2) {
820
- if (input === this.monthInputEl &&
821
- !!helpers.IcDateInputMonths[+input.value - 1] &&
822
- this.isValidMonth) {
823
- announcement = `${input.value} - ${helpers.IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
824
- }
825
- if (input === this.dayInputEl && this.isValidDay) {
826
- announcement = `${input.value}, ${ariaLabel}`;
827
- }
828
- }
829
- else {
830
- announcement = "";
831
- }
832
- }
833
- else {
834
- if (input.value.length === 4) {
835
- announcement = `${input.value}, ${ariaLabel}`;
810
+ const value = input.value;
811
+ if (ariaLabel && value) {
812
+ let announcement = "";
813
+ const monthValue = helpers.IcDateInputMonths[+value - 1];
814
+ if (input === this.monthInputEl &&
815
+ !!monthValue &&
816
+ this.isValidMonth &&
817
+ value.length === 2) {
818
+ announcement = `${value} - ${monthValue}`;
836
819
  }
837
- else {
838
- announcement = "";
820
+ else if ((input === this.dayInputEl && this.isValidDay && value.length === 2) ||
821
+ (input === this.yearInputEl && value.length === 4)) {
822
+ announcement = value;
839
823
  }
824
+ liveRegion.textContent = `${announcement}, ${ariaLabel}`;
840
825
  }
841
- liveRegion.textContent = announcement;
842
826
  };
843
827
  this.setFitToValueStyling = (input) => {
844
828
  if (input.value) {
@@ -849,15 +833,16 @@ const DateInput = class {
849
833
  }
850
834
  };
851
835
  this.setAriaInvalid = (validDay, validMonth, validDate, disabledDate) => {
836
+ var _a, _b;
852
837
  if (this.inputsInOrder.length) {
853
838
  this.inputsInOrder.forEach((input) => {
854
839
  input.removeAttribute(this.ARIA_INVALID);
855
840
  });
856
841
  if (!validDay) {
857
- this.dayInputEl.setAttribute(this.ARIA_INVALID, "true");
842
+ (_a = this.dayInputEl) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ARIA_INVALID, "true");
858
843
  }
859
844
  if (!validMonth) {
860
- this.monthInputEl.setAttribute(this.ARIA_INVALID, "true");
845
+ (_b = this.monthInputEl) === null || _b === void 0 ? void 0 : _b.setAttribute(this.ARIA_INVALID, "true");
861
846
  }
862
847
  if (!validDate || disabledDate) {
863
848
  this.inputsInOrder.forEach((input) => {
@@ -867,26 +852,28 @@ const DateInput = class {
867
852
  }
868
853
  };
869
854
  this.handleClear = () => {
855
+ this.clearInput = true;
870
856
  this.inputsInOrder.forEach((input) => {
871
857
  input.classList.remove(this.FIT_TO_VALUE);
872
858
  this.setInputValue(input, true);
873
859
  this.setPreventInput(input, false);
874
860
  });
861
+ this.clearInput = false;
875
862
  this.isDateSetFromKeyboardEvent = false;
876
863
  this.setValidationMessage();
877
864
  this.handleDateChange(true);
878
865
  this.inputsInOrder[0].focus();
879
866
  };
880
867
  this.handleCalendarOpen = (ev) => {
881
- var _a, _b;
868
+ var _a, _b, _c, _d, _e, _f;
882
869
  ev.stopImmediatePropagation();
883
- (_a = this.calendarButtonEl) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
870
+ (_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);
884
871
  this.calendarButtonClicked.emit({ value: this.selectedDate });
885
- (_b = this.calendarButtonEl) === null || _b === void 0 ? void 0 : _b.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
872
+ (_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);
886
873
  this.isDateSetFromKeyboardEvent = false;
887
874
  };
888
875
  this.setValueAndEmitChange = (value) => {
889
- if (!dateHelpers.dateMatches(new Date(this.value), value)) {
876
+ if (!dateHelpers.dateMatches(this.value ? new Date(this.value) : null, value)) {
890
877
  this.emitIcChange(value);
891
878
  this.value = value;
892
879
  }
@@ -911,13 +898,36 @@ const DateInput = class {
911
898
  this.removeLabelledBy = true;
912
899
  };
913
900
  this.emitIcChange = (d) => {
914
- if (!(d === null && this.previousEmittedDate === null) &&
915
- !dateHelpers.dateMatches(d, this.previousEmittedDate)) {
916
- this.previousEmittedDate = d;
917
- this.icChange.emit({ value: d });
901
+ this.selectedDate = d;
902
+ if (!dateHelpers.dateMatches(this.selectedDate, d) ||
903
+ this.day !== null ||
904
+ this.month !== null ||
905
+ this.year !== null) {
906
+ let UTCDate = null;
907
+ if (d !== null) {
908
+ UTCDate = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
909
+ }
910
+ this.icChange.emit({
911
+ value: d,
912
+ dateObject: {
913
+ day: this.day === "" ? null : this.day,
914
+ month: this.month === "" ? null : this.month,
915
+ year: this.year === "" ? null : this.year,
916
+ },
917
+ utcValue: UTCDate,
918
+ });
918
919
  }
919
920
  };
920
921
  }
922
+ watchInputHandler() {
923
+ if (this.emitDatePartChange &&
924
+ !this.externalSetDate &&
925
+ !this.clearInput &&
926
+ !(this.day && this.month && this.year) &&
927
+ this.selectedDate === null) {
928
+ this.emitIcChange(this.selectedDate);
929
+ }
930
+ }
921
931
  watchDisabledHandler() {
922
932
  helpers.removeDisabledFalse(this.disabled, this.el);
923
933
  }
@@ -944,9 +954,10 @@ const DateInput = class {
944
954
  }
945
955
  }
946
956
  watchRequiredHandler() {
957
+ var _a, _b;
947
958
  // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)
948
959
  // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'
949
- const labelEl = this.el.shadowRoot.querySelector("label");
960
+ const labelEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("label");
950
961
  if (this.required) {
951
962
  const asteriskSpan = document.createElement("span");
952
963
  asteriskSpan.setAttribute("id", "asterisk-span");
@@ -955,7 +966,7 @@ const DateInput = class {
955
966
  labelEl === null || labelEl === void 0 ? void 0 : labelEl.appendChild(asteriskSpan);
956
967
  }
957
968
  else {
958
- const asteriskSpan = this.el.shadowRoot.querySelector("#asterisk-span");
969
+ const asteriskSpan = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("#asterisk-span");
959
970
  if (asteriskSpan) {
960
971
  asteriskSpan.remove();
961
972
  }
@@ -971,11 +982,8 @@ const DateInput = class {
971
982
  this.watchMinHandler();
972
983
  this.watchMaxHandler();
973
984
  if (this.value) {
985
+ this.externalSetDate = true;
974
986
  this.setDate(this.value);
975
- this.previousEmittedDate = this.selectedDate;
976
- }
977
- else {
978
- this.previousEmittedDate = null;
979
987
  }
980
988
  this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;
981
989
  this.assistiveHintId = `${this.inputId}-assistive-hint`;
@@ -1044,7 +1052,10 @@ const DateInput = class {
1044
1052
  * @internal Used to enable other components to invoke an IcChange event from the input.
1045
1053
  */
1046
1054
  async triggerIcChange(d) {
1055
+ this.externalSetDate = true;
1056
+ this.setDate(d);
1047
1057
  this.emitIcChange(d);
1058
+ this.externalSetDate = false;
1048
1059
  }
1049
1060
  removeAriaLabelledBy() {
1050
1061
  this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);
@@ -1105,18 +1116,18 @@ const DateInput = class {
1105
1116
  }
1106
1117
  pasteZuluDateTime(dateParts, index) {
1107
1118
  // ['YYYY', 'MM', 'DD']
1108
- if (index === 0) {
1119
+ if (index === 0 && this.yearInputEl) {
1109
1120
  const dateValue = this.slicePastedDate(4, dateParts[index]);
1110
1121
  this.yearInputEl.value = dateValue;
1111
1122
  this.setInputValue(this.yearInputEl);
1112
1123
  }
1113
- else if (index === 1) {
1124
+ else if (index === 1 && this.monthInputEl) {
1114
1125
  // The month value is the second item in the array
1115
1126
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1116
1127
  this.monthInputEl.value = dateValue;
1117
1128
  this.setInputValue(this.monthInputEl);
1118
1129
  }
1119
- else {
1130
+ else if (this.dayInputEl) {
1120
1131
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1121
1132
  this.dayInputEl.value = dateValue;
1122
1133
  this.setInputValue(this.dayInputEl);
@@ -1141,7 +1152,8 @@ const DateInput = class {
1141
1152
  }
1142
1153
  }
1143
1154
  notifyScreenReader(input, event) {
1144
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
1155
+ var _a;
1156
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
1145
1157
  if (liveRegion) {
1146
1158
  if (this.isKeyboardOrEvent(event)) {
1147
1159
  this.notifyScreenReaderArrowKeys(input);
@@ -1161,19 +1173,22 @@ const DateInput = class {
1161
1173
  : "";
1162
1174
  const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;
1163
1175
  helpers.renderHiddenInput(true, this.el, this.name, this.convertToDate(this.year, this.month, this.day), this.disabled);
1164
- return (index.h(index.Host, { key: '08b8f65934b55fd86e9abe2fad8f232af68b3754', class: {
1176
+ return (index.h(index.Host, { key: '5e9f71b2a1c5dbc55f615ea389121c300ed68fd4', class: {
1165
1177
  [`ic-theme-${theme}`]: theme !== "inherit",
1166
1178
  [`ic-date-input-disabled`]: disabled,
1167
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, index.h("ic-input-container", { key: '285bb0e746630a08c3e4e29bc8a24f5d97b4b4e5', disabled: disabled }, !(hideLabel && hideHelperText) && (index.h("ic-input-label", { key: 'f1facdecd84445133a67c87a2d6e5ba4dfbfbceb', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), index.h("span", { key: '25ae3fae1dc4f2862ec14e348138adfadf0dc3c7', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), index.h("span", { key: 'd3c34084b3b846795063f799720b7d918f10f5a9', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), index.h("span", { key: '37ecdc3ee7ced98dac405591cb106e1a03add976', id: "live-region", "aria-live": "assertive", class: "sr-only" }), index.h("ic-input-component-container", { key: 'cfcfae24a49a49e0f2a878a7c024818e1cce125a', id: inputId, ref: (el) => (this.inputCompContainerEl = el), disabled: disabled, validationStatus: validationStatus, size: size, role: "group", class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, index.h("div", { key: '4d090542f2fb72fae8cda326af45278552707cd6', class: "input-container" }, index.h("div", { key: '4eef737c2a8d25353a41ea31b2e8bc21ec55ff9a', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), index.h("div", { key: 'bc1cb74a96f75b4018f2e39f8712a870f5f4bf6e', class: "action-buttons" }, showClearButton && (index.h("ic-button", { key: 'e58854f9e3b74a7f46a253a8421c8c9775047069', id: "clear-button", "aria-label": "Clear input", class: {
1179
+ }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, index.h("ic-input-container", { key: '64fe93a68d17f2b84e296efb2d9602876628d972', disabled: disabled }, !(hideLabel && hideHelperText) && (index.h("ic-input-label", { key: '69bb1722d84504483a7691fe713c86639025765f', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), index.h("span", { key: '3ef289406284d077b47db67d8b5d45919fdaad0e', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), index.h("span", { key: '20222a2534cf00d15fe40610412babb302fc0e7a', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), index.h("span", { key: '5d4346a0fec1b1ee9d22057b7f2f1aa3b98f9693', id: "live-region", "aria-live": "assertive", class: "sr-only" }), index.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" } }, index.h("div", { key: 'ad5c42cec33b39329bde1975b094f3f13e974191', class: "input-container" }, index.h("div", { key: '5bc9b871e605562b50306d5bb6bcc078892bafc5', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), index.h("div", { key: '6efb1d64b2eeab1c3da78d1e0b95f3df987fedcc', class: "action-buttons" }, showClearButton && (index.h("ic-button", { key: '39a73d58a6814d3fac7425050291e3f2f821cd72', id: "clear-button", "aria-label": "Clear input", class: {
1168
1180
  ["clear-button"]: true,
1169
1181
  ["hidden"]: helpers.isEmptyString(this.day) &&
1170
1182
  helpers.isEmptyString(this.month) &&
1171
1183
  helpers.isEmptyString(this.year),
1172
- }, 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 && (index.h("div", { key: 'd7e3f4e87e69d949a1c9e56230ae78b22dfd23f8', class: "show-calendar-button-wrapper" }, index.h("div", { key: '21bcae037bcb6d81bd89ba1eb51f279f048fa2df', class: { divider: true, [size]: true } }), index.h("ic-button", { key: '3bad8c476367e3aac94092078fe9d8aa52f396ff', 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" })))))), index.h("span", { key: 'c11a9f0fc1eae4efc3a3a29ebdd1eb65a6de7630', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, index.h("span", { key: '2930c304db0ad50b6991454d9375fdc2e1a4547a', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !helpers.isEmptyString(this.invalidDateText)) && (index.h("ic-input-validation", { key: '5fc1473b568a1f82c3c1ee9f73e20a19f7c28d85', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1184
+ }, 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 && (index.h("div", { key: '6d05e11943d6bd56f9dd6d20b8306a45062ac3f2', class: "show-calendar-button-wrapper" }, index.h("div", { key: 'c04cdf2665700c19fdc323bf92435d2b0d710016', class: { divider: true, [size]: true } }), index.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" })))))), index.h("span", { key: '49dc06b59b4ecbee2899842a1dc63d5bbde70cc3', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, index.h("span", { key: 'bd2d89299077ceaf51b03fc5f22e6d0ff2f1550a', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !helpers.isEmptyString(this.invalidDateText)) && (index.h("ic-input-validation", { key: 'd1502e42604239e61c7ec08840c258d2ea4d07e8', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1173
1185
  }
1174
1186
  static get delegatesFocus() { return true; }
1175
1187
  get el() { return index.getElement(this); }
1176
1188
  static get watchers() { return {
1189
+ "day": ["watchInputHandler"],
1190
+ "month": ["watchInputHandler"],
1191
+ "year": ["watchInputHandler"],
1177
1192
  "disabled": ["watchDisabledHandler"],
1178
1193
  "disableFuture": ["watchDisableFutureHandler"],
1179
1194
  "disablePast": ["watchDisablePastHandler"],