@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
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/jsx-no-bind */
1
2
  import { h, Host, } from "@stencil/core";
2
3
  import { IcInformationStatus, IcDateInputMonths, IcDayNames, } from "../../utils/types";
3
4
  import { convertToDoubleDigits, createDate, dateMatches, extractDateFromZuluDateTime, isDateOrEpoch, splitStringDate, } from "../../utils/date-helpers";
@@ -7,6 +8,7 @@ import Calendar from "../../assets/calendar.svg";
7
8
  let inputIds = 0;
8
9
  export class DateInput {
9
10
  constructor() {
11
+ this.DEFAULT_DATE_FORMAT = "DD/MM/YYYY";
10
12
  this.ARIA_INVALID = "aria-invalid";
11
13
  this.ARIA_LABEL = "aria-label";
12
14
  this.ARIA_LABELLED_BY = "aria-labelledby";
@@ -26,20 +28,24 @@ export class DateInput {
26
28
  this.KEYBOARD_EVENT_OBJECT_STRING = "[object KeyboardEvent]";
27
29
  this.MAX_DAY = 31;
28
30
  this.MAX_MONTH = 12;
29
- this.previousEmittedDate = undefined;
30
31
  this.previousSelectedDate = null;
31
32
  this.selectedDate = null;
32
- this.day = "";
33
- this.month = "";
34
- this.year = "";
33
+ this.externalSetDate = false;
34
+ this.clearInput = false;
35
35
  this.calendarFocused = false;
36
36
  this.clearButtonFocused = false;
37
37
  this.removeLabelledBy = false;
38
+ this.day = "";
39
+ this.month = "";
40
+ this.year = "";
38
41
  /**
39
42
  * The format in which the date will be displayed.
40
43
  */
41
- // eslint-disable-next-line sonarjs/no-duplicate-string
42
- this.dateFormat = "DD/MM/YYYY";
44
+ this.dateFormat = this.DEFAULT_DATE_FORMAT;
45
+ /**
46
+ * If `true`, every individual input field completed will emit an icChange event.
47
+ */
48
+ this.emitDatePartChange = false;
43
49
  /**
44
50
  * If `true`, the disabled state will be set.
45
51
  */
@@ -131,9 +137,11 @@ export class DateInput {
131
137
  */
132
138
  this.validationText = "";
133
139
  this.setInputPasteValue = (input, pastedValue) => {
134
- const inputEl = input;
135
- inputEl.value = pastedValue;
136
- inputEl.classList.add(this.FIT_TO_VALUE);
140
+ if (input) {
141
+ const inputEl = input;
142
+ inputEl.value = pastedValue;
143
+ inputEl.classList.add(this.FIT_TO_VALUE);
144
+ }
137
145
  };
138
146
  this.checkSingleCopiedValueIsValid = (input, pastedValue) => {
139
147
  let isValid = false;
@@ -148,9 +156,6 @@ export class DateInput {
148
156
  case this.yearInputEl:
149
157
  isValid = true;
150
158
  break;
151
- default:
152
- isValid = false;
153
- break;
154
159
  }
155
160
  return isValid;
156
161
  };
@@ -294,8 +299,10 @@ export class DateInput {
294
299
  };
295
300
  this.handleBlur = (event) => {
296
301
  const input = event.target;
297
- this.setPasteInvalidText();
298
- this.autocompleteInput(input);
302
+ if (input) {
303
+ this.setPasteInvalidText();
304
+ this.autocompleteInput(input);
305
+ }
299
306
  };
300
307
  this.handleLeftRightArrowKeyPress = (input, key) => {
301
308
  if (key === "arrowright") {
@@ -307,13 +314,15 @@ export class DateInput {
307
314
  this.setPasteInvalidText();
308
315
  };
309
316
  this.notifyScreenReaderSelectedDate = () => {
310
- const dayNames = stringEnumToArray(IcDayNames);
311
- const months = stringEnumToArray(IcDateInputMonths);
312
- this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
317
+ if (this.selectedDate && this.selectedDateInfoEl) {
318
+ const dayNames = stringEnumToArray(IcDayNames);
319
+ const months = stringEnumToArray(IcDateInputMonths);
320
+ this.selectedDateInfoEl.textContent = `Selected date: ${dayNames[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${months[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`;
321
+ }
313
322
  };
314
323
  this.handleUpDownArrowKeyPress = (input, event) => {
315
324
  const minValue = input === this.yearInputEl ? 0 : 1;
316
- let maxValue;
325
+ let maxValue = 9999;
317
326
  switch (input) {
318
327
  case this.dayInputEl:
319
328
  maxValue = this.MAX_DAY;
@@ -356,22 +365,18 @@ export class DateInput {
356
365
  else {
357
366
  if (event.key === "ArrowDown") {
358
367
  event.preventDefault();
359
- if (input === this.yearInputEl) {
360
- input.value = new Date().getFullYear().toString();
361
- }
362
- else {
363
- input.value = maxValue.toString();
364
- }
368
+ input.value =
369
+ input === this.yearInputEl
370
+ ? new Date().getFullYear().toString()
371
+ : maxValue.toString();
365
372
  this.notifyScreenReader(input, event);
366
373
  }
367
374
  else if (event.key === "ArrowUp") {
368
375
  event.preventDefault();
369
- if (input === this.yearInputEl) {
370
- input.value = new Date().getFullYear().toString();
371
- }
372
- else {
373
- input.value = `0${minValue}`;
374
- }
376
+ input.value =
377
+ input === this.yearInputEl
378
+ ? new Date().getFullYear().toString()
379
+ : `0${minValue}`;
375
380
  this.notifyScreenReader(input, event);
376
381
  }
377
382
  }
@@ -391,7 +396,8 @@ export class DateInput {
391
396
  this.setValueAndEmitChange(this.selectedDate);
392
397
  this.notifyScreenReaderSelectedDate();
393
398
  }
394
- else if (!(this.selectedDate === null && this.previousSelectedDate === null)) {
399
+ else if (!(this.selectedDate === null && this.previousSelectedDate === null) &&
400
+ this.selectedDateInfoEl) {
395
401
  this.setValueAndEmitChange(null);
396
402
  this.selectedDateInfoEl.textContent = "";
397
403
  }
@@ -421,16 +427,20 @@ export class DateInput {
421
427
  // Set value of each input to value of pasted date part
422
428
  // Allows formats separated by '-' or '/'
423
429
  this.handlePaste = (event) => {
430
+ var _a;
424
431
  event.preventDefault();
425
- const pastedValue = event.clipboardData.getData("Text");
432
+ const pastedValue = ((_a = event.clipboardData) === null || _a === void 0 ? void 0 : _a.getData("Text")) || "";
426
433
  const isValidDate = this.isPastedStringDateValid(pastedValue);
427
434
  this.setPastedValueAndValidation(isValidDate, pastedValue, event);
428
435
  };
429
436
  this.setDate = (date) => {
430
437
  if (date === null || date === "" || date === undefined) {
431
- this.day = null;
432
- this.month = null;
433
- this.year = null;
438
+ if (this.day)
439
+ this.day = "";
440
+ if (this.month)
441
+ this.month = "";
442
+ if (this.year)
443
+ this.year = "";
434
444
  this.inputsInOrder.forEach((input) => {
435
445
  input.classList.remove(this.FIT_TO_VALUE);
436
446
  this.setPreventInput(input, false);
@@ -453,9 +463,11 @@ export class DateInput {
453
463
  }
454
464
  else if (typeof date === "string") {
455
465
  const defaultDateArray = splitStringDate(date, this.dateFormat);
466
+ this.selectedDate = new Date(Number(defaultDateArray[0]), Number(defaultDateArray[1]) - 1, Number(defaultDateArray[2]));
456
467
  this.year = defaultDateArray[0];
457
468
  this.month = defaultDateArray[1];
458
469
  this.day = defaultDateArray[2];
470
+ this.setValueAndEmitChange(this.selectedDate);
459
471
  }
460
472
  }
461
473
  this.setValidationMessage();
@@ -466,7 +478,7 @@ export class DateInput {
466
478
  const month = convertToDoubleDigits(date.getMonth() + 1);
467
479
  const year = date.getFullYear();
468
480
  switch (this.dateFormat) {
469
- case "DD/MM/YYYY":
481
+ case this.DEFAULT_DATE_FORMAT:
470
482
  formattedDate = `${day}/${month}/${year}`;
471
483
  break;
472
484
  case "MM/DD/YYYY":
@@ -481,9 +493,11 @@ export class DateInput {
481
493
  return formattedDate;
482
494
  };
483
495
  this.updateInputValues = (day, month, year) => {
484
- this.dayInputEl.value = day;
485
- this.monthInputEl.value = month;
486
- this.yearInputEl.value = year;
496
+ if (this.dayInputEl && this.monthInputEl && this.yearInputEl) {
497
+ this.dayInputEl.value = day;
498
+ this.monthInputEl.value = month;
499
+ this.yearInputEl.value = year;
500
+ }
487
501
  };
488
502
  // Set value in state based on input
489
503
  this.setInputValue = (input, clear = false) => {
@@ -511,7 +525,9 @@ export class DateInput {
511
525
  // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)
512
526
  this.selectedDate = this.convertToDate(this.year, this.month, this.day);
513
527
  this.isValidDate =
514
- +this.selectedDate !== 0 && this.selectedDate.getDate() == +this.day;
528
+ !!this.selectedDate &&
529
+ +this.selectedDate !== 0 &&
530
+ this.selectedDate.getDate() == +this.day;
515
531
  this.isDisabledDate = this.isSelectedDateDisabled();
516
532
  if (!this.isValidDate || this.isDisabledDate) {
517
533
  this.inputsInOrder.forEach((input) => input.setAttribute(this.ARIA_INVALID, "true"));
@@ -561,13 +577,13 @@ export class DateInput {
561
577
  };
562
578
  // Set refs to the input elements in the order they are displayed (based on the dateFormat)
563
579
  this.setInputsInOrder = () => {
564
- const inputs = this.el.shadowRoot.querySelectorAll("input");
565
- inputs.forEach((input) => this.inputsInOrder.push(input));
580
+ var _a;
581
+ (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll("input").forEach((input) => this.inputsInOrder.push(input));
566
582
  };
567
583
  // Includes text usually added using aria-describedby
568
584
  // (which doesn't work on input component container)
569
585
  this.setAriaLabelledBy = () => {
570
- var _a, _b;
586
+ var _a, _b, _c;
571
587
  if (this.disabled &&
572
588
  !isEmptyString((_a = this.inputCompContainerEl) === null || _a === void 0 ? void 0 : _a.getAttribute(this.ARIA_LABELLED_BY))) {
573
589
  this.removeAriaLabelledBy();
@@ -576,14 +592,14 @@ export class DateInput {
576
592
  if (this.disabled) {
577
593
  return;
578
594
  }
579
- const labelEl = this.el.shadowRoot.querySelector("label");
595
+ const labelEl = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("label");
580
596
  const labelId = `${this.inputId}-label`;
581
597
  if (labelEl !== null && labelEl !== undefined) {
582
598
  labelEl.id = labelId;
583
599
  }
584
600
  const hasValidation = !isEmptyString(this.validationStatus) ||
585
601
  !isEmptyString(this.invalidDateText);
586
- 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}`;
602
+ 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}`;
587
603
  this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);
588
604
  };
589
605
  // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)
@@ -632,7 +648,7 @@ export class DateInput {
632
648
  this.getDescOfInputsOrder = () => {
633
649
  let description;
634
650
  switch (this.dateFormat) {
635
- case "DD/MM/YYYY":
651
+ case this.DEFAULT_DATE_FORMAT:
636
652
  description = "day, month, and year";
637
653
  break;
638
654
  case "MM/DD/YYYY":
@@ -664,7 +680,7 @@ export class DateInput {
664
680
  const input = event.target;
665
681
  let selectedString;
666
682
  if (input) {
667
- selectedString = input.value.substring(input.selectionStart, input.selectionEnd);
683
+ selectedString = input.value.substring(input.selectionStart || 0, input.selectionEnd || undefined);
668
684
  }
669
685
  if (key === "e" ||
670
686
  key === "." ||
@@ -676,81 +692,60 @@ export class DateInput {
676
692
  event.preventDefault();
677
693
  }
678
694
  };
679
- // Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
680
- // Consider using dateClamp and inDateRange
695
+ /**
696
+ * Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day
697
+ * Consider using dateClamp and inDateRange
698
+ * @returns `boolean`
699
+ */
681
700
  this.isSelectedDateDisabled = () => {
701
+ if (!this.selectedDate)
702
+ return false;
682
703
  const currentDate = new Date();
683
- this.isAfterMax = false;
684
- this.isBeforeMin = false;
685
- let disabled = false;
686
704
  const isNotToday = this.selectedDate.toDateString() !== currentDate.toDateString();
687
- if (this.minDate && this.selectedDate < this.minDate && isNotToday) {
688
- this.isBeforeMin = true;
689
- disabled = true;
690
- }
691
- if (this.maxDate && this.selectedDate > this.maxDate && isNotToday) {
692
- this.isAfterMax = true;
693
- disabled = true;
694
- }
695
- if (this.disableDays.includes(this.selectedDate.getDay())) {
696
- disabled = true;
697
- }
698
- if (((this.disablePast && this.selectedDate < currentDate) ||
699
- (this.disableFuture && this.selectedDate > currentDate)) &&
700
- isNotToday) {
701
- disabled = true;
702
- }
703
- return disabled;
705
+ this.isAfterMax =
706
+ this.maxDate && this.selectedDate > this.maxDate && isNotToday;
707
+ this.isBeforeMin =
708
+ this.minDate && this.selectedDate < this.minDate && isNotToday;
709
+ return (this.isAfterMax ||
710
+ this.isBeforeMin ||
711
+ this.disableDays.includes(this.selectedDate.getDay()) ||
712
+ (((!!this.disablePast && this.selectedDate < currentDate) ||
713
+ (!!this.disableFuture && this.selectedDate > currentDate)) &&
714
+ isNotToday));
704
715
  };
705
716
  this.moveToNextInput = (currentInput) => {
706
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
707
- const nextInput = this.inputsInOrder[currentInputPos + 1];
717
+ var _a;
708
718
  this.preventAutoFormatting = false;
709
- if (nextInput) {
710
- nextInput.focus();
711
- }
719
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) + 1]) === null || _a === void 0 ? void 0 : _a.focus();
712
720
  };
713
721
  this.moveToPreviousInput = (currentInput) => {
714
- const currentInputPos = this.inputsInOrder.findIndex((input) => input === currentInput);
722
+ var _a;
715
723
  this.preventAutoFormatting = false;
716
- if (this.inputsInOrder[currentInputPos - 1]) {
717
- this.inputsInOrder[currentInputPos - 1].focus();
718
- }
724
+ (_a = this.inputsInOrder[this.inputsInOrder.findIndex((input) => input === currentInput) - 1]) === null || _a === void 0 ? void 0 : _a.focus();
719
725
  };
720
726
  this.autocompleteInput = (input) => {
721
- if (input === this.yearInputEl) {
722
- this.autocompleteYear();
727
+ const inputValue = input.value;
728
+ if (this.yearInputEl && input === this.yearInputEl) {
729
+ // Autocomplete year as current millennium when fewer than 4 characters entered
730
+ const yearNumbers = ["2", "0", "0"];
731
+ let autocompletedInput = "";
732
+ if (inputValue) {
733
+ yearNumbers.forEach((number, index) => {
734
+ if (inputValue.length + index <= 3) {
735
+ autocompletedInput += number;
736
+ }
737
+ });
738
+ this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
739
+ }
723
740
  }
724
- else {
725
- const inputValue = input.value;
741
+ else if (inputValue.length === 1) {
726
742
  // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)
727
- if (inputValue.length === 1) {
728
- if (+inputValue === 0) {
729
- input.value = "01";
730
- }
731
- else {
732
- input.value = `0${inputValue}`;
733
- }
734
- }
743
+ input.value = +inputValue === 0 ? "01" : `0${inputValue}`;
735
744
  }
736
745
  if (input.value) {
737
746
  this.setInputValue(input);
738
747
  }
739
748
  };
740
- // Autocomplete year as current millennium when fewer than 4 characters entered
741
- this.autocompleteYear = () => {
742
- const inputValue = this.yearInputEl.value;
743
- const yearNumbers = ["2", "0", "0"];
744
- let autocompletedInput = "";
745
- if (inputValue) {
746
- yearNumbers.forEach((number, index) => {
747
- if (inputValue.length + index <= 3) {
748
- autocompletedInput += number;
749
- }
750
- });
751
- this.yearInputEl.value = `${autocompletedInput}${inputValue}`;
752
- }
753
- };
754
749
  this.convertToDate = (year, month, day) => {
755
750
  if (!isEmptyString(year) && !isEmptyString(month) && !isEmptyString(day)) {
756
751
  return new Date(+year, +month - 1, +day);
@@ -764,8 +759,8 @@ export class DateInput {
764
759
  this.icBlur.emit({ value: this.selectedDate });
765
760
  };
766
761
  this.handleHostFocus = () => {
767
- var _a;
768
- if ((_a = this.el.shadowRoot.activeElement) === null || _a === void 0 ? void 0 : _a.id.match(/(day|month|year)-input$/)) {
762
+ var _a, _b;
763
+ 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$/)) {
769
764
  this.removeLabelledBy = false;
770
765
  }
771
766
  else {
@@ -779,14 +774,13 @@ export class DateInput {
779
774
  this.setValidationMessage();
780
775
  this.handleDateChange(false);
781
776
  };
782
- this.getAriaLabel = (input) => {
783
- return input.getAttribute(this.ARIA_LABEL);
784
- };
777
+ this.getAriaLabel = (input) => input.getAttribute(this.ARIA_LABEL);
785
778
  this.notifyScreenReaderArrowKeys = (input) => {
786
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
787
- let announcement = "";
779
+ var _a;
780
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
788
781
  const ariaLabel = this.getAriaLabel(input);
789
- if (liveRegion && input.value) {
782
+ if (liveRegion && input.value && ariaLabel) {
783
+ let announcement = "";
790
784
  if (input === this.monthInputEl &&
791
785
  !!IcDateInputMonths[+input.value - 1]) {
792
786
  announcement = `${input.value} - ${IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
@@ -798,32 +792,23 @@ export class DateInput {
798
792
  }
799
793
  };
800
794
  this.notifyScreenReaderInput = (input, liveRegion) => {
801
- let announcement = "";
802
795
  const ariaLabel = this.getAriaLabel(input);
803
- if (input === this.dayInputEl || input === this.monthInputEl) {
804
- if (input.value.length === 2) {
805
- if (input === this.monthInputEl &&
806
- !!IcDateInputMonths[+input.value - 1] &&
807
- this.isValidMonth) {
808
- announcement = `${input.value} - ${IcDateInputMonths[+input.value - 1]}, ${ariaLabel}`;
809
- }
810
- if (input === this.dayInputEl && this.isValidDay) {
811
- announcement = `${input.value}, ${ariaLabel}`;
812
- }
813
- }
814
- else {
815
- announcement = "";
816
- }
817
- }
818
- else {
819
- if (input.value.length === 4) {
820
- announcement = `${input.value}, ${ariaLabel}`;
796
+ const value = input.value;
797
+ if (ariaLabel && value) {
798
+ let announcement = "";
799
+ const monthValue = IcDateInputMonths[+value - 1];
800
+ if (input === this.monthInputEl &&
801
+ !!monthValue &&
802
+ this.isValidMonth &&
803
+ value.length === 2) {
804
+ announcement = `${value} - ${monthValue}`;
821
805
  }
822
- else {
823
- announcement = "";
806
+ else if ((input === this.dayInputEl && this.isValidDay && value.length === 2) ||
807
+ (input === this.yearInputEl && value.length === 4)) {
808
+ announcement = value;
824
809
  }
810
+ liveRegion.textContent = `${announcement}, ${ariaLabel}`;
825
811
  }
826
- liveRegion.textContent = announcement;
827
812
  };
828
813
  this.setFitToValueStyling = (input) => {
829
814
  if (input.value) {
@@ -834,15 +819,16 @@ export class DateInput {
834
819
  }
835
820
  };
836
821
  this.setAriaInvalid = (validDay, validMonth, validDate, disabledDate) => {
822
+ var _a, _b;
837
823
  if (this.inputsInOrder.length) {
838
824
  this.inputsInOrder.forEach((input) => {
839
825
  input.removeAttribute(this.ARIA_INVALID);
840
826
  });
841
827
  if (!validDay) {
842
- this.dayInputEl.setAttribute(this.ARIA_INVALID, "true");
828
+ (_a = this.dayInputEl) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ARIA_INVALID, "true");
843
829
  }
844
830
  if (!validMonth) {
845
- this.monthInputEl.setAttribute(this.ARIA_INVALID, "true");
831
+ (_b = this.monthInputEl) === null || _b === void 0 ? void 0 : _b.setAttribute(this.ARIA_INVALID, "true");
846
832
  }
847
833
  if (!validDate || disabledDate) {
848
834
  this.inputsInOrder.forEach((input) => {
@@ -852,26 +838,28 @@ export class DateInput {
852
838
  }
853
839
  };
854
840
  this.handleClear = () => {
841
+ this.clearInput = true;
855
842
  this.inputsInOrder.forEach((input) => {
856
843
  input.classList.remove(this.FIT_TO_VALUE);
857
844
  this.setInputValue(input, true);
858
845
  this.setPreventInput(input, false);
859
846
  });
847
+ this.clearInput = false;
860
848
  this.isDateSetFromKeyboardEvent = false;
861
849
  this.setValidationMessage();
862
850
  this.handleDateChange(true);
863
851
  this.inputsInOrder[0].focus();
864
852
  };
865
853
  this.handleCalendarOpen = (ev) => {
866
- var _a, _b;
854
+ var _a, _b, _c, _d, _e, _f;
867
855
  ev.stopImmediatePropagation();
868
- (_a = this.calendarButtonEl) === null || _a === void 0 ? void 0 : _a.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
856
+ (_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);
869
857
  this.calendarButtonClicked.emit({ value: this.selectedDate });
870
- (_b = this.calendarButtonEl) === null || _b === void 0 ? void 0 : _b.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);
858
+ (_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);
871
859
  this.isDateSetFromKeyboardEvent = false;
872
860
  };
873
861
  this.setValueAndEmitChange = (value) => {
874
- if (!dateMatches(new Date(this.value), value)) {
862
+ if (!dateMatches(this.value ? new Date(this.value) : null, value)) {
875
863
  this.emitIcChange(value);
876
864
  this.value = value;
877
865
  }
@@ -896,13 +884,36 @@ export class DateInput {
896
884
  this.removeLabelledBy = true;
897
885
  };
898
886
  this.emitIcChange = (d) => {
899
- if (!(d === null && this.previousEmittedDate === null) &&
900
- !dateMatches(d, this.previousEmittedDate)) {
901
- this.previousEmittedDate = d;
902
- this.icChange.emit({ value: d });
887
+ this.selectedDate = d;
888
+ if (!dateMatches(this.selectedDate, d) ||
889
+ this.day !== null ||
890
+ this.month !== null ||
891
+ this.year !== null) {
892
+ let UTCDate = null;
893
+ if (d !== null) {
894
+ UTCDate = new Date(Date.UTC(d.getFullYear(), d.getMonth(), d.getDate()));
895
+ }
896
+ this.icChange.emit({
897
+ value: d,
898
+ dateObject: {
899
+ day: this.day === "" ? null : this.day,
900
+ month: this.month === "" ? null : this.month,
901
+ year: this.year === "" ? null : this.year,
902
+ },
903
+ utcValue: UTCDate,
904
+ });
903
905
  }
904
906
  };
905
907
  }
908
+ watchInputHandler() {
909
+ if (this.emitDatePartChange &&
910
+ !this.externalSetDate &&
911
+ !this.clearInput &&
912
+ !(this.day && this.month && this.year) &&
913
+ this.selectedDate === null) {
914
+ this.emitIcChange(this.selectedDate);
915
+ }
916
+ }
906
917
  watchDisabledHandler() {
907
918
  removeDisabledFalse(this.disabled, this.el);
908
919
  }
@@ -929,9 +940,10 @@ export class DateInput {
929
940
  }
930
941
  }
931
942
  watchRequiredHandler() {
943
+ var _a, _b;
932
944
  // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)
933
945
  // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'
934
- const labelEl = this.el.shadowRoot.querySelector("label");
946
+ const labelEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("label");
935
947
  if (this.required) {
936
948
  const asteriskSpan = document.createElement("span");
937
949
  asteriskSpan.setAttribute("id", "asterisk-span");
@@ -940,7 +952,7 @@ export class DateInput {
940
952
  labelEl === null || labelEl === void 0 ? void 0 : labelEl.appendChild(asteriskSpan);
941
953
  }
942
954
  else {
943
- const asteriskSpan = this.el.shadowRoot.querySelector("#asterisk-span");
955
+ const asteriskSpan = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("#asterisk-span");
944
956
  if (asteriskSpan) {
945
957
  asteriskSpan.remove();
946
958
  }
@@ -956,11 +968,8 @@ export class DateInput {
956
968
  this.watchMinHandler();
957
969
  this.watchMaxHandler();
958
970
  if (this.value) {
971
+ this.externalSetDate = true;
959
972
  this.setDate(this.value);
960
- this.previousEmittedDate = this.selectedDate;
961
- }
962
- else {
963
- this.previousEmittedDate = null;
964
973
  }
965
974
  this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;
966
975
  this.assistiveHintId = `${this.inputId}-assistive-hint`;
@@ -1029,7 +1038,10 @@ export class DateInput {
1029
1038
  * @internal Used to enable other components to invoke an IcChange event from the input.
1030
1039
  */
1031
1040
  async triggerIcChange(d) {
1041
+ this.externalSetDate = true;
1042
+ this.setDate(d);
1032
1043
  this.emitIcChange(d);
1044
+ this.externalSetDate = false;
1033
1045
  }
1034
1046
  removeAriaLabelledBy() {
1035
1047
  this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);
@@ -1090,18 +1102,18 @@ export class DateInput {
1090
1102
  }
1091
1103
  pasteZuluDateTime(dateParts, index) {
1092
1104
  // ['YYYY', 'MM', 'DD']
1093
- if (index === 0) {
1105
+ if (index === 0 && this.yearInputEl) {
1094
1106
  const dateValue = this.slicePastedDate(4, dateParts[index]);
1095
1107
  this.yearInputEl.value = dateValue;
1096
1108
  this.setInputValue(this.yearInputEl);
1097
1109
  }
1098
- else if (index === 1) {
1110
+ else if (index === 1 && this.monthInputEl) {
1099
1111
  // The month value is the second item in the array
1100
1112
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1101
1113
  this.monthInputEl.value = dateValue;
1102
1114
  this.setInputValue(this.monthInputEl);
1103
1115
  }
1104
- else {
1116
+ else if (this.dayInputEl) {
1105
1117
  const dateValue = this.slicePastedDate(2, dateParts[index]);
1106
1118
  this.dayInputEl.value = dateValue;
1107
1119
  this.setInputValue(this.dayInputEl);
@@ -1126,7 +1138,8 @@ export class DateInput {
1126
1138
  }
1127
1139
  }
1128
1140
  notifyScreenReader(input, event) {
1129
- const liveRegion = this.el.shadowRoot.querySelector("#live-region");
1141
+ var _a;
1142
+ const liveRegion = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("#live-region");
1130
1143
  if (liveRegion) {
1131
1144
  if (this.isKeyboardOrEvent(event)) {
1132
1145
  this.notifyScreenReaderArrowKeys(input);
@@ -1146,15 +1159,15 @@ export class DateInput {
1146
1159
  : "";
1147
1160
  const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;
1148
1161
  renderHiddenInput(true, this.el, this.name, this.convertToDate(this.year, this.month, this.day), this.disabled);
1149
- return (h(Host, { key: '08b8f65934b55fd86e9abe2fad8f232af68b3754', class: {
1162
+ return (h(Host, { key: '5e9f71b2a1c5dbc55f615ea389121c300ed68fd4', class: {
1150
1163
  [`ic-theme-${theme}`]: theme !== "inherit",
1151
1164
  [`ic-date-input-disabled`]: disabled,
1152
- }, onBlur: this.handleHostBlur, onFocus: this.handleHostFocus }, h("ic-input-container", { key: '285bb0e746630a08c3e4e29bc8a24f5d97b4b4e5', disabled: disabled }, !(hideLabel && hideHelperText) && (h("ic-input-label", { key: 'f1facdecd84445133a67c87a2d6e5ba4dfbfbceb', for: inputId, label: label, hideLabel: hideLabel, helperText: !hideHelperText ? helperText : "", disabled: disabled })), h("span", { key: '25ae3fae1dc4f2862ec14e348138adfadf0dc3c7', id: this.screenReaderInfoId, class: "sr-only", "aria-hidden": "true" }, this.getScreenReaderInfo(validationStatus), hideLabel && `${label}\n`, hideHelperText && `${helperText}\n`, `${this.defaultHelperText}.`), h("span", { key: 'd3c34084b3b846795063f799720b7d918f10f5a9', id: this.assistiveHintId, class: "sr-only", "aria-hidden": "true" }, assistiveHint), h("span", { key: '37ecdc3ee7ced98dac405591cb106e1a03add976', id: "live-region", "aria-live": "assertive", class: "sr-only" }), 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" } }, h("div", { key: '4d090542f2fb72fae8cda326af45278552707cd6', class: "input-container" }, h("div", { key: '4eef737c2a8d25353a41ea31b2e8bc21ec55ff9a', class: "date-inputs" }, this.getInputsInOrder()[0], "/", this.getInputsInOrder()[1], "/", this.getInputsInOrder()[2]), h("div", { key: 'bc1cb74a96f75b4018f2e39f8712a870f5f4bf6e', class: "action-buttons" }, showClearButton && (h("ic-button", { key: 'e58854f9e3b74a7f46a253a8421c8c9775047069', id: "clear-button", "aria-label": "Clear input", class: {
1165
+ }, 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: {
1153
1166
  ["clear-button"]: true,
1154
1167
  ["hidden"]: isEmptyString(this.day) &&
1155
1168
  isEmptyString(this.month) &&
1156
1169
  isEmptyString(this.year),
1157
- }, 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: 'd7e3f4e87e69d949a1c9e56230ae78b22dfd23f8', class: "show-calendar-button-wrapper" }, h("div", { key: '21bcae037bcb6d81bd89ba1eb51f279f048fa2df', class: { divider: true, [size]: true } }), 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" })))))), h("span", { key: 'c11a9f0fc1eae4efc3a3a29ebdd1eb65a6de7630', id: this.selectedDateInfoId, class: "sr-only", "aria-live": "polite" }, h("span", { key: '2930c304db0ad50b6991454d9375fdc2e1a4547a', ref: (el) => (this.selectedDateInfoEl = el), role: "status" })), (hasCustomValidation || !isEmptyString(this.invalidDateText)) && (h("ic-input-validation", { key: '5fc1473b568a1f82c3c1ee9f73e20a19f7c28d85', status: validationStatus, message: hasCustomValidation ? this.validationText : this.invalidDateText, for: inputId })))));
1170
+ }, 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 })))));
1158
1171
  }
1159
1172
  static get is() { return "ic-date-input"; }
1160
1173
  static get encapsulation() { return "shadow"; }
@@ -1186,7 +1199,7 @@ export class DateInput {
1186
1199
  }
1187
1200
  },
1188
1201
  "required": false,
1189
- "optional": true,
1202
+ "optional": false,
1190
1203
  "docs": {
1191
1204
  "tags": [],
1192
1205
  "text": "The format in which the date will be displayed."
@@ -1195,7 +1208,27 @@ export class DateInput {
1195
1208
  "setter": false,
1196
1209
  "attribute": "date-format",
1197
1210
  "reflect": false,
1198
- "defaultValue": "\"DD/MM/YYYY\""
1211
+ "defaultValue": "this.DEFAULT_DATE_FORMAT"
1212
+ },
1213
+ "emitDatePartChange": {
1214
+ "type": "boolean",
1215
+ "mutable": false,
1216
+ "complexType": {
1217
+ "original": "boolean",
1218
+ "resolved": "boolean | undefined",
1219
+ "references": {}
1220
+ },
1221
+ "required": false,
1222
+ "optional": true,
1223
+ "docs": {
1224
+ "tags": [],
1225
+ "text": "If `true`, every individual input field completed will emit an icChange event."
1226
+ },
1227
+ "getter": false,
1228
+ "setter": false,
1229
+ "attribute": "emit-date-part-change",
1230
+ "reflect": false,
1231
+ "defaultValue": "false"
1199
1232
  },
1200
1233
  "disabled": {
1201
1234
  "type": "boolean",
@@ -1206,7 +1239,7 @@ export class DateInput {
1206
1239
  "references": {}
1207
1240
  },
1208
1241
  "required": false,
1209
- "optional": true,
1242
+ "optional": false,
1210
1243
  "docs": {
1211
1244
  "tags": [],
1212
1245
  "text": "If `true`, the disabled state will be set."
@@ -1232,7 +1265,7 @@ export class DateInput {
1232
1265
  }
1233
1266
  },
1234
1267
  "required": false,
1235
- "optional": true,
1268
+ "optional": false,
1236
1269
  "docs": {
1237
1270
  "tags": [],
1238
1271
  "text": "The days of the week to disable."
@@ -1250,7 +1283,7 @@ export class DateInput {
1250
1283
  "references": {}
1251
1284
  },
1252
1285
  "required": false,
1253
- "optional": true,
1286
+ "optional": false,
1254
1287
  "docs": {
1255
1288
  "tags": [],
1256
1289
  "text": "The text to display as the validation message when `disableDays` is set and a disabled date is entered."
@@ -1266,7 +1299,7 @@ export class DateInput {
1266
1299
  "mutable": false,
1267
1300
  "complexType": {
1268
1301
  "original": "boolean",
1269
- "resolved": "boolean",
1302
+ "resolved": "boolean | undefined",
1270
1303
  "references": {}
1271
1304
  },
1272
1305
  "required": false,
@@ -1290,7 +1323,7 @@ export class DateInput {
1290
1323
  "references": {}
1291
1324
  },
1292
1325
  "required": false,
1293
- "optional": true,
1326
+ "optional": false,
1294
1327
  "docs": {
1295
1328
  "tags": [],
1296
1329
  "text": "The text to display as the validation message when `disableFuture` is true and a date in the future is entered."
@@ -1306,7 +1339,7 @@ export class DateInput {
1306
1339
  "mutable": false,
1307
1340
  "complexType": {
1308
1341
  "original": "boolean",
1309
- "resolved": "boolean",
1342
+ "resolved": "boolean | undefined",
1310
1343
  "references": {}
1311
1344
  },
1312
1345
  "required": false,
@@ -1330,7 +1363,7 @@ export class DateInput {
1330
1363
  "references": {}
1331
1364
  },
1332
1365
  "required": false,
1333
- "optional": true,
1366
+ "optional": false,
1334
1367
  "docs": {
1335
1368
  "tags": [],
1336
1369
  "text": "The text to display as the validation message when `disablePast` is true and a date in the past is entered."
@@ -1345,12 +1378,12 @@ export class DateInput {
1345
1378
  "type": "string",
1346
1379
  "mutable": true,
1347
1380
  "complexType": {
1348
- "original": "string",
1349
- "resolved": "string",
1381
+ "original": "string | null",
1382
+ "resolved": "null | string",
1350
1383
  "references": {}
1351
1384
  },
1352
1385
  "required": false,
1353
- "optional": true,
1386
+ "optional": false,
1354
1387
  "docs": {
1355
1388
  "tags": [],
1356
1389
  "text": "The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `dateFormat` value."
@@ -1385,7 +1418,7 @@ export class DateInput {
1385
1418
  "mutable": false,
1386
1419
  "complexType": {
1387
1420
  "original": "boolean",
1388
- "resolved": "boolean",
1421
+ "resolved": "boolean | undefined",
1389
1422
  "references": {}
1390
1423
  },
1391
1424
  "required": false,
@@ -1409,7 +1442,7 @@ export class DateInput {
1409
1442
  "references": {}
1410
1443
  },
1411
1444
  "required": false,
1412
- "optional": true,
1445
+ "optional": false,
1413
1446
  "docs": {
1414
1447
  "tags": [],
1415
1448
  "text": "The ID for the input."
@@ -1429,7 +1462,7 @@ export class DateInput {
1429
1462
  "references": {}
1430
1463
  },
1431
1464
  "required": false,
1432
- "optional": true,
1465
+ "optional": false,
1433
1466
  "docs": {
1434
1467
  "tags": [],
1435
1468
  "text": "The text to display as the validation message when an invalid date is entered."
@@ -1473,7 +1506,7 @@ export class DateInput {
1473
1506
  }
1474
1507
  },
1475
1508
  "required": false,
1476
- "optional": true,
1509
+ "optional": false,
1477
1510
  "docs": {
1478
1511
  "tags": [],
1479
1512
  "text": "The latest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\nThe value of this prop is ignored if `disableFuture` is set to `true`."
@@ -1498,7 +1531,7 @@ export class DateInput {
1498
1531
  }
1499
1532
  },
1500
1533
  "required": false,
1501
- "optional": true,
1534
+ "optional": false,
1502
1535
  "docs": {
1503
1536
  "tags": [],
1504
1537
  "text": "The earliest date that will be allowed. The value can be in any format supported as `dateFormat`, in ISO 8601 date string format (`yyyy-mm-dd`) or as a JavaScript `Date` object.\nThe value of this prop is ignored if `disablePast` is set to `true`."
@@ -1538,7 +1571,7 @@ export class DateInput {
1538
1571
  "references": {}
1539
1572
  },
1540
1573
  "required": false,
1541
- "optional": true,
1574
+ "optional": false,
1542
1575
  "docs": {
1543
1576
  "tags": [],
1544
1577
  "text": "If `true`, the input will require a value."
@@ -1554,7 +1587,7 @@ export class DateInput {
1554
1587
  "mutable": false,
1555
1588
  "complexType": {
1556
1589
  "original": "boolean",
1557
- "resolved": "boolean",
1590
+ "resolved": "boolean | undefined",
1558
1591
  "references": {}
1559
1592
  },
1560
1593
  "required": false,
@@ -1577,7 +1610,7 @@ export class DateInput {
1577
1610
  "mutable": false,
1578
1611
  "complexType": {
1579
1612
  "original": "boolean",
1580
- "resolved": "boolean",
1613
+ "resolved": "boolean | undefined",
1581
1614
  "references": {}
1582
1615
  },
1583
1616
  "required": false,
@@ -1607,7 +1640,7 @@ export class DateInput {
1607
1640
  }
1608
1641
  },
1609
1642
  "required": false,
1610
- "optional": true,
1643
+ "optional": false,
1611
1644
  "docs": {
1612
1645
  "tags": [],
1613
1646
  "text": "The size of the date input to be displayed."
@@ -1623,7 +1656,7 @@ export class DateInput {
1623
1656
  "mutable": false,
1624
1657
  "complexType": {
1625
1658
  "original": "IcThemeMode",
1626
- "resolved": "\"dark\" | \"inherit\" | \"light\"",
1659
+ "resolved": "\"dark\" | \"inherit\" | \"light\" | undefined",
1627
1660
  "references": {
1628
1661
  "IcThemeMode": {
1629
1662
  "location": "import",
@@ -1649,7 +1682,7 @@ export class DateInput {
1649
1682
  "mutable": true,
1650
1683
  "complexType": {
1651
1684
  "original": "string | Date | null | undefined",
1652
- "resolved": "Date | string",
1685
+ "resolved": "Date | null | string | undefined",
1653
1686
  "references": {
1654
1687
  "Date": {
1655
1688
  "location": "global",
@@ -1684,7 +1717,7 @@ export class DateInput {
1684
1717
  }
1685
1718
  },
1686
1719
  "required": false,
1687
- "optional": true,
1720
+ "optional": false,
1688
1721
  "docs": {
1689
1722
  "tags": [],
1690
1723
  "text": "The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation."
@@ -1700,7 +1733,7 @@ export class DateInput {
1700
1733
  "mutable": false,
1701
1734
  "complexType": {
1702
1735
  "original": "string",
1703
- "resolved": "string",
1736
+ "resolved": "string | undefined",
1704
1737
  "references": {}
1705
1738
  },
1706
1739
  "required": false,
@@ -1719,15 +1752,15 @@ export class DateInput {
1719
1752
  }
1720
1753
  static get states() {
1721
1754
  return {
1722
- "day": {},
1723
1755
  "invalidDateText": {},
1724
1756
  "maxDate": {},
1725
1757
  "minDate": {},
1726
- "month": {},
1727
- "year": {},
1728
1758
  "calendarFocused": {},
1729
1759
  "clearButtonFocused": {},
1730
- "removeLabelledBy": {}
1760
+ "removeLabelledBy": {},
1761
+ "day": {},
1762
+ "month": {},
1763
+ "year": {}
1731
1764
  };
1732
1765
  }
1733
1766
  static get events() {
@@ -1745,8 +1778,8 @@ export class DateInput {
1745
1778
  "text": ""
1746
1779
  },
1747
1780
  "complexType": {
1748
- "original": "{ value: Date }",
1749
- "resolved": "{ value: Date; }",
1781
+ "original": "{ value: Date | null }",
1782
+ "resolved": "{ value: Date | null; }",
1750
1783
  "references": {
1751
1784
  "Date": {
1752
1785
  "location": "global",
@@ -1765,8 +1798,8 @@ export class DateInput {
1765
1798
  "text": "Emitted when the input loses focus."
1766
1799
  },
1767
1800
  "complexType": {
1768
- "original": "{ value: Date }",
1769
- "resolved": "{ value: Date; }",
1801
+ "original": "{ value: Date | null }",
1802
+ "resolved": "{ value: Date | null; }",
1770
1803
  "references": {
1771
1804
  "Date": {
1772
1805
  "location": "global",
@@ -1785,8 +1818,8 @@ export class DateInput {
1785
1818
  "text": "Emitted when the value has changed."
1786
1819
  },
1787
1820
  "complexType": {
1788
- "original": "{ value: Date }",
1789
- "resolved": "{ value: Date; }",
1821
+ "original": "{\n value: Date | null;\n dateObject: {\n day: string | null;\n month: string | null;\n year: string | null;\n };\n utcValue: Date | null;\n }",
1822
+ "resolved": "{ value: Date | null; dateObject: { day: string | null; month: string | null; year: string | null; }; utcValue: Date | null; }",
1790
1823
  "references": {
1791
1824
  "Date": {
1792
1825
  "location": "global",
@@ -1805,8 +1838,8 @@ export class DateInput {
1805
1838
  "text": "Emitted when the input gains focus."
1806
1839
  },
1807
1840
  "complexType": {
1808
- "original": "{ value: Date }",
1809
- "resolved": "{ value: Date; }",
1841
+ "original": "{ value: Date | null }",
1842
+ "resolved": "{ value: Date | null; }",
1810
1843
  "references": {
1811
1844
  "Date": {
1812
1845
  "location": "global",
@@ -1820,7 +1853,7 @@ export class DateInput {
1820
1853
  return {
1821
1854
  "getDate": {
1822
1855
  "complexType": {
1823
- "signature": "() => Promise<Date>",
1856
+ "signature": "() => Promise<Date | null>",
1824
1857
  "parameters": [],
1825
1858
  "references": {
1826
1859
  "Promise": {
@@ -1832,7 +1865,7 @@ export class DateInput {
1832
1865
  "id": "global::Date"
1833
1866
  }
1834
1867
  },
1835
- "return": "Promise<Date>"
1868
+ "return": "Promise<Date | null>"
1836
1869
  },
1837
1870
  "docs": {
1838
1871
  "text": "Returns the value as a Date object",
@@ -1893,10 +1926,10 @@ export class DateInput {
1893
1926
  },
1894
1927
  "triggerIcChange": {
1895
1928
  "complexType": {
1896
- "signature": "(d: Date) => Promise<void>",
1929
+ "signature": "(d: Date | null) => Promise<void>",
1897
1930
  "parameters": [{
1898
1931
  "name": "d",
1899
- "type": "Date",
1932
+ "type": "Date | null",
1900
1933
  "docs": ""
1901
1934
  }],
1902
1935
  "references": {
@@ -1924,6 +1957,15 @@ export class DateInput {
1924
1957
  static get elementRef() { return "el"; }
1925
1958
  static get watchers() {
1926
1959
  return [{
1960
+ "propName": "day",
1961
+ "methodName": "watchInputHandler"
1962
+ }, {
1963
+ "propName": "month",
1964
+ "methodName": "watchInputHandler"
1965
+ }, {
1966
+ "propName": "year",
1967
+ "methodName": "watchInputHandler"
1968
+ }, {
1927
1969
  "propName": "disabled",
1928
1970
  "methodName": "watchDisabledHandler"
1929
1971
  }, {