@ukic/canary-web-components 3.0.0-canary.19 → 3.0.0-canary.20

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 (554) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-f4e7322b.js → helpers-274ac318.js} +30 -32
  3. package/dist/cjs/helpers-274ac318.js.map +1 -0
  4. package/dist/cjs/{helpers-a5405964.js → helpers-da852478.js} +4 -2
  5. package/dist/cjs/helpers-da852478.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +135 -142
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox_3.cjs.entry.js +4 -4
  20. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  27. package/dist/cjs/ic-data-table.cjs.entry.js +91 -48
  28. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-date-input.cjs.entry.js +5 -5
  30. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-date-picker.cjs.entry.js +11 -11
  32. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  38. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  40. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  41. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  43. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +19 -14
  45. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-input-label_2.cjs.entry.js +36 -13
  47. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js +31 -39
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -4
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  62. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-pagination_4.cjs.entry.js +20 -20
  64. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -6
  68. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  70. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-search-bar.cjs.entry.js +28 -12
  72. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -17
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  80. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  82. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  84. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  86. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  88. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  90. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  92. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  94. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  103. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  105. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -9
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tree-item.cjs.entry.js +31 -33
  109. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -15
  111. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  113. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  114. package/dist/cjs/loader.cjs.js +1 -1
  115. package/dist/collection/components/ic-data-table/ic-data-table.css +12 -6
  116. package/dist/collection/components/ic-data-table/ic-data-table.js +119 -46
  117. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  118. package/dist/collection/components/ic-data-table/ic-data-table.stories.js +15 -1
  119. package/dist/collection/components/ic-data-table/ic-data-table.stories.js.map +1 -1
  120. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  121. package/dist/collection/components/ic-data-table/story-data.js +121 -6
  122. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  123. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js +5 -1
  124. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.stories.js.map +1 -1
  125. package/dist/collection/components/ic-date-input/ic-date-input.js +7 -4
  126. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  127. package/dist/collection/components/ic-date-input/ic-date-input.stories.js +13 -4
  128. package/dist/collection/components/ic-date-input/ic-date-input.stories.js.map +1 -1
  129. package/dist/collection/components/ic-date-picker/ic-date-picker.js +13 -10
  130. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  131. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +9 -1
  132. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  133. package/dist/collection/components/ic-date-picker/story-data.js +25 -0
  134. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  135. package/dist/collection/components/ic-tree-item/ic-tree-item.css +12 -21
  136. package/dist/collection/components/ic-tree-item/ic-tree-item.js +50 -56
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -36
  139. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  140. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +29 -54
  141. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  142. package/dist/collection/components/ic-tree-view/ic-tree-view.types.js.map +1 -1
  143. package/dist/collection/utils/helpers.js +3 -1
  144. package/dist/collection/utils/helpers.js.map +1 -1
  145. package/dist/components/helpers.js +29 -32
  146. package/dist/components/helpers.js.map +1 -1
  147. package/dist/components/helpers2.js +3 -1
  148. package/dist/components/helpers2.js.map +1 -1
  149. package/dist/components/ic-button2.js +3 -3
  150. package/dist/components/ic-button2.js.map +1 -1
  151. package/dist/components/ic-checkbox-group.js +4 -4
  152. package/dist/components/ic-checkbox-group.js.map +1 -1
  153. package/dist/components/ic-data-list.js +2 -2
  154. package/dist/components/ic-data-list.js.map +1 -1
  155. package/dist/components/ic-data-row.js +2 -2
  156. package/dist/components/ic-data-row.js.map +1 -1
  157. package/dist/components/ic-data-table.js +91 -47
  158. package/dist/components/ic-data-table.js.map +1 -1
  159. package/dist/components/ic-date-input2.js +4 -4
  160. package/dist/components/ic-date-input2.js.map +1 -1
  161. package/dist/components/ic-date-picker.js +10 -10
  162. package/dist/components/ic-date-picker.js.map +1 -1
  163. package/dist/components/ic-dialog.js +1 -1
  164. package/dist/components/ic-dialog.js.map +1 -1
  165. package/dist/components/ic-empty-state2.js +2 -2
  166. package/dist/components/ic-empty-state2.js.map +1 -1
  167. package/dist/components/ic-footer-link.js +2 -2
  168. package/dist/components/ic-footer-link.js.map +1 -1
  169. package/dist/components/ic-hero.js +4 -4
  170. package/dist/components/ic-hero.js.map +1 -1
  171. package/dist/components/ic-horizontal-scroll2.js +5 -5
  172. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  173. package/dist/components/ic-input-component-container2.js +3 -3
  174. package/dist/components/ic-input-component-container2.js.map +1 -1
  175. package/dist/components/ic-input-container2.js +2 -2
  176. package/dist/components/ic-input-container2.js.map +1 -1
  177. package/dist/components/ic-input-label2.js +33 -10
  178. package/dist/components/ic-input-label2.js.map +1 -1
  179. package/dist/components/ic-input-validation2.js +3 -3
  180. package/dist/components/ic-input-validation2.js.map +1 -1
  181. package/dist/components/ic-link2.js +1 -1
  182. package/dist/components/ic-link2.js.map +1 -1
  183. package/dist/components/ic-loading-indicator2.js +139 -143
  184. package/dist/components/ic-loading-indicator2.js.map +1 -1
  185. package/dist/components/ic-menu-group.js +1 -1
  186. package/dist/components/ic-menu-group.js.map +1 -1
  187. package/dist/components/ic-menu2.js +16 -9
  188. package/dist/components/ic-menu2.js.map +1 -1
  189. package/dist/components/ic-navigation-button.js +32 -41
  190. package/dist/components/ic-navigation-button.js.map +1 -1
  191. package/dist/components/ic-navigation-group.js +8 -5
  192. package/dist/components/ic-navigation-group.js.map +1 -1
  193. package/dist/components/ic-navigation-item.js +2 -2
  194. package/dist/components/ic-navigation-item.js.map +1 -1
  195. package/dist/components/ic-navigation-menu2.js +5 -5
  196. package/dist/components/ic-navigation-menu2.js.map +1 -1
  197. package/dist/components/ic-page-header.js +6 -6
  198. package/dist/components/ic-page-header.js.map +1 -1
  199. package/dist/components/ic-pagination-item2.js +1 -1
  200. package/dist/components/ic-pagination-item2.js.map +1 -1
  201. package/dist/components/ic-pagination2.js +4 -4
  202. package/dist/components/ic-pagination2.js.map +1 -1
  203. package/dist/components/ic-popover-menu.js +4 -4
  204. package/dist/components/ic-popover-menu.js.map +1 -1
  205. package/dist/components/ic-radio-group.js +5 -5
  206. package/dist/components/ic-radio-group.js.map +1 -1
  207. package/dist/components/ic-radio-option.js +4 -4
  208. package/dist/components/ic-radio-option.js.map +1 -1
  209. package/dist/components/ic-search-bar.js +31 -12
  210. package/dist/components/ic-search-bar.js.map +1 -1
  211. package/dist/components/ic-section-container2.js +2 -2
  212. package/dist/components/ic-section-container2.js.map +1 -1
  213. package/dist/components/ic-select2.js +7 -7
  214. package/dist/components/ic-select2.js.map +1 -1
  215. package/dist/components/ic-side-navigation.js +16 -17
  216. package/dist/components/ic-side-navigation.js.map +1 -1
  217. package/dist/components/ic-skeleton.js +2 -2
  218. package/dist/components/ic-skeleton.js.map +1 -1
  219. package/dist/components/ic-skip-link.js +2 -2
  220. package/dist/components/ic-skip-link.js.map +1 -1
  221. package/dist/components/ic-status-tag.js +2 -2
  222. package/dist/components/ic-status-tag.js.map +1 -1
  223. package/dist/components/ic-step.js +13 -13
  224. package/dist/components/ic-step.js.map +1 -1
  225. package/dist/components/ic-stepper.js +2 -2
  226. package/dist/components/ic-stepper.js.map +1 -1
  227. package/dist/components/ic-switch.js +5 -5
  228. package/dist/components/ic-switch.js.map +1 -1
  229. package/dist/components/ic-tab-context.js +1 -1
  230. package/dist/components/ic-tab-context.js.map +1 -1
  231. package/dist/components/ic-tab-group.js +2 -2
  232. package/dist/components/ic-tab-group.js.map +1 -1
  233. package/dist/components/ic-tab-panel.js +2 -2
  234. package/dist/components/ic-tab-panel.js.map +1 -1
  235. package/dist/components/ic-text-field2.js +7 -7
  236. package/dist/components/ic-text-field2.js.map +1 -1
  237. package/dist/components/ic-theme.js +2 -2
  238. package/dist/components/ic-theme.js.map +1 -1
  239. package/dist/components/ic-toast-region.js +1 -1
  240. package/dist/components/ic-toast-region.js.map +1 -1
  241. package/dist/components/ic-toast.js +4 -4
  242. package/dist/components/ic-toast.js.map +1 -1
  243. package/dist/components/ic-toggle-button-group.js +2 -2
  244. package/dist/components/ic-toggle-button-group.js.map +1 -1
  245. package/dist/components/ic-toggle-button.js +3 -3
  246. package/dist/components/ic-toggle-button.js.map +1 -1
  247. package/dist/components/ic-top-navigation.js +15 -9
  248. package/dist/components/ic-top-navigation.js.map +1 -1
  249. package/dist/components/ic-tree-item.js +31 -33
  250. package/dist/components/ic-tree-item.js.map +1 -1
  251. package/dist/components/ic-tree-view.js +3 -16
  252. package/dist/components/ic-tree-view.js.map +1 -1
  253. package/dist/components/ic-typography2.js +2 -2
  254. package/dist/components/ic-typography2.js.map +1 -1
  255. package/dist/core/core.css +29 -25
  256. package/dist/core/core.esm.js +1 -1
  257. package/dist/core/core.esm.js.map +1 -1
  258. package/dist/core/{p-b7d117e8.entry.js → p-09acf70a.entry.js} +2 -2
  259. package/dist/core/{p-578a02ff.entry.js → p-0bc8652d.entry.js} +2 -2
  260. package/dist/core/{p-578a02ff.entry.js.map → p-0bc8652d.entry.js.map} +1 -1
  261. package/dist/core/{p-c5ffe2cf.entry.js → p-0f86ea09.entry.js} +2 -2
  262. package/dist/core/{p-c5ffe2cf.entry.js.map → p-0f86ea09.entry.js.map} +1 -1
  263. package/dist/core/p-13f52d7b.js +2 -0
  264. package/dist/core/p-13f52d7b.js.map +1 -0
  265. package/dist/core/{p-e38dd019.entry.js → p-28b10396.entry.js} +2 -2
  266. package/dist/core/{p-1fd22368.entry.js → p-29601c16.entry.js} +2 -2
  267. package/dist/core/{p-1673d010.entry.js → p-2c27c85b.entry.js} +2 -2
  268. package/dist/core/{p-1673d010.entry.js.map → p-2c27c85b.entry.js.map} +1 -1
  269. package/dist/core/{p-976f4280.entry.js → p-301131d6.entry.js} +2 -2
  270. package/dist/core/{p-976f4280.entry.js.map → p-301131d6.entry.js.map} +1 -1
  271. package/dist/core/{p-887b1302.entry.js → p-304c6a01.entry.js} +2 -2
  272. package/dist/core/p-304c6a01.entry.js.map +1 -0
  273. package/dist/core/{p-8d2d9e11.entry.js → p-3352cb6c.entry.js} +2 -2
  274. package/dist/core/{p-8d2d9e11.entry.js.map → p-3352cb6c.entry.js.map} +1 -1
  275. package/dist/core/{p-dee21f6d.entry.js → p-3448c713.entry.js} +2 -2
  276. package/dist/core/{p-dee21f6d.entry.js.map → p-3448c713.entry.js.map} +1 -1
  277. package/dist/core/{p-e003ad46.entry.js → p-3b994e61.entry.js} +2 -2
  278. package/dist/core/{p-e003ad46.entry.js.map → p-3b994e61.entry.js.map} +1 -1
  279. package/dist/core/{p-1f18bbf6.entry.js → p-3f45c7ce.entry.js} +2 -2
  280. package/dist/core/{p-1f18bbf6.entry.js.map → p-3f45c7ce.entry.js.map} +1 -1
  281. package/dist/core/{p-f9e78341.entry.js → p-4150f333.entry.js} +2 -2
  282. package/dist/core/p-4150f333.entry.js.map +1 -0
  283. package/dist/core/{p-16e78c1d.entry.js → p-4271e7f4.entry.js} +2 -2
  284. package/dist/core/{p-16e78c1d.entry.js.map → p-4271e7f4.entry.js.map} +1 -1
  285. package/dist/core/{p-6e0f4278.entry.js → p-4d5dfb71.entry.js} +2 -2
  286. package/dist/core/{p-ba5e1b21.entry.js → p-4e2ef907.entry.js} +2 -2
  287. package/dist/core/p-4f941e4c.entry.js +2 -0
  288. package/dist/core/p-4f941e4c.entry.js.map +1 -0
  289. package/dist/core/{p-920f6480.entry.js → p-57e881b4.entry.js} +2 -2
  290. package/dist/core/{p-920f6480.entry.js.map → p-57e881b4.entry.js.map} +1 -1
  291. package/dist/core/p-5f8b09e4.entry.js +2 -0
  292. package/dist/core/p-5f8b09e4.entry.js.map +1 -0
  293. package/dist/core/{p-8ae0fd6f.entry.js → p-6938e1d9.entry.js} +2 -2
  294. package/dist/core/{p-671acf27.entry.js → p-693a568b.entry.js} +2 -2
  295. package/dist/core/{p-29a49ea2.entry.js → p-6c97db37.entry.js} +2 -2
  296. package/dist/core/{p-29a49ea2.entry.js.map → p-6c97db37.entry.js.map} +1 -1
  297. package/dist/core/{p-d4903dcd.entry.js → p-6dd73165.entry.js} +2 -2
  298. package/dist/core/{p-d4903dcd.entry.js.map → p-6dd73165.entry.js.map} +1 -1
  299. package/dist/core/{p-5926c2b2.entry.js → p-6f7e8b3e.entry.js} +2 -2
  300. package/dist/core/{p-5926c2b2.entry.js.map → p-6f7e8b3e.entry.js.map} +1 -1
  301. package/dist/core/p-7001f1c1.entry.js +2 -0
  302. package/dist/core/p-7001f1c1.entry.js.map +1 -0
  303. package/dist/core/p-704c5fee.entry.js +2 -0
  304. package/dist/core/{p-b92727c0.entry.js.map → p-704c5fee.entry.js.map} +1 -1
  305. package/dist/core/{p-a894ddb6.entry.js → p-7436d8de.entry.js} +2 -2
  306. package/dist/core/p-795afeb2.entry.js +2 -0
  307. package/dist/core/p-795afeb2.entry.js.map +1 -0
  308. package/dist/core/p-7dcdb89b.entry.js +2 -0
  309. package/dist/core/p-7dcdb89b.entry.js.map +1 -0
  310. package/dist/core/p-826a4e46.entry.js +2 -0
  311. package/dist/core/p-826a4e46.entry.js.map +1 -0
  312. package/dist/core/{p-9989ec00.entry.js → p-82941d0a.entry.js} +2 -2
  313. package/dist/core/{p-9989ec00.entry.js.map → p-82941d0a.entry.js.map} +1 -1
  314. package/dist/core/{p-7e4f5717.entry.js → p-856e0cda.entry.js} +2 -2
  315. package/dist/core/{p-7e4f5717.entry.js.map → p-856e0cda.entry.js.map} +1 -1
  316. package/dist/core/p-8e70b907.entry.js +2 -0
  317. package/dist/core/p-8e70b907.entry.js.map +1 -0
  318. package/dist/core/{p-7eaa223b.entry.js → p-91eacea5.entry.js} +2 -2
  319. package/dist/core/{p-7eaa223b.entry.js.map → p-91eacea5.entry.js.map} +1 -1
  320. package/dist/core/{p-8112444e.entry.js → p-95d3ff68.entry.js} +2 -2
  321. package/dist/core/{p-c3be8a0f.entry.js → p-961d7718.entry.js} +2 -2
  322. package/dist/core/p-961d7718.entry.js.map +1 -0
  323. package/dist/core/{p-b92e5fb3.entry.js → p-972f21fa.entry.js} +2 -2
  324. package/dist/core/{p-3cb4ecef.entry.js → p-9e051db4.entry.js} +2 -2
  325. package/dist/core/{p-3cb4ecef.entry.js.map → p-9e051db4.entry.js.map} +1 -1
  326. package/dist/core/{p-9aecbfe9.entry.js → p-9e19560f.entry.js} +2 -2
  327. package/dist/core/{p-9aecbfe9.entry.js.map → p-9e19560f.entry.js.map} +1 -1
  328. package/dist/core/p-a34c894b.entry.js +2 -0
  329. package/dist/core/p-a34c894b.entry.js.map +1 -0
  330. package/dist/core/{p-abcaf14d.entry.js → p-a6b573c0.entry.js} +2 -2
  331. package/dist/core/p-a6b573c0.entry.js.map +1 -0
  332. package/dist/core/{p-6a63a73a.entry.js → p-acc884bc.entry.js} +2 -2
  333. package/dist/core/{p-6a63a73a.entry.js.map → p-acc884bc.entry.js.map} +1 -1
  334. package/dist/core/{p-f6eaec92.entry.js → p-afff5652.entry.js} +2 -2
  335. package/dist/core/{p-864e337f.entry.js → p-b093cecd.entry.js} +2 -2
  336. package/dist/core/{p-864e337f.entry.js.map → p-b093cecd.entry.js.map} +1 -1
  337. package/dist/core/{p-e2629bfe.entry.js → p-b1b27b7e.entry.js} +2 -2
  338. package/dist/core/{p-e2629bfe.entry.js.map → p-b1b27b7e.entry.js.map} +1 -1
  339. package/dist/core/{p-fedfd000.entry.js → p-b3509380.entry.js} +2 -2
  340. package/dist/core/{p-e546d477.entry.js → p-b401ff42.entry.js} +2 -2
  341. package/dist/core/{p-9a78f449.entry.js → p-b522ce0a.entry.js} +2 -2
  342. package/dist/core/{p-9a78f449.entry.js.map → p-b522ce0a.entry.js.map} +1 -1
  343. package/dist/core/{p-2667c808.entry.js → p-b9369ce5.entry.js} +2 -2
  344. package/dist/core/p-b9369ce5.entry.js.map +1 -0
  345. package/dist/core/{p-eb74cab5.entry.js → p-c21317e5.entry.js} +2 -2
  346. package/dist/core/{p-28611f52.entry.js → p-c6bd71e5.entry.js} +2 -2
  347. package/dist/core/p-c6bd71e5.entry.js.map +1 -0
  348. package/dist/core/p-c73418dc.entry.js +2 -0
  349. package/dist/core/p-c73418dc.entry.js.map +1 -0
  350. package/dist/core/p-cd21aee7.entry.js +2 -0
  351. package/dist/core/p-cd21aee7.entry.js.map +1 -0
  352. package/dist/core/{p-de1e04ac.entry.js → p-d281c3cf.entry.js} +2 -2
  353. package/dist/core/{p-de1e04ac.entry.js.map → p-d281c3cf.entry.js.map} +1 -1
  354. package/dist/core/{p-9687e929.entry.js → p-da82bbef.entry.js} +2 -2
  355. package/dist/core/{p-9687e929.entry.js.map → p-da82bbef.entry.js.map} +1 -1
  356. package/dist/core/{p-ca7e1219.entry.js → p-e04d2e51.entry.js} +2 -2
  357. package/dist/core/p-e04d2e51.entry.js.map +1 -0
  358. package/dist/core/p-e253a857.js +2 -0
  359. package/dist/core/p-e253a857.js.map +1 -0
  360. package/dist/core/{p-4444e787.entry.js → p-e3059589.entry.js} +2 -2
  361. package/dist/core/{p-4444e787.entry.js.map → p-e3059589.entry.js.map} +1 -1
  362. package/dist/core/p-e4bff243.entry.js +2 -0
  363. package/dist/core/p-e4bff243.entry.js.map +1 -0
  364. package/dist/core/{p-85a17585.entry.js → p-ead0acc3.entry.js} +2 -2
  365. package/dist/core/{p-6bfff7ba.entry.js → p-ef444b18.entry.js} +2 -2
  366. package/dist/core/{p-6bfff7ba.entry.js.map → p-ef444b18.entry.js.map} +1 -1
  367. package/dist/core/{p-e64e27be.entry.js → p-f35563a0.entry.js} +2 -2
  368. package/dist/core/{p-bf3b853e.entry.js → p-fc5661ac.entry.js} +2 -2
  369. package/dist/core/{p-bf3b853e.entry.js.map → p-fc5661ac.entry.js.map} +1 -1
  370. package/dist/esm/core.js +1 -1
  371. package/dist/esm/{helpers-ef2db990.js → helpers-d9387cd3.js} +4 -2
  372. package/dist/esm/helpers-d9387cd3.js.map +1 -0
  373. package/dist/esm/{helpers-fc03923c.js → helpers-f094ef64.js} +30 -33
  374. package/dist/esm/helpers-f094ef64.js.map +1 -0
  375. package/dist/esm/ic-accordion-group.entry.js +1 -1
  376. package/dist/esm/ic-accordion.entry.js +1 -1
  377. package/dist/esm/ic-alert.entry.js +1 -1
  378. package/dist/esm/ic-back-to-top.entry.js +1 -1
  379. package/dist/esm/ic-badge.entry.js +1 -1
  380. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  381. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  382. package/dist/esm/ic-button_3.entry.js +135 -142
  383. package/dist/esm/ic-button_3.entry.js.map +1 -1
  384. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  385. package/dist/esm/ic-card-vertical.entry.js +1 -1
  386. package/dist/esm/ic-checkbox-group.entry.js +5 -5
  387. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  388. package/dist/esm/ic-checkbox_3.entry.js +4 -4
  389. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  390. package/dist/esm/ic-chip.entry.js +1 -1
  391. package/dist/esm/ic-data-list.entry.js +2 -2
  392. package/dist/esm/ic-data-list.entry.js.map +1 -1
  393. package/dist/esm/ic-data-row.entry.js +3 -3
  394. package/dist/esm/ic-data-row.entry.js.map +1 -1
  395. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  396. package/dist/esm/ic-data-table.entry.js +91 -48
  397. package/dist/esm/ic-data-table.entry.js.map +1 -1
  398. package/dist/esm/ic-date-input.entry.js +5 -5
  399. package/dist/esm/ic-date-input.entry.js.map +1 -1
  400. package/dist/esm/ic-date-picker.entry.js +11 -11
  401. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  402. package/dist/esm/ic-dialog.entry.js +2 -2
  403. package/dist/esm/ic-dialog.entry.js.map +1 -1
  404. package/dist/esm/ic-divider.entry.js +1 -1
  405. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  406. package/dist/esm/ic-footer-link.entry.js +3 -3
  407. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  408. package/dist/esm/ic-footer.entry.js +1 -1
  409. package/dist/esm/ic-hero.entry.js +5 -5
  410. package/dist/esm/ic-hero.entry.js.map +1 -1
  411. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  412. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  413. package/dist/esm/ic-input-component-container_3.entry.js +19 -14
  414. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  415. package/dist/esm/ic-input-label_2.entry.js +36 -13
  416. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  417. package/dist/esm/ic-link.entry.js +2 -2
  418. package/dist/esm/ic-link.entry.js.map +1 -1
  419. package/dist/esm/ic-menu-group.entry.js +2 -2
  420. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  421. package/dist/esm/ic-menu-item.entry.js +1 -1
  422. package/dist/esm/ic-navigation-button.entry.js +31 -39
  423. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  424. package/dist/esm/ic-navigation-group.entry.js +7 -4
  425. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  426. package/dist/esm/ic-navigation-item.entry.js +2 -2
  427. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  428. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  429. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  430. package/dist/esm/ic-page-header.entry.js +7 -7
  431. package/dist/esm/ic-page-header.entry.js.map +1 -1
  432. package/dist/esm/ic-pagination_4.entry.js +20 -20
  433. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  434. package/dist/esm/ic-popover-menu.entry.js +5 -5
  435. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  436. package/dist/esm/ic-radio-group.entry.js +6 -6
  437. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  438. package/dist/esm/ic-radio-option.entry.js +5 -5
  439. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  440. package/dist/esm/ic-search-bar.entry.js +28 -12
  441. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  442. package/dist/esm/ic-section-container.entry.js +2 -2
  443. package/dist/esm/ic-section-container.entry.js.map +1 -1
  444. package/dist/esm/ic-side-navigation.entry.js +16 -17
  445. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  446. package/dist/esm/ic-skeleton.entry.js +2 -2
  447. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  448. package/dist/esm/ic-skip-link.entry.js +2 -2
  449. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  450. package/dist/esm/ic-status-tag.entry.js +3 -3
  451. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  452. package/dist/esm/ic-step.entry.js +14 -14
  453. package/dist/esm/ic-step.entry.js.map +1 -1
  454. package/dist/esm/ic-stepper.entry.js +3 -3
  455. package/dist/esm/ic-stepper.entry.js.map +1 -1
  456. package/dist/esm/ic-switch.entry.js +6 -6
  457. package/dist/esm/ic-switch.entry.js.map +1 -1
  458. package/dist/esm/ic-tab-context.entry.js +1 -1
  459. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  460. package/dist/esm/ic-tab-group.entry.js +3 -3
  461. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  462. package/dist/esm/ic-tab-panel.entry.js +2 -2
  463. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  464. package/dist/esm/ic-tab.entry.js +1 -1
  465. package/dist/esm/ic-theme.entry.js +2 -2
  466. package/dist/esm/ic-theme.entry.js.map +1 -1
  467. package/dist/esm/ic-toast-region.entry.js +1 -1
  468. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  469. package/dist/esm/ic-toast.entry.js +4 -4
  470. package/dist/esm/ic-toast.entry.js.map +1 -1
  471. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  472. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  473. package/dist/esm/ic-toggle-button.entry.js +3 -3
  474. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  475. package/dist/esm/ic-top-navigation.entry.js +15 -9
  476. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  477. package/dist/esm/ic-tree-item.entry.js +31 -33
  478. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  479. package/dist/esm/ic-tree-view.entry.js +4 -15
  480. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  481. package/dist/esm/ic-typography.entry.js +3 -3
  482. package/dist/esm/ic-typography.entry.js.map +1 -1
  483. package/dist/esm/loader.js +1 -1
  484. package/dist/types/components/ic-data-table/ic-data-table.d.ts +13 -1
  485. package/dist/types/components/ic-data-table/ic-data-table.stories.d.ts +44 -32
  486. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +2 -0
  487. package/dist/types/components/ic-data-table/story-data.d.ts +4 -0
  488. package/dist/types/components/ic-date-input/ic-date-input.d.ts +3 -0
  489. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +3 -0
  490. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +26 -18
  491. package/dist/types/components/ic-date-picker/story-data.d.ts +3 -0
  492. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +5 -5
  493. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +0 -5
  494. package/dist/types/components/ic-tree-view/ic-tree-view.stories.d.ts +22 -22
  495. package/dist/types/components/ic-tree-view/ic-tree-view.types.d.ts +1 -0
  496. package/dist/types/components.d.ts +26 -11
  497. package/dist/types/utils/helpers.d.ts +1 -1
  498. package/hydrate/index.js +592 -506
  499. package/hydrate/index.mjs +592 -506
  500. package/package.json +4 -6
  501. package/dist/cjs/helpers-a5405964.js.map +0 -1
  502. package/dist/cjs/helpers-f4e7322b.js.map +0 -1
  503. package/dist/core/p-0c9c6c31.entry.js +0 -2
  504. package/dist/core/p-0c9c6c31.entry.js.map +0 -1
  505. package/dist/core/p-0e0e0942.js +0 -2
  506. package/dist/core/p-0e0e0942.js.map +0 -1
  507. package/dist/core/p-17926ee3.entry.js +0 -2
  508. package/dist/core/p-17926ee3.entry.js.map +0 -1
  509. package/dist/core/p-188ba287.entry.js +0 -2
  510. package/dist/core/p-188ba287.entry.js.map +0 -1
  511. package/dist/core/p-2667c808.entry.js.map +0 -1
  512. package/dist/core/p-28611f52.entry.js.map +0 -1
  513. package/dist/core/p-4aaf10a5.entry.js +0 -2
  514. package/dist/core/p-4aaf10a5.entry.js.map +0 -1
  515. package/dist/core/p-582da938.entry.js +0 -2
  516. package/dist/core/p-582da938.entry.js.map +0 -1
  517. package/dist/core/p-61e78ce0.entry.js +0 -2
  518. package/dist/core/p-61e78ce0.entry.js.map +0 -1
  519. package/dist/core/p-7c3cd0b8.entry.js +0 -2
  520. package/dist/core/p-7c3cd0b8.entry.js.map +0 -1
  521. package/dist/core/p-887b1302.entry.js.map +0 -1
  522. package/dist/core/p-abcaf14d.entry.js.map +0 -1
  523. package/dist/core/p-aeeff0e5.entry.js +0 -2
  524. package/dist/core/p-aeeff0e5.entry.js.map +0 -1
  525. package/dist/core/p-b92727c0.entry.js +0 -2
  526. package/dist/core/p-c3be8a0f.entry.js.map +0 -1
  527. package/dist/core/p-c8d207e1.entry.js +0 -2
  528. package/dist/core/p-c8d207e1.entry.js.map +0 -1
  529. package/dist/core/p-ca7e1219.entry.js.map +0 -1
  530. package/dist/core/p-d0c38d58.entry.js +0 -2
  531. package/dist/core/p-d0c38d58.entry.js.map +0 -1
  532. package/dist/core/p-ead9900a.entry.js +0 -2
  533. package/dist/core/p-ead9900a.entry.js.map +0 -1
  534. package/dist/core/p-eca2fea1.js +0 -2
  535. package/dist/core/p-eca2fea1.js.map +0 -1
  536. package/dist/core/p-f9e78341.entry.js.map +0 -1
  537. package/dist/esm/helpers-ef2db990.js.map +0 -1
  538. package/dist/esm/helpers-fc03923c.js.map +0 -1
  539. /package/dist/core/{p-b7d117e8.entry.js.map → p-09acf70a.entry.js.map} +0 -0
  540. /package/dist/core/{p-e38dd019.entry.js.map → p-28b10396.entry.js.map} +0 -0
  541. /package/dist/core/{p-1fd22368.entry.js.map → p-29601c16.entry.js.map} +0 -0
  542. /package/dist/core/{p-6e0f4278.entry.js.map → p-4d5dfb71.entry.js.map} +0 -0
  543. /package/dist/core/{p-ba5e1b21.entry.js.map → p-4e2ef907.entry.js.map} +0 -0
  544. /package/dist/core/{p-8ae0fd6f.entry.js.map → p-6938e1d9.entry.js.map} +0 -0
  545. /package/dist/core/{p-671acf27.entry.js.map → p-693a568b.entry.js.map} +0 -0
  546. /package/dist/core/{p-a894ddb6.entry.js.map → p-7436d8de.entry.js.map} +0 -0
  547. /package/dist/core/{p-8112444e.entry.js.map → p-95d3ff68.entry.js.map} +0 -0
  548. /package/dist/core/{p-b92e5fb3.entry.js.map → p-972f21fa.entry.js.map} +0 -0
  549. /package/dist/core/{p-f6eaec92.entry.js.map → p-afff5652.entry.js.map} +0 -0
  550. /package/dist/core/{p-fedfd000.entry.js.map → p-b3509380.entry.js.map} +0 -0
  551. /package/dist/core/{p-e546d477.entry.js.map → p-b401ff42.entry.js.map} +0 -0
  552. /package/dist/core/{p-eb74cab5.entry.js.map → p-c21317e5.entry.js.map} +0 -0
  553. /package/dist/core/{p-85a17585.entry.js.map → p-ead0acc3.entry.js.map} +0 -0
  554. /package/dist/core/{p-e64e27be.entry.js.map → p-f35563a0.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,H as e,g as a}from"./p-8e4e97b4.js";import{b as h,s as r,v as n,r as o,w as l,x as c,o as d,y as u,z as f,A as b,k as p,l as v}from"./p-0e0e0942.js";import{b as m,i as w,j as y,s as g,h as k,k as x}from"./p-c86ca475.js";const $=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <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"/>\n</svg>\n`;const D=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M16.6667 2.50004H15.8334V0.833374H14.1667V2.50004H5.83342V0.833374H4.16675V2.50004H3.33341C2.41675 2.50004 1.66675 3.25004 1.66675 4.16671V17.5C1.66675 18.4167 2.41675 19.1667 3.33341 19.1667H16.6667C17.5834 19.1667 18.3334 18.4167 18.3334 17.5V4.16671C18.3334 3.25004 17.5834 2.50004 16.6667 2.50004ZM16.6667 17.5H3.33341V6.66671H16.6667V17.5Z" fill="currentColor"/>\n</svg>`;const z='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--ic-input-label-helpertext-padding:var(--ic-space-xxs);--input-bg-color:var(--ic-date-input-bg);--ic-input-label-text-color:var(--ic-date-input-label);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle);--border-color:var(--ic-date-input-border);--border-color-disabled:var(--ic-date-input-border-disabled);--border-color-hover:var(--ic-date-input-border-default-hover);--border-color-pressed:var(--ic-date-input-border-default-pressed);--border-error-color:var(--ic-date-input-border-error);--border-error-color-hover:var(--ic-date-input-border-error-hover);--border-error-color-pressed:var(--ic-date-input-border-error-pressed);--border-success-color:var(--ic-date-input-border-success);--border-success-color-hover:var(--ic-date-input-border-success-hover);--border-success-color-pressed:var(--ic-date-input-border-success-pressed);--border-warning-color:var(--ic-date-input-border-warning);--border-warning-color-hover:var(--ic-date-input-border-warning-hover);--border-warning-color-pressed:var(--ic-date-input-border-warning-pressed)}:host(.ic-date-input-disabled){--ic-input-label-text-color:var(--ic-date-input-label-disabled);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle-disabled)}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;color:var(--ic-date-input-text-filled);caret-color:var(--ic-date-input-typing-cursor)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input:-webkit-autofill{box-shadow:0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;-webkit-text-fill-color:var(--ic-date-input-text-filled) !important}input::-moz-placeholder{color:var(--ic-date-input-text-placeholder)}input::placeholder{color:var(--ic-date-input-text-placeholder)}ic-input-component-container{cursor:text}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.date-inputs{color:var(--ic-date-input-text-placeholder)}.day-input{width:1.438rem}.month-input{width:1.813rem}.year-input,.year-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-calendar-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.calendar-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.calendar-button:focus,.clear-button:active,.calendar-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:0.25rem}.calendar-button:focus,.calendar-button:active{--ic-button-tertiary-text-active:var(--ic-atoms-input-clear-button-focus);--ic-button-tertiary-text-hover-active:var(\n --ic-atoms-input-clear-button-focus\n );--ic-button-tertiary-text-pressed-active:var(\n --ic-atoms-input-clear-button-focus\n )}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button svg{color:var(--ic-date-input-clear-icon)}.clear-button:focus svg{color:var(--ic-atoms-input-clear-button-focus)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-atoms-input-divider);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.medium{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}ic-input-validation{--ic-input-validation-status-text-color:var(--ic-date-input-status-text);--ic-input-validation-error:var(--ic-date-input-icon-error);--ic-input-validation-warning-icon-color:var(--ic-date-input-icon-warning);--ic-input-validation-success-icon-color:var(--ic-date-input-icon-success)}';const H=z;let Y=0;const M=class{constructor(e){t(this,e);this.calendarButtonClicked=i(this,"calendarButtonClicked",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.DEFAULT_DATE_FORMAT="DD/MM/YYYY";this.ARIA_INVALID="aria-invalid";this.ARIA_LABEL="aria-label";this.ARIA_LABELLED_BY="aria-labelledby";this.EVENT_OBJECT_STRING="[object Event]";this.FIT_TO_VALUE="fit-to-value";this.initialValue=this.value;this.INPUT_EVENT_OBJECT_STRING="[object InputEvent]";this.inputsInOrder=[];this.isAfterMax=false;this.isBeforeMin=false;this.isDateSetFromKeyboardEvent=false;this.isDisabledDate=false;this.isValidDay=true;this.isValidMonth=true;this.isValidDate=true;this.isZuluTime=false;this.KEYBOARD_EVENT_OBJECT_STRING="[object KeyboardEvent]";this.MAX_DAY=31;this.MAX_MONTH=12;this.previousSelectedDate=null;this.selectedDate=null;this.externalSetDate=false;this.clearInput=false;this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.day="";this.month="";this.year="";this.dateFormat=this.DEFAULT_DATE_FORMAT;this.emitDatePartChange=false;this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.hideHelperText=false;this.hideLabel=false;this.inputId=`ic-date-input-${Y++}`;this.invalidDateMessage="Please enter a valid date.";this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="medium";this.theme="inherit";this.value="";this.validationStatus="";this.validationText="";this.setInputPasteValue=(t,i)=>{if(t){const s=t;s.value=i;s.classList.add(this.FIT_TO_VALUE)}};this.checkSingleCopiedValueIsValid=(t,i)=>{let s=false;const e=Number(i);switch(t){case this.dayInputEl:s=e>=1&&e<=this.MAX_DAY;break;case this.monthInputEl:s=e>=1&&e<=this.MAX_MONTH;break;case this.yearInputEl:s=true;break}return s};this.isKeyboardOrEvent=t=>Object.prototype.toString.call(t)===this.EVENT_OBJECT_STRING||Object.prototype.toString.call(t)===this.KEYBOARD_EVENT_OBJECT_STRING;this.setDateValidity=()=>{if(!h(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!h(this.month)){this.isValidMonth=+this.month>this.MAX_MONTH?false:true}else{this.isValidMonth=true}};this.handleInput=t=>{const i=t;const s=t.target;if(s!==this.yearInputEl){if(i.inputType!=="deleteContentBackward"&&!this.preventAutoFormatting){if(s.value.length===1&&(s===this.dayInputEl&&+s.value>=4||s===this.monthInputEl&&+s.value>=2)&&+s.value<=9){this.setInputValue(s);this.notifyScreenReader(s,t);this.moveToNextInput(s)}if(s.value.length===2){if(+s.value===0){s.value="01"}this.setInputValue(s);this.setPreventInput(s,true);this.notifyScreenReader(s,t);this.moveToNextInput(s)}else{this.setPreventInput(s,false)}}else if(this.preventAutoFormatting){if(s.value.length===2&&!this.isKeyboardOrEvent(t)){this.setInputValue(s);this.setPreventInput(s,true);this.moveToNextInput(s)}else{this.setInputValue(s)}}if(s.value.length!==2){this.setPreventInput(s,false)}}else{if(s.value.length===4){this.setInputValue(s);if(Object.prototype.toString.call(t)!==this.EVENT_OBJECT_STRING){this.moveToNextInput(s)}this.setPreventInput(s,true)}else{this.setInputValue(s,true);this.setPreventInput(s,false)}}this.setFitToValueStyling(s);if(s.value.length===0){this.setInputValue(s,true);this.setValidationMessage()}this.notifyScreenReader(s,t)};this.handleKeyDown=(t,i)=>{var s;const e=t.target;const a=(s=t.key)===null||s===void 0?void 0:s.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(a)&&!((t.ctrlKey||t.metaKey)&&(a==="v"||a==="c"))){t.preventDefault()}switch(a){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(e);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(e,a);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(e,t);break;case"backspace":if(e.value.length===0){t.preventDefault();this.moveToPreviousInput(e)}break}this.preventInput(t,i);this.isDateSetFromKeyboardEvent=true};this.handleFocus=t=>{const i=t.target;i.select()};this.handleBlur=t=>{const i=t.target;if(i){this.setPasteInvalidText();this.autocompleteInput(i)}};this.handleLeftRightArrowKeyPress=(t,i)=>{if(i==="arrowright"){this.moveToNextInput(t)}else{this.moveToPreviousInput(t)}this.setPasteInvalidText()};this.notifyScreenReaderSelectedDate=()=>{if(this.selectedDate&&this.selectedDateInfoEl){const t=r(p);const i=r(v);this.selectedDateInfoEl.textContent=`Selected date: ${t[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${i[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`}};this.handleUpDownArrowKeyPress=(t,i)=>{const s=t===this.yearInputEl?0:1;let e=9999;switch(t){case this.dayInputEl:e=this.MAX_DAY;break;case this.monthInputEl:e=this.MAX_MONTH;break;case this.yearInputEl:e=9999}if(t===null||t===void 0?void 0:t.value){if(i.key==="ArrowUp"){if(+t.value===e){i.preventDefault();t.value=`0${s}`}else{t.value=+t.value+1<10?`0${+t.value+1}`:(+t.value+1).toString()}this.notifyScreenReader(t,i)}if(i.key==="ArrowDown"){if(+t.value===s){i.preventDefault();t.value=e.toString()}else{t.value=+t.value-1<10?`0${+t.value-1}`:(+t.value-1).toString()}this.notifyScreenReader(t,i)}}else{if(i.key==="ArrowDown"){i.preventDefault();t.value=t===this.yearInputEl?(new Date).getFullYear().toString():e.toString();this.notifyScreenReader(t,i)}else if(i.key==="ArrowUp"){i.preventDefault();t.value=t===this.yearInputEl?(new Date).getFullYear().toString():`0${s}`;this.notifyScreenReader(t,i)}}this.setInputValue(t);this.setFitToValueStyling(t)};this.handleDateChange=t=>{if(t||!m(this.selectedDate,this.previousSelectedDate)){if(this.value){this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}if(this.day&&this.month&&this.year&&this.invalidDateText===""){this.setValueAndEmitChange(this.selectedDate);this.notifyScreenReaderSelectedDate()}else if(!(this.selectedDate===null&&this.previousSelectedDate===null)&&this.selectedDateInfoEl){this.setValueAndEmitChange(null);this.selectedDateInfoEl.textContent=""}this.previousSelectedDate=this.selectedDate;if(!this.isDateSetFromKeyboardEvent){this.updateInputValues(this.day,this.month,this.year)}}};this.slicePastedDate=(t,i)=>i.length>t?i.slice(0,t):i;this.isPastedStringDateValid=t=>{if(/\d+-\d+-\d+$/.test(t)||/\d+\/\d+\/\d+/.test(t)||/\d+\.\d+\.\d+/.test(t)){return true}if(/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\.\d+)?)?Z/.test(t)){this.isZuluTime=true;return true}return false};this.handlePaste=t=>{var i;t.preventDefault();const s=((i=t.clipboardData)===null||i===void 0?void 0:i.getData("Text"))||"";const e=this.isPastedStringDateValid(s);this.setPastedValueAndValidation(e,s,t)};this.setDate=t=>{if(t===null||t===""||t===undefined){if(this.day)this.day="";if(this.month)this.month="";if(this.year)this.year="";this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(w(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=y(i.getDate());this.month=y(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=g(t,this.dateFormat);this.selectedDate=new Date(Number(i[0]),Number(i[1])-1,Number(i[2]));this.year=i[0];this.month=i[1];this.day=i[2];this.setValueAndEmitChange(this.selectedDate)}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=y(t.getDate());const e=y(t.getMonth()+1);const a=t.getFullYear();switch(this.dateFormat){case this.DEFAULT_DATE_FORMAT:i=`${s}/${e}/${a}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${a}`;break;case"YYYY/MM/DD":i=`${a}/${e}/${s}`;break}return i};this.updateInputValues=(t,i,s)=>{if(this.dayInputEl&&this.monthInputEl&&this.yearInputEl){this.dayInputEl.value=t;this.monthInputEl.value=i;this.yearInputEl.value=s}};this.setInputValue=(t,i=false)=>{const s=i?"":t.value;switch(t){case this.dayInputEl:this.day=s;break;case this.monthInputEl:this.month=s;break;case this.yearInputEl:if(this.year!==s){this.year=s}}this.setValidationMessage()};this.setValidationMessage=()=>{this.setDateValidity();if(!h(this.day)&&!h(this.month)&&!h(this.year)){this.selectedDate=this.convertToDate(this.year,this.month,this.day);this.isValidDate=!!this.selectedDate&&+this.selectedDate!==0&&this.selectedDate.getDate()==+this.day;this.isDisabledDate=this.isSelectedDateDisabled();if(!this.isValidDate||this.isDisabledDate){this.inputsInOrder.forEach((t=>t.setAttribute(this.ARIA_INVALID,"true")))}else{this.inputsInOrder.forEach((t=>t.removeAttribute(this.ARIA_INVALID)))}}else{this.selectedDate=null}if(!(this.isValidDay&&this.isValidMonth&&this.isValidDate)){this.invalidDateText=this.invalidDateMessage}else if(this.isDisabledDate&&this.selectedDate!==null){if(this.isBeforeMin){if(this.disablePast){this.invalidDateText=this.disablePastMessage}else{this.invalidDateText=`Please enter a date after ${this.formatMinMax(this.minDate)}.`}}else if(this.isAfterMax){if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}else{this.invalidDateText=`Please enter a date before ${this.formatMinMax(this.maxDate)}.`}}else if(this.disableDays.length!==0){this.invalidDateText=this.disableDaysMessage}else{if(this.disablePast){this.invalidDateText=this.disablePastMessage}if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}}}else{this.invalidDateText=""}};this.setInputsInOrder=()=>{var t;(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("input").forEach((t=>this.inputsInOrder.push(t)))};this.setAriaLabelledBy=()=>{var t,i,s;if(this.disabled&&!h((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const e=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("label");const a=`${this.inputId}-label`;if(e!==null&&e!==undefined){e.id=a}const r=!h(this.validationStatus)||!h(this.invalidDateText);const o=`${(s=e===null||e===void 0?void 0:e.id)!==null&&s!==void 0?s:""} ${this.screenReaderInfoId} ${n(this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,r)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,o)};this.setPreventInput=(t,i)=>{switch(t){case this.dayInputEl:this.preventDayInput=i;break;case this.monthInputEl:this.preventMonthInput=i;break;case this.yearInputEl:this.preventYearInput=i}};this.getInputFromDatePart=t=>{const i=s("input",{class:"day-input",id:"day-input",ref:t=>this.dayInputEl=t,"aria-label":"day",placeholder:"DD",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventDayInput)});const e=s("input",{id:"month-input",class:"month-input",ref:t=>this.monthInputEl=t,"aria-label":"month",placeholder:"MM",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventMonthInput)});const a=s("input",{id:"year-input",class:"year-input",ref:t=>this.yearInputEl=t,"aria-label":"year",placeholder:"YYYY",maxLength:4,disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventYearInput)});let h;switch(t){case"D":h=i;break;case"M":h=e;break;case"Y":h=a}return h};this.getInputsInOrder=()=>{const t=this.dateFormat.split("/");const i=[];t.forEach((t=>{i.push(this.getInputFromDatePart(t.substring(0,1)))}));return i};this.getDescOfInputsOrder=()=>{let t;switch(this.dateFormat){case this.DEFAULT_DATE_FORMAT:t="day, month, and year";break;case"MM/DD/YYYY":t="month, day, and year";break;case"YYYY/MM/DD":t="year, month, and day"}return t};this.getScreenReaderInfo=t=>{let i="";if(this.required){i+="required"}if(t===f.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let a;if(e){a=e.value.substring(e.selectionStart||0,e.selectionEnd||undefined)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!a){t.preventDefault()}};this.isSelectedDateDisabled=()=>{if(!this.selectedDate)return false;const t=new Date;const i=this.selectedDate.toDateString()!==t.toDateString();this.isAfterMax=this.maxDate&&this.selectedDate>this.maxDate&&i;this.isBeforeMin=this.minDate&&this.selectedDate<this.minDate&&i;return this.isAfterMax||this.isBeforeMin||this.disableDays.includes(this.selectedDate.getDay())||(!!this.disablePast&&this.selectedDate<t||!!this.disableFuture&&this.selectedDate>t)&&i};this.moveToNextInput=t=>{var i;this.preventAutoFormatting=false;(i=this.inputsInOrder[this.inputsInOrder.findIndex((i=>i===t))+1])===null||i===void 0?void 0:i.focus()};this.moveToPreviousInput=t=>{var i;this.preventAutoFormatting=false;(i=this.inputsInOrder[this.inputsInOrder.findIndex((i=>i===t))-1])===null||i===void 0?void 0:i.focus()};this.autocompleteInput=t=>{const i=t.value;if(this.yearInputEl&&t===this.yearInputEl){const t=["2","0","0"];let s="";if(i){t.forEach(((t,e)=>{if(i.length+e<=3){s+=t}}));this.yearInputEl.value=`${s}${i}`}}else if(i.length===1){t.value=+i===0?"01":`0${i}`}if(t.value){this.setInputValue(t)}};this.convertToDate=(t,i,s)=>{if(!h(t)&&!h(i)&&!h(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{var t,i;if((i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.activeElement)===null||i===void 0?void 0:i.id.match(/(day|month|year)-input$/)){this.removeLabelledBy=false}else{this.removeLabelledBy=true}this.icFocus.emit({value:this.selectedDate})};this.handleFormReset=()=>{this.setDate(this.initialValue);this.setValidationMessage();this.handleDateChange(false)};this.getAriaLabel=t=>t.getAttribute(this.ARIA_LABEL);this.notifyScreenReaderArrowKeys=t=>{var i;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#live-region");const e=this.getAriaLabel(t);if(s&&t.value&&e){let i="";if(t===this.monthInputEl&&!!v[+t.value-1]){i=`${t.value} - ${v[+t.value-1]}, ${e}`}if(t===this.dayInputEl||t===this.yearInputEl){i=`${t.value}, ${e}`}s.textContent=i}};this.notifyScreenReaderInput=(t,i)=>{const s=this.getAriaLabel(t);const e=t.value;if(s&&e){let a="";const h=v[+e-1];if(t===this.monthInputEl&&!!h&&this.isValidMonth&&e.length===2){a=`${e} - ${h}`}else if(t===this.dayInputEl&&this.isValidDay&&e.length===2||t===this.yearInputEl&&e.length===4){a=e}i.textContent=`${a}, ${s}`}};this.setFitToValueStyling=t=>{if(t.value){t.classList.add(this.FIT_TO_VALUE)}else{t.classList.remove(this.FIT_TO_VALUE)}};this.setAriaInvalid=(t,i,s,e)=>{var a,h;if(this.inputsInOrder.length){this.inputsInOrder.forEach((t=>{t.removeAttribute(this.ARIA_INVALID)}));if(!t){(a=this.dayInputEl)===null||a===void 0?void 0:a.setAttribute(this.ARIA_INVALID,"true")}if(!i){(h=this.monthInputEl)===null||h===void 0?void 0:h.setAttribute(this.ARIA_INVALID,"true")}if(!s||e){this.inputsInOrder.forEach((t=>{t.setAttribute(this.ARIA_INVALID,"true")}))}}};this.handleClear=()=>{this.clearInput=true;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.clearInput=false;this.isDateSetFromKeyboardEvent=false;this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{var i,s,e,a,h,r;t.stopImmediatePropagation();(e=(s=(i=this.calendarButtonEl)===null||i===void 0?void 0:i.shadowRoot)===null||s===void 0?void 0:s.querySelector("ic-tooltip"))===null||e===void 0?void 0:e.displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});(r=(h=(a=this.calendarButtonEl)===null||a===void 0?void 0:a.shadowRoot)===null||h===void 0?void 0:h.querySelector("ic-tooltip"))===null||r===void 0?void 0:r.displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(!m(this.value?new Date(this.value):null,t)){this.emitIcChange(t);this.value=t}};this.handleCalendarFocus=()=>{this.calendarFocused=true};this.handleCalendarBlur=()=>{this.calendarFocused=false};this.handleClearFocus=()=>{this.removeLabelledBy=true;this.clearButtonFocused=true};this.handleClearBlur=t=>{var i;this.clearButtonFocused=false;if((i=t.relatedTarget)===null||i===void 0?void 0:i.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.emitIcChange=t=>{this.selectedDate=t;if(!m(this.selectedDate,t)||this.day!==null||this.month!==null||this.year!==null){let i=null;if(t!==null){i=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()))}this.icChange.emit({value:t,dateObject:{day:this.day===""?null:this.day,month:this.month===""?null:this.month,year:this.year===""?null:this.year},utcValue:i})}}}watchInputHandler(){if(this.emitDatePartChange&&!this.externalSetDate&&!this.clearInput&&!(this.day&&this.month&&this.year)&&this.selectedDate===null){this.emitIcChange(this.selectedDate)}}watchDisabledHandler(){o(this.disabled,this.el)}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=k(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=k(this.min,this.dateFormat)}}watchRequiredHandler(){var t,i;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("label");if(this.required){const t=document.createElement("span");t.setAttribute("id","asterisk-span");t.setAttribute("aria-hidden","true");t.textContent=" *";s===null||s===void 0?void 0:s.appendChild(t)}else{const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#asterisk-span");if(t){t.remove()}}}disconnectedCallback(){l(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(h(this.helperText))this.helperText=this.defaultHelperText;this.watchMinHandler();this.watchMaxHandler();if(this.value){this.externalSetDate=true;this.setDate(this.value)}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;c(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){this.setInputsInOrder();d([{prop:this.label,propName:"label"}],"Date Input");if(this.value){this.updateInputValues(this.day,this.month,this.year);this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);if(this.value){this.notifyScreenReaderSelectedDate()}this.inputsInOrder.forEach((t=>{t.addEventListener("input",this.handleInput);t.addEventListener("focus",this.handleFocus);t.addEventListener("blur",this.handleBlur)}));this.watchRequiredHandler()}componentWillUpdate(){if(h(this.helperText))this.helperText=this.defaultHelperText;if(!this.isDateSetFromKeyboardEvent)this.setDate(this.value);this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);this.handleDateChange(false);this.isDateSetFromKeyboardEvent=false}componentDidRender(){if(this.removeLabelledBy){this.removeAriaLabelledBy();return}this.setAriaLabelledBy()}async getDate(){return this.selectedDate}async setCalendarFocus(){if(this.calendarButtonEl){this.calendarButtonEl.focus()}}async setDisableDays(t){this.disableDays=t}async triggerIcChange(t){this.externalSetDate=true;this.setDate(t);this.emitIcChange(t);this.externalSetDate=false}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?x(i):i;const s=t.split(/-|\/|\./);this.inputsInOrder.forEach(((t,i)=>{t.classList.add(this.FIT_TO_VALUE);if(this.isZuluTime){this.pasteZuluDateTime(s,i)}else{let e;if(t===this.dayInputEl||t===this.monthInputEl){e=this.slicePastedDate(2,s[i])}else{e=this.slicePastedDate(4,s[i])}t.value=e;this.setInputValue(t);this.autocompleteInput(t)}}));this.isZuluTime=false;break}case(i.length===1||i.length===2||i.length===4)&&u(i):if(this.checkSingleCopiedValueIsValid(s.target,i)){this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}else{this.displayPastedValidation(s)}break;case i.length===3&&u(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&u(i):this.displayPastedValidation(s)}}pasteZuluDateTime(t,i){if(i===0&&this.yearInputEl){const s=this.slicePastedDate(4,t[i]);this.yearInputEl.value=s;this.setInputValue(this.yearInputEl)}else if(i===1&&this.monthInputEl){const s=this.slicePastedDate(2,t[i]);this.monthInputEl.value=s;this.setInputValue(this.monthInputEl)}else if(this.dayInputEl){const s=this.slicePastedDate(2,t[i]);this.dayInputEl.value=s;this.setInputValue(this.dayInputEl)}}displayPastedValidation(t){var i;if(((i=this.invalidDateText)===null||i===void 0?void 0:i.length)>0){this.previousInvalidDateTest=this.invalidDateText}this.invalidDateText=`Please paste a valid ${this.getAriaLabel(t.target)}`;this.validationStatus=f.Error;this.isPasteValidationDisplayed=true}setPasteInvalidText(){var t;if(this.isPasteValidationDisplayed){this.invalidDateText=(t=this.previousInvalidDateTest)!==null&&t!==void 0?t:"";this.isPasteValidationDisplayed=false;this.isDateSetFromKeyboardEvent=true}}notifyScreenReader(t,i){var s;const e=(s=this.el.shadowRoot)===null||s===void 0?void 0:s.querySelector("#live-region");if(e){if(this.isKeyboardOrEvent(i)){this.notifyScreenReaderArrowKeys(t)}else if(Object.prototype.toString.call(i)===this.INPUT_EVENT_OBJECT_STRING){this.notifyScreenReaderInput(t,e)}}}render(){const{inputId:t,label:i,disabled:a,helperText:r,hideHelperText:n,hideLabel:o,showClearButton:l,showCalendarButton:c,size:d,theme:u}=this;const p=!h(this.validationStatus);const v=p?this.validationStatus:!h(this.invalidDateText)?f.Error:"";const m=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;b(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{key:"5e9f71b2a1c5dbc55f615ea389121c300ed68fd4",class:{[`ic-theme-${u}`]:u!=="inherit",[`ic-date-input-disabled`]:a},onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{key:"64fe93a68d17f2b84e296efb2d9602876628d972",disabled:a},!(o&&n)&&s("ic-input-label",{key:"69bb1722d84504483a7691fe713c86639025765f",for:t,label:i,hideLabel:o,helperText:!n?r:"",disabled:a}),s("span",{key:"3ef289406284d077b47db67d8b5d45919fdaad0e",id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(v),o&&`${i}\n`,n&&`${r}\n`,`${this.defaultHelperText}.`),s("span",{key:"20222a2534cf00d15fe40610412babb302fc0e7a",id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},m),s("span",{key:"5d4346a0fec1b1ee9d22057b7f2f1aa3b98f9693",id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{key:"1a2adcdeaf2e5cb437f77dd76054dcd872937bfc",id:t,ref:t=>this.inputCompContainerEl=t,disabled:a,validationStatus:v,size:d,role:"group",class:{[`ic-theme-${u}`]:u!=="inherit"}},s("div",{key:"ad5c42cec33b39329bde1975b094f3f13e974191",class:"input-container"},s("div",{key:"5bc9b871e605562b50306d5bb6bcc078892bafc5",class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{key:"6efb1d64b2eeab1c3da78d1e0b95f3df987fedcc",class:"action-buttons"},l&&s("ic-button",{key:"39a73d58a6814d3fac7425050291e3f2f821cd72",id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:h(this.day)&&h(this.month)&&h(this.year)},disabled:this.disabled,innerHTML:$,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon-tertiary",theme:this.clearButtonFocused?"light":"dark",size:d}),c&&s("div",{key:"6d05e11943d6bd56f9dd6d20b8306a45062ac3f2",class:"show-calendar-button-wrapper"},s("div",{key:"c04cdf2665700c19fdc323bf92435d2b0d710016",class:{divider:true,[d]:true}}),s("ic-button",{key:"1a88f2b979c6c1569bb5bff797ea28e86526ff69",id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:D,onClick:this.handleCalendarOpen,variant:"icon-tertiary",size:d,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,theme:this.calendarFocused?"light":"dark"}))))),s("span",{key:"49dc06b59b4ecbee2899842a1dc63d5bbde70cc3",id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{key:"bd2d89299077ceaf51b03fc5f22e6d0ff2f1550a",ref:t=>this.selectedDateInfoEl=t,role:"status"})),(p||!h(this.invalidDateText))&&s("ic-input-validation",{key:"d1502e42604239e61c7ec08840c258d2ea4d07e8",status:v,message:p?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{day:["watchInputHandler"],month:["watchInputHandler"],year:["watchInputHandler"],disabled:["watchDisabledHandler"],disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],required:["watchRequiredHandler"]}}};M.style=H;export{M as ic_date_input};
2
- //# sourceMappingURL=p-f9e78341.entry.js.map
1
+ import{r as t,c as i,h as s,H as e,g as a}from"./p-8e4e97b4.js";import{b as h,s as r,v as n,r as o,w as l,x as c,o as d,y as u,z as f,A as b,k as p,l as v}from"./p-e253a857.js";import{b as m,i as w,j as y,s as g,h as k,k as x}from"./p-c86ca475.js";const $=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <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"/>\n</svg>\n`;const D=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M16.6667 2.50004H15.8334V0.833374H14.1667V2.50004H5.83342V0.833374H4.16675V2.50004H3.33341C2.41675 2.50004 1.66675 3.25004 1.66675 4.16671V17.5C1.66675 18.4167 2.41675 19.1667 3.33341 19.1667H16.6667C17.5834 19.1667 18.3334 18.4167 18.3334 17.5V4.16671C18.3334 3.25004 17.5834 2.50004 16.6667 2.50004ZM16.6667 17.5H3.33341V6.66671H16.6667V17.5Z" fill="currentColor"/>\n</svg>`;const z='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--ic-input-label-helpertext-padding:var(--ic-space-xxs);--input-bg-color:var(--ic-date-input-bg);--ic-input-label-text-color:var(--ic-date-input-label);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle);--border-color:var(--ic-date-input-border);--border-color-disabled:var(--ic-date-input-border-disabled);--border-color-hover:var(--ic-date-input-border-default-hover);--border-color-pressed:var(--ic-date-input-border-default-pressed);--border-error-color:var(--ic-date-input-border-error);--border-error-color-hover:var(--ic-date-input-border-error-hover);--border-error-color-pressed:var(--ic-date-input-border-error-pressed);--border-success-color:var(--ic-date-input-border-success);--border-success-color-hover:var(--ic-date-input-border-success-hover);--border-success-color-pressed:var(--ic-date-input-border-success-pressed);--border-warning-color:var(--ic-date-input-border-warning);--border-warning-color-hover:var(--ic-date-input-border-warning-hover);--border-warning-color-pressed:var(--ic-date-input-border-warning-pressed)}:host(.ic-date-input-disabled){--ic-input-label-text-color:var(--ic-date-input-label-disabled);--ic-input-label-helper-text-color:var(--ic-date-input-subtitle-disabled)}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield;color:var(--ic-date-input-text-filled);caret-color:var(--ic-date-input-typing-cursor)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}input:-webkit-autofill{box-shadow:0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;-webkit-text-fill-color:var(--ic-date-input-text-filled) !important}input::-moz-placeholder{color:var(--ic-date-input-text-placeholder)}input::placeholder{color:var(--ic-date-input-text-placeholder)}ic-input-component-container{cursor:text}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.date-inputs{color:var(--ic-date-input-text-placeholder)}.day-input{width:1.438rem}.month-input{width:1.813rem}.year-input,.year-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-calendar-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.calendar-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.calendar-button:focus,.clear-button:active,.calendar-button:active{background-color:var(--ic-color-focus-inner) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;border-radius:0.25rem}.calendar-button:focus,.calendar-button:active{--ic-button-tertiary-text-active:var(--ic-atoms-input-clear-button-focus);--ic-button-tertiary-text-hover-active:var(\n --ic-atoms-input-clear-button-focus\n );--ic-button-tertiary-text-pressed-active:var(\n --ic-atoms-input-clear-button-focus\n )}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button svg{color:var(--ic-date-input-clear-icon)}.clear-button:focus svg{color:var(--ic-atoms-input-clear-button-focus)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-atoms-input-divider);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.medium{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}ic-input-validation{--ic-input-validation-status-text-color:var(--ic-date-input-status-text);--ic-input-validation-error:var(--ic-date-input-icon-error);--ic-input-validation-warning-icon-color:var(--ic-date-input-icon-warning);--ic-input-validation-success-icon-color:var(--ic-date-input-icon-success)}';const H=z;let Y=0;const M=class{constructor(e){t(this,e);this.calendarButtonClicked=i(this,"calendarButtonClicked",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.DEFAULT_DATE_FORMAT="DD/MM/YYYY";this.ARIA_INVALID="aria-invalid";this.ARIA_LABEL="aria-label";this.ARIA_LABELLED_BY="aria-labelledby";this.EVENT_OBJECT_STRING="[object Event]";this.FIT_TO_VALUE="fit-to-value";this.initialValue=this.value;this.INPUT_EVENT_OBJECT_STRING="[object InputEvent]";this.inputsInOrder=[];this.isAfterMax=false;this.isBeforeMin=false;this.isDateSetFromKeyboardEvent=false;this.isDisabledDate=false;this.isValidDay=true;this.isValidMonth=true;this.isValidDate=true;this.isZuluTime=false;this.KEYBOARD_EVENT_OBJECT_STRING="[object KeyboardEvent]";this.MAX_DAY=31;this.MAX_MONTH=12;this.previousSelectedDate=null;this.selectedDate=null;this.externalSetDate=false;this.clearInput=false;this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.day="";this.month="";this.year="";this.dateFormat=this.DEFAULT_DATE_FORMAT;this.emitDatePartChange=false;this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.hideHelperText=false;this.hideLabel=false;this.inputId=`ic-date-input-${Y++}`;this.invalidDateMessage="Please enter a valid date.";this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="medium";this.theme="inherit";this.value="";this.validationStatus="";this.validationText="";this.setInputPasteValue=(t,i)=>{if(t){const s=t;s.value=i;s.classList.add(this.FIT_TO_VALUE)}};this.checkSingleCopiedValueIsValid=(t,i)=>{let s=false;const e=Number(i);switch(t){case this.dayInputEl:s=e>=1&&e<=this.MAX_DAY;break;case this.monthInputEl:s=e>=1&&e<=this.MAX_MONTH;break;case this.yearInputEl:s=true;break}return s};this.isKeyboardOrEvent=t=>Object.prototype.toString.call(t)===this.EVENT_OBJECT_STRING||Object.prototype.toString.call(t)===this.KEYBOARD_EVENT_OBJECT_STRING;this.setDateValidity=()=>{if(!h(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!h(this.month)){this.isValidMonth=+this.month>this.MAX_MONTH?false:true}else{this.isValidMonth=true}};this.handleInput=t=>{const i=t;const s=t.target;if(s!==this.yearInputEl){if(i.inputType!=="deleteContentBackward"&&!this.preventAutoFormatting){if(s.value.length===1&&(s===this.dayInputEl&&+s.value>=4||s===this.monthInputEl&&+s.value>=2)&&+s.value<=9){this.setInputValue(s);this.notifyScreenReader(s,t);this.moveToNextInput(s)}if(s.value.length===2){if(+s.value===0){s.value="01"}this.setInputValue(s);this.setPreventInput(s,true);this.notifyScreenReader(s,t);this.moveToNextInput(s)}else{this.setPreventInput(s,false)}}else if(this.preventAutoFormatting){if(s.value.length===2&&!this.isKeyboardOrEvent(t)){this.setInputValue(s);this.setPreventInput(s,true);this.moveToNextInput(s)}else{this.setInputValue(s)}}if(s.value.length!==2){this.setPreventInput(s,false)}}else{if(s.value.length===4){this.setInputValue(s);if(Object.prototype.toString.call(t)!==this.EVENT_OBJECT_STRING){this.moveToNextInput(s)}this.setPreventInput(s,true)}else{this.setInputValue(s,true);this.setPreventInput(s,false)}}this.setFitToValueStyling(s);if(s.value.length===0){this.setInputValue(s,true);this.setValidationMessage()}this.notifyScreenReader(s,t)};this.handleKeyDown=(t,i)=>{var s;const e=t.target;const a=(s=t.key)===null||s===void 0?void 0:s.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(a)&&!((t.ctrlKey||t.metaKey)&&(a==="v"||a==="c"))){t.preventDefault()}switch(a){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(e);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(e,a);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(e,t);break;case"backspace":if(e.value.length===0){t.preventDefault();this.moveToPreviousInput(e)}break}this.preventInput(t,i);this.isDateSetFromKeyboardEvent=true};this.handleFocus=t=>{const i=t.target;i.select()};this.handleBlur=t=>{const i=t.target;if(i){this.setPasteInvalidText();this.autocompleteInput(i)}};this.handleLeftRightArrowKeyPress=(t,i)=>{if(i==="arrowright"){this.moveToNextInput(t)}else{this.moveToPreviousInput(t)}this.setPasteInvalidText()};this.notifyScreenReaderSelectedDate=()=>{if(this.selectedDate&&this.selectedDateInfoEl){const t=r(p);const i=r(v);this.selectedDateInfoEl.textContent=`Selected date: ${t[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${i[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`}};this.handleUpDownArrowKeyPress=(t,i)=>{const s=t===this.yearInputEl?0:1;let e=9999;switch(t){case this.dayInputEl:e=this.MAX_DAY;break;case this.monthInputEl:e=this.MAX_MONTH;break;case this.yearInputEl:e=9999}if(t===null||t===void 0?void 0:t.value){if(i.key==="ArrowUp"){if(+t.value===e){i.preventDefault();t.value=`0${s}`}else{t.value=+t.value+1<10?`0${+t.value+1}`:(+t.value+1).toString()}this.notifyScreenReader(t,i)}if(i.key==="ArrowDown"){if(+t.value===s){i.preventDefault();t.value=e.toString()}else{t.value=+t.value-1<10?`0${+t.value-1}`:(+t.value-1).toString()}this.notifyScreenReader(t,i)}}else{if(i.key==="ArrowDown"){i.preventDefault();t.value=t===this.yearInputEl?(new Date).getFullYear().toString():e.toString();this.notifyScreenReader(t,i)}else if(i.key==="ArrowUp"){i.preventDefault();t.value=t===this.yearInputEl?(new Date).getFullYear().toString():`0${s}`;this.notifyScreenReader(t,i)}}this.setInputValue(t);this.setFitToValueStyling(t)};this.handleDateChange=t=>{if(t||!m(this.selectedDate,this.previousSelectedDate)){if(this.value){this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}if(this.day&&this.month&&this.year&&this.invalidDateText===""){this.setValueAndEmitChange(this.selectedDate);this.notifyScreenReaderSelectedDate()}else if(!(this.selectedDate===null&&this.previousSelectedDate===null)&&this.selectedDateInfoEl){this.setValueAndEmitChange(null);this.selectedDateInfoEl.textContent=""}this.previousSelectedDate=this.selectedDate;if(!this.isDateSetFromKeyboardEvent){this.updateInputValues(this.day,this.month,this.year)}}};this.slicePastedDate=(t,i)=>i.length>t?i.slice(0,t):i;this.isPastedStringDateValid=t=>{if(/\d+-\d+-\d+$/.test(t)||/\d+\/\d+\/\d+/.test(t)||/\d+\.\d+\.\d+/.test(t)){return true}if(/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\.\d+)?)?Z/.test(t)){this.isZuluTime=true;return true}return false};this.handlePaste=t=>{var i;t.preventDefault();const s=((i=t.clipboardData)===null||i===void 0?void 0:i.getData("Text"))||"";const e=this.isPastedStringDateValid(s);this.setPastedValueAndValidation(e,s,t)};this.setDate=t=>{if(t===null||t===""||t===undefined){if(this.day)this.day="";if(this.month)this.month="";if(this.year)this.year="";this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(w(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=y(i.getDate());this.month=y(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=g(t,this.dateFormat);this.selectedDate=new Date(Number(i[0]),Number(i[1])-1,Number(i[2]));this.year=i[0];this.month=i[1];this.day=i[2];this.setValueAndEmitChange(this.selectedDate)}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=y(t.getDate());const e=y(t.getMonth()+1);const a=t.getFullYear();switch(this.dateFormat){case this.DEFAULT_DATE_FORMAT:i=`${s}/${e}/${a}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${a}`;break;case"YYYY/MM/DD":i=`${a}/${e}/${s}`;break}return i};this.updateInputValues=(t,i,s)=>{if(this.dayInputEl&&this.monthInputEl&&this.yearInputEl){this.dayInputEl.value=t;this.monthInputEl.value=i;this.yearInputEl.value=s}};this.setInputValue=(t,i=false)=>{const s=i?"":t.value;switch(t){case this.dayInputEl:this.day=s;break;case this.monthInputEl:this.month=s;break;case this.yearInputEl:if(this.year!==s){this.year=s}}this.setValidationMessage()};this.setValidationMessage=()=>{this.setDateValidity();if(!h(this.day)&&!h(this.month)&&!h(this.year)){this.selectedDate=this.convertToDate(this.year,this.month,this.day);this.isValidDate=!!this.selectedDate&&+this.selectedDate!==0&&this.selectedDate.getDate()==+this.day;this.isDisabledDate=this.isSelectedDateDisabled();if(!this.isValidDate||this.isDisabledDate){this.inputsInOrder.forEach((t=>t.setAttribute(this.ARIA_INVALID,"true")))}else{this.inputsInOrder.forEach((t=>t.removeAttribute(this.ARIA_INVALID)))}}else{this.selectedDate=null}if(!(this.isValidDay&&this.isValidMonth&&this.isValidDate)){this.invalidDateText=this.invalidDateMessage}else if(this.isDisabledDate&&this.selectedDate!==null){if(this.isBeforeMin){if(this.disablePast){this.invalidDateText=this.disablePastMessage}else{this.invalidDateText=`Please enter a date after ${this.formatMinMax(this.minDate)}.`}}else if(this.isAfterMax){if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}else{this.invalidDateText=`Please enter a date before ${this.formatMinMax(this.maxDate)}.`}}else if(this.disableDays.length!==0){this.invalidDateText=this.disableDaysMessage}else{if(this.disablePast){this.invalidDateText=this.disablePastMessage}if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}}}else{this.invalidDateText=""}};this.setInputsInOrder=()=>{var t;(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("input").forEach((t=>this.inputsInOrder.push(t)))};this.setAriaLabelledBy=()=>{var t,i,s;if(this.disabled&&!h((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const e=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("label");const a=`${this.inputId}-label`;if(e!==null&&e!==undefined){e.id=a}const r=!h(this.validationStatus)||!h(this.invalidDateText);const o=`${(s=e===null||e===void 0?void 0:e.id)!==null&&s!==void 0?s:""} ${this.screenReaderInfoId} ${n(this.el,this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,r)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,o)};this.setPreventInput=(t,i)=>{switch(t){case this.dayInputEl:this.preventDayInput=i;break;case this.monthInputEl:this.preventMonthInput=i;break;case this.yearInputEl:this.preventYearInput=i}};this.getInputFromDatePart=t=>{const i=s("input",{class:"day-input",id:"day-input",ref:t=>this.dayInputEl=t,"aria-label":"day",placeholder:"DD",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventDayInput)});const e=s("input",{id:"month-input",class:"month-input",ref:t=>this.monthInputEl=t,"aria-label":"month",placeholder:"MM",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventMonthInput)});const a=s("input",{id:"year-input",class:"year-input",ref:t=>this.yearInputEl=t,"aria-label":"year",placeholder:"YYYY",maxLength:4,disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventYearInput)});let h;switch(t){case"D":h=i;break;case"M":h=e;break;case"Y":h=a}return h};this.getInputsInOrder=()=>{const t=this.dateFormat.split("/");const i=[];t.forEach((t=>{i.push(this.getInputFromDatePart(t.substring(0,1)))}));return i};this.getDescOfInputsOrder=()=>{let t;switch(this.dateFormat){case this.DEFAULT_DATE_FORMAT:t="day, month, and year";break;case"MM/DD/YYYY":t="month, day, and year";break;case"YYYY/MM/DD":t="year, month, and day"}return t};this.getScreenReaderInfo=t=>{let i="";if(this.required){i+="required"}if(t===f.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let a;if(e){a=e.value.substring(e.selectionStart||0,e.selectionEnd||undefined)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!a){t.preventDefault()}};this.isSelectedDateDisabled=()=>{if(!this.selectedDate)return false;const t=new Date;const i=this.selectedDate.toDateString()!==t.toDateString();this.isAfterMax=this.maxDate&&this.selectedDate>this.maxDate&&i;this.isBeforeMin=this.minDate&&this.selectedDate<this.minDate&&i;return this.isAfterMax||this.isBeforeMin||this.disableDays.includes(this.selectedDate.getDay())||(!!this.disablePast&&this.selectedDate<t||!!this.disableFuture&&this.selectedDate>t)&&i};this.moveToNextInput=t=>{var i;this.preventAutoFormatting=false;(i=this.inputsInOrder[this.inputsInOrder.findIndex((i=>i===t))+1])===null||i===void 0?void 0:i.focus()};this.moveToPreviousInput=t=>{var i;this.preventAutoFormatting=false;(i=this.inputsInOrder[this.inputsInOrder.findIndex((i=>i===t))-1])===null||i===void 0?void 0:i.focus()};this.autocompleteInput=t=>{const i=t.value;if(this.yearInputEl&&t===this.yearInputEl){const t=["2","0","0"];let s="";if(i){t.forEach(((t,e)=>{if(i.length+e<=3){s+=t}}));this.yearInputEl.value=`${s}${i}`}}else if(i.length===1){t.value=+i===0?"01":`0${i}`}if(t.value){this.setInputValue(t)}};this.convertToDate=(t,i,s)=>{if(!h(t)&&!h(i)&&!h(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{var t,i;if((i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.activeElement)===null||i===void 0?void 0:i.id.match(/(day|month|year)-input$/)){this.removeLabelledBy=false}else{this.removeLabelledBy=true}this.icFocus.emit({value:this.selectedDate})};this.handleFormReset=()=>{this.setDate(this.initialValue);this.setValidationMessage();this.handleDateChange(false)};this.getAriaLabel=t=>t.getAttribute(this.ARIA_LABEL);this.notifyScreenReaderArrowKeys=t=>{var i;const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#live-region");const e=this.getAriaLabel(t);if(s&&t.value&&e){let i="";if(t===this.monthInputEl&&!!v[+t.value-1]){i=`${t.value} - ${v[+t.value-1]}, ${e}`}if(t===this.dayInputEl||t===this.yearInputEl){i=`${t.value}, ${e}`}s.textContent=i}};this.notifyScreenReaderInput=(t,i)=>{const s=this.getAriaLabel(t);const e=t.value;if(s&&e){let a="";const h=v[+e-1];if(t===this.monthInputEl&&!!h&&this.isValidMonth&&e.length===2){a=`${e} - ${h}`}else if(t===this.dayInputEl&&this.isValidDay&&e.length===2||t===this.yearInputEl&&e.length===4){a=e}i.textContent=`${a}, ${s}`}};this.setFitToValueStyling=t=>{if(t.value){t.classList.add(this.FIT_TO_VALUE)}else{t.classList.remove(this.FIT_TO_VALUE)}};this.setAriaInvalid=(t,i,s,e)=>{var a,h;if(this.inputsInOrder.length){this.inputsInOrder.forEach((t=>{t.removeAttribute(this.ARIA_INVALID)}));if(!t){(a=this.dayInputEl)===null||a===void 0?void 0:a.setAttribute(this.ARIA_INVALID,"true")}if(!i){(h=this.monthInputEl)===null||h===void 0?void 0:h.setAttribute(this.ARIA_INVALID,"true")}if(!s||e){this.inputsInOrder.forEach((t=>{t.setAttribute(this.ARIA_INVALID,"true")}))}}};this.handleClear=()=>{this.clearInput=true;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.clearInput=false;this.isDateSetFromKeyboardEvent=false;this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{var i,s,e,a,h,r;t.stopImmediatePropagation();(e=(s=(i=this.calendarButtonEl)===null||i===void 0?void 0:i.shadowRoot)===null||s===void 0?void 0:s.querySelector("ic-tooltip"))===null||e===void 0?void 0:e.displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});(r=(h=(a=this.calendarButtonEl)===null||a===void 0?void 0:a.shadowRoot)===null||h===void 0?void 0:h.querySelector("ic-tooltip"))===null||r===void 0?void 0:r.displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(!m(this.value?new Date(this.value):null,t)){this.emitIcChange(t);this.value=t}};this.handleCalendarFocus=()=>{this.calendarFocused=true};this.handleCalendarBlur=()=>{this.calendarFocused=false};this.handleClearFocus=()=>{this.removeLabelledBy=true;this.clearButtonFocused=true};this.handleClearBlur=t=>{var i;this.clearButtonFocused=false;if((i=t.relatedTarget)===null||i===void 0?void 0:i.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.emitIcChange=t=>{this.selectedDate=t;if(!m(this.selectedDate,t)||this.day!==null||this.month!==null||this.year!==null){let i=null;if(t!==null){i=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()))}this.icChange.emit({value:t,dateObject:{day:this.day===""?null:this.day,month:this.month===""?null:this.month,year:this.year===""?null:this.year},utcValue:i})}}}watchInputHandler(){if(this.emitDatePartChange&&!this.externalSetDate&&!this.clearInput&&!(this.day&&this.month&&this.year)&&this.selectedDate===null){this.emitIcChange(this.selectedDate)}}watchDisabledHandler(){o(this.disabled,this.el)}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=k(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=k(this.min,this.dateFormat)}}watchRequiredHandler(){var t,i;const s=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("label");if(this.required){const t=document.createElement("span");t.setAttribute("id","asterisk-span");t.setAttribute("aria-hidden","true");t.textContent=" *";s===null||s===void 0?void 0:s.appendChild(t)}else{const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#asterisk-span");if(t){t.remove()}}}disconnectedCallback(){l(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(h(this.helperText))this.helperText=this.defaultHelperText;this.watchMinHandler();this.watchMaxHandler();if(this.value){this.externalSetDate=true;this.setDate(this.value)}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;c(this.el,this.handleFormReset);o(this.disabled,this.el)}componentDidLoad(){this.setInputsInOrder();d([{prop:this.label,propName:"label"}],"Date Input");if(this.value){this.updateInputValues(this.day,this.month,this.year);this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);if(this.value){this.notifyScreenReaderSelectedDate()}this.inputsInOrder.forEach((t=>{t.addEventListener("input",this.handleInput);t.addEventListener("focus",this.handleFocus);t.addEventListener("blur",this.handleBlur)}));this.watchRequiredHandler()}componentWillUpdate(){if(h(this.helperText))this.helperText=this.defaultHelperText;if(!this.isDateSetFromKeyboardEvent)this.setDate(this.value);this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);this.handleDateChange(false);this.isDateSetFromKeyboardEvent=false}componentDidRender(){if(this.removeLabelledBy){this.removeAriaLabelledBy();return}this.setAriaLabelledBy()}async getDate(){return this.selectedDate}async setCalendarFocus(){if(this.calendarButtonEl){this.calendarButtonEl.focus()}}async setDisableDays(t){this.disableDays=t}async triggerIcChange(t){this.externalSetDate=true;this.setDate(t);this.emitIcChange(t);this.externalSetDate=false}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?x(i):i;const s=t.split(/-|\/|\./);this.inputsInOrder.forEach(((t,i)=>{t.classList.add(this.FIT_TO_VALUE);if(this.isZuluTime){this.pasteZuluDateTime(s,i)}else{let e;if(t===this.dayInputEl||t===this.monthInputEl){e=this.slicePastedDate(2,s[i])}else{e=this.slicePastedDate(4,s[i])}t.value=e;this.setInputValue(t);this.autocompleteInput(t)}}));this.isZuluTime=false;break}case(i.length===1||i.length===2||i.length===4)&&u(i):if(this.checkSingleCopiedValueIsValid(s.target,i)){this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}else{this.displayPastedValidation(s)}break;case i.length===3&&u(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&u(i):this.displayPastedValidation(s)}}pasteZuluDateTime(t,i){if(i===0&&this.yearInputEl){const s=this.slicePastedDate(4,t[i]);this.yearInputEl.value=s;this.setInputValue(this.yearInputEl)}else if(i===1&&this.monthInputEl){const s=this.slicePastedDate(2,t[i]);this.monthInputEl.value=s;this.setInputValue(this.monthInputEl)}else if(this.dayInputEl){const s=this.slicePastedDate(2,t[i]);this.dayInputEl.value=s;this.setInputValue(this.dayInputEl)}}displayPastedValidation(t){var i;if(((i=this.invalidDateText)===null||i===void 0?void 0:i.length)>0){this.previousInvalidDateTest=this.invalidDateText}this.invalidDateText=`Please paste a valid ${this.getAriaLabel(t.target)}`;this.validationStatus=f.Error;this.isPasteValidationDisplayed=true}setPasteInvalidText(){var t;if(this.isPasteValidationDisplayed){this.invalidDateText=(t=this.previousInvalidDateTest)!==null&&t!==void 0?t:"";this.isPasteValidationDisplayed=false;this.isDateSetFromKeyboardEvent=true}}notifyScreenReader(t,i){var s;const e=(s=this.el.shadowRoot)===null||s===void 0?void 0:s.querySelector("#live-region");if(e){if(this.isKeyboardOrEvent(i)){this.notifyScreenReaderArrowKeys(t)}else if(Object.prototype.toString.call(i)===this.INPUT_EVENT_OBJECT_STRING){this.notifyScreenReaderInput(t,e)}}}render(){const{inputId:t,label:i,disabled:a,helperText:r,hideHelperText:n,hideLabel:o,showClearButton:l,showCalendarButton:c,size:d,theme:u}=this;const p=!h(this.validationStatus);const v=p?this.validationStatus:!h(this.invalidDateText)?f.Error:"";const m=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;b(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{key:"122e391feab061910df84e3d56e68fbc7f156200",class:{[`ic-theme-${u}`]:u!=="inherit",[`ic-date-input-disabled`]:a},onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{key:"dcff982602fe698e1742385e39989ff411e47d32",disabled:a},!(o&&n)&&s("ic-input-label",{key:"a45ed09d0ed10cb8324ee792be68a722979d5b58",for:t,label:i,hideLabel:o,helperText:!n?r:"",disabled:a},s("slot",{key:"d0d6058f9871862bbdf4b2bff96f47ce8a69ca37",name:"helper-text",slot:"helper-text"})),s("span",{key:"de33a32a5fac94049cf18bd93d74153251947543",id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(v),o&&`${i}\n`,n&&`${r}\n`,`${this.defaultHelperText}.`),s("span",{key:"9ab60d6b4abbbb6e7a132445e54e455fd4445de3",id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},m),s("span",{key:"e71fe1384621212178ac42e05d8f21c1c4687c05",id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{key:"9efc7dff02c1ff4064933d9ef5638e33e59ff0be",id:t,ref:t=>this.inputCompContainerEl=t,disabled:a,validationStatus:v,size:d,role:"group",class:{[`ic-theme-${u}`]:u!=="inherit"}},s("div",{key:"56e55cbc0002c8ea6daeb5d6d5084e69ace6993e",class:"input-container"},s("div",{key:"7afd9c5aee209c9abc19a54c90d5d40693a7af24",class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{key:"ae899b397150f56bd30720d6d6b108093aed8b83",class:"action-buttons"},l&&s("ic-button",{key:"d28dbe1a6aae23cf51bc0312258d54566367e581",id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:h(this.day)&&h(this.month)&&h(this.year)},disabled:this.disabled,innerHTML:$,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon-tertiary",theme:this.clearButtonFocused?"light":"dark",size:d}),c&&s("div",{key:"a4c5ddcc71056d5454384a3aa6b9f4edbbcd1a2e",class:"show-calendar-button-wrapper"},s("div",{key:"442197fbb8aec87289ea252b816f6a80fab68dd2",class:{divider:true,[d]:true}}),s("ic-button",{key:"147f456ff93202de5f345cf2fa23786386cf2533",id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:D,onClick:this.handleCalendarOpen,variant:"icon-tertiary",size:d,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,theme:this.calendarFocused?"light":"dark"}))))),s("span",{key:"cd12572ae2da8bf31fe6c2671f1aca5456390ff3",id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{key:"0dd0865f5286c64ee26e6f4970c467b3bdec8785",ref:t=>this.selectedDateInfoEl=t,role:"status"})),(p||!h(this.invalidDateText))&&s("ic-input-validation",{key:"5ed738cc050d45d273825ddbe48fa724621cb931",status:v,message:p?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{day:["watchInputHandler"],month:["watchInputHandler"],year:["watchInputHandler"],disabled:["watchDisabledHandler"],disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],required:["watchRequiredHandler"]}}};M.style=H;export{M as ic_date_input};
2
+ //# sourceMappingURL=p-4150f333.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icDateInputCss","IcDateInputStyle0","inputIds","DateInput","constructor","hostRef","this","DEFAULT_DATE_FORMAT","ARIA_INVALID","ARIA_LABEL","ARIA_LABELLED_BY","EVENT_OBJECT_STRING","FIT_TO_VALUE","initialValue","value","INPUT_EVENT_OBJECT_STRING","inputsInOrder","isAfterMax","isBeforeMin","isDateSetFromKeyboardEvent","isDisabledDate","isValidDay","isValidMonth","isValidDate","isZuluTime","KEYBOARD_EVENT_OBJECT_STRING","MAX_DAY","MAX_MONTH","previousSelectedDate","selectedDate","externalSetDate","clearInput","calendarFocused","clearButtonFocused","removeLabelledBy","day","month","year","dateFormat","emitDatePartChange","disabled","disableDays","disableDaysMessage","disableFuture","disableFutureMessage","disablePast","disablePastMessage","hideHelperText","hideLabel","inputId","invalidDateMessage","max","min","name","required","showCalendarButton","showClearButton","size","theme","validationStatus","validationText","setInputPasteValue","input","pastedValue","inputEl","classList","add","checkSingleCopiedValueIsValid","isValid","Number","dayInputEl","monthInputEl","yearInputEl","isKeyboardOrEvent","event","Object","prototype","toString","call","setDateValidity","isEmptyString","handleInput","inputEvent","target","inputType","preventAutoFormatting","length","setInputValue","notifyScreenReader","moveToNextInput","setPreventInput","setFitToValueStyling","setValidationMessage","handleKeyDown","isInputPrevented","eventKey","_a","key","toLowerCase","regex","test","ctrlKey","metaKey","preventDefault","setPasteInvalidText","handleLeftRightArrowKeyPress","handleUpDownArrowKeyPress","moveToPreviousInput","preventInput","handleFocus","select","handleBlur","autocompleteInput","notifyScreenReaderSelectedDate","selectedDateInfoEl","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","textContent","getDay","getDate","getMonth","getFullYear","minValue","maxValue","Date","handleDateChange","force","dateMatches","forEach","invalidDateText","setValueAndEmitChange","updateInputValues","slicePastedDate","valueLength","datePart","slice","isPastedStringDateValid","handlePaste","clipboardData","getData","setPastedValueAndValidation","setDate","date","undefined","remove","isDateOrEpoch","newDate","convertToDoubleDigits","defaultDateArray","splitStringDate","formatMinMax","formattedDate","clear","newValue","convertToDate","isSelectedDateDisabled","setAttribute","removeAttribute","minDate","maxDate","setInputsInOrder","el","shadowRoot","querySelectorAll","push","setAriaLabelledBy","inputCompContainerEl","getAttribute","removeAriaLabelledBy","labelEl","_b","querySelector","labelId","id","hasValidation","labelledBy","_c","screenReaderInfoId","getInputDescribedByText","helperText","defaultHelperText","selectedDateInfoId","assistiveHintId","isPrevented","preventDayInput","preventMonthInput","preventYearInput","getInputFromDatePart","dayInput","h","class","ref","placeholder","onPaste","inputmode","pattern","onKeyDown","monthInput","yearInput","maxLength","getInputsInOrder","dateParts","split","part","substring","getDescOfInputsOrder","description","getScreenReaderInfo","inputDescriptors","IcInformationStatus","Error","selectedString","selectionStart","selectionEnd","currentDate","isNotToday","toDateString","includes","currentInput","findIndex","focus","inputValue","yearNumbers","autocompletedInput","number","index","handleHostBlur","icBlur","emit","handleHostFocus","activeElement","match","icFocus","handleFormReset","getAriaLabel","notifyScreenReaderArrowKeys","liveRegion","ariaLabel","announcement","notifyScreenReaderInput","monthValue","setAriaInvalid","validDay","validMonth","validDate","disabledDate","handleClear","handleCalendarOpen","ev","stopImmediatePropagation","calendarButtonEl","displayTooltip","calendarButtonClicked","_f","_e","_d","emitIcChange","handleCalendarFocus","handleCalendarBlur","handleClearFocus","handleClearBlur","relatedTarget","d","UTCDate","UTC","icChange","dateObject","utcValue","watchInputHandler","watchDisabledHandler","removeDisabledFalse","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchRequiredHandler","asteriskSpan","document","createElement","appendChild","disconnectedCallback","removeFormResetListener","componentWillLoad","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","addEventListener","componentWillUpdate","componentDidRender","setCalendarFocus","setDisableDays","days","triggerIcChange","nextParsedValue","extractDateFromZuluDateTime","pasteZuluDateTime","dateValue","isNumeric","displayPastedValidation","previousInvalidDateTest","isPasteValidationDisplayed","render","hasCustomValidation","assistiveHint","renderHiddenInput","Host","onBlur","onFocus","for","slot","role","innerHTML","Clear","onClick","variant","divider","Calendar","status","message"],"sources":["src/components/ic-date-input/ic-date-input.css?tag=ic-date-input&encapsulation=shadow","src/components/ic-date-input/ic-date-input.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --ic-input-label-helpertext-padding: var(--ic-space-xxs);\n --input-bg-color: var(--ic-date-input-bg);\n --ic-input-label-text-color: var(--ic-date-input-label);\n --ic-input-label-helper-text-color: var(--ic-date-input-subtitle);\n --border-color: var(--ic-date-input-border);\n --border-color-disabled: var(--ic-date-input-border-disabled);\n --border-color-hover: var(--ic-date-input-border-default-hover);\n --border-color-pressed: var(--ic-date-input-border-default-pressed);\n --border-error-color: var(--ic-date-input-border-error);\n --border-error-color-hover: var(--ic-date-input-border-error-hover);\n --border-error-color-pressed: var(--ic-date-input-border-error-pressed);\n --border-success-color: var(--ic-date-input-border-success);\n --border-success-color-hover: var(--ic-date-input-border-success-hover);\n --border-success-color-pressed: var(--ic-date-input-border-success-pressed);\n --border-warning-color: var(--ic-date-input-border-warning);\n --border-warning-color-hover: var(--ic-date-input-border-warning-hover);\n --border-warning-color-pressed: var(--ic-date-input-border-warning-pressed);\n}\n\n:host(.ic-date-input-disabled) {\n --ic-input-label-text-color: var(--ic-date-input-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-date-input-subtitle-disabled);\n}\n\ninput {\n border: 0;\n height: 100%;\n padding: 0;\n outline: none;\n background: none;\n -moz-appearance: textfield;\n appearance: textfield;\n color: var(--ic-date-input-text-filled);\n caret-color: var(--ic-date-input-typing-cursor);\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n}\n\ninput:-webkit-autofill {\n box-shadow: 0 0 0 var(--ic-space-sm) var(--ic-color-background-primary) inset;\n -webkit-text-fill-color: var(--ic-date-input-text-filled) !important;\n}\n\ninput::placeholder {\n color: var(--ic-date-input-text-placeholder);\n}\n\nic-input-component-container {\n cursor: text;\n}\n\nic-input-component-container .focus-indicator {\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n align-items: center;\n}\n\n.date-inputs {\n color: var(--ic-date-input-text-placeholder);\n}\n\n.day-input {\n width: 1.438rem;\n}\n\n.month-input {\n width: 1.813rem;\n}\n\n.year-input,\n.year-input.fit-to-value {\n width: 2.313rem;\n}\n\n.fit-to-value {\n width: 1.25rem;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.input-container {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n}\n\n.action-buttons {\n display: flex;\n align-items: center;\n}\n\n.show-calendar-button-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.clear-button,\n.calendar-button {\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n margin: 0;\n}\n\n.clear-button.hidden {\n display: none;\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active,\n.calendar-button:active {\n background-color: var(--ic-color-focus-inner) !important;\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer) !important;\n border-radius: 0.25rem;\n}\n\n.calendar-button:focus,\n.calendar-button:active {\n --ic-button-tertiary-text-active: var(--ic-atoms-input-clear-button-focus);\n --ic-button-tertiary-text-hover-active: var(\n --ic-atoms-input-clear-button-focus\n );\n --ic-button-tertiary-text-pressed-active: var(\n --ic-atoms-input-clear-button-focus\n );\n}\n\n.clear-button:focus,\n.calendar-button:focus,\n.clear-button:active *,\n.calendar-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button svg {\n color: var(--ic-date-input-clear-icon);\n}\n\n.clear-button:focus svg {\n color: var(--ic-atoms-input-clear-button-focus);\n}\n\n.divider {\n margin: 0 var(--ic-space-xxs);\n width: var(--ic-space-1px);\n background-color: var(--ic-atoms-input-divider);\n border-radius: var(--ic-space-1px);\n}\n\n.divider.small {\n height: var(--ic-space-md);\n}\n\n.divider.medium {\n height: calc(var(--ic-space-sm) + var(--ic-space-xs));\n}\n\n.divider.large {\n height: var(--ic-space-lg);\n}\n\nic-input-validation {\n --ic-input-validation-status-text-color: var(--ic-date-input-status-text);\n --ic-input-validation-error: var(--ic-date-input-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-date-input-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-date-input-icon-success);\n}\n","/* eslint-disable react/jsx-no-bind */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Host,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcDateFormat,\n IcDateInputMonths,\n IcDayNames,\n IcWeekDays,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToDoubleDigits,\n createDate,\n dateMatches,\n extractDateFromZuluDateTime,\n isDateOrEpoch,\n splitStringDate,\n} from \"../../utils/date-helpers\";\nimport {\n addFormResetListener,\n getInputDescribedByText,\n isEmptyString,\n isNumeric,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n removeFormResetListener,\n renderHiddenInput,\n stringEnumToArray,\n} from \"../../utils/helpers\";\nimport Clear from \"../../assets/clear-icon.svg\";\nimport Calendar from \"../../assets/calendar.svg\";\n\nlet inputIds = 0;\n\n/**\n * @slot helper-text - Content is set as the helper text for the date input.\n */\n@Component({\n tag: \"ic-date-input\",\n styleUrl: \"ic-date-input.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DateInput {\n private DEFAULT_DATE_FORMAT: IcDateFormat = \"DD/MM/YYYY\";\n private ARIA_INVALID = \"aria-invalid\";\n private ARIA_LABEL = \"aria-label\";\n private ARIA_LABELLED_BY = \"aria-labelledby\";\n private assistiveHintId: string;\n private calendarButtonEl: HTMLIcButtonElement;\n private dayInputEl?: HTMLInputElement;\n private defaultHelperText: string;\n private EVENT_OBJECT_STRING = \"[object Event]\";\n private FIT_TO_VALUE = \"fit-to-value\";\n\n private initialValue = this.value;\n private inputCompContainerEl: HTMLIcInputComponentContainerElement;\n private INPUT_EVENT_OBJECT_STRING = \"[object InputEvent]\";\n private inputsInOrder: HTMLInputElement[] = [];\n\n private isAfterMax: boolean = false;\n private isBeforeMin: boolean = false;\n private isDateSetFromKeyboardEvent: boolean = false;\n private isDisabledDate: boolean = false;\n private isPasteValidationDisplayed: boolean;\n private isValidDay: boolean = true;\n private isValidMonth: boolean = true;\n private isValidDate: boolean = true;\n private isZuluTime: boolean = false;\n\n private KEYBOARD_EVENT_OBJECT_STRING = \"[object KeyboardEvent]\";\n private MAX_DAY = 31;\n private MAX_MONTH = 12;\n private monthInputEl?: HTMLInputElement;\n\n private preventAutoFormatting: boolean;\n private preventDayInput: boolean;\n private preventMonthInput: boolean;\n private preventYearInput: boolean;\n\n private previousInvalidDateTest: string;\n private previousSelectedDate: Date | null = null;\n\n private selectedDate: Date | null = null;\n private selectedDateInfoEl?: HTMLSpanElement;\n private screenReaderInfoId: string;\n private selectedDateInfoId: string;\n\n private yearInputEl?: HTMLInputElement;\n\n private externalSetDate: boolean = false;\n private clearInput: boolean = false;\n\n @Element() el: HTMLIcDateInputElement;\n\n @State() invalidDateText: string;\n @State() maxDate: Date;\n @State() minDate: Date;\n @State() calendarFocused: boolean = false;\n @State() clearButtonFocused: boolean = false;\n @State() removeLabelledBy: boolean = false;\n\n @State() day: string = \"\";\n @State() month: string = \"\";\n @State() year: string = \"\";\n\n @Watch(\"day\")\n @Watch(\"month\")\n @Watch(\"year\")\n watchInputHandler(): void {\n if (\n this.emitDatePartChange &&\n !this.externalSetDate &&\n !this.clearInput &&\n !(this.day && this.month && this.year) &&\n this.selectedDate === null\n ) {\n this.emitIcChange(this.selectedDate);\n }\n }\n\n /**\n * The format in which the date will be displayed.\n */\n @Prop() dateFormat: IcDateFormat = this.DEFAULT_DATE_FORMAT;\n /**\n * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitDatePartChange?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The days of the week to disable.\n */\n @Prop({ mutable: true }) disableDays: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is set and a disabled date is entered.\n */\n @Prop() disableDaysMessage: string =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\n\n /**\n * If `true`, dates in the future are not allowed. A validation message will appear if a date in the future is entered.\n */\n @Prop() disableFuture?: boolean = false;\n\n @Watch(\"disableFuture\")\n watchDisableFutureHandler(): void {\n this.watchMaxHandler();\n }\n\n /**\n * The text to display as the validation message when `disableFuture` is true and a date in the future is entered.\n */\n @Prop() disableFutureMessage: string =\n \"Dates in the future are not allowed. Please select a date in the past.\";\n\n /**\n * If `true`, dates in the past are not allowed. A validation message will appear if a date in the past is entered.\n */\n @Prop() disablePast?: boolean = false;\n\n @Watch(\"disablePast\")\n watchDisablePastHandler(): void {\n this.watchMinHandler();\n }\n\n /**\n * The text to display as the validation message when `disablePast` is true and a date in the past is entered.\n */\n @Prop() disablePastMessage: string =\n \"Dates in the past are not allowed. Please select a date in the future.\";\n\n /**\n * The helper text that will be displayed for additional field guidance. This will default to the text \"Use format\" along with the `dateFormat` value.\n */\n @Prop({ mutable: true }) helperText: string | null;\n\n /**\n * If `true`, the helper text will be visually hidden, but still read out by screenreaders.\n */\n @Prop() hideHelperText: boolean = false;\n\n /**\n * If `true`, the label will be visually hidden, but will still be read out by screen readers.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId: string = `ic-date-input-${inputIds++}`;\n\n /**\n * The text to display as the validation message when an invalid date is entered.\n */\n @Prop() invalidDateMessage: string = \"Please enter a valid date.\";\n\n /**\n * The label for the date input.\n */\n @Prop() label!: string;\n\n /**\n * 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.\n * The value of this prop is ignored if `disableFuture` is set to `true`.\n */\n @Prop() max: string | Date = \"\";\n\n @Watch(\"max\")\n watchMaxHandler(): void {\n if (this.disableFuture) {\n this.maxDate = new Date();\n } else {\n this.maxDate = createDate(this.max, this.dateFormat);\n }\n }\n\n /**\n * 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.\n * The value of this prop is ignored if `disablePast` is set to `true`.\n */\n @Prop() min: string | Date = \"\";\n\n @Watch(\"min\")\n watchMinHandler(): void {\n if (this.disablePast) {\n this.minDate = new Date();\n } else {\n this.minDate = createDate(this.min, this.dateFormat);\n }\n }\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n\n @Watch(\"required\")\n watchRequiredHandler(): void {\n // Prevent asterisk being read out after the label by screen reader (by applying aria-hidden)\n // Needed because label is included in 'aria-labelledby' instead of using 'aria-label'\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n if (this.required) {\n const asteriskSpan = document.createElement(\"span\");\n asteriskSpan.setAttribute(\"id\", \"asterisk-span\");\n asteriskSpan.setAttribute(\"aria-hidden\", \"true\");\n asteriskSpan.textContent = \" *\";\n labelEl?.appendChild(asteriskSpan);\n } else {\n const asteriskSpan = this.el.shadowRoot?.querySelector(\"#asterisk-span\");\n if (asteriskSpan) {\n asteriskSpan.remove();\n }\n }\n }\n\n /**\n * @internal If `true`, a button which displays the calendar view when clicked will be displayed.\n */\n @Prop() showCalendarButton?: boolean = false;\n\n /**\n * If `true`, a button which clears the date input when clicked will be displayed.\n */\n @Prop() showClearButton?: boolean = true;\n\n /**\n * The size of the date input to be displayed.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * Sets the date picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value of the date input. 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.\n */\n @Prop({ mutable: true }) value?: string | Date | null | undefined = \"\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop({ mutable: true }) validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message. This will override the built-in date validation.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * @internal Emitted when the calendar is opened.\n */\n @Event() calendarButtonClicked: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the input loses focus.\n */\n @Event() icBlur: EventEmitter<{ value: Date | null }>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{\n value: Date | null;\n dateObject: {\n day: string | null;\n month: string | null;\n year: string | null;\n };\n utcValue: Date | null;\n }>;\n\n /**\n * Emitted when the input gains focus.\n */\n @Event() icFocus: EventEmitter<{ value: Date | null }>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.defaultHelperText = `Use format ${this.dateFormat}`;\n\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n\n this.watchMinHandler();\n this.watchMaxHandler();\n\n if (this.value) {\n this.externalSetDate = true;\n this.setDate(this.value);\n }\n\n this.screenReaderInfoId = `${this.inputId}-screen-reader-info`;\n this.assistiveHintId = `${this.inputId}-assistive-hint`;\n this.selectedDateInfoId = `${this.inputId}-selected-date-info`;\n\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.setInputsInOrder();\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Input\"\n );\n\n if (this.value) {\n this.updateInputValues(this.day, this.month, this.year);\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n\n if (this.value) {\n this.notifyScreenReaderSelectedDate();\n }\n\n this.inputsInOrder.forEach((input) => {\n input.addEventListener(\"input\", this.handleInput);\n input.addEventListener(\"focus\", this.handleFocus);\n input.addEventListener(\"blur\", this.handleBlur);\n });\n\n this.watchRequiredHandler();\n }\n\n componentWillUpdate(): void {\n if (isEmptyString(this.helperText))\n this.helperText = this.defaultHelperText;\n\n if (!this.isDateSetFromKeyboardEvent) this.setDate(this.value);\n\n this.setAriaInvalid(\n this.isValidDay,\n this.isValidMonth,\n this.isValidDate,\n this.isDisabledDate\n );\n this.handleDateChange(false);\n this.isDateSetFromKeyboardEvent = false;\n }\n\n componentDidRender(): void {\n if (this.removeLabelledBy) {\n this.removeAriaLabelledBy();\n return;\n }\n\n this.setAriaLabelledBy();\n }\n\n /**\n * Returns the value as a Date object\n * @returns Date\n */\n @Method()\n async getDate(): Promise<Date | null> {\n return this.selectedDate;\n }\n\n /**\n * @internal Sets focus on the calendar button.\n */\n @Method()\n async setCalendarFocus(): Promise<void> {\n if (this.calendarButtonEl) {\n this.calendarButtonEl.focus();\n }\n }\n\n /**\n * @internal Used to pass disabledDays from parent component.\n */\n @Method()\n async setDisableDays(days: IcWeekDays[]): Promise<void> {\n this.disableDays = days;\n }\n\n /**\n * @internal Used to enable other components to invoke an IcChange event from the input.\n */\n @Method()\n async triggerIcChange(d: Date | null): Promise<void> {\n this.externalSetDate = true;\n this.setDate(d);\n this.emitIcChange(d);\n this.externalSetDate = false;\n }\n\n private setInputPasteValue = (\n input: EventTarget | null,\n pastedValue: string\n ) => {\n if (input) {\n const inputEl = input as HTMLInputElement;\n\n inputEl.value = pastedValue;\n inputEl.classList.add(this.FIT_TO_VALUE);\n }\n };\n\n private checkSingleCopiedValueIsValid = (\n input: EventTarget | null,\n pastedValue: string\n ) => {\n let isValid = false;\n const value = Number(pastedValue);\n\n switch (input) {\n case this.dayInputEl:\n isValid = value >= 1 && value <= this.MAX_DAY;\n break;\n case this.monthInputEl:\n isValid = value >= 1 && value <= this.MAX_MONTH;\n break;\n case this.yearInputEl:\n isValid = true;\n break;\n }\n\n return isValid;\n };\n\n /**\n * Using Object.prototype.string to determine type if event from user\n * @param event - event object used to differentiate keyboard, generic or input event\n * @returns boolean\n */\n private isKeyboardOrEvent = (event: Event) => {\n return (\n Object.prototype.toString.call(event) === this.EVENT_OBJECT_STRING ||\n Object.prototype.toString.call(event) ===\n this.KEYBOARD_EVENT_OBJECT_STRING\n );\n };\n\n private setDateValidity = () => {\n if (!isEmptyString(this.day)) {\n this.isValidDay = +this.day > this.MAX_DAY ? false : true;\n } else {\n this.isValidDay = true;\n }\n\n if (!isEmptyString(this.month)) {\n this.isValidMonth = +this.month > this.MAX_MONTH ? false : true;\n } else {\n this.isValidMonth = true;\n }\n };\n\n private handleInput = (event: Event) => {\n const inputEvent = event as InputEvent;\n const input = event.target as HTMLInputElement;\n\n if (input !== this.yearInputEl) {\n // Only auto-format if input event is not a character being deleted\n // and not as user is changing value using up / down keys\n if (\n inputEvent.inputType !== \"deleteContentBackward\" &&\n !this.preventAutoFormatting\n ) {\n if (\n input.value.length === 1 &&\n ((input === this.dayInputEl && +input.value >= 4) ||\n (input === this.monthInputEl && +input.value >= 2)) &&\n +input.value <= 9\n ) {\n this.setInputValue(input);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n }\n\n if (input.value.length === 2) {\n if (+input.value === 0) {\n input.value = \"01\";\n }\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.notifyScreenReader(input, event);\n this.moveToNextInput(input);\n } else {\n this.setPreventInput(input, false);\n }\n } else if (this.preventAutoFormatting) {\n /**\n * Using arrow keys prevents auto formatting so need to deal with\n * switching from arrow keys to inputting numbers\n **/\n if (input.value.length === 2 && !this.isKeyboardOrEvent(event)) {\n this.setInputValue(input);\n this.setPreventInput(input, true);\n this.moveToNextInput(input);\n } else {\n this.setInputValue(input);\n }\n }\n\n if (input.value.length !== 2) {\n this.setPreventInput(input, false);\n }\n } else {\n if (input.value.length === 4) {\n this.setInputValue(input);\n if (\n Object.prototype.toString.call(event) !== this.EVENT_OBJECT_STRING\n ) {\n this.moveToNextInput(input);\n }\n this.setPreventInput(input, true);\n } else {\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n }\n }\n\n // Add / remove class to make input width match size of value i.e. 2 digits' width for day / month, 4 for year\n this.setFitToValueStyling(input);\n\n if (input.value.length === 0) {\n this.setInputValue(input, true);\n this.setValidationMessage();\n }\n\n this.notifyScreenReader(input, event);\n };\n\n private handleKeyDown = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const input = event.target as HTMLInputElement;\n\n const eventKey = event.key?.toLowerCase();\n // Regex required due to FF allowing all characters as values for number text field.\n const regex =\n /-?\\d*\\.?\\d+(e[-+]?\\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;\n if (\n !regex.test(eventKey) &&\n !(\n (event.ctrlKey || event.metaKey) &&\n (eventKey === \"v\" || eventKey === \"c\")\n )\n ) {\n event.preventDefault();\n }\n\n switch (eventKey) {\n case \"/\":\n case \"-\":\n case \".\":\n event.preventDefault();\n this.setPasteInvalidText();\n this.moveToNextInput(input);\n break;\n case \"arrowright\":\n case \"arrowleft\":\n event.preventDefault();\n this.handleLeftRightArrowKeyPress(input, eventKey);\n break;\n case \"arrowup\":\n case \"arrowdown\":\n this.preventAutoFormatting = true;\n this.handleUpDownArrowKeyPress(input, event);\n break;\n case \"backspace\":\n if (input.value.length === 0) {\n event.preventDefault();\n this.moveToPreviousInput(input);\n }\n break;\n default:\n break;\n }\n\n this.preventInput(event, isInputPrevented);\n this.isDateSetFromKeyboardEvent = true;\n };\n\n private handleFocus = (event: FocusEvent) => {\n // Highlight / select all characters in input for easy replacement\n const input = event.target as HTMLInputElement;\n\n input.select();\n };\n\n private handleBlur = (event: FocusEvent) => {\n const input = event.target;\n if (input) {\n this.setPasteInvalidText();\n this.autocompleteInput(input as HTMLInputElement);\n }\n };\n\n private handleLeftRightArrowKeyPress = (\n input: HTMLInputElement,\n key: string\n ) => {\n if (key === \"arrowright\") {\n this.moveToNextInput(input);\n } else {\n this.moveToPreviousInput(input);\n }\n\n this.setPasteInvalidText();\n };\n\n private notifyScreenReaderSelectedDate = () => {\n if (this.selectedDate && this.selectedDateInfoEl) {\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n\n this.selectedDateInfoEl.textContent = `Selected date: ${\n dayNames[this.selectedDate.getDay()]\n }, ${this.selectedDate.getDate()} ${\n months[this.selectedDate.getMonth()]\n } ${this.selectedDate.getFullYear()}`;\n }\n };\n\n private handleUpDownArrowKeyPress = (\n input: HTMLInputElement,\n event: KeyboardEvent\n ) => {\n const minValue = input === this.yearInputEl ? 0 : 1;\n\n let maxValue = 9999;\n\n switch (input) {\n case this.dayInputEl:\n maxValue = this.MAX_DAY;\n break;\n case this.monthInputEl:\n maxValue = this.MAX_MONTH;\n break;\n case this.yearInputEl:\n maxValue = 9999;\n }\n\n // Make value loop round when min / max reached\n if (input?.value) {\n if (event.key === \"ArrowUp\") {\n if (+input.value === maxValue) {\n event.preventDefault();\n input.value = `0${minValue}`;\n } else {\n input.value =\n +input.value + 1 < 10\n ? `0${+input.value + 1}`\n : (+input.value + 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n\n if (event.key === \"ArrowDown\") {\n if (+input.value === minValue) {\n event.preventDefault();\n input.value = maxValue.toString();\n } else {\n input.value =\n +input.value - 1 < 10\n ? `0${+input.value - 1}`\n : (+input.value - 1).toString();\n }\n this.notifyScreenReader(input, event);\n }\n } else {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n input.value =\n input === this.yearInputEl\n ? new Date().getFullYear().toString()\n : maxValue.toString();\n this.notifyScreenReader(input, event);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n input.value =\n input === this.yearInputEl\n ? new Date().getFullYear().toString()\n : `0${minValue}`;\n this.notifyScreenReader(input, event);\n }\n }\n\n this.setInputValue(input);\n this.setFitToValueStyling(input);\n };\n\n private handleDateChange = (force: boolean) => {\n // Prevent icChange being emitted when each individual input is changed\n // This method is used within componentWillUpdate instead of using @Watch('value');\n if (force || !dateMatches(this.selectedDate, this.previousSelectedDate)) {\n if (this.value) {\n this.inputsInOrder.forEach((input) => {\n input.classList.add(this.FIT_TO_VALUE);\n });\n }\n if (this.day && this.month && this.year && this.invalidDateText === \"\") {\n this.setValueAndEmitChange(this.selectedDate);\n this.notifyScreenReaderSelectedDate();\n } else if (\n !(this.selectedDate === null && this.previousSelectedDate === null) &&\n this.selectedDateInfoEl\n ) {\n this.setValueAndEmitChange(null);\n this.selectedDateInfoEl.textContent = \"\";\n }\n this.previousSelectedDate = this.selectedDate;\n\n if (!this.isDateSetFromKeyboardEvent) {\n this.updateInputValues(this.day, this.month, this.year);\n }\n }\n };\n\n private slicePastedDate = (valueLength: number, datePart: string): string => {\n return datePart.length > valueLength\n ? datePart.slice(0, valueLength)\n : datePart;\n };\n\n private isPastedStringDateValid = (value: string) => {\n if (\n /\\d+-\\d+-\\d+$/.test(value) ||\n /\\d+\\/\\d+\\/\\d+/.test(value) ||\n /\\d+\\.\\d+\\.\\d+/.test(value)\n ) {\n return true;\n }\n\n if (\n /[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\\.\\d+)?)?Z/.test(\n value\n )\n ) {\n this.isZuluTime = true;\n return true;\n }\n\n return false;\n };\n\n // Set value of each input to value of pasted date part\n // Allows formats separated by '-' or '/'\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n\n const pastedValue = event.clipboardData?.getData(\"Text\") || \"\";\n const isValidDate = this.isPastedStringDateValid(pastedValue);\n\n this.setPastedValueAndValidation(isValidDate, pastedValue, event);\n };\n\n private setDate = (date?: string | Date | null) => {\n if (date === null || date === \"\" || date === undefined) {\n if (this.day) this.day = \"\";\n if (this.month) this.month = \"\";\n if (this.year) this.year = \"\";\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setPreventInput(input, false);\n });\n this.handleDateChange(true);\n } else {\n if (isDateOrEpoch(date)) {\n let newDate;\n if (typeof date === \"string\") {\n // Checking if epoch date time\n newDate = new Date(+date);\n } else {\n newDate = date;\n }\n\n this.day = convertToDoubleDigits(newDate.getDate());\n this.month = convertToDoubleDigits(newDate.getMonth() + 1);\n this.year = newDate.getFullYear().toString();\n } else if (typeof date === \"string\") {\n const defaultDateArray = splitStringDate(date, this.dateFormat);\n this.selectedDate = new Date(\n Number(defaultDateArray[0]),\n Number(defaultDateArray[1]) - 1,\n Number(defaultDateArray[2])\n );\n this.year = defaultDateArray[0];\n this.month = defaultDateArray[1];\n this.day = defaultDateArray[2];\n this.setValueAndEmitChange(this.selectedDate);\n }\n }\n\n this.setValidationMessage();\n };\n\n private formatMinMax = (date: Date) => {\n let formattedDate;\n\n const day = convertToDoubleDigits(date.getDate());\n const month = convertToDoubleDigits(date.getMonth() + 1);\n const year = date.getFullYear();\n\n switch (this.dateFormat) {\n case this.DEFAULT_DATE_FORMAT:\n formattedDate = `${day}/${month}/${year}`;\n break;\n case \"MM/DD/YYYY\":\n formattedDate = `${month}/${day}/${year}`;\n break;\n case \"YYYY/MM/DD\":\n formattedDate = `${year}/${month}/${day}`;\n break;\n default:\n break;\n }\n return formattedDate;\n };\n private updateInputValues = (day: string, month: string, year: string) => {\n if (this.dayInputEl && this.monthInputEl && this.yearInputEl) {\n this.dayInputEl.value = day;\n this.monthInputEl.value = month;\n this.yearInputEl.value = year;\n }\n };\n\n // Set value in state based on input\n private setInputValue = (input: HTMLInputElement, clear = false) => {\n const newValue = clear ? \"\" : input.value;\n\n switch (input) {\n case this.dayInputEl:\n this.day = newValue;\n break;\n case this.monthInputEl:\n this.month = newValue;\n break;\n case this.yearInputEl:\n if (this.year !== newValue) {\n this.year = newValue;\n }\n }\n\n this.setValidationMessage();\n };\n\n private setValidationMessage = () => {\n this.setDateValidity();\n\n if (\n !isEmptyString(this.day) &&\n !isEmptyString(this.month) &&\n !isEmptyString(this.year)\n ) {\n // Check whether date actually exists\n // (used https://www.hectane.com/blog/javascript-date-validation-with-leap-year)\n this.selectedDate = this.convertToDate(this.year, this.month, this.day);\n this.isValidDate =\n !!this.selectedDate &&\n +this.selectedDate !== 0 &&\n this.selectedDate.getDate() == +this.day;\n this.isDisabledDate = this.isSelectedDateDisabled();\n\n if (!this.isValidDate || this.isDisabledDate) {\n this.inputsInOrder.forEach((input) =>\n input.setAttribute(this.ARIA_INVALID, \"true\")\n );\n } else {\n this.inputsInOrder.forEach((input) =>\n input.removeAttribute(this.ARIA_INVALID)\n );\n }\n } else {\n this.selectedDate = null;\n }\n\n if (!(this.isValidDay && this.isValidMonth && this.isValidDate)) {\n this.invalidDateText = this.invalidDateMessage;\n } else if (this.isDisabledDate && this.selectedDate !== null) {\n if (this.isBeforeMin) {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n } else {\n this.invalidDateText = `Please enter a date after ${this.formatMinMax(\n this.minDate\n )}.`;\n }\n } else if (this.isAfterMax) {\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n } else {\n this.invalidDateText = `Please enter a date before ${this.formatMinMax(\n this.maxDate\n )}.`;\n }\n } else if (this.disableDays.length !== 0) {\n this.invalidDateText = this.disableDaysMessage;\n } else {\n if (this.disablePast) {\n this.invalidDateText = this.disablePastMessage;\n }\n if (this.disableFuture) {\n this.invalidDateText = this.disableFutureMessage;\n }\n }\n } else {\n this.invalidDateText = \"\";\n }\n };\n\n // Set refs to the input elements in the order they are displayed (based on the dateFormat)\n private setInputsInOrder = () => {\n this.el.shadowRoot\n ?.querySelectorAll(\"input\")\n .forEach((input) => this.inputsInOrder.push(input));\n };\n\n // Includes text usually added using aria-describedby\n // (which doesn't work on input component container)\n private setAriaLabelledBy = () => {\n if (\n this.disabled &&\n !isEmptyString(\n this.inputCompContainerEl?.getAttribute(this.ARIA_LABELLED_BY)\n )\n ) {\n this.removeAriaLabelledBy();\n return;\n }\n\n if (this.disabled) {\n return;\n }\n\n const labelEl = this.el.shadowRoot?.querySelector(\"label\");\n const labelId = `${this.inputId}-label`;\n\n if (labelEl !== null && labelEl !== undefined) {\n labelEl.id = labelId;\n }\n\n const hasValidation =\n !isEmptyString(this.validationStatus) ||\n !isEmptyString(this.invalidDateText);\n\n const labelledBy = `${labelEl?.id ?? \"\"} ${\n this.screenReaderInfoId\n } ${getInputDescribedByText(\n this.el,\n this.inputId,\n this.helperText !== \"\" && this.helperText !== this.defaultHelperText,\n hasValidation\n )} ${this.selectedDate ? this.selectedDateInfoId : \"\"} ${\n this.assistiveHintId\n }`;\n\n this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY, labelledBy);\n };\n\n // Sets boolean for each input, used to limit the number of characters within each field (2 for day / month, 4 for year)\n private setPreventInput = (input: HTMLInputElement, isPrevented: boolean) => {\n switch (input) {\n case this.dayInputEl:\n this.preventDayInput = isPrevented;\n break;\n case this.monthInputEl:\n this.preventMonthInput = isPrevented;\n break;\n case this.yearInputEl:\n this.preventYearInput = isPrevented;\n }\n };\n\n // Get input based on letter representing each date part (\"D\", \"M\" or \"Y\")\n // (retrieved from dateFormat)\n private getInputFromDatePart = (datePart: string) => {\n const dayInput = (\n <input\n class=\"day-input\"\n id=\"day-input\"\n ref={(el) => (this.dayInputEl = el)}\n aria-label=\"day\"\n placeholder=\"DD\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventDayInput)}\n ></input>\n );\n\n const monthInput = (\n <input\n id=\"month-input\"\n class=\"month-input\"\n ref={(el) => (this.monthInputEl = el)}\n aria-label=\"month\"\n placeholder=\"MM\"\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventMonthInput)}\n ></input>\n );\n\n const yearInput = (\n <input\n id=\"year-input\"\n class=\"year-input\"\n ref={(el) => (this.yearInputEl = el)}\n aria-label=\"year\"\n placeholder=\"YYYY\"\n maxLength={4}\n disabled={this.disabled}\n onPaste={this.handlePaste}\n inputmode=\"number\"\n pattern=\"[0-9]*\"\n onKeyDown={(event) => this.handleKeyDown(event, this.preventYearInput)}\n ></input>\n );\n\n let input;\n\n switch (datePart) {\n case \"D\":\n input = dayInput;\n break;\n case \"M\":\n input = monthInput;\n break;\n case \"Y\":\n input = yearInput;\n }\n\n return input;\n };\n\n // Get input elements in order of chosen date format\n private getInputsInOrder = () => {\n const dateParts = this.dateFormat.split(\"/\");\n\n const inputsInOrder: HTMLInputElement[] = [];\n\n dateParts.forEach((part: string) => {\n inputsInOrder.push(this.getInputFromDatePart(part.substring(0, 1)));\n });\n\n return inputsInOrder;\n };\n\n // To add to the end of assistive hint to make it clearer that each date part has its own input\n // that can be changed individually\n private getDescOfInputsOrder = () => {\n let description;\n\n switch (this.dateFormat) {\n case this.DEFAULT_DATE_FORMAT:\n description = \"day, month, and year\";\n break;\n case \"MM/DD/YYYY\":\n description = \"month, day, and year\";\n break;\n case \"YYYY/MM/DD\":\n description = \"year, month, and day\";\n }\n\n return description;\n };\n\n // Add 'required' or 'invalid data' to span used in aria-labelledby\n // Many ARIA attributes aren't read out by screen reader when on the input component container\n private getScreenReaderInfo = (validationStatus: string) => {\n let inputDescriptors = \"\";\n\n if (this.required) {\n inputDescriptors += \"required\";\n }\n\n if (validationStatus === IcInformationStatus.Error) {\n inputDescriptors += \" invalid data\";\n }\n\n return inputDescriptors === \"\" ? \"\" : inputDescriptors + \", \";\n };\n\n // Prevent non-number characters being entered\n // ('e' or '.' - which are usually allowed in <input type=\"number\">)\n // And limit the number of characters within each field (2 for day / month, 4 for year)\n // (because 'maxlength' doesn't work on <input type=\"number\">)\n private preventInput = (event: KeyboardEvent, isInputPrevented: boolean) => {\n const key = event.key;\n const input = event.target as HTMLInputElement;\n let selectedString;\n\n if (input) {\n selectedString = input.value.substring(\n input.selectionStart || 0,\n input.selectionEnd || undefined\n );\n }\n\n if (\n key === \"e\" ||\n key === \".\" ||\n key === \"-\" ||\n (event.key >= \"0\" &&\n event.key <= \"9\" &&\n isInputPrevented &&\n !selectedString)\n ) {\n event.preventDefault();\n }\n };\n\n /**\n * Get whether date has been disabled using disableFuture or disablePast prop, but always allow current day\n * Consider using dateClamp and inDateRange\n * @returns `boolean`\n */\n private isSelectedDateDisabled = () => {\n if (!this.selectedDate) return false;\n\n const currentDate = new Date();\n const isNotToday =\n this.selectedDate.toDateString() !== currentDate.toDateString();\n\n this.isAfterMax =\n this.maxDate && this.selectedDate > this.maxDate && isNotToday;\n this.isBeforeMin =\n this.minDate && this.selectedDate < this.minDate && isNotToday;\n\n return (\n this.isAfterMax ||\n this.isBeforeMin ||\n this.disableDays.includes(this.selectedDate.getDay()) ||\n (((!!this.disablePast && this.selectedDate < currentDate) ||\n (!!this.disableFuture && this.selectedDate > currentDate)) &&\n isNotToday)\n );\n };\n\n private moveToNextInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) + 1\n ]?.focus();\n };\n\n private moveToPreviousInput = (currentInput: HTMLInputElement) => {\n this.preventAutoFormatting = false;\n\n this.inputsInOrder[\n this.inputsInOrder.findIndex((input) => input === currentInput) - 1\n ]?.focus();\n };\n\n private autocompleteInput = (input: HTMLInputElement) => {\n const inputValue = input.value;\n if (this.yearInputEl && input === this.yearInputEl) {\n // Autocomplete year as current millennium when fewer than 4 characters entered\n const yearNumbers = [\"2\", \"0\", \"0\"];\n\n let autocompletedInput = \"\";\n\n if (inputValue) {\n yearNumbers.forEach((number, index) => {\n if (inputValue.length + index <= 3) {\n autocompletedInput += number;\n }\n });\n\n this.yearInputEl.value = `${autocompletedInput}${inputValue}`;\n }\n } else if (inputValue.length === 1) {\n // Autocomplete input as 2 characters (leading zero) when only 1 character entered (for day and month)\n input.value = +inputValue === 0 ? \"01\" : `0${inputValue}`;\n }\n\n if (input.value) {\n this.setInputValue(input);\n }\n };\n\n private convertToDate = (\n year: string,\n month: string,\n day: string\n ): Date | null => {\n if (!isEmptyString(year) && !isEmptyString(month) && !isEmptyString(day)) {\n return new Date(+year, +month - 1, +day);\n } else {\n return null;\n }\n };\n\n private handleHostBlur = () => {\n this.removeLabelledBy = false;\n this.icBlur.emit({ value: this.selectedDate });\n };\n\n private handleHostFocus = () => {\n if (\n this.el.shadowRoot?.activeElement?.id.match(/(day|month|year)-input$/)\n ) {\n this.removeLabelledBy = false;\n } else {\n this.removeLabelledBy = true;\n }\n this.icFocus.emit({ value: this.selectedDate });\n };\n\n private handleFormReset = () => {\n // Get the initial value and populate day, month and year again.\n this.setDate(this.initialValue);\n this.setValidationMessage();\n this.handleDateChange(false);\n };\n\n private getAriaLabel = (input: HTMLInputElement) =>\n input.getAttribute(this.ARIA_LABEL);\n\n private notifyScreenReaderArrowKeys = (input: HTMLInputElement) => {\n const liveRegion = this.el.shadowRoot?.querySelector(\"#live-region\");\n const ariaLabel = this.getAriaLabel(input);\n\n if (liveRegion && input.value && ariaLabel) {\n let announcement = \"\";\n\n if (\n input === this.monthInputEl &&\n !!IcDateInputMonths[+input.value - 1]\n ) {\n announcement = `${input.value} - ${\n IcDateInputMonths[+input.value - 1]\n }, ${ariaLabel}`;\n }\n\n if (input === this.dayInputEl || input === this.yearInputEl) {\n announcement = `${input.value}, ${ariaLabel}`;\n }\n\n liveRegion.textContent = announcement;\n }\n };\n\n private removeAriaLabelledBy() {\n this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY);\n }\n\n private setPastedValueAndValidation(\n isValidDate: boolean,\n pastedValue: string,\n event: ClipboardEvent\n ) {\n switch (true) {\n case isValidDate: {\n const nextParsedValue = this.isZuluTime\n ? extractDateFromZuluDateTime(pastedValue)\n : pastedValue;\n const dateParts = nextParsedValue.split(/-|\\/|\\./);\n this.inputsInOrder.forEach((input, index) => {\n input.classList.add(this.FIT_TO_VALUE);\n\n if (this.isZuluTime) {\n this.pasteZuluDateTime(dateParts, index);\n } else {\n let dateValue;\n\n if (input === this.dayInputEl || input === this.monthInputEl) {\n dateValue = this.slicePastedDate(2, dateParts[index]);\n } else {\n dateValue = this.slicePastedDate(4, dateParts[index]);\n }\n\n input.value = dateValue;\n\n this.setInputValue(input);\n this.autocompleteInput(input);\n }\n });\n this.isZuluTime = false;\n break;\n }\n\n case (pastedValue.length === 1 ||\n pastedValue.length === 2 ||\n pastedValue.length === 4) &&\n isNumeric(pastedValue):\n if (this.checkSingleCopiedValueIsValid(event.target, pastedValue)) {\n // Check if copied value can be pasted into input\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n } else {\n this.displayPastedValidation(event);\n }\n break;\n\n case pastedValue.length === 3 && isNumeric(pastedValue):\n if (event.target !== this.yearInputEl) {\n this.displayPastedValidation(event);\n } else {\n this.setInputPasteValue(event.target, pastedValue);\n this.setInputValue(event.target as HTMLInputElement);\n }\n break;\n\n case pastedValue.length >= 5 && isNumeric(pastedValue):\n this.displayPastedValidation(event);\n }\n }\n\n private pasteZuluDateTime(dateParts: string[], index: number) {\n // ['YYYY', 'MM', 'DD']\n if (index === 0 && this.yearInputEl) {\n const dateValue = this.slicePastedDate(4, dateParts[index]);\n this.yearInputEl.value = dateValue;\n this.setInputValue(this.yearInputEl);\n } else if (index === 1 && this.monthInputEl) {\n // The month value is the second item in the array\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.monthInputEl.value = dateValue;\n this.setInputValue(this.monthInputEl);\n } else if (this.dayInputEl) {\n const dateValue = this.slicePastedDate(2, dateParts[index]);\n this.dayInputEl.value = dateValue;\n this.setInputValue(this.dayInputEl);\n }\n }\n\n private displayPastedValidation(event: ClipboardEvent) {\n if (this.invalidDateText?.length > 0) {\n this.previousInvalidDateTest = this.invalidDateText;\n }\n\n this.invalidDateText = `Please paste a valid ${this.getAriaLabel(\n event.target as HTMLInputElement\n )}`;\n\n this.validationStatus = IcInformationStatus.Error;\n this.isPasteValidationDisplayed = true;\n }\n\n private setPasteInvalidText() {\n if (this.isPasteValidationDisplayed) {\n this.invalidDateText = this.previousInvalidDateTest ?? \"\";\n this.isPasteValidationDisplayed = false;\n\n // This is to prevent setDate from triggering within componentWillUpdate\n this.isDateSetFromKeyboardEvent = true;\n }\n }\n\n private notifyScreenReader(input: HTMLInputElement, event: Event) {\n const liveRegion = this.el.shadowRoot?.querySelector(\"#live-region\");\n\n if (liveRegion) {\n if (this.isKeyboardOrEvent(event)) {\n this.notifyScreenReaderArrowKeys(input);\n } else if (\n Object.prototype.toString.call(event) === this.INPUT_EVENT_OBJECT_STRING\n ) {\n this.notifyScreenReaderInput(input, liveRegion as HTMLElement);\n }\n }\n }\n\n private notifyScreenReaderInput = (\n input: HTMLInputElement,\n liveRegion: HTMLElement\n ) => {\n const ariaLabel = this.getAriaLabel(input);\n const value = input.value;\n\n if (ariaLabel && value) {\n let announcement = \"\";\n\n const monthValue = IcDateInputMonths[+value - 1];\n if (\n input === this.monthInputEl &&\n !!monthValue &&\n this.isValidMonth &&\n value.length === 2\n ) {\n announcement = `${value} - ${monthValue}`;\n } else if (\n (input === this.dayInputEl && this.isValidDay && value.length === 2) ||\n (input === this.yearInputEl && value.length === 4)\n ) {\n announcement = value;\n }\n\n liveRegion.textContent = `${announcement}, ${ariaLabel}`;\n }\n };\n\n private setFitToValueStyling = (input: HTMLInputElement) => {\n if (input.value) {\n input.classList.add(this.FIT_TO_VALUE);\n } else {\n input.classList.remove(this.FIT_TO_VALUE);\n }\n };\n\n private setAriaInvalid = (\n validDay: boolean,\n validMonth: boolean,\n validDate: boolean,\n disabledDate: boolean\n ) => {\n if (this.inputsInOrder.length) {\n this.inputsInOrder.forEach((input) => {\n input.removeAttribute(this.ARIA_INVALID);\n });\n\n if (!validDay) {\n this.dayInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validMonth) {\n this.monthInputEl?.setAttribute(this.ARIA_INVALID, \"true\");\n }\n\n if (!validDate || disabledDate) {\n this.inputsInOrder.forEach((input) => {\n input.setAttribute(this.ARIA_INVALID, \"true\");\n });\n }\n }\n };\n\n private handleClear = () => {\n this.clearInput = true;\n this.inputsInOrder.forEach((input) => {\n input.classList.remove(this.FIT_TO_VALUE);\n this.setInputValue(input, true);\n this.setPreventInput(input, false);\n });\n this.clearInput = false;\n this.isDateSetFromKeyboardEvent = false;\n this.setValidationMessage();\n this.handleDateChange(true);\n\n this.inputsInOrder[0].focus();\n };\n\n private handleCalendarOpen = (ev: MouseEvent) => {\n ev.stopImmediatePropagation();\n this.calendarButtonEl?.shadowRoot\n ?.querySelector(\"ic-tooltip\")\n ?.displayTooltip(false);\n this.calendarButtonClicked.emit({ value: this.selectedDate });\n this.calendarButtonEl?.shadowRoot\n ?.querySelector(\"ic-tooltip\")\n ?.displayTooltip(false);\n this.isDateSetFromKeyboardEvent = false;\n };\n\n private setValueAndEmitChange = (value: Date | null) => {\n if (!dateMatches(this.value ? new Date(this.value) : null, value)) {\n this.emitIcChange(value);\n this.value = value;\n }\n };\n\n private handleCalendarFocus = () => {\n this.calendarFocused = true;\n };\n\n private handleCalendarBlur = () => {\n this.calendarFocused = false;\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.clearButtonFocused = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n if ((ev.relatedTarget as HTMLElement)?.id.match(/(day|year)-input$/)) {\n this.removeLabelledBy = false;\n return;\n }\n\n this.removeLabelledBy = true;\n };\n\n private emitIcChange = (d: Date | null) => {\n this.selectedDate = d;\n if (\n !dateMatches(this.selectedDate, d) ||\n this.day !== null ||\n this.month !== null ||\n this.year !== null\n ) {\n let UTCDate = null;\n if (d !== null) {\n UTCDate = new Date(\n Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())\n );\n }\n this.icChange.emit({\n value: d,\n dateObject: {\n day: this.day === \"\" ? null : this.day,\n month: this.month === \"\" ? null : this.month,\n year: this.year === \"\" ? null : this.year,\n },\n utcValue: UTCDate,\n });\n }\n };\n\n render() {\n const {\n inputId,\n label,\n disabled,\n helperText,\n hideHelperText,\n hideLabel,\n showClearButton,\n showCalendarButton,\n size,\n theme,\n } = this;\n\n const hasCustomValidation = !isEmptyString(this.validationStatus);\n\n const validationStatus = hasCustomValidation\n ? this.validationStatus\n : !isEmptyString(this.invalidDateText)\n ? IcInformationStatus.Error\n : \"\";\n\n const assistiveHint = `Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;\n\n renderHiddenInput(\n true,\n this.el,\n this.name,\n this.convertToDate(this.year, this.month, this.day),\n this.disabled\n );\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-date-input-disabled`]: disabled,\n }}\n onBlur={this.handleHostBlur}\n onFocus={this.handleHostFocus}\n >\n <ic-input-container disabled={disabled}>\n {!(hideLabel && hideHelperText) && (\n <ic-input-label\n for={inputId}\n label={label}\n hideLabel={hideLabel}\n helperText={!hideHelperText ? helperText : \"\"}\n disabled={disabled}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <span id={this.screenReaderInfoId} class=\"sr-only\" aria-hidden=\"true\">\n {this.getScreenReaderInfo(validationStatus)}\n {hideLabel && `${label}\\n`}\n {hideHelperText && `${helperText}\\n`}\n {`${this.defaultHelperText}.`}\n </span>\n <span id={this.assistiveHintId} class=\"sr-only\" aria-hidden=\"true\">\n {assistiveHint}\n </span>\n <span id=\"live-region\" aria-live=\"assertive\" class=\"sr-only\"></span>\n <ic-input-component-container\n id={inputId}\n ref={(el: HTMLIcInputComponentContainerElement) =>\n (this.inputCompContainerEl = el)\n }\n disabled={disabled}\n validationStatus={validationStatus}\n size={size}\n role=\"group\"\n class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}\n >\n <div class=\"input-container\">\n <div class=\"date-inputs\">\n {this.getInputsInOrder()[0]}/{this.getInputsInOrder()[1]}/\n {this.getInputsInOrder()[2]}\n </div>\n <div class=\"action-buttons\">\n {showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear input\"\n class={{\n [\"clear-button\"]: true,\n [\"hidden\"]:\n isEmptyString(this.day) &&\n isEmptyString(this.month) &&\n isEmptyString(this.year),\n }}\n disabled={this.disabled}\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearFocus}\n onBlur={this.handleClearBlur}\n variant=\"icon-tertiary\"\n theme={this.clearButtonFocused ? \"light\" : \"dark\"}\n size={size}\n ></ic-button>\n )}\n {showCalendarButton && (\n <div class=\"show-calendar-button-wrapper\">\n <div class={{ divider: true, [size]: true }}></div>\n <ic-button\n id=\"calendar-button\"\n ref={(el: HTMLIcButtonElement) =>\n (this.calendarButtonEl = el)\n }\n aria-label=\"Display calendar\"\n aria-haspopup=\"dialog\"\n class=\"calendar-button\"\n disabled={this.disabled}\n innerHTML={Calendar}\n onClick={this.handleCalendarOpen}\n variant=\"icon-tertiary\"\n size={size}\n onFocus={this.handleCalendarFocus}\n onBlur={this.handleCalendarBlur}\n theme={this.calendarFocused ? \"light\" : \"dark\"}\n ></ic-button>\n </div>\n )}\n </div>\n </div>\n </ic-input-component-container>\n <span id={this.selectedDateInfoId} class=\"sr-only\" aria-live=\"polite\">\n <span\n ref={(el) => (this.selectedDateInfoEl = el)}\n role=\"status\"\n ></span>\n </span>\n {(hasCustomValidation || !isEmptyString(this.invalidDateText)) && (\n <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidDateText\n }\n for={inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,H as i,g as n}from"./p-8e4e97b4.js";import{g as a,s as o,i as r,b as c,a as s,d,I as h}from"./p-eca2fea1.js";const l='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-hero-background);--hero-heading-bottom-margin:var(--ic-space-md);--hero-keyline:var(--ic-hero-keyline)}:host(.ic-hero-dark){background-color:var(--ic-brand-color-secondary);--ic-hero-heading:var(--ic-color-text-primary-light);--ic-hero-body:var(--ic-color-text-primary-light);--ic-hero-secondary-heading:var(--ic-color-text-primary-light);--hero-keyline:var(--ic-brand-text-color)}.heading{--ic-typography-color:var(--ic-hero-heading)}.subheading{--ic-typography-color:var(--ic-hero-body)}.secondary-container{--ic-typography-color:var(--ic-hero-secondary-heading);display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--hero-keyline)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg);flex-wrap:wrap}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host(.has-right-content) .section-container{flex-wrap:wrap}:host(.has-right-content) .left-container{flex-basis:100%}:host(.has-right-content) .right-container{flex-basis:100%;margin-bottom:2.5rem}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:17.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:16.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const m=l;const g=class{constructor(t){e(this,t);this.hostMutationObserver=null;this.foregroundColor=a();this.rightContent=false;this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.scrollFactor="right -100px";this.aligned="left";this.contentAligned="left";this.disableBackgroundParallax=false;this.size="medium"}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.rightContent=o(this.el,"secondary")}componentDidLoad(){!r(this.el,"heading")&&c([{prop:this.heading,propName:"heading"}],"Hero");this.hostMutationObserver=new MutationObserver((e=>s(e,"secondary",this)));this.hostMutationObserver.observe(this.el,{childList:true})}componentWillRender(){this.rightContent=o(this.el,"secondary")}brandChangeHandler(e){this.foregroundColor=e.detail.mode}doScroll(){var e;if(this.disableBackgroundParallax){return}const t=(e=document.scrollingElement)===null||e===void 0?void 0:e.scrollTop;if(t){const e=.4;const i=-100+t*e;this.scrollFactor="right "+i+"px"}}render(){const{aligned:e,size:n,heading:a,subheading:o,secondaryHeading:r,secondarySubheading:c,foregroundColor:s,backgroundImage:l,scrollFactor:m}=this;let g={};if(d(l)){g={"background-image":"url("+l+")","background-position":m}}return t(i,{key:"3231afd5fd4dce03033cff51bf51071ca4fd5047",class:{[`ic-hero-${h.Dark}`]:s===h.Dark,["has-background-image"]:l!==undefined,["has-right-content"]:this.rightContent,["ic-hero-small"]:n==="small",["secondary-heading"]:!!r},style:g},t("ic-section-container",{key:"70ba24542ed24d67f517c35b35dc68e3cc1d0599",aligned:e,fullHeight:true,class:"section-container"},t("div",{key:"24161f2fc3452af40ae1ef17122f3c2813f9dc9f",class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{key:"ee424e3053f730be7dcca29df72e28101923fa98",class:"heading"},t("slot",{key:"c235855cf4509ad184a250783ad26ab5b1e8b2bf",name:"heading"},t("ic-typography",{key:"47c148b51800bb803609fc8b69698c20db1059a0",variant:n==="small"?"h2":"h1",class:{["heading-bottom-spacing"]:n!=="small"}},t("h2",{key:"18daae7363614098996b603558e2c5adfdd53c51"},a)))),t("div",{key:"e085d77d98ed6e62b595412544e28f00b9259daa",class:"subheading"},t("slot",{key:"6a4642853376745f93a166a85820a4043fb58d13",name:"subheading"},t("ic-typography",{key:"64cddae668b40585dd0285959b0b6bbd3d50a59b",variant:"body"},o))),t("div",{key:"1601aeb153b5a46a9ebd767e0685976be84683ca",class:"interaction-container"},t("slot",{key:"7585fd3d34ef5e907617795419777dd2372b5e72",name:"interaction"}))),(d(r)||this.rightContent)&&t("div",{key:"2e272e20bc9cc0cae93d96a6d9f714ab7b6b263b",class:"right-container"},t("slot",{key:"6d86d7dbb668b9f34b2a60bdb3f6d444149e52dc",name:"secondary"},r&&t("div",{key:"97a5dd02c6ccbf08ba89dea069d0f67bd2272b16",class:"secondary-container"},t("div",{key:"cb775d9ccc188403fc934923815cd35c6dd8be38",class:"secondary-heading"},t("ic-typography",{key:"08168a08c9c68b58a4e3cd6763a2e014ef2934da",variant:"h4"},t("h3",{key:"f3936a5faf6183d305354ca99cdea8a413b315eb"},r))),t("div",{key:"99a4f800156a29430ac6b4b082a22e88671f91ab",class:"secondary-subheading"},t("ic-typography",{key:"947bf3d89afc359b2d596e20cf863659e14b8528",variant:"subtitle-small"},c)))))))}get el(){return n(this)}};g.style=m;export{g as ic_hero};
2
- //# sourceMappingURL=p-16e78c1d.entry.js.map
1
+ import{r as e,h as t,H as i,g as n}from"./p-8e4e97b4.js";import{g as o,s as a,i as r,b as c,a as s,d,I as h}from"./p-13f52d7b.js";const l='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-hero-background);--hero-heading-bottom-margin:var(--ic-space-md);--hero-keyline:var(--ic-hero-keyline)}:host(.ic-hero-dark){background-color:var(--ic-brand-color-secondary);--ic-hero-heading:var(--ic-color-text-primary-light);--ic-hero-body:var(--ic-color-text-primary-light);--ic-hero-secondary-heading:var(--ic-color-text-primary-light);--hero-keyline:var(--ic-brand-text-color)}.heading{--ic-typography-color:var(--ic-hero-heading)}.subheading{--ic-typography-color:var(--ic-hero-body)}.secondary-container{--ic-typography-color:var(--ic-hero-secondary-heading);display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--hero-keyline)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg);flex-wrap:wrap}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host(.has-right-content) .section-container{flex-wrap:wrap}:host(.has-right-content) .left-container{flex-basis:100%}:host(.has-right-content) .right-container{flex-basis:100%;margin-bottom:2.5rem}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:17.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:16.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const m=l;const b=class{constructor(t){e(this,t);this.hostMutationObserver=null;this.foregroundColor=o();this.rightContent=false;this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.scrollFactor="right -100px";this.aligned="left";this.contentAligned="left";this.disableBackgroundParallax=false;this.size="medium"}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.rightContent=a(this.el,"secondary")}componentDidLoad(){!r(this.el,"heading")&&c([{prop:this.heading,propName:"heading"}],"Hero");this.hostMutationObserver=new MutationObserver((e=>s(e,"secondary",this)));this.hostMutationObserver.observe(this.el,{childList:true})}componentWillRender(){this.rightContent=a(this.el,"secondary")}brandChangeHandler(e){this.foregroundColor=e.detail.mode}doScroll(){var e;if(this.disableBackgroundParallax){return}const t=(e=document.scrollingElement)===null||e===void 0?void 0:e.scrollTop;if(t){const e=.4;const i=-100+t*e;this.scrollFactor="right "+i+"px"}}render(){const{aligned:e,size:n,heading:o,subheading:a,secondaryHeading:r,secondarySubheading:c,foregroundColor:s,backgroundImage:l,scrollFactor:m}=this;let b={};if(d(l)){b={"background-image":"url("+l+")","background-position":m}}return t(i,{key:"4c88b4471d3485baff1f6c55f859639feb3166d8",class:{[`ic-hero-${h.Dark}`]:s===h.Dark,["has-background-image"]:l!==undefined,["has-right-content"]:this.rightContent,["ic-hero-small"]:n==="small",["secondary-heading"]:!!r},style:b},t("ic-section-container",{key:"b68716e353d9b2767dc16a5f701e3cdcbd32c748",aligned:e,fullHeight:true,class:"section-container"},t("div",{key:"6dd6f422c0bd36725be4b41b42633aeebfa1911d",class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{key:"54ffef99b79eef5eedbf1571bff89270982b5671",class:"heading"},t("slot",{key:"6b7f71caecbaa84d1a39295e100aedef32d1d522",name:"heading"},t("ic-typography",{key:"841b429a53b8b72dd60017cb2b2404b826f5bbe8",variant:n==="small"?"h2":"h1",class:{["heading-bottom-spacing"]:n!=="small"}},t("h2",{key:"ee802d396bb8a5638f2ab8a62fddbf764436e20e"},o)))),t("div",{key:"9a051783a24c9a92fc0aeff2db50689befe4834e",class:"subheading"},t("slot",{key:"eb894eaeb4b4303be0caf090d85d487aa11284fb",name:"subheading"},t("ic-typography",{key:"92b4d9af6118e2ff9bf2b9166862067c610fffee",variant:"body"},a))),t("div",{key:"cacf81a4666eba19211493914e9b1af466e61478",class:"interaction-container"},t("slot",{key:"982fb4b528bea4c486d9c0df2cf47fb3ace19414",name:"interaction"}))),(d(r)||this.rightContent)&&t("div",{key:"32cd6196da302dd5d0896c90d53d1b35c060e31c",class:"right-container"},t("slot",{key:"655f0a9978d8402faab43e7e143987f2934255f6",name:"secondary"},r&&t("div",{key:"94de7e79fd9122b4084b57bf0b5b0571d77e7adc",class:"secondary-container"},t("div",{key:"afd414fd37f9b1c8fb6d9f2d7957314f35a1da40",class:"secondary-heading"},t("ic-typography",{key:"d643e471ec716d3e6f33ec7761027323ca31bc8c",variant:"h4"},t("h3",{key:"f6296bbd33d2ca70beb5100151cebfa8732206d0"},r))),t("div",{key:"0575ef33984c79674626d9f114ad90a3f973e63a",class:"secondary-subheading"},t("ic-typography",{key:"8045e445231e4cbbd07ad9fa21a7b6bbf5015eff",variant:"subtitle-small"},c)))))))}get el(){return n(this)}};b.style=m;export{b as ic_hero};
2
+ //# sourceMappingURL=p-4271e7f4.entry.js.map