@ukic/canary-web-components 3.0.0-canary.30 → 3.0.0-canary.32

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 (537) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/date-helpers-d7ee7b45.js.map +1 -1
  3. package/dist/cjs/{helpers-da852478.js → helpers-6f4b406b.js} +20 -20
  4. package/dist/cjs/helpers-6f4b406b.js.map +1 -0
  5. package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-calendar_2.cjs.entry.js +2354 -0
  8. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ic-card-horizontal.cjs.entry.js +6 -6
  10. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox_3.cjs.entry.js +48 -17
  14. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +4 -4
  20. package/dist/cjs/ic-data-table.cjs.entry.js +10 -8
  21. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-date-picker.cjs.entry.js +98 -854
  23. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer.cjs.entry.js +9 -5
  29. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +11 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +12 -12
  35. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu.cjs.entry.js +4 -4
  45. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  53. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-pagination_4.cjs.entry.js +18 -18
  55. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
  61. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  63. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  75. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-table-of-contents.cjs.entry.js +4 -4
  87. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  88. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-time-input.cjs.entry.js +5 -5
  90. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +14 -6
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  98. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  100. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  101. package/dist/cjs/index-d337cd8a.js +4 -4
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/collection-manifest.json +1 -0
  104. package/dist/collection/components/ic-calendar/ic-calendar.css +914 -0
  105. package/dist/collection/components/ic-calendar/ic-calendar.js +1542 -0
  106. package/dist/collection/components/ic-calendar/ic-calendar.js.map +1 -0
  107. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +295 -0
  108. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -0
  109. package/dist/collection/components/ic-calendar/ic-day-button.js.map +1 -0
  110. package/dist/collection/components/ic-calendar/ic-month-picker.js +35 -0
  111. package/dist/collection/components/ic-calendar/ic-month-picker.js.map +1 -0
  112. package/dist/collection/components/ic-calendar/ic-year-picker.js +57 -0
  113. package/dist/collection/components/ic-calendar/ic-year-picker.js.map +1 -0
  114. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js +13 -0
  115. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js.map +1 -0
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +6 -6
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  118. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -8
  119. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  120. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +3 -3
  121. package/dist/collection/components/ic-date-input/ic-date-input.js +8 -7
  122. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  123. package/dist/collection/components/ic-date-picker/ic-date-picker.css +7 -405
  124. package/dist/collection/components/ic-date-picker/ic-date-picker.js +145 -802
  125. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  126. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +110 -0
  127. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  128. package/dist/collection/components/ic-date-picker/story-data.js +5 -1
  129. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  130. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +56 -8
  131. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  132. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
  133. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
  134. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +3 -3
  135. package/dist/collection/components/ic-time-input/ic-time-input.js +9 -8
  136. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  139. package/dist/collection/utils/date-helpers.js +3 -0
  140. package/dist/collection/utils/date-helpers.js.map +1 -1
  141. package/dist/collection/utils/types.js.map +1 -1
  142. package/dist/{esm/date-helpers-2b531c8c.js → components/date-helpers.js} +2 -2
  143. package/dist/components/date-helpers.js.map +1 -0
  144. package/dist/components/helpers2.js +20 -20
  145. package/dist/components/helpers2.js.map +1 -1
  146. package/dist/components/ic-calendar.d.ts +11 -0
  147. package/dist/components/ic-calendar.js +8 -0
  148. package/dist/components/ic-calendar.js.map +1 -0
  149. package/dist/components/ic-calendar2.js +1235 -0
  150. package/dist/components/ic-calendar2.js.map +1 -0
  151. package/dist/components/ic-card-horizontal.js +6 -6
  152. package/dist/components/ic-card-horizontal.js.map +1 -1
  153. package/dist/components/ic-checkbox-group.js +2 -2
  154. package/dist/components/ic-checkbox-group.js.map +1 -1
  155. package/dist/components/ic-checkbox2.js +31 -8
  156. package/dist/components/ic-checkbox2.js.map +1 -1
  157. package/dist/components/ic-data-list.js +2 -2
  158. package/dist/components/ic-data-list.js.map +1 -1
  159. package/dist/components/ic-data-row.js +2 -2
  160. package/dist/components/ic-data-row.js.map +1 -1
  161. package/dist/components/ic-data-table-title-bar.js +3 -3
  162. package/dist/components/ic-data-table.js +10 -8
  163. package/dist/components/ic-data-table.js.map +1 -1
  164. package/dist/components/ic-date-input2.js +6 -88
  165. package/dist/components/ic-date-input2.js.map +1 -1
  166. package/dist/components/ic-date-picker.js +113 -880
  167. package/dist/components/ic-date-picker.js.map +1 -1
  168. package/dist/components/ic-dialog.js +1 -1
  169. package/dist/components/ic-dialog.js.map +1 -1
  170. package/dist/components/ic-empty-state2.js +2 -2
  171. package/dist/components/ic-empty-state2.js.map +1 -1
  172. package/dist/components/ic-footer-link.js +2 -2
  173. package/dist/components/ic-footer-link.js.map +1 -1
  174. package/dist/components/ic-footer.js +10 -5
  175. package/dist/components/ic-footer.js.map +1 -1
  176. package/dist/components/ic-hero.js +12 -6
  177. package/dist/components/ic-hero.js.map +1 -1
  178. package/dist/components/ic-horizontal-scroll2.js +5 -5
  179. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  180. package/dist/components/ic-input-component-container2.js +4 -4
  181. package/dist/components/ic-input-component-container2.js.map +1 -1
  182. package/dist/components/ic-input-container2.js +2 -2
  183. package/dist/components/ic-input-container2.js.map +1 -1
  184. package/dist/components/ic-input-label2.js +2 -2
  185. package/dist/components/ic-input-label2.js.map +1 -1
  186. package/dist/components/ic-input-validation2.js +4 -4
  187. package/dist/components/ic-input-validation2.js.map +1 -1
  188. package/dist/components/ic-layout-grid-item.js +2 -2
  189. package/dist/components/ic-layout-grid-item.js.map +1 -1
  190. package/dist/components/ic-layout-grid.js +2 -2
  191. package/dist/components/ic-layout-grid.js.map +1 -1
  192. package/dist/components/ic-link2.js +1 -1
  193. package/dist/components/ic-link2.js.map +1 -1
  194. package/dist/components/ic-loading-indicator2.js +5 -5
  195. package/dist/components/ic-loading-indicator2.js.map +1 -1
  196. package/dist/components/ic-menu-group.js +1 -1
  197. package/dist/components/ic-menu-group.js.map +1 -1
  198. package/dist/components/ic-menu2.js +4 -4
  199. package/dist/components/ic-menu2.js.map +1 -1
  200. package/dist/components/ic-navigation-group.js +2 -2
  201. package/dist/components/ic-navigation-group.js.map +1 -1
  202. package/dist/components/ic-navigation-item.js +1 -1
  203. package/dist/components/ic-navigation-item.js.map +1 -1
  204. package/dist/components/ic-navigation-menu2.js +4 -4
  205. package/dist/components/ic-navigation-menu2.js.map +1 -1
  206. package/dist/components/ic-page-header.js +6 -6
  207. package/dist/components/ic-page-header.js.map +1 -1
  208. package/dist/components/ic-pagination-bar2.js +17 -7
  209. package/dist/components/ic-pagination-bar2.js.map +1 -1
  210. package/dist/components/ic-pagination-item2.js +1 -1
  211. package/dist/components/ic-pagination-item2.js.map +1 -1
  212. package/dist/components/ic-pagination2.js +4 -4
  213. package/dist/components/ic-pagination2.js.map +1 -1
  214. package/dist/components/ic-popover-menu.js +4 -4
  215. package/dist/components/ic-popover-menu.js.map +1 -1
  216. package/dist/components/ic-radio-group.js +5 -5
  217. package/dist/components/ic-radio-group.js.map +1 -1
  218. package/dist/components/ic-radio-option.js +10 -7
  219. package/dist/components/ic-radio-option.js.map +1 -1
  220. package/dist/components/ic-search-bar.js +10 -10
  221. package/dist/components/ic-search-bar.js.map +1 -1
  222. package/dist/components/ic-section-container2.js +2 -2
  223. package/dist/components/ic-section-container2.js.map +1 -1
  224. package/dist/components/ic-select2.js +7 -7
  225. package/dist/components/ic-select2.js.map +1 -1
  226. package/dist/components/ic-side-navigation.js +4 -4
  227. package/dist/components/ic-side-navigation.js.map +1 -1
  228. package/dist/components/ic-skeleton.js +2 -2
  229. package/dist/components/ic-skeleton.js.map +1 -1
  230. package/dist/components/ic-skip-link.js +2 -2
  231. package/dist/components/ic-skip-link.js.map +1 -1
  232. package/dist/components/ic-status-tag.js +2 -2
  233. package/dist/components/ic-status-tag.js.map +1 -1
  234. package/dist/components/ic-step.js +13 -13
  235. package/dist/components/ic-step.js.map +1 -1
  236. package/dist/components/ic-stepper.js +2 -2
  237. package/dist/components/ic-stepper.js.map +1 -1
  238. package/dist/components/ic-switch.js +4 -4
  239. package/dist/components/ic-switch.js.map +1 -1
  240. package/dist/components/ic-tab-context.js +1 -1
  241. package/dist/components/ic-tab-context.js.map +1 -1
  242. package/dist/components/ic-tab-group.js +2 -2
  243. package/dist/components/ic-tab-group.js.map +1 -1
  244. package/dist/components/ic-tab-panel.js +2 -2
  245. package/dist/components/ic-tab-panel.js.map +1 -1
  246. package/dist/components/ic-table-of-contents.js +3 -3
  247. package/dist/components/ic-text-field2.js +6 -6
  248. package/dist/components/ic-text-field2.js.map +1 -1
  249. package/dist/components/ic-theme.js +1 -1
  250. package/dist/components/ic-theme.js.map +1 -1
  251. package/dist/components/ic-time-input.js +5 -5
  252. package/dist/components/ic-time-input.js.map +1 -1
  253. package/dist/components/ic-toast-region.js +1 -1
  254. package/dist/components/ic-toast-region.js.map +1 -1
  255. package/dist/components/ic-toast.js +15 -6
  256. package/dist/components/ic-toast.js.map +1 -1
  257. package/dist/components/ic-toggle-button-group.js +2 -2
  258. package/dist/components/ic-toggle-button-group.js.map +1 -1
  259. package/dist/components/ic-toggle-button.js +2 -2
  260. package/dist/components/ic-toggle-button.js.map +1 -1
  261. package/dist/components/ic-tree-item.js +3 -3
  262. package/dist/components/ic-tree-view.js +4 -4
  263. package/dist/core/core.css +21 -9
  264. package/dist/core/core.esm.js +1 -1
  265. package/dist/core/core.esm.js.map +1 -1
  266. package/dist/core/{p-9fade6ad.entry.js → p-0043b019.entry.js} +2 -2
  267. package/dist/core/{p-9fade6ad.entry.js.map → p-0043b019.entry.js.map} +1 -1
  268. package/dist/core/{p-889bb8db.entry.js → p-04cb17d7.entry.js} +2 -2
  269. package/dist/core/{p-889bb8db.entry.js.map → p-04cb17d7.entry.js.map} +1 -1
  270. package/dist/core/{p-5ef453b6.entry.js → p-15c05eb8.entry.js} +2 -2
  271. package/dist/core/{p-5ef453b6.entry.js.map → p-15c05eb8.entry.js.map} +1 -1
  272. package/dist/core/{p-1be092cc.entry.js → p-2188b483.entry.js} +2 -2
  273. package/dist/core/{p-1be092cc.entry.js.map → p-2188b483.entry.js.map} +1 -1
  274. package/dist/core/{p-8c94541e.entry.js → p-24bac55f.entry.js} +2 -2
  275. package/dist/core/{p-8c94541e.entry.js.map → p-24bac55f.entry.js.map} +1 -1
  276. package/dist/core/p-25280383.entry.js +2 -0
  277. package/dist/core/p-25280383.entry.js.map +1 -0
  278. package/dist/core/{p-7f304d85.entry.js → p-2646a629.entry.js} +2 -2
  279. package/dist/core/{p-7f304d85.entry.js.map → p-2646a629.entry.js.map} +1 -1
  280. package/dist/core/p-285892ef.entry.js +2 -0
  281. package/dist/core/p-285892ef.entry.js.map +1 -0
  282. package/dist/core/p-2bd2f38b.entry.js +2 -0
  283. package/dist/core/p-2bd2f38b.entry.js.map +1 -0
  284. package/dist/core/p-2c86ce4b.entry.js +2 -0
  285. package/dist/core/p-2c86ce4b.entry.js.map +1 -0
  286. package/dist/core/{p-5cf704e3.entry.js → p-319e3d5b.entry.js} +2 -2
  287. package/dist/core/{p-5cf704e3.entry.js.map → p-319e3d5b.entry.js.map} +1 -1
  288. package/dist/core/{p-9e200827.entry.js → p-31f3fb15.entry.js} +2 -2
  289. package/dist/core/{p-9e200827.entry.js.map → p-31f3fb15.entry.js.map} +1 -1
  290. package/dist/core/{p-fd64c0e5.entry.js → p-3891ce53.entry.js} +2 -2
  291. package/dist/core/{p-fd64c0e5.entry.js.map → p-3891ce53.entry.js.map} +1 -1
  292. package/dist/core/{p-df220b91.entry.js → p-3ef2e98d.entry.js} +2 -2
  293. package/dist/core/p-4992e9ac.entry.js +2 -0
  294. package/dist/core/p-4992e9ac.entry.js.map +1 -0
  295. package/dist/core/{p-93e1ba0a.entry.js → p-5254a078.entry.js} +2 -2
  296. package/dist/core/{p-93e1ba0a.entry.js.map → p-5254a078.entry.js.map} +1 -1
  297. package/dist/core/{p-9c2e9189.entry.js → p-53740194.entry.js} +2 -2
  298. package/dist/core/{p-9c2e9189.entry.js.map → p-53740194.entry.js.map} +1 -1
  299. package/dist/core/{p-e380a54e.entry.js → p-5a4344cb.entry.js} +2 -2
  300. package/dist/core/{p-e380a54e.entry.js.map → p-5a4344cb.entry.js.map} +1 -1
  301. package/dist/core/p-5b32aaf3.entry.js +2 -0
  302. package/dist/core/p-5b32aaf3.entry.js.map +1 -0
  303. package/dist/core/{p-d8200098.entry.js → p-67c3985d.entry.js} +2 -2
  304. package/dist/core/{p-d8200098.entry.js.map → p-67c3985d.entry.js.map} +1 -1
  305. package/dist/core/p-6cfba272.entry.js +2 -0
  306. package/dist/core/p-6cfba272.entry.js.map +1 -0
  307. package/dist/core/{p-bc441e4c.js → p-75c3b882.js} +2 -2
  308. package/dist/core/{p-bc441e4c.js.map → p-75c3b882.js.map} +1 -1
  309. package/dist/core/p-775b8dba.entry.js +2 -0
  310. package/dist/core/p-775b8dba.entry.js.map +1 -0
  311. package/dist/core/{p-b88db5e3.entry.js → p-7a0f62c2.entry.js} +2 -2
  312. package/dist/core/{p-b88db5e3.entry.js.map → p-7a0f62c2.entry.js.map} +1 -1
  313. package/dist/core/p-80111272.entry.js +2 -0
  314. package/dist/core/p-80111272.entry.js.map +1 -0
  315. package/dist/core/p-81f12581.entry.js +2 -0
  316. package/dist/core/p-81f12581.entry.js.map +1 -0
  317. package/dist/core/{p-193afb53.entry.js → p-847cbb16.entry.js} +2 -2
  318. package/dist/core/{p-193afb53.entry.js.map → p-847cbb16.entry.js.map} +1 -1
  319. package/dist/core/{p-f3ccaa0b.entry.js → p-8e592393.entry.js} +2 -2
  320. package/dist/core/{p-f3ccaa0b.entry.js.map → p-8e592393.entry.js.map} +1 -1
  321. package/dist/core/p-9044539c.entry.js +2 -0
  322. package/dist/core/p-9044539c.entry.js.map +1 -0
  323. package/dist/core/{p-f4e7cae6.entry.js → p-90611726.entry.js} +2 -2
  324. package/dist/core/{p-f4e7cae6.entry.js.map → p-90611726.entry.js.map} +1 -1
  325. package/dist/core/p-96177a74.entry.js +2 -0
  326. package/dist/core/p-96177a74.entry.js.map +1 -0
  327. package/dist/core/{p-b00efb15.entry.js → p-9674b63f.entry.js} +2 -2
  328. package/dist/core/{p-b00efb15.entry.js.map → p-9674b63f.entry.js.map} +1 -1
  329. package/dist/core/{p-a27e1cee.entry.js → p-9a95f428.entry.js} +2 -2
  330. package/dist/core/p-9a95f428.entry.js.map +1 -0
  331. package/dist/core/{p-fb43abd6.entry.js → p-9ca147f3.entry.js} +2 -2
  332. package/dist/core/{p-fb43abd6.entry.js.map → p-9ca147f3.entry.js.map} +1 -1
  333. package/dist/core/{p-09c31ac6.entry.js → p-adde6c66.entry.js} +2 -2
  334. package/dist/core/{p-09c31ac6.entry.js.map → p-adde6c66.entry.js.map} +1 -1
  335. package/dist/core/{p-72b7051a.entry.js → p-af821831.entry.js} +2 -2
  336. package/dist/core/{p-72b7051a.entry.js.map → p-af821831.entry.js.map} +1 -1
  337. package/dist/core/{p-12e8dcdd.entry.js → p-afedcfdb.entry.js} +2 -2
  338. package/dist/core/{p-12e8dcdd.entry.js.map → p-afedcfdb.entry.js.map} +1 -1
  339. package/dist/core/{p-f098e531.entry.js → p-b4a2f6fa.entry.js} +2 -2
  340. package/dist/core/{p-f098e531.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
  341. package/dist/core/p-b4bfaf8f.entry.js +2 -0
  342. package/dist/core/p-b4bfaf8f.entry.js.map +1 -0
  343. package/dist/core/{p-ea1de762.entry.js → p-b80b08ae.entry.js} +2 -2
  344. package/dist/core/p-b80b08ae.entry.js.map +1 -0
  345. package/dist/core/{p-63203e59.entry.js → p-ba75ed34.entry.js} +2 -2
  346. package/dist/core/{p-63203e59.entry.js.map → p-ba75ed34.entry.js.map} +1 -1
  347. package/dist/core/{p-15a81f32.entry.js → p-bd9a76d8.entry.js} +2 -2
  348. package/dist/core/{p-15a81f32.entry.js.map → p-bd9a76d8.entry.js.map} +1 -1
  349. package/dist/core/{p-10950727.entry.js → p-c3eddb99.entry.js} +2 -2
  350. package/dist/core/{p-10950727.entry.js.map → p-c3eddb99.entry.js.map} +1 -1
  351. package/dist/core/{p-eb958cc8.entry.js → p-c6c87e58.entry.js} +2 -2
  352. package/dist/core/{p-eb958cc8.entry.js.map → p-c6c87e58.entry.js.map} +1 -1
  353. package/dist/core/{p-c8ce7d60.entry.js → p-e00e67ff.entry.js} +2 -2
  354. package/dist/core/{p-c8ce7d60.entry.js.map → p-e00e67ff.entry.js.map} +1 -1
  355. package/dist/core/{p-069e758b.entry.js → p-e1920777.entry.js} +2 -2
  356. package/dist/core/p-e4551a38.entry.js +2 -0
  357. package/dist/core/p-e4551a38.entry.js.map +1 -0
  358. package/dist/core/{p-92936b49.entry.js → p-ef5b6622.entry.js} +2 -2
  359. package/dist/core/{p-0f22f41e.js → p-f48ce5f6.js} +2 -2
  360. package/dist/core/p-f48ce5f6.js.map +1 -0
  361. package/dist/core/{p-1ca62941.entry.js → p-f5cea10d.entry.js} +2 -2
  362. package/dist/core/{p-ffbf493f.entry.js → p-fd20470e.entry.js} +2 -2
  363. package/dist/core/p-fd20470e.entry.js.map +1 -0
  364. package/dist/core/p-fd7f3b58.entry.js +2 -0
  365. package/dist/core/p-fd7f3b58.entry.js.map +1 -0
  366. package/dist/esm/core.js +1 -1
  367. package/dist/esm/date-helpers-5723de08.js +86 -0
  368. package/dist/esm/{date-helpers-2b531c8c.js.map → date-helpers-5723de08.js.map} +1 -1
  369. package/dist/esm/{helpers-89cb996d.js → helpers-9f228880.js} +21 -21
  370. package/dist/esm/helpers-9f228880.js.map +1 -0
  371. package/dist/esm/ic-button_3.entry.js +5 -5
  372. package/dist/esm/ic-button_3.entry.js.map +1 -1
  373. package/dist/esm/ic-calendar_2.entry.js +2349 -0
  374. package/dist/esm/ic-calendar_2.entry.js.map +1 -0
  375. package/dist/esm/ic-card-horizontal.entry.js +6 -6
  376. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  377. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  378. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  379. package/dist/esm/ic-checkbox_3.entry.js +48 -17
  380. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  381. package/dist/esm/ic-data-list.entry.js +2 -2
  382. package/dist/esm/ic-data-list.entry.js.map +1 -1
  383. package/dist/esm/ic-data-row.entry.js +2 -2
  384. package/dist/esm/ic-data-row.entry.js.map +1 -1
  385. package/dist/esm/ic-data-table-title-bar.entry.js +4 -4
  386. package/dist/esm/ic-data-table.entry.js +10 -8
  387. package/dist/esm/ic-data-table.entry.js.map +1 -1
  388. package/dist/esm/ic-date-picker.entry.js +100 -856
  389. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  390. package/dist/esm/ic-dialog.entry.js +1 -1
  391. package/dist/esm/ic-dialog.entry.js.map +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +2 -2
  393. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  394. package/dist/esm/ic-footer.entry.js +9 -5
  395. package/dist/esm/ic-footer.entry.js.map +1 -1
  396. package/dist/esm/ic-hero.entry.js +11 -6
  397. package/dist/esm/ic-hero.entry.js.map +1 -1
  398. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  399. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  400. package/dist/esm/ic-input-component-container_4.entry.js +12 -12
  401. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  402. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  403. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
  404. package/dist/esm/ic-layout-grid.entry.js +2 -2
  405. package/dist/esm/ic-layout-grid.entry.js.map +1 -1
  406. package/dist/esm/ic-link.entry.js +1 -1
  407. package/dist/esm/ic-link.entry.js.map +1 -1
  408. package/dist/esm/ic-menu-group.entry.js +1 -1
  409. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  410. package/dist/esm/ic-menu.entry.js +4 -4
  411. package/dist/esm/ic-menu.entry.js.map +1 -1
  412. package/dist/esm/ic-navigation-group.entry.js +2 -2
  413. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  414. package/dist/esm/ic-navigation-item.entry.js +1 -1
  415. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  416. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  417. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  418. package/dist/esm/ic-page-header.entry.js +6 -6
  419. package/dist/esm/ic-page-header.entry.js.map +1 -1
  420. package/dist/esm/ic-pagination_4.entry.js +18 -18
  421. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  422. package/dist/esm/ic-popover-menu.entry.js +4 -4
  423. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  424. package/dist/esm/ic-radio-group.entry.js +5 -5
  425. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  426. package/dist/esm/ic-radio-option.entry.js +9 -6
  427. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  428. package/dist/esm/ic-search-bar.entry.js +10 -10
  429. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  430. package/dist/esm/ic-section-container.entry.js +2 -2
  431. package/dist/esm/ic-section-container.entry.js.map +1 -1
  432. package/dist/esm/ic-side-navigation.entry.js +4 -4
  433. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  434. package/dist/esm/ic-skeleton.entry.js +2 -2
  435. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  436. package/dist/esm/ic-skip-link.entry.js +2 -2
  437. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  438. package/dist/esm/ic-status-tag.entry.js +2 -2
  439. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  440. package/dist/esm/ic-step.entry.js +13 -13
  441. package/dist/esm/ic-step.entry.js.map +1 -1
  442. package/dist/esm/ic-stepper.entry.js +2 -2
  443. package/dist/esm/ic-stepper.entry.js.map +1 -1
  444. package/dist/esm/ic-switch.entry.js +4 -4
  445. package/dist/esm/ic-switch.entry.js.map +1 -1
  446. package/dist/esm/ic-tab-context.entry.js +1 -1
  447. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  448. package/dist/esm/ic-tab-group.entry.js +2 -2
  449. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  450. package/dist/esm/ic-tab-panel.entry.js +2 -2
  451. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  452. package/dist/esm/ic-table-of-contents.entry.js +4 -4
  453. package/dist/esm/ic-theme.entry.js +1 -1
  454. package/dist/esm/ic-theme.entry.js.map +1 -1
  455. package/dist/esm/ic-time-input.entry.js +5 -5
  456. package/dist/esm/ic-time-input.entry.js.map +1 -1
  457. package/dist/esm/ic-toast-region.entry.js +1 -1
  458. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  459. package/dist/esm/ic-toast.entry.js +14 -6
  460. package/dist/esm/ic-toast.entry.js.map +1 -1
  461. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  462. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  463. package/dist/esm/ic-toggle-button.entry.js +2 -2
  464. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  465. package/dist/esm/ic-tree-item.entry.js +3 -3
  466. package/dist/esm/ic-tree-view.entry.js +4 -4
  467. package/dist/esm/index-a7a720e7.js +4 -4
  468. package/dist/esm/loader.js +1 -1
  469. package/dist/types/components/ic-calendar/ic-calendar.d.ts +216 -0
  470. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +151 -0
  471. package/dist/types/components/ic-calendar/test/a11y/ic-calendar.test.a11y.d.ts +1 -0
  472. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +1 -2
  473. package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -2
  474. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +22 -105
  475. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +81 -0
  476. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -1
  477. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
  478. package/dist/types/components/ic-time-input/ic-time-input.d.ts +2 -2
  479. package/dist/types/components.d.ts +229 -14
  480. package/dist/types/utils/date-helpers.d.ts +1 -0
  481. package/dist/types/utils/types.d.ts +3 -0
  482. package/hydrate/index.js +6455 -5980
  483. package/hydrate/index.mjs +6455 -5980
  484. package/package.json +5 -5
  485. package/dist/cjs/helpers-da852478.js.map +0 -1
  486. package/dist/cjs/ic-date-input.cjs.entry.js +0 -1214
  487. package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
  488. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
  489. package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
  490. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
  491. package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
  492. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
  493. package/dist/core/p-035dbee0.entry.js +0 -2
  494. package/dist/core/p-035dbee0.entry.js.map +0 -1
  495. package/dist/core/p-03ae0bc3.entry.js +0 -2
  496. package/dist/core/p-03ae0bc3.entry.js.map +0 -1
  497. package/dist/core/p-0f22f41e.js.map +0 -1
  498. package/dist/core/p-13c8859b.entry.js +0 -2
  499. package/dist/core/p-13c8859b.entry.js.map +0 -1
  500. package/dist/core/p-2528ecec.entry.js +0 -2
  501. package/dist/core/p-2528ecec.entry.js.map +0 -1
  502. package/dist/core/p-402870f7.entry.js +0 -2
  503. package/dist/core/p-402870f7.entry.js.map +0 -1
  504. package/dist/core/p-7bf9bbde.entry.js +0 -2
  505. package/dist/core/p-7bf9bbde.entry.js.map +0 -1
  506. package/dist/core/p-982a173d.entry.js +0 -2
  507. package/dist/core/p-982a173d.entry.js.map +0 -1
  508. package/dist/core/p-9ce9d39a.entry.js +0 -2
  509. package/dist/core/p-9ce9d39a.entry.js.map +0 -1
  510. package/dist/core/p-a27e1cee.entry.js.map +0 -1
  511. package/dist/core/p-a8cc28a6.entry.js +0 -2
  512. package/dist/core/p-a8cc28a6.entry.js.map +0 -1
  513. package/dist/core/p-a99ad459.entry.js +0 -2
  514. package/dist/core/p-a99ad459.entry.js.map +0 -1
  515. package/dist/core/p-bd8c2e24.entry.js +0 -2
  516. package/dist/core/p-bd8c2e24.entry.js.map +0 -1
  517. package/dist/core/p-c0d4db72.entry.js +0 -2
  518. package/dist/core/p-c0d4db72.entry.js.map +0 -1
  519. package/dist/core/p-d144ca59.entry.js +0 -2
  520. package/dist/core/p-d144ca59.entry.js.map +0 -1
  521. package/dist/core/p-ea1de762.entry.js.map +0 -1
  522. package/dist/core/p-f16c4210.entry.js +0 -2
  523. package/dist/core/p-f16c4210.entry.js.map +0 -1
  524. package/dist/core/p-fad44bc8.entry.js +0 -2
  525. package/dist/core/p-fad44bc8.entry.js.map +0 -1
  526. package/dist/core/p-ffbf493f.entry.js.map +0 -1
  527. package/dist/esm/helpers-89cb996d.js.map +0 -1
  528. package/dist/esm/ic-date-input.entry.js +0 -1210
  529. package/dist/esm/ic-date-input.entry.js.map +0 -1
  530. /package/dist/collection/components/{ic-date-picker → ic-calendar}/ic-day-button.js +0 -0
  531. /package/dist/core/{p-df220b91.entry.js.map → p-3ef2e98d.entry.js.map} +0 -0
  532. /package/dist/core/{p-069e758b.entry.js.map → p-e1920777.entry.js.map} +0 -0
  533. /package/dist/core/{p-92936b49.entry.js.map → p-ef5b6622.entry.js.map} +0 -0
  534. /package/dist/core/{p-1ca62941.entry.js.map → p-f5cea10d.entry.js.map} +0 -0
  535. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-day-button.d.ts +0 -0
  536. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-month-picker.d.ts +0 -0
  537. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-year-picker.d.ts +0 -0
@@ -1 +0,0 @@
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","preventInputsUpdating","isDisabledDate","isValidDay","isValidMonth","isValidDate","isZuluTime","KEYBOARD_EVENT_OBJECT_STRING","MAX_DAY","MAX_MONTH","previousSelectedDate","selectedDate","externalSetDate","clearInput","calendarIsOpen","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","validationAriaLive","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","ariaLiveMode"],"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-xs);\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\n@media (forced-colors: active) {\n .clear-button svg {\n color: currentcolor;\n }\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 IcAriaLive,\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 preventInputsUpdating: 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 private calendarIsOpen: 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 value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\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.preventInputsUpdating) 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.preventInputsUpdating = 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.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.preventInputsUpdating = 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.preventInputsUpdating) {\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 && 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 aria-required={`${this.required}`}\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 aria-required={`${this.required}`}\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 aria-required={`${this.required}`}\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.preventInputsUpdating = 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.preventInputsUpdating = 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.preventInputsUpdating = false;\n this.calendarIsOpen = true;\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 if (this.calendarIsOpen) {\n // focus event triggered by closing calendar dialog so inputs should update\n this.preventInputsUpdating = false;\n this.calendarIsOpen = false;\n } else {\n this.preventInputsUpdating = true;\n }\n };\n\n private handleCalendarBlur = () => {\n this.calendarFocused = false;\n this.preventInputsUpdating = true;\n };\n\n private handleClearFocus = () => {\n this.removeLabelledBy = true;\n this.preventInputsUpdating = true;\n this.clearButtonFocused = true;\n };\n\n private handleClearBlur = (ev: FocusEvent) => {\n this.clearButtonFocused = false;\n this.preventInputsUpdating = true;\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 validationAriaLive,\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 <ic-input-validation\n status={validationStatus}\n message={\n hasCustomValidation ? this.validationText : this.invalidDateText\n }\n for={inputId}\n ariaLiveMode={validationAriaLive}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as s,g as a,f as o}from"./p-8e4e97b4.js";import{r as n,o as r,O as l,P as c,B as h,A as d,Q as u,R as p,y as b,t as f,z as m,F as v,k as g,i as x,S as y,v as w,T as k,l as z,G as L,E as C,U as H,M as $}from"./p-e4ef4263.js";const T=`<svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.08748 0L0.912476 1.175L4.72914 5L0.912476 8.825L2.08748 10L7.08748 5L2.08748 0Z" fill="currentColor"/>\n</svg>\n`;const M=`<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M11.1709 8.825L7.34589 5L11.1709 1.175L9.99589 0L4.99589 5L9.99589 10L11.1709 8.825ZM0.829224 0H2.49589V10H0.829224V0Z" fill="currentColour"/>\n</svg>`;const O='/*! 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{box-sizing:border-box;width:100%;display:flex;justify-content:center}nav{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ic-button{cursor:pointer}ic-button.next-previous{--icon-width:var(--ic-space-xs);--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs));padding:0 var(--ic-space-xxs) 0 var(--ic-space-xxxs)}ic-button.first-last{--icon-width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs))}ic-button.first-last::part(button),ic-button.next-previous::part(button){color:var(--ic-pagination-chevron)}:host(.ic-pagination-monochrome) ic-button.first-last::part(button),:host(.ic-pagination-monochrome) ic-button.next-previous::part(button){color:var(--ic-pagination-chevron-monochrome)}ic-button.ic-button-disabled.first-last::part(button),ic-button.ic-button-disabled.next-previous::part(button),:host(.ic-pagination-monochrome) ic-button.ic-button-disabled.first-last::part(button),:host(.ic-pagination-monochrome) ic-button.ic-button-disabled.next-previous::part(button){color:var(--ic-pagination-chevron-disabled)}.disabled{color:var(--ic-color-text-disabled-mid);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hide-current-page{display:none}.sr-only{position:absolute;left:-9999px}.sr-only:dir(rtl){right:-9999px}';const B=O;const I=class{constructor(s){t(this,s);this.icPageChange=e(this,"icPageChange",7);this.endEllipsis=false;this.endItems=[];this.midItems=[];this.startEllipsis=false;this.startItems=[];this.adjacentPageCount=1;this.boundaryPageCount=1;this.defaultPage=1;this.disabled=false;this.hideCurrentPage=false;this.hideFirstAndLastPageButton=false;this.label="Page";this.monochrome=false;this.theme="inherit";this.type="simple";this.currentPage=this.defaultPage;this.handleClickFirst=()=>{this.currentPage=1;this.icPageChange.emit({value:this.currentPage})};this.handleClickPrevious=()=>{this.currentPage--;this.icPageChange.emit({value:this.currentPage})};this.handleClickNext=()=>{this.currentPage++;this.icPageChange.emit({value:this.currentPage})};this.handleClickLast=()=>{this.currentPage=this.pages;this.icPageChange.emit({value:this.currentPage})};this.firstButton=()=>i("ic-button",{id:"first-page-button","aria-label":"Go to first page",theme:this.theme,onClick:this.handleClickFirst,class:"page-button first-last",disabled:this.currentPage===1||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:M});this.previousButton=()=>i("ic-button",{id:"previous-page-button","aria-label":"Go to previous page",theme:this.theme,onClick:this.handleClickPrevious,class:"page-button next-previous flip",disabled:this.currentPage===1||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:T});this.nextButton=()=>i("ic-button",{id:"next-page-button","aria-label":"Go to next page",theme:this.theme,onClick:this.handleClickNext,class:"page-button next-previous",disabled:this.currentPage===this.pages||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:T});this.lastButton=()=>i("ic-button",{id:"last-page-button","aria-label":"Go to last page",theme:this.theme,onClick:this.handleClickLast,class:"page-button first-last flip",disabled:this.currentPage===this.pages||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:M});this.renderStartEllipsis=()=>i("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,type:"ellipsis",id:"start-ellipsis",disabled:this.disabled});this.renderEndEllipsis=()=>i("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,type:"ellipsis",id:"end-ellipsis",disabled:this.disabled});this.renderStartItems=()=>this.startItems.map((t=>i("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderEndItems=()=>this.endItems.map((t=>i("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderMiddleItems=()=>this.midItems.map((t=>i("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})))}watchAdjacentPageCountHandler(){if(this.adjacentPageCount>2){this.adjacentPageCount=2}}watchBoundaryPageCountHandler(){if(this.boundaryPageCount>2){this.boundaryPageCount=2}}watchDisabledHandler(){n(this.disabled,this.el)}watchNumberPagesHandler(){this.watchPageChangeHandler()}watchTypeHandler(){this.watchPageChangeHandler()}watchPageChangeHandler(){if(this.type==="simple"){return}this.startEllipsis=false;this.endEllipsis=false;this.startItems=[];this.endItems=[];this.midItems=[];const t=[];let e=0;const i=[];let s=this.pages;const a=[];let o;let n;let r=false;let l=false;if(this.pages<=this.boundaryPageCount*2+this.adjacentPageCount*2+3){this.startEllipsis=false;this.endEllipsis=false;for(let e=1;e<=this.pages;e++){t.push(e)}this.startItems=t;return}e=this.boundaryPageCount===0?1:this.boundaryPageCount;s=this.boundaryPageCount===0?this.pages:this.pages-this.boundaryPageCount+1;if(this.currentPage<=this.adjacentPageCount+this.boundaryPageCount+2){r=false;l=true;let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}o=e+1;n=o+t}else{r=true;if(this.currentPage>this.pages-(this.adjacentPageCount+this.boundaryPageCount+2)){let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}n=this.boundaryPageCount===0?this.pages-1:this.pages-this.boundaryPageCount;o=n-t}else{l=true;o=this.currentPage-this.adjacentPageCount;n=this.currentPage+this.adjacentPageCount}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&r===false){for(let i=1;i<=e;i++){t.push(i)}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&l===false){for(let t=s;t<=this.pages;t++){i.push(t)}}for(let t=o;t<=n;t++){a.push(t)}this.startEllipsis=r;this.endEllipsis=l;this.startItems=t;this.endItems=i;this.midItems=a}componentWillLoad(){this.watchPageChangeHandler();this.watchBoundaryPageCountHandler();this.watchAdjacentPageCountHandler();n(this.disabled,this.el)}componentDidLoad(){r([{prop:this.pages,propName:"pages"}],"Pagination")}paginationItemClickHandler(t){const e=t.detail.page;this.currentPage=e;this.icPageChange.emit({value:this.currentPage})}async setCurrentPage(t){if(typeof t==="number"&&t>0&&t<=this.pages){this.currentPage=t}else{console.error("Current page must be a number greater than zero but less than or equal to the total number of pages")}}render(){const{type:t,currentPage:e,hideCurrentPage:a,disabled:o,hideFirstAndLastPageButton:n,label:r,theme:l,monochrome:c}=this;return i(s,{key:"2d22f7a183f6da54aece8dfc1f48137388304493",class:{[`ic-theme-${l}`]:l!=="inherit",["ic-pagination-monochrome"]:!!c}},t==="simple"&&i("nav",{key:"50a0774ec8e4bf5b1799ae9eee4b4ee3735cfcb6",class:{["disabled"]:!!o},role:"navigation","aria-label":"Pagination Navigation"},n?null:this.firstButton(),this.previousButton(),i("ic-pagination-item",{key:"da44ff2e87bc0fcad46c497ab55b014f069b13b3",theme:this.theme,monochrome:this.monochrome,type:"simple-current",page:e,label:r,class:{["hide-current-page"]:!!a},disabled:o}),this.nextButton(),n?null:this.lastButton()),t==="complex"&&i("nav",{key:"c6fe6b828ff3d31462ffe46f7ec366853faee845",class:{["disabled"]:!!o},role:"navigation","aria-label":"Pagination Navigation"},n?null:this.firstButton(),this.previousButton(),this.renderStartItems(),this.startEllipsis&&this.renderStartEllipsis(),this.renderMiddleItems(),this.endEllipsis&&this.renderEndEllipsis(),this.renderEndItems(),this.nextButton(),n?null:this.lastButton()),t==="complex"&&i("span",{key:"38e987b2739f3be57c96c7b596478079a441f4da",class:"sr-only","aria-live":"polite"},"Page ",this.currentPage))}get el(){return a(this)}static get watchers(){return{adjacentPageCount:["watchAdjacentPageCountHandler"],boundaryPageCount:["watchBoundaryPageCountHandler"],disabled:["watchDisabledHandler"],pages:["watchNumberPagesHandler"],type:["watchTypeHandler"],currentPage:["watchPageChangeHandler"]}}};I.style=B;const P='/*! 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}a{text-align:center}.item-container{display:flex;justify-content:center;align-items:center;width:calc(var(--ic-space-xl) + var(--ic-space-sm));height:var(--ic-space-xl);margin:var(--ic-space-xxs) var(--ic-space-xxxs);cursor:pointer;text-decoration:none}button{background:none;border:none;outline:inherit;position:relative}.ellipsis{pointer-events:none;--ic-typography-color:var(--ic-pagination-ellipsis)}.monochrome .ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome)}.item-container:focus{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.page{--ic-typography-color:var(--ic-pagination-page-number)}.monochrome .page{--ic-typography-color:var(--ic-pagination-page-number-monochrome)}.simple-current{min-width:calc(var(--ic-space-xxl) + var(--ic-space-md));height:var(--ic-space-lg);cursor:default}.item-container.page:hover:not(.selected):not(:focus){border-radius:var(--ic-border-radius);background-color:var(--ic-pagination-hover)}.item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed)}.monochrome .item-container.page:hover:not(.selected):not(:focus){background-color:var(--ic-pagination-hover-monochrome)}.monochrome .item-container.page:active:not(.selected):not(:focus){background-color:var(--ic-pagination-pressed-monochrome)}.selected{pointer-events:none;outline:none}.selected::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-pagination-selected-banner)}.monochrome .selected::after{background-color:var(--ic-pagination-selected-banner-monochrome)}.page-selected{--ic-typography-color:var(--ic-pagination-text)}.item-container.page.light:hover:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-hover)}.item-container.page.light:active:not(.selected):not(:focus){background-color:var(--ic-action-light-bg-pressed)}ic-typography.light,ic-typography.page-selected.light{--ic-typography-color:var(--ic-architectural-white)}.selected.light::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome)}.item-container.page.dark:hover:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-hover)}.item-container.page.dark:active:not(.selected):not(:focus){background-color:var(--ic-action-dark-bg-pressed)}ic-typography.dark{--ic-typography-color:var(--ic-color-text-primary)}.selected.dark::after{content:"";height:var(--ic-space-xxs);width:100%;position:absolute;bottom:0;background-color:var(--ic-action-monochrome-dark)}.disabled{--ic-typography-color:var(--ic-pagination-text-disabled);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.disabled.page ic-typography{--ic-typography-color:var(--ic-pagination-page-number-disabled)}.disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-disabled)}.monochrome .disabled.page{--ic-typography-color:var(--ic-pagination-page-number-monochrome-disabled)}.monochrome .disabled.ellipsis{--ic-typography-color:var(--ic-pagination-ellipsis-monochrome-disabled)}@media (forced-colors: active){.selected::after{background-color:Highlight}.selected.light::after{background-color:Highlight}.selected.dark::after{background-color:Highlight}.disabled{--ic-typography-color:GrayText}}';const j=P;const D=class{constructor(i){t(this,i);this.paginationItemClick=e(this,"paginationItemClick",7);this.disabled=false;this.label="Page";this.monochrome=false;this.selected=false;this.theme="inherit";this.handleClick=()=>{this.paginationItemClick.emit({page:this.page||null})}}watchDisabledHandler(){n(this.disabled,this.el)}watchLabelHandler(){this.capitalizedLabel=l(this.label)}componentWillLoad(){this.watchLabelHandler();n(this.disabled,this.el)}render(){const{page:t,selected:e,type:s,disabled:a,label:o,capitalizedLabel:n,monochrome:r}=this;return i("a",{key:"89475a5ee9cb95171d34ae94ec68107c70e67248",class:{["monochrome"]:!!r}},s==="ellipsis"?i("div",{class:{["item-container"]:true,["ellipsis"]:true,["disabled"]:!!a}},i("ic-typography",{variant:"label"},"...")):s==="page"?i("button",{disabled:a,onClick:this.handleClick,tabindex:e?"-1":"0",role:"button","aria-current":e&&"page","aria-label":e?`${o}: ${t}`:`Go to ${o} ${t}`,class:{["selected"]:!a&&e,["disabled"]:!!a,["item-container"]:true,["page"]:s==="page"}},i("ic-typography",{variant:"label",class:{["page-selected"]:e,["disabled"]:!!a}},t)):i("ic-typography",{"aria-live":"polite",class:{[`simple-current`]:true,["disabled"]:!!a},variant:"label"},n," ",t))}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],label:["watchLabelHandler"]}}};D.style=j;const q=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const S=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const F='/*! 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;position:relative;--ic-input-label-helpertext-padding:var(--ic-space-xs);--menu-max-height:100px;--border-color:var(--ic-select-field-border);--border-color-hover:var(--ic-select-field-border-hover);--border-color-pressed:var(--ic-select-field-border-pressed);--border-color-disabled:var(--ic-select-field-border-disabled);--border-color-error:var(--ic-select-field-border-error);--border-color-error-hover:var(--ic-select-field-border-error-hover);--border-color-error-pressed:var(--ic-select-field-border-error-pressed);--border-color-success:var(--ic-select-field-border-success);--border-color-success-hover:var(--ic-select-field-border-success-hover);--border-color-success-pressed:var(--ic-select-field-border-success-pressed);--border-color-warning:var(--ic-select-field-border-warning);--border-color-warning-hover:var(--ic-select-field-border-warning-hover);--border-color-warning-pressed:var(--ic-select-field-border-warning-pressed);--ic-input-label-text-color:var(--ic-select-field-labe);--ic-input-label-helper-text-color:var(\n --ic-select-input-field-label-subtitle\n );--ic-input-validation-status-text-color:var(--ic-select-state-text);--ic-input-validation-error:var(--ic-select-state-icon-error);--ic-input-validation-warning-icon-color:var(--ic-select-state-icon-warning);--ic-input-validation-success-icon-color:var(--ic-select-state-icon-success);--menu-item-text-color:var(--ic-select-list-option-text);--menu-bg-color:var(--ic-select-list-option-background);--menu-border-color:var(--ic-select-dropdown-list-border)}:host(.ic-select-disabled){--ic-input-label-text-color:var(--ic-select-field-label-disabled);--ic-input-label-helper-text-color:var(\n --ic-select-input-field-label-subtitle-disabled\n )}:host(.ic-select-full-width){width:100%}ic-input-component-container.menu-open{--border-color:var(--ic-select-field-border-pressed)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs)}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-select-field-background);color:var(--ic-select-content-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:var(--ic-select-mobile-dropdown-icon);caret-color:var(--ic-select-input-field-text-cursor)}select option,.select-option-selected{color:var(--ic-select-list-option-text)}select:disabled{color:var(--ic-select-content-text-disabled);background-image:var(--ic-select-mobile-dropdown-icon-disabled)}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none;background-color:var(--ic-select-field-background);color:var(--ic-select-content-text)}.select-input:focus{outline:none}.select-input[disabled]{pointer-events:none}:host(.ic-select-searchable) .select-input{cursor:auto}.select-input.with-clear-button{padding-right:0}.value-text{max-width:calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));box-sizing:border-box;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0 !important}.value-text.with-clear-button{padding-right:calc(var(--ic-space-xl) + var(--ic-space-xs))}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xxs);color:var(--ic-select-expand-icon-color)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-select-disabled) .expand-icon,:host(.ic-select-disabled) .expand-icon>svg>path{color:var(--ic-select-disabled-expand-icon-color)}:host(.ic-select-searchable) .expand-icon{padding-left:0;height:2.25rem}:host(.ic-select-searchable) .expand-icon>svg{height:2.25rem;padding:0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs)}:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-select-expand-icon-color)}.expand-icon-open,:host(.ic-select-searchable) .expand-icon-open{transform:rotateX(180deg)}.placeholder{color:var(--ic-select-content-placeholder-text)}:host(.ic-select-disabled.ic-select-searchable) .select-input::-moz-placeholder{color:var(--ic-select-content-text-disabled)}:host(.ic-select-disabled) .value-text,:host(.ic-select-disabled) .select-input,:host(.ic-select-disabled) .placeholder,:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder{color:var(--ic-select-content-text-disabled)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;align-items:center}.divider{width:var(--ic-space-1px);background-color:var(--ic-select-content-divider);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.ic-select-small) .divider{height:var(--ic-space-md)}:host(.ic-select-large) .divider{height:var(--ic-space-xl)}.clear-button{color:var(--ic-select-clear-button);position:absolute;right:calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus,.clear-button:active{background-color:var(--ic-color-focus-inner);box-shadow:inset 0 0 0 0.125rem var(--ic-color-focus-outer);border-radius:0.25rem}.clear-button:focus,.clear-button:active *{fill:var(--ic-atoms-input-clear-button-focus)}.clear-button.searchable{position:static}.searchable-select-results-status,.multi-select-selected-count{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}::slotted([slot="icon"]){fill:var(--ic-select-content-placeholder-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-select-content-text)}.readonly ::slotted([slot="icon"]){padding:0.375rem;margin-bottom:0.75rem}@media (forced-colors: active){.has-value ::slotted([slot="icon"]){fill:currentcolor}}';const N=F;let A=0;const E=[...w,"tabindex","title"];const V=class{constructor(s){t(this,s);this.icBlur=e(this,"icBlur",7);this.icChange=e(this,"icChange",7);this.icClear=e(this,"icClear",7);this.icClose=e(this,"icClose",7);this.icFocus=e(this,"icFocus",7);this.icInput=e(this,"icInput",7);this.icOpen=e(this,"icOpen",7);this.icOptionSelect=e(this,"icOptionSelect",7);this.icOptionDeselect=e(this,"icOptionDeselect",7);this.icRetryLoad=e(this,"icRetryLoad",7);this.blurredBecauseButtonPressed=false;this.hasSetDefaultValue=false;this.hasTimedOut=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${A++}`;this.menuId=`${this.inputId}-menu`;this.retryButtonClick=false;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.hostMutationObserver=null;this.clearButtonFocused=false;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.disabled=false;this.disableAutoFiltering=false;this.emptyOptionListText="No results found";this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.multiple=false;this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="medium";this.theme="inherit";this.validationAriaLive="polite";this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=null;this.initialValue=this.value;this.inputValueToFilter=this.value;this.hostMutationCallback=t=>{let e=false;t.forEach((({attributeName:t,type:i,addedNodes:s,removedNodes:a})=>{if(t){const i=this.el.getAttribute(t);if(i&&E.includes(t)){this.inheritedAttributes[t]=i;e=true}}else if(i==="childList"){e=c(s,a,"icon")}}));if(e){o(this)}};this.handleRetry=t=>{var e;if(t.detail.keyPressed)(e=this.searchableSelectElement)===null||e===void 0?void 0:e.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.searchable?this.searchableSelectInputValue:this.hiddenInputValue})};this.emitIcChange=t=>{if(this.multiple&&!Array.isArray(t)&&t!==null){if(this.value){let e=this.value.slice();if(this.value.includes(t)){e.splice(e.indexOf(t),1)}else{e.push(t);e=this.getValueSortedByOptions(e)}this.value=e.length===0?null:e}else{this.value=[t]}}else{this.value=t}this.icChange.emit({value:this.multiple?this.value:t})};this.emitIcInput=t=>{clearTimeout(this.debounceIcInput);this.debounceIcInput=window.setTimeout((()=>this.icInput.emit({value:t})),this.currDebounce)};this.setOptions=()=>{if(!this.hasTimedOut&&this.options!==this.noOptions){this.loading=false;clearTimeout(this.timeoutTimer);if(this.options.length>0){this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options)}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions}this.filteredOptions=this.uniqueOptions;if(this.isExternalFiltering()){this.noOptions=null;this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}else if(!this.searchable){this.options=this.noOptions||[]}};this.deduplicateOptions=t=>{const e=[];const i=[];t.forEach((t=>{if(t.children){const s=[];t.children.forEach((t=>{if(e.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{e.push(t.value);s.push(t)}}));i.push(Object.assign(Object.assign({},t),{children:s}))}else{if(e.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{e.push(t.value);i.push(t)}}}));return i};this.setOptionsValuesFromLabels=()=>{if(this.options.length>0){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setUngroupedOptions=t=>{this.ungroupedOptions=t.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement){this.nativeSelectElement.className=this.nativeSelectElement.selectedIndex===0?"placeholder":"select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>h(t,this.uniqueOptions);this.getMultipleOptionsString=t=>t===null||t===void 0?void 0:t.map((t=>this.getLabelFromValue(t))).filter((t=>!!t)).join(", ");this.getFilteredChildMenuOptions=t=>Object.assign(Object.assign({},t),{children:t.children&&d(t.children,this.searchable&&!!this.includeDescriptionsInSearch,this.searchable?this.searchableSelectInputValue||"":this.pressedCharacters,this.searchable?this.searchMatchPosition:"start")});this.getValueSortedByOptions=t=>{const e=t;const i=this.ungroupedOptions.map((t=>t.value));e.sort(((t,e)=>i.indexOf(t)-i.indexOf(e)));return e};this.handleNativeSelectChange=()=>{if(this.nativeSelectElement){this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitIcChange(this.nativeSelectElement.value)}this.setTextColor()};this.handleCustomSelectChange=t=>{var e,i;const{value:s,label:a,optionId:o}=t.detail;if(a===this.emptyOptionListText){(e=this.searchableSelectElement)===null||e===void 0?void 0:e.focus();return}if(this.searchable){this.value=s||null;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)||null}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)||null}if(s){if(this.multiple&&((i=this.value)===null||i===void 0?void 0:i.includes(s))){this.icOptionDeselect.emit({value:s})}else{this.icOptionSelect.emit({value:s})}}this.ariaActiveDescendant=o;this.emitIcChange(s||null)};this.handleSelectAllChange=({detail:t})=>{const e=this.ungroupedOptions.filter((t=>!t.disabled)).map((t=>t.value));if(t.select){const t=this.value?e.filter((t=>this.value&&!this.value.includes(t))):e;t.forEach((t=>this.icOptionSelect.emit({value:t})))}else{this.value.forEach((t=>this.icOptionDeselect.emit({value:t})))}this.emitIcChange(t.select?e:null)};this.handleMenuChange=t=>{this.open=t.detail.open;this.pressedCharacters="";if(this.searchable)this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=t=>{t.cancelBubble=true;if(!this.multiple){this.handleCharacterKeyDown(t.detail.key)}};this.handleFocusIndicatorDisplay=()=>{var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".focus-indicator");if(e){if(this.open){e.classList.add("focus-indicator-enabled")}else{e.classList.remove("focus-indicator-enabled")}}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&!!this.disableAutoFiltering;this.handleClick=t=>{var e,i;if(!this.open&&this.menu){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((e=this.noOptions)===null||e===void 0?void 0:e.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(t.detail!==0){(i=this.menu)===null||i===void 0?void 0:i.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{var e;if(!this.disabled){t.preventDefault();(e=this.searchableSelectElement)===null||e===void 0?void 0:e.focus();this.handleClick(t)}};this.handleClear=t=>{var e,i;t.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.clearInput();this.emitIcChange(null);this.icClear.emit();if(this.searchable){this.hiddenInputValue=null;(e=this.searchableSelectElement)===null||e===void 0?void 0:e.focus()}else{(i=this.customSelectElement)===null||i===void 0?void 0:i.focus()}};this.handleCharacterKeyDown=t=>{if(this.open&&t===" "&&this.pressedCharacters.length===0){this.setMenuChange(false)}if(t.length!==1||this.searchable){this.pressedCharacters="";return}window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);if(t!==" "||!!this.pressedCharacters){this.pressedCharacters+=t;this.handleFilter();if(!this.noOptions){this.emitIcChange(this.filteredOptions[0].value)}}};this.handleNativeSelectKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}this.handleCharacterKeyDown(t.key)};this.handleKeyDown=t=>{var e;if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}const i=t.key==="ArrowDown"||t.key==="ArrowUp";if(this.menu&&!this.open){if(this.isExternalFiltering()&&(t.key==="Enter"||i)){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!i||this.noOptions===null){if(t.key!==" "||this.pressedCharacters.length<=0){const i=t.key==="a"&&(u()&&t.metaKey||!u()&&t.ctrlKey);if(!(this.searchable&&i)){(e=this.menu)===null||e===void 0?void 0:e.handleKeyboardOpen(t)}}if(!this.multiple){this.handleCharacterKeyDown(t.key)}}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=t=>{var e;const i=(e=this.menu)===null||e===void 0?void 0:e.querySelector("#retry-button");if((!this.searchableSelectElement||t.relatedTarget!==this.searchableSelectElement)&&(!i||t.relatedTarget!==i)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var t;const e=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);const i=e.some((t=>!!t.children));let s=[];let a;if(this.searchable){a=d(e,!!this.includeDescriptionsInSearch,this.inputValueToFilter||"",this.searchMatchPosition);this.searchableMenuItemSelected=false}else{a=d(e,false,this.pressedCharacters,"start")}if(!i&&((t=a[0])===null||t===void 0?void 0:t.label)!==this.emptyOptionListText){s=a}else if(i){s=e.map((t=>this.includeGroupTitlesInSearch&&a.indexOf(t)!==-1?t:this.getFilteredChildMenuOptions(t)))}if(s.length>0&&(!i||s.some((({children:t})=>t&&t.length>0)))){this.noOptions=null;this.filteredOptions=s}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=t=>{var e;return t&&((e=this.uniqueOptions.find((e=>e.label===t)))===null||e===void 0?void 0:e.value)};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;this.emitIcInput(this.searchableSelectInputValue);if(this.value!=null){this.emitIcChange(null)}this.hiddenInputValue=null;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableAutoFiltering){this.handleFilter();clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}};this.updateSearchableSelectResultAriaLive=()=>{var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".searchable-select-results-status");if(e){e.innerText=this.noOptions!==null?this.emptyOptionListText:""}};this.updateMultiSelectedCountAriaLive=()=>{var t,e;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".multi-select-selected-count");const s=`${(e=this.currValue)===null||e===void 0?void 0:e.length} of ${p(this.options)} selected`;if(i&&i.innerText!==s){i.innerText=s}};this.getDefaultValue=t=>this.getLabelFromValue(t)||null;this.setDefaultValue=()=>{if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.searchable?this.getDefaultValue(this.currValue):null;this.initialValue=this.currValue;this.hasSetDefaultValue=true}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=({relatedTarget:t})=>{var e;const i=t;if(i!==null&&(i.tagName==="UL"&&i.className.includes("menu")||i.tagName==="LI"&&i.className.includes("option"))){return}const s=(e=this.menu)===null||e===void 0?void 0:e.querySelector("#retry-button");if(this.searchable&&!!this.menu&&i!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(i)&&(!this.clearButton||i!==this.clearButton)&&(!s||i!==s)){if(!this.retryButtonClick){this.setMenuChange(false);if(!this.value){this.clearInput()}}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=t=>{if(t.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.clearInput=()=>{var t;this.noOptions=null;if(this.searchable){(t=this.searchableSelectElement)===null||t===void 0?void 0:t.setAttribute("value","");this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions}};this.renderNativeOption=t=>i("option",{value:t.value,disabled:t.disabled,selected:t.value===this.currValue},t.label)}watchDisabledHandler(){n(this.disabled,this.el)}loadingHandler(t){t?this.triggerLoading():this.setOptions()}watchOptionsHandler(){this.setOptions()}debounceChangedHandler(t){if(this.currDebounce!==t){this.currDebounce=t}}valueChangedHandler(){if(this.value!==this.currValue){if(this.value&&this.multiple){this.currValue=this.getMultipleOptionsString(this.value)?this.getValueSortedByOptions(this.value):null;this.updateMultiSelectedCountAriaLive()}else{this.currValue=this.getLabelFromValue(this.value)?this.value:null}}if(this.searchable&&this.value){this.searchableSelectInputValue=this.getLabelFromValue(String(this.currValue))||null}}openChangedHandler(){this.open?this.icOpen.emit():this.icClose.emit()}disconnectedCallback(){var t;b(this.el,this.handleFormReset);(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){const t=this.multiple?this.getMultipleOptionsString(this.value):this.getLabelFromValue(this.value);this.currValue=t?this.value:null;this.inheritedAttributes=f(this.el,E);n(this.disabled,this.el);this.setOptionsValuesFromLabels();m(this.el,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}if(this.searchable){this.hiddenInputValue=this.currValue}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true})}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}render(){var t,e,a,o;const{size:n,disabled:r,fullWidth:l,helperText:c,hideLabel:h,label:d,menuId:u,multiple:b,name:f,options:m,placeholder:w,readonly:L,required:C,searchable:H,showClearButton:$,validationAriaLive:T,validationStatus:M,validationText:O,currValue:B,theme:I,hiddenInputValue:P,open:j,inputId:D,searchableSelectInputValue:F,loading:N,value:A,emptyOptionListText:E,uniqueOptions:V,selectOnEnter:W,form:G,inheritedAttributes:K,ariaActiveDescendant:U,hasTimedOut:_,filteredOptions:R,clearButtonFocused:Z}=this;v(this.el,H?P:B,f||D,r);const Q=`${M===k.Error}`;const X=z(M,!!r);const J=g(this.el,D,c!=="",X).trim();const Y=b?this.getMultipleOptionsString(B):this.getLabelFromValue(B);const tt=!r&&(H?!!F:!!B&&!N&&$);return i(s,{key:"f4a2c999048b3813c72f19cb9d12b179a1aa2829",class:{"ic-select-disabled":r,"ic-select-searchable":H,[`ic-select-${n}`]:n!=="medium","ic-select-full-width":l,[`ic-theme-${I}`]:I!=="inherit"},onBlur:this.onBlur},i("ic-input-container",{key:"26ca71ed868b6154ae6d85b12176cbd2c245a2a1",readonly:L},!h&&i("ic-input-label",{key:"fbc267c35b7408673080578c7223713bbbc63487",for:D,label:d,helperText:c,required:C,disabled:r,readonly:L},i("slot",{key:"6614423a784d3c8afb82685721ac76044a541b2c",name:"helper-text",slot:"helper-text"})),i("ic-input-component-container",{key:"22f3497287a6dffa909d12ab7cf56dcc350580ff",ref:t=>this.anchorEl=t,class:{"menu-open":j},size:n,fullWidth:l,disabled:r,readonly:L,validationStatus:M},x(this.el,"icon")&&!r&&(!L||!!A)&&i("span",{key:"2103e465e79ce43a400ab208cd3fa41f8d9a4897",slot:"left-icon",class:{readonly:L,"has-value":!!A}},i("slot",{key:"626f074a90189f115c112e179ffd5c1e28ac17c6",name:"icon"})),L?i("ic-typography",null,i("p",null,Y)):y()&&!b?i("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:r,onChange:this.handleNativeSelectChange,required:C,id:D,"aria-label":d,"aria-describedby":J,"aria-invalid":Q,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:G},K),i("option",{value:"",selected:true,disabled:!$},w),m.map((t=>t.children?i("optgroup",{label:t.label},t.children.map((t=>this.renderNativeOption(t)))):this.renderNativeOption(t)))):H?i("div",{class:"searchable-select-container"},i("input",{class:{"value-text":true,"select-input":true,"with-clear-button":!!F},role:"combobox",autocomplete:"off","aria-label":d,"aria-describedby":J,"aria-activedescendant":U,"aria-autocomplete":"list","aria-expanded":`${j}`,"aria-invalid":Q,"aria-required":`${C}`,"aria-controls":u,ref:t=>this.searchableSelectElement=t,id:D,value:F||undefined,placeholder:w,disabled:r,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:G}),tt&&i("div",{class:"clear-button-container"},i("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":F&&(B===null||N)?"Clear input":"Clear selection",class:"clear-button",innerHTML:S,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:n,variant:"icon-tertiary",theme:Z?"light":"dark"}),i("div",{class:"divider"})),i("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":j},innerHTML:q,"aria-hidden":"true"}),i("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):i("div",{class:"select-container"},i("button",{role:"combobox",class:"select-input",ref:t=>this.customSelectElement=t,id:D,"aria-label":`${d}, ${(b&&B?`${B.length} of ${p(m)} selected, ${Y}`:Y)||w}`,"aria-describedby":J,"aria-invalid":Q,"aria-haspopup":"listbox","aria-expanded":`${j}`,"aria-owns":u,"aria-controls":u,"aria-required":`${C}`,disabled:r,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},i("ic-typography",{variant:"body",class:{"value-text":true,"with-clear-button":tt,placeholder:!N&&b?!A||A.length<1:!this.getLabelFromValue(B)}},Y||w),i("div",{class:"select-input-end"},tt&&i("div",{class:"divider"}),i("span",{class:{"expand-icon":true,"expand-icon-open":j},innerHTML:q,"aria-hidden":"true"}))),tt&&i("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:S,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:n,variant:"icon-tertiary",theme:Z?"light":"dark"}))),(!y()||b)&&i("ic-menu",{key:"e309813f2a75cf0eb862f6c1b06cf34a81ded8f1",class:{"no-results":N||_||H&&((e=(t=this.filteredOptions)===null||t===void 0?void 0:t[0])===null||e===void 0?void 0:e.label)===E||!H&&((o=(a=this.uniqueOptions)===null||a===void 0?void 0:a[0])===null||o===void 0?void 0:o.label)===E},ref:t=>this.menu=t,inputEl:H?this.searchableSelectElement:this.customSelectElement,inputLabel:d,anchorEl:this.anchorEl,size:n,menuId:u,open:j,options:H?R:V,value:b?B:B,fullWidth:l,selectOnEnter:W,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuOptionSelectAll:this.handleSelectAllChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:H||b||W?"manual":"automatic",closeOnSelect:!b,multiSelect:b?true:false,searchableSelect:H?true:false}),b&&i("div",{key:"4d029c5c9543fe25438a856df7a6dcde941ed648","aria-live":"polite",role:"status",class:"multi-select-selected-count"}),i("ic-input-validation",{key:"f709f7940485a6fa673a1fe7cb14a636e53fa151",class:{"menu-open":j},ariaLiveMode:T,status:X?M:"",message:X?O:"",for:D})))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"],open:["openChangedHandler"]}}};V.style=N;const W='/*! 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;--ic-input-label-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-text-field-border-neutral);--border-color-hover:var(--ic-text-field-border-neutral-hover);--border-color-pressed:var(--ic-text-field-border-neutral-pressed);--border-color-disabled:var(--ic-text-field-border-disabled);--border-color-error:var(--ic-text-field-border-error);--border-color-error-hover:var(--ic-text-field-border-error-hover);--border-color-error-pressed:var(--ic-text-field-border-error-pressed);--border-color-success:var(--ic-text-field-border-success);--border-color-success-hover:var(--ic-text-field-border-success-hover);--border-color-success-pressed:var(--ic-text-field-border-success-pressed);--border-color-warning:var(--ic-text-field-border-warning);--border-color-warning-hover:var(--ic-text-field-border-warning-hover);--border-color-warning-pressed:var(--ic-text-field-border-warning-pressed);--ic-input-label-text-color:var(--ic-text-field-label);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle);--ic-input-validation-status-text-color:var(--ic-text-field-state-text);--ic-input-validation-error:var(--ic-text-field-state-icon-error);--ic-input-validation-warning-icon-color:var(\n --ic-text-field-state-icon-warning\n );--ic-input-validation-success-icon-color:var(\n --ic-text-field-state-icon-success\n );--ic-input-component-container-success-icon-inline-color:var(\n --ic-text-field-state-icon-success\n )}:host(.ic-text-field-disabled){--ic-input-label-text-color:var(--ic-text-field-label-disabled);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle-disabled);--text-field-placeholder-color:var(\n --ic-text-field-text-area-placeholder-text-disabled\n )}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}::placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);color:var(--text-field-text-color, var(--ic-text-field-text));background-color:var(--input-bg-color, var(--ic-text-field-background));line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n )}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n )}input.readonly,textarea.readonly{color:var(--ic-text-field-read-only-input-text-internal);background:transparent}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.char-count-text{--ic-typography-color:var(--ic-text-field-character-limit);padding-right:var(--ic-space-xxxs)}:host(.ic-text-field-disabled) .char-count-text{--ic-typography-color:var(--ic-text-field-character-limit-disabled)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-text-field-text-disabled)}.has-value ::slotted([slot="icon"]){fill:var(--ic-text-field-input-internal-icon)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}.show-validation{margin-top:var(--ic-space-xs)}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot="icon"]){fill:currentcolor}}';const G=W;let K=0;const U=[...w,"title"];const _=class{constructor(i){t(this,i);this.getValidationText=e(this,"getValidationText",7);this.icBlur=e(this,"icBlur",7);this.icChange=e(this,"icChange",7);this.icFocus=e(this,"icFocus",7);this.icInput=e(this,"icInput",7);this.icKeydown=e(this,"icKeydown",7);this.icScroll=e(this,"icScroll",7);this.inheritedAttributes={};this.hostMutationObserver=null;this.numChars=0;this.maxCharactersReached=false;this.maxCharactersWarning=false;this.minCharactersUnattained=false;this.maxValueExceeded=false;this.minValueUnattained=false;this.isFocussed=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.disabled=false;this.fullWidth=false;this.helperText="";this.hideCharCount=false;this.hideLabel=false;this.hiddenInput=true;this.inputId=`ic-text-field-input-${K++}`;this.inputmode="text";this.maxCharacters=0;this.maxCharactersMessage=`Maximum input is ${this.maxCharacters} characters`;this.maxMessage=`Maximum value of ${this.max} exceeded`;this.minCharacters=0;this.minCharactersMessage=`Minimum input is ${this.minCharacters} characters`;this.minMessage=`Minimum value of ${this.min} not met`;this.name=this.inputId;this.placeholder="";this.readonly=false;this.required=false;this.resize=false;this.rows=1;this.size="medium";this.spellcheck=false;this.theme="inherit";this.truncateValue=false;this.type="text";this.validationAriaLive="default";this.validationInline=false;this.validationInlineInternal=false;this.validationStatus="";this.validationText="";this.debounce=0;this.value="";this.initialValue=this.value;this.checkChildHydration=()=>{var t,e;if(this.hideLabel||((e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-typography"))===null||e===void 0?void 0:e.classList.contains("hydrated"))){this.setFocus();clearInterval(this.interval)}};this.getNumberOfCharacters=t=>t!==null&&t!==undefined?t.length:0;this.getMaxValueExceeded=t=>{this.numChars=this.getNumberOfCharacters(t);if(this.type==="number"){this.minValueUnattained=!!t&&Number(t)<Number(this.min);this.maxValueExceeded=Number(t)>Number(this.max)}};this.getMaxCharactersReached=t=>{this.numChars=this.getNumberOfCharacters(t);this.maxCharactersReached=this.maxCharacters>0&&this.numChars>=this.maxCharacters;if(this.maxCharactersWarning&&!this.maxCharactersReached){this.maxCharactersWarning=false}};this.onInput=t=>{this.value=t.target.value;this.icInput.emit({value:this.value})};this.onBlur=t=>{const e=t.target;e.removeEventListener("wheel",this.onWheel);const{value:i}=e;this.numChars=i.length;this.minCharactersUnattained=this.minCharacters>0&&this.numChars<this.minCharacters;this.icBlur.emit({value:i});this.isFocussed=false};this.onFocus=t=>{const e=t.target;e.addEventListener("wheel",this.onWheel);this.icFocus.emit({value:e.value});this.isFocussed=true};this.onTextAreaScroll=()=>{this.icScroll.emit()};this.onWheel=t=>{const e=t.target;if(e.type==="number"){e.blur();setTimeout((()=>{e.focus()}),0)}};this.hasStatus=t=>t!==""&&!this.disabled;this.handleFormReset=()=>{this.value=this.initialValue};this.showValidationMargin=()=>{const t=this.readonly?0:this.maxCharacters;const e=L(this.validationStatus)||L(this.validationText);const i=this.minValueUnattained||this.maxValueExceeded;const s=t>0||this.minCharactersUnattained;return(!e||i||s)&&!this.validationInlineInternal};this.hostMutationCallback=t=>{let e=false;t.forEach((({attributeName:t,type:i,addedNodes:s,removedNodes:a})=>{if(t&&U.includes(t)){const i=this.el.getAttribute(t);if(i){this.inheritedAttributes[t]=i}e=true}else if(i==="childList"){e=c(s,a,"icon")}}));if(e){o(this)}}}watchDisabledHandler(){n(this.disabled,this.el)}debounceChanged(){this.icChange=C(this.icChange,this.debounce)}watchValueHandler(t){let e;if(this.maxCharacters>0){e=t.substring(0,this.maxCharacters);if(e.length<t.length){this.maxCharactersWarning=true}this.value=e}else{e=t}if(this.inputEl&&this.inputEl.value!==e){this.inputEl.value=e}this.getMaxValueExceeded(e);this.getMaxCharactersReached(e);this.icChange.emit({value:e})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var t;b(this.el,this.handleFormReset);(t=this.hostMutationObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){if(this.value!==this.initialValue){this.watchValueHandler(this.value)}else if(this.maxCharacters>0){this.value=this.value.substring(0,this.maxCharacters)}this.getMaxValueExceeded(this.value);this.getMaxCharactersReached(this.value);this.inheritedAttributes=f(this.el,U);if(this.readonly){this.maxValueExceeded=false;this.minValueUnattained=false}m(this.el,this.handleFormReset);n(this.disabled,this.el)}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Text Field");if(this.validationInlineInternal){this.getValidationText.emit({value:this.validationText})}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true});if(this.autofocus&&!this.disabled&&!this.readonly){this.interval=setInterval(this.checkChildHydration,50)}}handleKeyDown(t){var e,i;this.icKeydown.emit({event:t,cursorPosition:(e=this.inputEl.selectionStart)!==null&&e!==void 0?e:0,selectionEnd:(i=this.inputEl.selectionEnd)!==null&&i!==void 0?i:0});if(!t.ctrlKey&&!H.includes(t.key)){this.maxCharactersWarning=this.maxCharactersReached}}async setFocus(){var t;(t=this.inputEl)===null||t===void 0?void 0:t.focus()}render(){const{inputId:t,name:e,label:a,required:o,size:n,placeholder:r,helperText:l,hideCharCount:c,rows:h,resize:d,disabled:u,value:p,min:b,max:f,numChars:m,readonly:y,maxCharacters:w,maxCharactersMessage:z,maxCharactersWarning:L,maxCharactersReached:C,maxMessage:H,minCharacters:T,minCharactersMessage:M,minCharactersUnattained:O,minMessage:B,minValueUnattained:I,maxValueExceeded:P,validationAriaLive:j,validationStatus:D,validationText:q,validationInline:S,validationInlineInternal:F,spellcheck:N,inputmode:A,fullWidth:E,truncateValue:V,hiddenInput:W,theme:G,hideLabel:K,type:U,autocapitalize:_,ariaActiveDescendant:R,inheritedAttributes:Z,ariaExpanded:Q,ariaOwns:X,autocomplete:J,role:Y,isFocussed:tt}=this;const et=this.el;const it=y||u;const st=P||I||O||L?L?k.Warning:k.Error:D;const at=L?z:P?H:I?B:O?M:q;const ot=y?0:w;const nt=j==="default"?L||P||I||st===k.Error?"assertive":"polite":j;const rt=this.hasStatus(st)&&!(st==k.Success&&S)&&!F;const lt=h>1;const ct=w>0?`${t}-char-count-desc`:"";const ht=ot-m;const dt=w>0?`${t}-remaining-char-count-desc`:"";const ut=`${ht} character${ht===1?"":"s"} remaining.`;const pt=`${ct} ${m>0?dt:""} ${g(this.el,t,l!=="",rt)}`.trim();const bt=it&&!y;const ft=!!this.el.querySelector(`[slot="icon"]`)&&!bt;const mt=`${st===k.Error}`;W?v(this.el,p,e,it):$(this.el);return i(s,{key:"1b376250d6e147cac7b9dbb15ae5eb7a2ba6aefe",class:{"ic-text-field-full-width":E,"ic-text-field-disabled":it,[`ic-theme-${G}`]:G!=="inherit"}},i("ic-input-container",{key:"ef66c6d29dd16f57af7d10d177210c63979ad106",readonly:y,disabled:it},!K&&i("ic-input-label",{key:"2c4e3c9f6580a1d68983758214be4be7d5c9c762",for:t,label:a,helperText:l,required:o,disabled:bt,readonly:y},i("slot",{key:"c0a2199348d4157e67deca641480e2c2d3d16550",name:"helper-text",slot:"helper-text"})),i("ic-input-component-container",{key:"5bcfba3d42c94cf7abc8f7ad2ba29b5b80ffe511",size:n,validationStatus:st,multiLine:lt,disabled:it,readonly:y,validationInline:S,fullWidth:E},ft&&i("span",{key:"d98d07fb64f7cdfed8d66860b4df4a1b64174a24",class:{readonly:y,"has-value":this.getNumberOfCharacters(p)>0},slot:"left-icon"},i("slot",{key:"8508568fb8dada7941c0ac9f938f6a71892e06ff",name:"icon"})),!lt?i("input",Object.assign({id:t,name:e,ref:t=>this.inputEl=t,type:U,min:b,max:f,value:p,class:{"no-left-pad":!ft&&y,readonly:y,"truncate-value":V},placeholder:r?r:"",required:o,disabled:it,readonly:y,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":a,"aria-describedby":pt,"aria-invalid":mt,"aria-activedescendant":R,"aria-expanded":Q,"aria-owns":X,autocomplete:J,autocapitalize:_,spellcheck:N,inputmode:A,role:Y||undefined,maxlength:C?w:undefined,minlength:O?T:undefined},Z)):i("textarea",Object.assign({id:t,class:{"no-resize":d===false||!!y,"no-left-pad":!ft&&!!y,readonly:!!y},name:e,ref:t=>this.inputEl=t,value:p,rows:h,required:o,disabled:it,placeholder:r,readonly:y,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,onScroll:this.onTextAreaScroll,"aria-label":a,"aria-describedby":pt,"aria-invalid":mt,autocomplete:J,autocapitalize:_,spellcheck:N,inputmode:A,maxlength:C?w:undefined,minlength:O?T:undefined},Z)),x(et,"clear-button")&&i("slot",{key:"91761fa97b0bb02a095968b7e204ebb93c3cdebf",name:"clear-button"}),x(et,"search-submit-button")&&i("slot",{key:"656d028a1add45972896a170347b0733f1794eec",name:"search-submit-button"})),x(et,"menu")&&i("slot",{key:"f305e73e1035983c26fd6f738a46446c43a81245",name:"menu"}),i("ic-input-validation",{key:"85a6ff5809be1edcc921c46a6a415e5739c14baa",class:{"show-validation":this.showValidationMargin()},status:this.hasStatus(st)===false||st===k.Success&&S||F?"":st,message:rt?at:"",ariaLiveMode:nt,for:t,fullWidth:E},!y&&ot>0&&i("div",{key:"13e0c01a4525d51b9515cbc04667c21fa918736d",slot:"validation-message-adornment"},!c&&i("ic-typography",{key:"9038017ea03a0c6b8ea32fd102b012a28af8503f",variant:"caption",class:"char-count-text"},i("span",{key:"5b13ff51491f886e705726616c439ecb8d8d00bc",class:"char-count"},m,"/",ot)),i("span",{key:"8c4e2f4f749838d382fc06d5cec08dec0ba88d43",class:"remaining-char-count-desc","aria-live":"polite",hidden:!tt,id:dt},ut),i("span",{key:"d66957769eb0962af90f9933339aeecf961fc690",hidden:true,id:ct},"Field can contain a maximum of ",ot," characters.")))))}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],debounce:["debounceChanged"],value:["watchValueHandler"]}}};_.style=G;export{I as ic_pagination,D as ic_pagination_item,V as ic_select,_ as ic_text_field};
2
- //# sourceMappingURL=p-402870f7.entry.js.map