@ukic/canary-web-components 2.0.0-canary.9 → 3.0.0-canary.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (821) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-7a069459.js → helpers-33b42cd6.js} +95 -101
  3. package/dist/cjs/helpers-33b42cd6.js.map +1 -0
  4. package/dist/cjs/{helpers-f75cf7cf.js → helpers-6817cfbb.js} +116 -1
  5. package/dist/cjs/helpers-6817cfbb.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -9
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +28 -10
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +17 -8
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-badge.cjs.entry.js +67 -117
  15. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +37 -11
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +8 -7
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-button_3.cjs.entry.js +122 -134
  21. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card-horizontal.cjs.entry.js +131 -0
  23. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +149 -0
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +27 -20
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +45 -40
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +48 -30
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +14 -5
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  36. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +57 -0
  39. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-data-table.cjs.entry.js +807 -65
  41. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-date-input.cjs.entry.js +70 -33
  43. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-date-picker.cjs.entry.js +81 -55
  45. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-dialog.cjs.entry.js +27 -101
  47. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-divider.cjs.entry.js +3 -4
  49. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-empty-state_2.cjs.entry.js +323 -0
  51. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -0
  52. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -10
  53. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -8
  55. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-footer.cjs.entry.js +9 -10
  57. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-hero.cjs.entry.js +27 -12
  59. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -8
  61. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +38 -32
  63. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-link.cjs.entry.js +51 -24
  65. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  67. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-menu-item.cjs.entry.js +6 -13
  69. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +186 -47
  71. package/dist/cjs/ic-menu-with-multi.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-menu.cjs.entry.js +16 -21
  73. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-navigation-button.cjs.entry.js +28 -8
  75. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-navigation-group.cjs.entry.js +23 -21
  77. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-navigation-item.cjs.entry.js +33 -38
  79. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -4
  81. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-page-header.cjs.entry.js +10 -12
  83. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-pagination_4.cjs.entry.js +227 -186
  85. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-popover-menu.cjs.entry.js +33 -33
  87. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-radio-group.cjs.entry.js +87 -53
  89. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-radio-option.cjs.entry.js +44 -53
  91. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-search-bar.cjs.entry.js +33 -53
  93. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-select-with-multi.cjs.entry.js +15 -51
  97. package/dist/cjs/ic-select-with-multi.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-side-navigation.cjs.entry.js +8 -9
  99. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-skeleton.cjs.entry.js +18 -38
  101. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-status-tag.cjs.entry.js +7 -15
  103. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-step.cjs.entry.js +41 -43
  105. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-stepper.cjs.entry.js +55 -24
  107. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-switch.cjs.entry.js +7 -9
  109. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab-context.cjs.entry.js +90 -137
  111. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-tab-group.cjs.entry.js +25 -11
  113. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-tab-panel.cjs.entry.js +6 -13
  115. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-tab.cjs.entry.js +14 -14
  117. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-theme.cjs.entry.js +39 -25
  119. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -7
  121. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toast.cjs.entry.js +88 -35
  123. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -17
  125. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -14
  127. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  128. package/dist/cjs/ic-top-navigation.cjs.entry.js +62 -86
  129. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  130. package/dist/cjs/ic-tree-item.cjs.entry.js +241 -0
  131. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -0
  132. package/dist/cjs/ic-tree-view.cjs.entry.js +203 -0
  133. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -0
  134. package/dist/cjs/ic-typography.cjs.entry.js +58 -20
  135. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  136. package/dist/cjs/index-4cf27b16.js +26 -14
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/collection/assets/arrow-dropdown.svg +3 -0
  139. package/dist/collection/collection-manifest.json +7 -3
  140. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +661 -0
  141. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +373 -0
  142. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  143. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js +2 -0
  144. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.types.js.map +1 -0
  145. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +130 -0
  146. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -0
  147. package/dist/collection/components/ic-data-table/ic-data-table.css +174 -13
  148. package/dist/collection/components/ic-data-table/ic-data-table.js +1176 -90
  149. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  150. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  151. package/dist/collection/components/ic-data-table/story-data.js +798 -39
  152. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  153. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +339 -3
  154. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  155. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.css +93 -0
  156. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +160 -0
  157. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js.map +1 -0
  158. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js +11 -0
  159. package/dist/collection/components/ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.js.map +1 -0
  160. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js +70 -0
  161. package/dist/collection/components/ic-data-table-title-bar/test/basic/ic-data-table-title-bar.spec.js.map +1 -0
  162. package/dist/collection/components/ic-date-input/ic-date-input.css +5 -5
  163. package/dist/collection/components/ic-date-input/ic-date-input.js +140 -33
  164. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  165. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js +23 -21
  166. package/dist/collection/components/ic-date-input/test/basic/ic-date-input.spec.js.map +1 -1
  167. package/dist/collection/components/ic-date-picker/ic-date-picker.css +34 -32
  168. package/dist/collection/components/ic-date-picker/ic-date-picker.js +123 -56
  169. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  170. package/dist/collection/components/ic-date-picker/story-data.js +6 -1
  171. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  172. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js +73 -5
  173. package/dist/collection/components/ic-date-picker/test/basic/ic-date-picker.spec.js.map +1 -1
  174. package/dist/collection/components/ic-menu-with-multi/ic-menu.css +30 -19
  175. package/dist/collection/components/ic-menu-with-multi/ic-menu.js +187 -69
  176. package/dist/collection/components/ic-menu-with-multi/ic-menu.js.map +1 -1
  177. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js +229 -52
  178. package/dist/collection/components/ic-menu-with-multi/test/basic/ic-menu.spec.js.map +1 -1
  179. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +1 -1
  180. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +213 -166
  181. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  182. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  183. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  184. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js +75 -12
  185. package/dist/collection/components/ic-pagination-bar/test/basic/ic-pagination-bar.spec.js.map +1 -1
  186. package/dist/collection/components/ic-select-with-multi/ic-select.css +21 -19
  187. package/dist/collection/components/ic-select-with-multi/ic-select.js +16 -145
  188. package/dist/collection/components/ic-select-with-multi/ic-select.js.map +1 -1
  189. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js +7 -7
  190. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.spec.js.map +1 -1
  191. package/dist/collection/components/ic-tree-item/ic-tree-item.css +172 -0
  192. package/dist/collection/components/ic-tree-item/ic-tree-item.js +592 -0
  193. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -0
  194. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +114 -0
  195. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -0
  196. package/dist/collection/components/ic-tree-view/ic-tree-view.css +59 -0
  197. package/dist/collection/components/ic-tree-view/ic-tree-view.js +296 -0
  198. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -0
  199. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js +85 -0
  200. package/dist/collection/components/ic-tree-view/test/basic/ic-tree-view.spec.js.map +1 -0
  201. package/dist/collection/utils/helpers.js +44 -1
  202. package/dist/collection/utils/helpers.js.map +1 -1
  203. package/dist/collection/utils/types.js.map +1 -1
  204. package/dist/components/helpers.js +84 -90
  205. package/dist/components/helpers.js.map +1 -1
  206. package/dist/components/helpers2.js +107 -1
  207. package/dist/components/helpers2.js.map +1 -1
  208. package/dist/components/ic-accordion-group.js +39 -13
  209. package/dist/components/ic-accordion-group.js.map +1 -1
  210. package/dist/components/ic-accordion.js +6 -6
  211. package/dist/components/ic-accordion.js.map +1 -1
  212. package/dist/components/ic-alert.js +132 -1
  213. package/dist/components/ic-alert.js.map +1 -1
  214. package/dist/components/ic-back-to-top.js +37 -8
  215. package/dist/components/ic-back-to-top.js.map +1 -1
  216. package/dist/components/ic-badge.js +75 -121
  217. package/dist/components/ic-badge.js.map +1 -1
  218. package/dist/components/ic-breadcrumb-group.js +42 -10
  219. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  220. package/dist/components/ic-breadcrumb2.js +10 -7
  221. package/dist/components/ic-breadcrumb2.js.map +1 -1
  222. package/dist/components/ic-button2.js +69 -106
  223. package/dist/components/ic-button2.js.map +1 -1
  224. package/dist/components/ic-card-horizontal.d.ts +11 -0
  225. package/dist/components/ic-card-horizontal.js +167 -0
  226. package/dist/components/ic-card-horizontal.js.map +1 -0
  227. package/dist/components/ic-card-vertical.js +194 -0
  228. package/dist/components/ic-card-vertical.js.map +1 -0
  229. package/dist/components/ic-checkbox-group.js +31 -21
  230. package/dist/components/ic-checkbox-group.js.map +1 -1
  231. package/dist/components/ic-checkbox.js +52 -47
  232. package/dist/components/ic-checkbox.js.map +1 -1
  233. package/dist/components/ic-chip.js +56 -33
  234. package/dist/components/ic-chip.js.map +1 -1
  235. package/dist/components/ic-classification-banner.js +14 -5
  236. package/dist/components/ic-classification-banner.js.map +1 -1
  237. package/dist/components/ic-data-list.js +56 -0
  238. package/dist/components/ic-data-list.js.map +1 -0
  239. package/dist/components/ic-data-row.js +14 -13
  240. package/dist/components/ic-data-row.js.map +1 -1
  241. package/dist/components/ic-data-table-title-bar.d.ts +11 -0
  242. package/dist/components/ic-data-table-title-bar.js +136 -0
  243. package/dist/components/ic-data-table-title-bar.js.map +1 -0
  244. package/dist/components/ic-data-table.js +843 -72
  245. package/dist/components/ic-data-table.js.map +1 -1
  246. package/dist/components/ic-date-input2.js +79 -36
  247. package/dist/components/ic-date-input2.js.map +1 -1
  248. package/dist/components/ic-date-picker.js +87 -57
  249. package/dist/components/ic-date-picker.js.map +1 -1
  250. package/dist/components/ic-dialog.js +29 -115
  251. package/dist/components/ic-dialog.js.map +1 -1
  252. package/dist/components/ic-divider2.js +2 -3
  253. package/dist/components/ic-divider2.js.map +1 -1
  254. package/dist/components/ic-empty-state.js +1 -57
  255. package/dist/components/ic-empty-state.js.map +1 -1
  256. package/dist/components/ic-empty-state2.js +80 -0
  257. package/dist/components/ic-empty-state2.js.map +1 -0
  258. package/dist/components/ic-footer-link-group.js +10 -10
  259. package/dist/components/ic-footer-link-group.js.map +1 -1
  260. package/dist/components/ic-footer-link.js +13 -8
  261. package/dist/components/ic-footer-link.js.map +1 -1
  262. package/dist/components/ic-footer.js +9 -10
  263. package/dist/components/ic-footer.js.map +1 -1
  264. package/dist/components/ic-hero.js +28 -14
  265. package/dist/components/ic-hero.js.map +1 -1
  266. package/dist/components/ic-horizontal-scroll2.js +6 -8
  267. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  268. package/dist/components/ic-input-component-container2.js +25 -20
  269. package/dist/components/ic-input-component-container2.js.map +1 -1
  270. package/dist/components/ic-input-label2.js +9 -11
  271. package/dist/components/ic-input-label2.js.map +1 -1
  272. package/dist/components/ic-input-validation2.js +4 -5
  273. package/dist/components/ic-input-validation2.js.map +1 -1
  274. package/dist/components/ic-link2.js +54 -27
  275. package/dist/components/ic-link2.js.map +1 -1
  276. package/dist/components/ic-loading-indicator2.js +29 -23
  277. package/dist/components/ic-loading-indicator2.js.map +1 -1
  278. package/dist/components/ic-menu-group.js +2 -2
  279. package/dist/components/ic-menu-group.js.map +1 -1
  280. package/dist/components/ic-menu-item2.js +6 -12
  281. package/dist/components/ic-menu-item2.js.map +1 -1
  282. package/dist/components/ic-menu2.js +15 -20
  283. package/dist/components/ic-menu2.js.map +1 -1
  284. package/dist/components/ic-menu3.js +187 -49
  285. package/dist/components/ic-menu3.js.map +1 -1
  286. package/dist/components/ic-navigation-button.js +28 -8
  287. package/dist/components/ic-navigation-button.js.map +1 -1
  288. package/dist/components/ic-navigation-group.js +23 -20
  289. package/dist/components/ic-navigation-group.js.map +1 -1
  290. package/dist/components/ic-navigation-item.js +33 -37
  291. package/dist/components/ic-navigation-item.js.map +1 -1
  292. package/dist/components/ic-navigation-menu2.js +3 -3
  293. package/dist/components/ic-navigation-menu2.js.map +1 -1
  294. package/dist/components/ic-page-header.js +9 -11
  295. package/dist/components/ic-page-header.js.map +1 -1
  296. package/dist/components/ic-pagination-bar2.js +166 -147
  297. package/dist/components/ic-pagination-bar2.js.map +1 -1
  298. package/dist/components/ic-pagination-item2.js +22 -12
  299. package/dist/components/ic-pagination-item2.js.map +1 -1
  300. package/dist/components/ic-pagination2.js +50 -33
  301. package/dist/components/ic-pagination2.js.map +1 -1
  302. package/dist/components/ic-popover-menu.js +35 -33
  303. package/dist/components/ic-popover-menu.js.map +1 -1
  304. package/dist/components/ic-radio-group.js +88 -53
  305. package/dist/components/ic-radio-group.js.map +1 -1
  306. package/dist/components/ic-radio-option.js +47 -60
  307. package/dist/components/ic-radio-option.js.map +1 -1
  308. package/dist/components/ic-search-bar.js +31 -52
  309. package/dist/components/ic-search-bar.js.map +1 -1
  310. package/dist/components/ic-section-container2.js +1 -1
  311. package/dist/components/ic-section-container2.js.map +1 -1
  312. package/dist/components/ic-select-with-multi.js +15 -58
  313. package/dist/components/ic-select-with-multi.js.map +1 -1
  314. package/dist/components/ic-select2.js +60 -43
  315. package/dist/components/ic-select2.js.map +1 -1
  316. package/dist/components/ic-side-navigation.js +8 -9
  317. package/dist/components/ic-side-navigation.js.map +1 -1
  318. package/dist/components/ic-skeleton.js +20 -45
  319. package/dist/components/ic-skeleton.js.map +1 -1
  320. package/dist/components/ic-status-tag.js +7 -15
  321. package/dist/components/ic-status-tag.js.map +1 -1
  322. package/dist/components/ic-step.js +48 -48
  323. package/dist/components/ic-step.js.map +1 -1
  324. package/dist/components/ic-stepper.js +60 -23
  325. package/dist/components/ic-stepper.js.map +1 -1
  326. package/dist/components/ic-switch.js +7 -9
  327. package/dist/components/ic-switch.js.map +1 -1
  328. package/dist/components/ic-tab-context.js +95 -139
  329. package/dist/components/ic-tab-context.js.map +1 -1
  330. package/dist/components/ic-tab-group.js +27 -13
  331. package/dist/components/ic-tab-group.js.map +1 -1
  332. package/dist/components/ic-tab-panel.js +9 -16
  333. package/dist/components/ic-tab-panel.js.map +1 -1
  334. package/dist/components/ic-tab.js +16 -15
  335. package/dist/components/ic-tab.js.map +1 -1
  336. package/dist/components/ic-text-field2.js +105 -114
  337. package/dist/components/ic-text-field2.js.map +1 -1
  338. package/dist/components/ic-theme.js +45 -28
  339. package/dist/components/ic-theme.js.map +1 -1
  340. package/dist/components/ic-toast-region.js +7 -9
  341. package/dist/components/ic-toast-region.js.map +1 -1
  342. package/dist/components/ic-toast.js +93 -36
  343. package/dist/components/ic-toast.js.map +1 -1
  344. package/dist/components/ic-toggle-button-group.js +17 -17
  345. package/dist/components/ic-toggle-button-group.js.map +1 -1
  346. package/dist/components/ic-toggle-button.js +16 -14
  347. package/dist/components/ic-toggle-button.js.map +1 -1
  348. package/dist/components/ic-tooltip2.js +31 -9
  349. package/dist/components/ic-tooltip2.js.map +1 -1
  350. package/dist/components/ic-top-navigation.js +63 -87
  351. package/dist/components/ic-top-navigation.js.map +1 -1
  352. package/dist/components/ic-tree-item.d.ts +11 -0
  353. package/dist/components/ic-tree-item.js +286 -0
  354. package/dist/components/ic-tree-item.js.map +1 -0
  355. package/dist/components/ic-tree-view.d.ts +11 -0
  356. package/dist/components/ic-tree-view.js +237 -0
  357. package/dist/components/ic-tree-view.js.map +1 -0
  358. package/dist/components/ic-typography2.js +65 -22
  359. package/dist/components/ic-typography2.js.map +1 -1
  360. package/dist/core/core.css +101 -29
  361. package/dist/core/core.esm.js +1 -1
  362. package/dist/core/core.esm.js.map +1 -1
  363. package/dist/core/p-0894cab1.entry.js +2 -0
  364. package/dist/core/p-0894cab1.entry.js.map +1 -0
  365. package/dist/core/p-0ab10600.entry.js +2 -0
  366. package/dist/core/p-0ab10600.entry.js.map +1 -0
  367. package/dist/core/p-1109636a.entry.js +2 -0
  368. package/dist/core/p-1109636a.entry.js.map +1 -0
  369. package/dist/core/p-130a05cf.entry.js +2 -0
  370. package/dist/core/p-130a05cf.entry.js.map +1 -0
  371. package/dist/core/p-1e2aa8a6.entry.js +2 -0
  372. package/dist/core/p-1e2aa8a6.entry.js.map +1 -0
  373. package/dist/core/p-1fe35de1.entry.js +2 -0
  374. package/dist/core/p-1fe35de1.entry.js.map +1 -0
  375. package/dist/core/p-202bc922.entry.js +2 -0
  376. package/dist/core/p-202bc922.entry.js.map +1 -0
  377. package/dist/core/p-28323849.entry.js +2 -0
  378. package/dist/core/p-28323849.entry.js.map +1 -0
  379. package/dist/core/p-297e99cf.js +2 -0
  380. package/dist/core/p-297e99cf.js.map +1 -0
  381. package/dist/core/p-2e49fb22.entry.js +2 -0
  382. package/dist/core/p-2e49fb22.entry.js.map +1 -0
  383. package/dist/core/p-2ff4e283.entry.js +2 -0
  384. package/dist/core/p-2ff4e283.entry.js.map +1 -0
  385. package/dist/core/p-30b046b2.entry.js +2 -0
  386. package/dist/core/p-30b046b2.entry.js.map +1 -0
  387. package/dist/core/{p-f8cf2978.js → p-33dd24eb.js} +2 -2
  388. package/dist/core/p-3db785f0.entry.js +2 -0
  389. package/dist/core/p-3db785f0.entry.js.map +1 -0
  390. package/dist/core/p-3ef28704.entry.js +2 -0
  391. package/dist/core/p-3ef28704.entry.js.map +1 -0
  392. package/dist/core/p-42883e4c.entry.js +2 -0
  393. package/dist/core/p-42883e4c.entry.js.map +1 -0
  394. package/dist/core/p-42e0f3bd.entry.js +2 -0
  395. package/dist/core/p-42e0f3bd.entry.js.map +1 -0
  396. package/dist/core/p-44ee5375.entry.js +2 -0
  397. package/dist/core/p-44ee5375.entry.js.map +1 -0
  398. package/dist/core/p-486d8d43.entry.js +2 -0
  399. package/dist/core/p-486d8d43.entry.js.map +1 -0
  400. package/dist/core/p-4dcc37e7.entry.js +2 -0
  401. package/dist/core/p-4dcc37e7.entry.js.map +1 -0
  402. package/dist/core/p-4e28ef60.entry.js +2 -0
  403. package/dist/core/{p-b306cbc8.entry.js.map → p-4e28ef60.entry.js.map} +1 -1
  404. package/dist/core/p-50019ede.entry.js +2 -0
  405. package/dist/core/p-50019ede.entry.js.map +1 -0
  406. package/dist/core/p-505250cf.entry.js +2 -0
  407. package/dist/core/p-505250cf.entry.js.map +1 -0
  408. package/dist/core/p-53e00a8a.entry.js +2 -0
  409. package/dist/core/p-53e00a8a.entry.js.map +1 -0
  410. package/dist/core/p-59028160.entry.js +2 -0
  411. package/dist/core/p-59028160.entry.js.map +1 -0
  412. package/dist/core/p-5accf0bb.entry.js +2 -0
  413. package/dist/core/p-5accf0bb.entry.js.map +1 -0
  414. package/dist/core/p-5b7dfe57.entry.js +2 -0
  415. package/dist/core/p-5b7dfe57.entry.js.map +1 -0
  416. package/dist/core/p-5cfb5821.entry.js +2 -0
  417. package/dist/core/p-5cfb5821.entry.js.map +1 -0
  418. package/dist/core/p-603fea14.entry.js +2 -0
  419. package/dist/core/p-603fea14.entry.js.map +1 -0
  420. package/dist/core/p-64933069.entry.js +2 -0
  421. package/dist/core/p-64933069.entry.js.map +1 -0
  422. package/dist/core/p-6beffd0e.entry.js +2 -0
  423. package/dist/core/p-6beffd0e.entry.js.map +1 -0
  424. package/dist/core/p-77a32de5.entry.js +2 -0
  425. package/dist/core/p-77a32de5.entry.js.map +1 -0
  426. package/dist/core/p-7c268030.entry.js +2 -0
  427. package/dist/core/p-7c268030.entry.js.map +1 -0
  428. package/dist/core/p-7c78f6c6.entry.js +2 -0
  429. package/dist/core/p-7c78f6c6.entry.js.map +1 -0
  430. package/dist/core/p-7c80d79c.entry.js +2 -0
  431. package/dist/core/p-7c80d79c.entry.js.map +1 -0
  432. package/dist/core/{p-c2b5e7b1.entry.js → p-7e1603cc.entry.js} +2 -2
  433. package/dist/core/p-7e1603cc.entry.js.map +1 -0
  434. package/dist/core/p-897b8d16.entry.js +2 -0
  435. package/dist/core/p-897b8d16.entry.js.map +1 -0
  436. package/dist/core/p-8ca2e329.entry.js +2 -0
  437. package/dist/core/p-8ca2e329.entry.js.map +1 -0
  438. package/dist/core/p-8df49808.entry.js +2 -0
  439. package/dist/core/p-8df49808.entry.js.map +1 -0
  440. package/dist/core/p-8f12659d.entry.js +2 -0
  441. package/dist/core/p-8f12659d.entry.js.map +1 -0
  442. package/dist/core/p-903ee57e.entry.js +2 -0
  443. package/dist/core/p-903ee57e.entry.js.map +1 -0
  444. package/dist/core/p-92e3ccb9.entry.js +2 -0
  445. package/dist/core/p-92e3ccb9.entry.js.map +1 -0
  446. package/dist/core/p-9397b15b.js +2 -0
  447. package/dist/core/p-9397b15b.js.map +1 -0
  448. package/dist/core/p-9b54feca.entry.js +2 -0
  449. package/dist/core/p-9b54feca.entry.js.map +1 -0
  450. package/dist/core/{p-356b8a4c.entry.js → p-9f3cf053.entry.js} +2 -2
  451. package/dist/core/{p-356b8a4c.entry.js.map → p-9f3cf053.entry.js.map} +1 -1
  452. package/dist/core/p-a78cf2cb.entry.js +2 -0
  453. package/dist/core/p-a78cf2cb.entry.js.map +1 -0
  454. package/dist/core/p-a9151d0b.entry.js +2 -0
  455. package/dist/core/p-a9151d0b.entry.js.map +1 -0
  456. package/dist/core/p-acc76b80.entry.js +2 -0
  457. package/dist/core/p-acc76b80.entry.js.map +1 -0
  458. package/dist/core/p-aeb6016c.entry.js +2 -0
  459. package/dist/core/p-aeb6016c.entry.js.map +1 -0
  460. package/dist/core/p-b0751bd9.entry.js +2 -0
  461. package/dist/core/p-b0751bd9.entry.js.map +1 -0
  462. package/dist/core/{p-452985d9.entry.js → p-b40ecaef.entry.js} +2 -2
  463. package/dist/core/p-b40ecaef.entry.js.map +1 -0
  464. package/dist/core/p-bb1252fa.entry.js +2 -0
  465. package/dist/core/p-bb1252fa.entry.js.map +1 -0
  466. package/dist/core/p-c033e7d6.entry.js +2 -0
  467. package/dist/core/p-c033e7d6.entry.js.map +1 -0
  468. package/dist/core/p-c1698936.entry.js +2 -0
  469. package/dist/core/p-c1698936.entry.js.map +1 -0
  470. package/dist/core/p-c1e90c85.entry.js +2 -0
  471. package/dist/core/p-c1e90c85.entry.js.map +1 -0
  472. package/dist/core/p-cb63e656.entry.js +2 -0
  473. package/dist/core/p-cb63e656.entry.js.map +1 -0
  474. package/dist/core/p-d03374fc.entry.js +2 -0
  475. package/dist/core/p-d03374fc.entry.js.map +1 -0
  476. package/dist/core/p-d2e7a256.entry.js +2 -0
  477. package/dist/core/p-d2e7a256.entry.js.map +1 -0
  478. package/dist/core/p-d3c0bffb.entry.js +2 -0
  479. package/dist/core/p-d3c0bffb.entry.js.map +1 -0
  480. package/dist/core/p-d5ca3bcb.entry.js +2 -0
  481. package/dist/core/p-d5ca3bcb.entry.js.map +1 -0
  482. package/dist/core/p-da3e8c54.entry.js +2 -0
  483. package/dist/core/p-da3e8c54.entry.js.map +1 -0
  484. package/dist/core/p-e5d99316.entry.js +2 -0
  485. package/dist/core/p-e5d99316.entry.js.map +1 -0
  486. package/dist/core/p-eb65e556.entry.js +2 -0
  487. package/dist/core/p-eb65e556.entry.js.map +1 -0
  488. package/dist/core/p-ec53b435.entry.js +2 -0
  489. package/dist/core/p-ec53b435.entry.js.map +1 -0
  490. package/dist/core/p-ed4cde5a.entry.js +2 -0
  491. package/dist/core/p-ed4cde5a.entry.js.map +1 -0
  492. package/dist/core/{p-baf81f30.entry.js → p-f64abdff.entry.js} +2 -2
  493. package/dist/core/p-f64abdff.entry.js.map +1 -0
  494. package/dist/core/p-f9810621.entry.js +2 -0
  495. package/dist/core/p-f9810621.entry.js.map +1 -0
  496. package/dist/core/p-fb7b99dd.entry.js +2 -0
  497. package/dist/core/p-fb7b99dd.entry.js.map +1 -0
  498. package/dist/esm/core.js +1 -1
  499. package/dist/esm/{date-helpers-4f432e92.js → date-helpers-0e5e32a7.js} +2 -2
  500. package/dist/esm/{date-helpers-4f432e92.js.map → date-helpers-0e5e32a7.js.map} +1 -1
  501. package/dist/esm/{helpers-f328a7b6.js → helpers-5bd2012a.js} +108 -2
  502. package/dist/esm/helpers-5bd2012a.js.map +1 -0
  503. package/dist/esm/{helpers-7aa21b0a.js → helpers-dab8ddfe.js} +85 -91
  504. package/dist/esm/helpers-dab8ddfe.js.map +1 -0
  505. package/dist/esm/ic-accordion-group.entry.js +31 -9
  506. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  507. package/dist/esm/ic-accordion.entry.js +7 -8
  508. package/dist/esm/ic-accordion.entry.js.map +1 -1
  509. package/dist/esm/ic-alert.entry.js +27 -9
  510. package/dist/esm/ic-alert.entry.js.map +1 -1
  511. package/dist/esm/ic-back-to-top.entry.js +17 -8
  512. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  513. package/dist/esm/ic-badge.entry.js +67 -117
  514. package/dist/esm/ic-badge.entry.js.map +1 -1
  515. package/dist/esm/ic-breadcrumb-group.entry.js +37 -11
  516. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  517. package/dist/esm/ic-breadcrumb.entry.js +8 -7
  518. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  519. package/dist/esm/ic-button_3.entry.js +121 -133
  520. package/dist/esm/ic-button_3.entry.js.map +1 -1
  521. package/dist/esm/ic-card-horizontal.entry.js +127 -0
  522. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  523. package/dist/esm/ic-card-vertical.entry.js +145 -0
  524. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  525. package/dist/esm/ic-checkbox-group.entry.js +27 -20
  526. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  527. package/dist/esm/ic-checkbox.entry.js +45 -40
  528. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  529. package/dist/esm/ic-chip.entry.js +49 -31
  530. package/dist/esm/ic-chip.entry.js.map +1 -1
  531. package/dist/esm/ic-classification-banner.entry.js +14 -5
  532. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  533. package/dist/esm/ic-data-list.entry.js +28 -0
  534. package/dist/esm/ic-data-list.entry.js.map +1 -0
  535. package/dist/esm/ic-data-row.entry.js +12 -12
  536. package/dist/esm/ic-data-row.entry.js.map +1 -1
  537. package/dist/esm/ic-data-table-title-bar.entry.js +53 -0
  538. package/dist/esm/ic-data-table-title-bar.entry.js.map +1 -0
  539. package/dist/esm/ic-data-table.entry.js +808 -66
  540. package/dist/esm/ic-data-table.entry.js.map +1 -1
  541. package/dist/esm/ic-date-input.entry.js +71 -34
  542. package/dist/esm/ic-date-input.entry.js.map +1 -1
  543. package/dist/esm/ic-date-picker.entry.js +82 -56
  544. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  545. package/dist/esm/ic-dialog.entry.js +27 -101
  546. package/dist/esm/ic-dialog.entry.js.map +1 -1
  547. package/dist/esm/ic-divider.entry.js +2 -3
  548. package/dist/esm/ic-divider.entry.js.map +1 -1
  549. package/dist/esm/ic-empty-state_2.entry.js +318 -0
  550. package/dist/esm/ic-empty-state_2.entry.js.map +1 -0
  551. package/dist/esm/ic-footer-link-group.entry.js +9 -10
  552. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  553. package/dist/esm/ic-footer-link.entry.js +6 -8
  554. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  555. package/dist/esm/ic-footer.entry.js +9 -10
  556. package/dist/esm/ic-footer.entry.js.map +1 -1
  557. package/dist/esm/ic-hero.entry.js +28 -13
  558. package/dist/esm/ic-hero.entry.js.map +1 -1
  559. package/dist/esm/ic-horizontal-scroll.entry.js +6 -8
  560. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  561. package/dist/esm/ic-input-component-container_4.entry.js +35 -29
  562. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  563. package/dist/esm/ic-link.entry.js +52 -25
  564. package/dist/esm/ic-link.entry.js.map +1 -1
  565. package/dist/esm/ic-menu-group.entry.js +2 -3
  566. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  567. package/dist/esm/ic-menu-item.entry.js +6 -13
  568. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  569. package/dist/esm/ic-menu-with-multi.entry.js +186 -47
  570. package/dist/esm/ic-menu-with-multi.entry.js.map +1 -1
  571. package/dist/esm/ic-menu.entry.js +16 -21
  572. package/dist/esm/ic-menu.entry.js.map +1 -1
  573. package/dist/esm/ic-navigation-button.entry.js +28 -8
  574. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  575. package/dist/esm/ic-navigation-group.entry.js +23 -21
  576. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  577. package/dist/esm/ic-navigation-item.entry.js +33 -38
  578. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  579. package/dist/esm/ic-navigation-menu.entry.js +3 -4
  580. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  581. package/dist/esm/ic-page-header.entry.js +10 -12
  582. package/dist/esm/ic-page-header.entry.js.map +1 -1
  583. package/dist/esm/ic-pagination_4.entry.js +221 -180
  584. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  585. package/dist/esm/ic-popover-menu.entry.js +33 -33
  586. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  587. package/dist/esm/ic-radio-group.entry.js +87 -53
  588. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  589. package/dist/esm/ic-radio-option.entry.js +44 -53
  590. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  591. package/dist/esm/ic-search-bar.entry.js +29 -49
  592. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  593. package/dist/esm/ic-section-container.entry.js +1 -1
  594. package/dist/esm/ic-section-container.entry.js.map +1 -1
  595. package/dist/esm/ic-select-with-multi.entry.js +14 -50
  596. package/dist/esm/ic-select-with-multi.entry.js.map +1 -1
  597. package/dist/esm/ic-side-navigation.entry.js +8 -9
  598. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  599. package/dist/esm/ic-skeleton.entry.js +18 -38
  600. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  601. package/dist/esm/ic-status-tag.entry.js +7 -15
  602. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  603. package/dist/esm/ic-step.entry.js +41 -43
  604. package/dist/esm/ic-step.entry.js.map +1 -1
  605. package/dist/esm/ic-stepper.entry.js +55 -24
  606. package/dist/esm/ic-stepper.entry.js.map +1 -1
  607. package/dist/esm/ic-switch.entry.js +7 -9
  608. package/dist/esm/ic-switch.entry.js.map +1 -1
  609. package/dist/esm/ic-tab-context.entry.js +90 -137
  610. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  611. package/dist/esm/ic-tab-group.entry.js +25 -11
  612. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  613. package/dist/esm/ic-tab-panel.entry.js +6 -13
  614. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  615. package/dist/esm/ic-tab.entry.js +14 -14
  616. package/dist/esm/ic-tab.entry.js.map +1 -1
  617. package/dist/esm/ic-theme.entry.js +39 -25
  618. package/dist/esm/ic-theme.entry.js.map +1 -1
  619. package/dist/esm/ic-toast-region.entry.js +6 -7
  620. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  621. package/dist/esm/ic-toast.entry.js +88 -35
  622. package/dist/esm/ic-toast.entry.js.map +1 -1
  623. package/dist/esm/ic-toggle-button-group.entry.js +17 -17
  624. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  625. package/dist/esm/ic-toggle-button.entry.js +15 -14
  626. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  627. package/dist/esm/ic-top-navigation.entry.js +62 -86
  628. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  629. package/dist/esm/ic-tree-item.entry.js +237 -0
  630. package/dist/esm/ic-tree-item.entry.js.map +1 -0
  631. package/dist/esm/ic-tree-view.entry.js +199 -0
  632. package/dist/esm/ic-tree-view.entry.js.map +1 -0
  633. package/dist/esm/ic-typography.entry.js +59 -21
  634. package/dist/esm/ic-typography.entry.js.map +1 -1
  635. package/dist/esm/index-93509377.js +26 -14
  636. package/dist/esm/loader.js +1 -1
  637. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +71 -0
  638. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.types.d.ts +1 -0
  639. package/dist/types/components/ic-data-table/ic-data-table.d.ts +178 -19
  640. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +30 -0
  641. package/dist/types/components/ic-data-table/story-data.d.ts +251 -3
  642. package/dist/types/components/ic-data-table-title-bar/ic-data-table-title-bar.d.ts +36 -0
  643. package/dist/types/components/ic-date-input/ic-date-input.d.ts +17 -0
  644. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +14 -25
  645. package/dist/types/components/ic-menu-with-multi/ic-menu.d.ts +10 -4
  646. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +46 -22
  647. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +4 -0
  648. package/dist/types/components/ic-select-with-multi/ic-select.d.ts +1 -31
  649. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +95 -0
  650. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +40 -0
  651. package/dist/types/components.d.ts +560 -117
  652. package/dist/types/interface.d.ts +1 -0
  653. package/dist/types/utils/helpers.d.ts +9 -0
  654. package/dist/types/utils/types.d.ts +24 -8
  655. package/hydrate/index.js +4461 -2588
  656. package/package.json +6 -6
  657. package/dist/cjs/helpers-7a069459.js.map +0 -1
  658. package/dist/cjs/helpers-f75cf7cf.js.map +0 -1
  659. package/dist/cjs/ic-card.cjs.entry.js +0 -126
  660. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  661. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  662. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  663. package/dist/cjs/ic-empty-state.cjs.entry.js +0 -38
  664. package/dist/cjs/ic-empty-state.cjs.entry.js.map +0 -1
  665. package/dist/cjs/ic-pagination-bar.cjs.entry.js +0 -269
  666. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +0 -1
  667. package/dist/cjs/types-17dba796.js +0 -16
  668. package/dist/cjs/types-17dba796.js.map +0 -1
  669. package/dist/collection/components/ic-pagination/ic-pagination.types.js +0 -2
  670. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +0 -1
  671. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js +0 -146
  672. package/dist/collection/components/ic-select-with-multi/test/a11y/ic-select.test.a11y.js.map +0 -1
  673. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js +0 -2040
  674. package/dist/collection/components/ic-select-with-multi/test/basic/ic-select.e2e.js.map +0 -1
  675. package/dist/components/ic-alert2.js +0 -117
  676. package/dist/components/ic-alert2.js.map +0 -1
  677. package/dist/components/ic-card.js +0 -171
  678. package/dist/components/ic-card.js.map +0 -1
  679. package/dist/components/ic-data-entity.js +0 -53
  680. package/dist/components/ic-data-entity.js.map +0 -1
  681. package/dist/components/types.js +0 -16
  682. package/dist/components/types.js.map +0 -1
  683. package/dist/core/p-06ae5bec.entry.js +0 -2
  684. package/dist/core/p-06ae5bec.entry.js.map +0 -1
  685. package/dist/core/p-0939ce92.entry.js +0 -2
  686. package/dist/core/p-0939ce92.entry.js.map +0 -1
  687. package/dist/core/p-16f67397.entry.js +0 -2
  688. package/dist/core/p-16f67397.entry.js.map +0 -1
  689. package/dist/core/p-1832f4b5.entry.js +0 -2
  690. package/dist/core/p-1832f4b5.entry.js.map +0 -1
  691. package/dist/core/p-1b7d426b.entry.js +0 -2
  692. package/dist/core/p-1b7d426b.entry.js.map +0 -1
  693. package/dist/core/p-1ce75941.entry.js +0 -2
  694. package/dist/core/p-1ce75941.entry.js.map +0 -1
  695. package/dist/core/p-2e2e0099.entry.js +0 -2
  696. package/dist/core/p-2e2e0099.entry.js.map +0 -1
  697. package/dist/core/p-33679c06.entry.js +0 -2
  698. package/dist/core/p-33679c06.entry.js.map +0 -1
  699. package/dist/core/p-36508aad.entry.js +0 -2
  700. package/dist/core/p-36508aad.entry.js.map +0 -1
  701. package/dist/core/p-3745da83.entry.js +0 -2
  702. package/dist/core/p-3745da83.entry.js.map +0 -1
  703. package/dist/core/p-3f2e77c3.entry.js +0 -2
  704. package/dist/core/p-3f2e77c3.entry.js.map +0 -1
  705. package/dist/core/p-452985d9.entry.js.map +0 -1
  706. package/dist/core/p-47ac6838.entry.js +0 -2
  707. package/dist/core/p-47ac6838.entry.js.map +0 -1
  708. package/dist/core/p-4f1ffa39.entry.js +0 -2
  709. package/dist/core/p-4f1ffa39.entry.js.map +0 -1
  710. package/dist/core/p-5759d771.entry.js +0 -2
  711. package/dist/core/p-5759d771.entry.js.map +0 -1
  712. package/dist/core/p-5e2e6c3b.entry.js +0 -2
  713. package/dist/core/p-5e2e6c3b.entry.js.map +0 -1
  714. package/dist/core/p-5fe96107.entry.js +0 -2
  715. package/dist/core/p-5fe96107.entry.js.map +0 -1
  716. package/dist/core/p-62e22508.entry.js +0 -2
  717. package/dist/core/p-62e22508.entry.js.map +0 -1
  718. package/dist/core/p-6690bc04.entry.js +0 -2
  719. package/dist/core/p-6690bc04.entry.js.map +0 -1
  720. package/dist/core/p-6c0e2ceb.entry.js +0 -2
  721. package/dist/core/p-6c0e2ceb.entry.js.map +0 -1
  722. package/dist/core/p-76915584.entry.js +0 -2
  723. package/dist/core/p-76915584.entry.js.map +0 -1
  724. package/dist/core/p-76d26018.entry.js +0 -2
  725. package/dist/core/p-76d26018.entry.js.map +0 -1
  726. package/dist/core/p-776671cf.entry.js +0 -2
  727. package/dist/core/p-776671cf.entry.js.map +0 -1
  728. package/dist/core/p-7cecf5d5.entry.js +0 -2
  729. package/dist/core/p-7cecf5d5.entry.js.map +0 -1
  730. package/dist/core/p-85609bdd.entry.js +0 -2
  731. package/dist/core/p-85609bdd.entry.js.map +0 -1
  732. package/dist/core/p-86012178.entry.js +0 -2
  733. package/dist/core/p-86012178.entry.js.map +0 -1
  734. package/dist/core/p-8a7e7d23.entry.js +0 -2
  735. package/dist/core/p-8a7e7d23.entry.js.map +0 -1
  736. package/dist/core/p-8c90110a.entry.js +0 -2
  737. package/dist/core/p-8c90110a.entry.js.map +0 -1
  738. package/dist/core/p-8ea47d42.entry.js +0 -2
  739. package/dist/core/p-8ea47d42.entry.js.map +0 -1
  740. package/dist/core/p-9777ebb1.entry.js +0 -2
  741. package/dist/core/p-9777ebb1.entry.js.map +0 -1
  742. package/dist/core/p-982a6e88.entry.js +0 -2
  743. package/dist/core/p-982a6e88.entry.js.map +0 -1
  744. package/dist/core/p-98448bdb.entry.js +0 -2
  745. package/dist/core/p-98448bdb.entry.js.map +0 -1
  746. package/dist/core/p-9d01a7ad.entry.js +0 -2
  747. package/dist/core/p-9d01a7ad.entry.js.map +0 -1
  748. package/dist/core/p-9d540656.entry.js +0 -2
  749. package/dist/core/p-9d540656.entry.js.map +0 -1
  750. package/dist/core/p-9e3178e8.entry.js +0 -2
  751. package/dist/core/p-9e3178e8.entry.js.map +0 -1
  752. package/dist/core/p-a0f9b259.entry.js +0 -2
  753. package/dist/core/p-a0f9b259.entry.js.map +0 -1
  754. package/dist/core/p-a42c2f37.entry.js +0 -2
  755. package/dist/core/p-a42c2f37.entry.js.map +0 -1
  756. package/dist/core/p-a6447b13.entry.js +0 -2
  757. package/dist/core/p-a6447b13.entry.js.map +0 -1
  758. package/dist/core/p-aabab75f.entry.js +0 -2
  759. package/dist/core/p-aabab75f.entry.js.map +0 -1
  760. package/dist/core/p-ae422058.entry.js +0 -2
  761. package/dist/core/p-ae422058.entry.js.map +0 -1
  762. package/dist/core/p-b2aa3d7c.entry.js +0 -2
  763. package/dist/core/p-b2aa3d7c.entry.js.map +0 -1
  764. package/dist/core/p-b306cbc8.entry.js +0 -2
  765. package/dist/core/p-baf81f30.entry.js.map +0 -1
  766. package/dist/core/p-c2b5e7b1.entry.js.map +0 -1
  767. package/dist/core/p-c7590421.entry.js +0 -2
  768. package/dist/core/p-c7590421.entry.js.map +0 -1
  769. package/dist/core/p-c7820c23.entry.js +0 -2
  770. package/dist/core/p-c7820c23.entry.js.map +0 -1
  771. package/dist/core/p-ca8cbd6a.entry.js +0 -2
  772. package/dist/core/p-ca8cbd6a.entry.js.map +0 -1
  773. package/dist/core/p-caf857de.entry.js +0 -2
  774. package/dist/core/p-caf857de.entry.js.map +0 -1
  775. package/dist/core/p-cc7bc438.entry.js +0 -2
  776. package/dist/core/p-cc7bc438.entry.js.map +0 -1
  777. package/dist/core/p-cd799087.js +0 -2
  778. package/dist/core/p-cd799087.js.map +0 -1
  779. package/dist/core/p-d32692e2.entry.js +0 -2
  780. package/dist/core/p-d32692e2.entry.js.map +0 -1
  781. package/dist/core/p-d35c7c18.js +0 -2
  782. package/dist/core/p-d35c7c18.js.map +0 -1
  783. package/dist/core/p-d3856ed3.entry.js +0 -2
  784. package/dist/core/p-d3856ed3.entry.js.map +0 -1
  785. package/dist/core/p-d4fdd8c1.entry.js +0 -2
  786. package/dist/core/p-d4fdd8c1.entry.js.map +0 -1
  787. package/dist/core/p-d5c99ec3.entry.js +0 -2
  788. package/dist/core/p-d5c99ec3.entry.js.map +0 -1
  789. package/dist/core/p-e189f1d0.entry.js +0 -2
  790. package/dist/core/p-e189f1d0.entry.js.map +0 -1
  791. package/dist/core/p-e473bbf8.entry.js +0 -2
  792. package/dist/core/p-e473bbf8.entry.js.map +0 -1
  793. package/dist/core/p-e74f1d09.entry.js +0 -2
  794. package/dist/core/p-e74f1d09.entry.js.map +0 -1
  795. package/dist/core/p-e79e0292.entry.js +0 -2
  796. package/dist/core/p-e79e0292.entry.js.map +0 -1
  797. package/dist/core/p-e84b0310.entry.js +0 -2
  798. package/dist/core/p-e84b0310.entry.js.map +0 -1
  799. package/dist/core/p-f55ad6ae.entry.js +0 -2
  800. package/dist/core/p-f55ad6ae.entry.js.map +0 -1
  801. package/dist/core/p-f91527a0.entry.js +0 -2
  802. package/dist/core/p-f91527a0.entry.js.map +0 -1
  803. package/dist/core/p-fbf4e9b7.entry.js +0 -2
  804. package/dist/core/p-fbf4e9b7.entry.js.map +0 -1
  805. package/dist/core/p-fd186591.js +0 -2
  806. package/dist/core/p-fd186591.js.map +0 -1
  807. package/dist/esm/helpers-7aa21b0a.js.map +0 -1
  808. package/dist/esm/helpers-f328a7b6.js.map +0 -1
  809. package/dist/esm/ic-card.entry.js +0 -122
  810. package/dist/esm/ic-card.entry.js.map +0 -1
  811. package/dist/esm/ic-data-entity.entry.js +0 -25
  812. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  813. package/dist/esm/ic-empty-state.entry.js +0 -34
  814. package/dist/esm/ic-empty-state.entry.js.map +0 -1
  815. package/dist/esm/ic-pagination-bar.entry.js +0 -265
  816. package/dist/esm/ic-pagination-bar.entry.js.map +0 -1
  817. package/dist/esm/types-f605c21c.js +0 -16
  818. package/dist/esm/types-f605c21c.js.map +0 -1
  819. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +0 -6
  820. /package/dist/core/{p-f8cf2978.js.map → p-33dd24eb.js.map} +0 -0
  821. /package/dist/types/components/{ic-select-with-multi/test/a11y/ic-select.test.a11y.d.ts → ic-data-table-title-bar/test/a11y/ic-data-table-title-bar.test.a11y.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icBackToTopCss","backToTopLabel","BackToTop","constructor","hostRef","this","topObserver","getObservedEl","document","querySelector","setTargetElVisible","visible","targetElVisible","setFooterVisible","checkForClassificationBanner","footerVisible","window","scrollY","targetElObserverCallback","entries","isIntersecting","footerObserverCallback","findTargetEl","target","targetElement","undefined","console","log","startsWith","createTopObserver","targetEl","objParent","observedEl","unobserve","remove","body","firstElementChild","isTargetElNull","parentNode","objBackToTopTargetEl","createElement","setAttribute","insertBefore","marginTop","getComputedStyle","IntersectionObserver","threshold","rootMargin","observe","handleClick","scrollTo","scrollIntoView","focus","banners","querySelectorAll","bannerOffset","length","variant","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","componentWillLoad","footers","footerEl","footerObserver","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","render","btnVariant","size","label","h","onClick","class","innerHTML","ArrowUpward","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","../web-components/dist/collection/components/ic-back-to-top/ic-back-to-top.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n */\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\nic-button {\n height: 2.5rem;\n align-items: center;\n background-color: var(--ic-architectural-white);\n border-radius: 5rem;\n box-shadow: var(--ic-elevation-overlay);\n visibility: hidden;\n opacity: 0;\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\nic-button::part(button) {\n border-radius: 5rem;\n border: var(--ic-border-width) solid var(--ic-action-default);\n}\n\nic-button.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\nic-button.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\nic-button.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n.icon-only {\n width: 2.5rem;\n}\n\n.icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n@media (forced-colors: active) {\n .icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-xxxs));\n }\n}\n","import { h } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport { onComponentPropUndefinedChange, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nconst backToTopLabel = \"Back to top\";\nexport class BackToTop {\n constructor() {\n this.topObserver = null;\n this.getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n this.setTargetElVisible = (visible) => {\n this.targetElVisible = visible;\n };\n this.setFooterVisible = (visible) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n this.targetElObserverCallback = (entries) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n this.footerObserverCallback = (entries) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n this.findTargetEl = (target) => {\n let targetElement = null;\n if (target === null || target === undefined) {\n console.log(\"Error: No target ID specified for back to top component - defaulting to top of page\");\n }\n else {\n targetElement = document.querySelector(`${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`);\n if (targetElement === null) {\n console.log(`Error: Back to top target element '${target}' not found - defaulting to top of page`);\n }\n }\n return targetElement;\n };\n this.createTopObserver = (target) => {\n this.targetEl = this.findTargetEl(target);\n let objParent;\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n }\n else {\n objParent = this.targetEl.parentNode;\n this.isTargetElNull = false;\n }\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n this.handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n }\n else {\n this.targetEl.scrollIntoView();\n }\n // Get virtual cursor to move\n this.getObservedEl().focus();\n };\n this.checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\"ic-classification-banner:not([inline='true'])\");\n this.bannerOffset = banners.length > 0;\n };\n this.bannerOffset = false;\n this.footerVisible = false;\n this.targetElVisible = true;\n this.target = undefined;\n this.variant = \"default\";\n }\n watchPropHandler(newValue, oldValue) {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n componentWillLoad() {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\"ic-footer\");\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(this.footerObserverCallback, { threshold: [threshold] });\n footerObserver.observe(footerEl);\n }\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.target, propName: \"target\" }], \"Back to Top\");\n }\n render() {\n const { variant, bannerOffset, targetElVisible, footerVisible } = this;\n const btnVariant = variant === \"icon\" ? \"icon\" : \"tertiary\";\n const size = variant === \"icon\" ? \"large\" : \"medium\";\n const label = variant === \"icon\" ? \"\" : backToTopLabel;\n return (h(\"ic-button\", { \"aria-label\": backToTopLabel, variant: btnVariant, size: size, onClick: this.handleClick, class: {\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"icon-only\"]: variant === \"icon\",\n } }, h(\"span\", { class: \"ic-back-to-top-icon\", innerHTML: ArrowUpward }), label));\n }\n static get is() { return \"ic-back-to-top\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-back-to-top.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-back-to-top.css\"]\n };\n }\n static get properties() {\n return {\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ID of the element to jump back to when the link is clicked.\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcBackToTopVariants\",\n \"resolved\": \"\\\"default\\\" | \\\"icon\\\"\",\n \"references\": {\n \"IcBackToTopVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-back-to-top.types\",\n \"id\": \"src/components/ic-back-to-top/ic-back-to-top.types.ts::IcBackToTopVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the button to render\"\n },\n \"attribute\": \"variant\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"bannerOffset\": {},\n \"footerVisible\": {},\n \"targetElVisible\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"target\",\n \"methodName\": \"watchPropHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-back-to-top.js.map\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as o,H as i,g as r}from"./p-8455d1bb.js";import{e as n,t as a,g as s,f as c,i as l,u as d,I as p}from"./p-9397b15b.js";const m='/*! 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;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-light){--footer-theme-secondary:var(--ic-theme-secondary);--footer-theme-tertiary:var(--ic-theme-tertiary);--footer-keyline:var(--ic-border-keyline-lighten)}:host(.ic-footer-foreground-dark){--footer-theme-secondary:var(--ic-theme-secondary-light);--footer-theme-tertiary:var(--ic-theme-tertiary-light);--footer-keyline:var(--ic-border-keyline-darken)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text);border-bottom:var(--footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--footer-theme-secondary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--footer-theme-tertiary);color:var(--ic-theme-text);--ic-typography-color:var(--ic-theme-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const f=class{constructor(o){e(this,o);this.footerResized=t(this,"footerResized",7);this.resizeObserver=null;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const e=n();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)};this.deviceSize=a.XL;this.foregroundColor=s();this.aligned="left";this.breakpoint="medium";this.caption=undefined;this.copyright=true;this.description=undefined;this.groupLinks=false}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.deviceSize=n()}componentDidLoad(){c(this.runResizeObserver)}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:t,copyright:r,description:n,groupLinks:s,foregroundColor:c}=this;const m=this.isSmall();return o(i,{class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${s?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${c}`]:true,[`ic-footer-${p.Dark}`]:c===p.Dark,[`ic-footer-${p.Light}`]:c===p.Light}},o("footer",{ref:e=>this.footerEl=e},(l(this.el,"description")||n)&&o("div",{class:"footer-description"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-description-inner"},o("ic-typography",{variant:"body"},o("slot",{name:"description"},n))))),l(this.el,"link")&&o("div",{class:"footer-links"},s&&m?o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})):o("ic-section-container",{fullHeight:true,aligned:e},o("div",{class:"footer-links-inner",role:"list"},o("slot",{name:"link"})))),o("div",{class:"footer-compliance"},o("ic-section-container",{aligned:e,fullHeight:true},o("div",{class:"footer-compliance-inner"},l(this.el,"logo")&&o("div",{class:"footer-logo"},o("slot",{name:"logo"})),(l(this.el,"caption")||t)&&o("div",{class:"footer-caption"},o("ic-typography",{variant:this.deviceSize<=a.M?"caption":"body"},o("slot",{name:"caption"},t))),r&&o("div",{class:{["footer-copyright"]:true,["classification-spacing"]:d()}},o("ic-typography",{variant:this.deviceSize<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};f.style=m;export{f as ic_footer};
2
+ //# sourceMappingURL=p-7c268030.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icFooterCss","Footer","constructor","hostRef","this","resizeObserver","resizeObserverCallback","currSize","deviceSize","footerResized","emit","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","footerEl","IC_DEVICE_SIZES","XL","foregroundColor","getThemeForegroundColor","aligned","breakpoint","caption","undefined","copyright","description","groupLinks","disconnectedCallback","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","themeChangeHandler","ev","theme","detail","mode","isSmall","bp","XS","S","M","L","render","small","h","Host","class","IcThemeForegroundEnum","Dark","Light","ref","isSlotUsed","el","fullHeight","variant","name","role","hasClassificationBanner"],"sources":["../web-components/dist/collection/components/ic-footer/ic-footer.css?tag=ic-footer&encapsulation=shadow","../web-components/dist/collection/components/ic-footer/ic-footer.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n\n --footer-compliance-padding: 1rem 0;\n}\n\n:host(.ic-footer-sparse) {\n --footer-links-padding: 1.5rem 0;\n --footer-logo-margin-bottom: calc(var(--ic-space-md) + var(--ic-space-xxs));\n --footer-link-inner-flex-direction: row;\n}\n\n:host(.ic-footer-small) {\n --footer-links-padding: 0 0;\n --footer-logo-margin-bottom: var(--ic-space-md);\n --footer-link-inner-flex-direction: column;\n}\n\n:host(.ic-footer-foreground-light) {\n --footer-theme-secondary: var(--ic-theme-secondary);\n --footer-theme-tertiary: var(--ic-theme-tertiary);\n --footer-keyline: var(--ic-border-keyline-lighten);\n}\n\n:host(.ic-footer-foreground-dark) {\n --footer-theme-secondary: var(--ic-theme-secondary-light);\n --footer-theme-tertiary: var(--ic-theme-tertiary-light);\n --footer-keyline: var(--ic-border-keyline-darken);\n}\n\n:host(.ic-footer-small.ic-footer-ungrouped) {\n --footer-links-padding: var(--ic-space-md) 0 0 0;\n}\n\n/* Main inner footer element */\nfooter {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Description */\n\n.footer-description {\n background-color: var(--footer-theme-secondary);\n color: var(--ic-theme-text);\n\n --ic-typography-color: var(--ic-theme-text);\n\n border-bottom: var(--footer-keyline);\n}\n\n.footer-description-inner {\n padding: 1rem 0;\n}\n\n/* Links */\n\n.footer-links {\n padding: var(--footer-links-padding);\n background-color: var(--footer-theme-secondary);\n color: var(--ic-theme-text);\n\n --ic-typography-color: var(--ic-theme-text);\n}\n\n.footer-links-inner {\n display: flex;\n flex-direction: var(--footer-link-inner-flex-direction);\n}\n\n/* Compliance */\n\n.footer-compliance {\n background-color: var(--footer-theme-tertiary);\n color: var(--ic-theme-text);\n\n --ic-typography-color: var(--ic-theme-text);\n}\n\n.footer-compliance-inner {\n padding: var(--footer-compliance-padding);\n}\n\n.footer-logo {\n margin-bottom: var(--footer-logo-margin-bottom);\n display: flex;\n gap: var(--ic-space-xxl);\n}\n\n.footer-logo > ::slotted() {\n margin-right: var(--ic-space-md);\n}\n\n.footer-caption {\n margin-bottom: var(--ic-space-md);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n@media (forced-colors: active) {\n footer {\n border-top: var(--ic-border-hc);\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport { IC_DEVICE_SIZES } from \"../../utils/constants\";\nimport { getCurrentDeviceSize, getThemeForegroundColor, checkResizeObserver, hasClassificationBanner, isSlotUsed, } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\n/**\n * @slot description - Content will be rendered at the top of the footer.\n * @slot link - Content will be rendered between description and logos.\n * @slot logo - Content will be rendered underneath footer links.\n * @slot caption - Content will be rendered above Crown Copyright.\n */\nexport class Footer {\n constructor() {\n this.resizeObserver = null;\n this.resizeObserverCallback = (currSize) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n this.footerResized.emit();\n };\n this.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n this.resizeObserver.observe(this.footerEl);\n };\n this.deviceSize = IC_DEVICE_SIZES.XL;\n this.foregroundColor = getThemeForegroundColor();\n this.aligned = \"left\";\n this.breakpoint = \"medium\";\n this.caption = undefined;\n this.copyright = true;\n this.description = undefined;\n this.groupLinks = false;\n }\n disconnectedCallback() {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n componentWillLoad() {\n this.deviceSize = getCurrentDeviceSize();\n }\n componentDidLoad() {\n checkResizeObserver(this.runResizeObserver);\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n isSmall() {\n const bp = this.breakpoint;\n return bp === \"extra small\"\n ? this.deviceSize < IC_DEVICE_SIZES.XS\n : bp === \"small\"\n ? this.deviceSize < IC_DEVICE_SIZES.S\n : bp === \"medium\"\n ? this.deviceSize < IC_DEVICE_SIZES.M\n : bp === \"large\"\n ? this.deviceSize < IC_DEVICE_SIZES.L\n : bp === \"extra large\"\n ? this.deviceSize < IC_DEVICE_SIZES.XL\n : false;\n }\n render() {\n const { aligned, caption, copyright, description, groupLinks, foregroundColor, } = this;\n const small = this.isSmall();\n return (h(Host, { class: {\n [\"ic-footer\"]: true,\n [`ic-footer-${small ? \"small\" : \"sparse\"}`]: true,\n [`ic-footer-${groupLinks ? \"grouped\" : \"ungrouped\"}`]: true,\n [`ic-footer-foreground-${foregroundColor}`]: true,\n // Slots will be able to infer their own color\n [`ic-footer-${IcThemeForegroundEnum.Dark}`]: foregroundColor === IcThemeForegroundEnum.Dark,\n [`ic-footer-${IcThemeForegroundEnum.Light}`]: foregroundColor === IcThemeForegroundEnum.Light,\n } }, h(\"footer\", { ref: (footerEl) => (this.footerEl = footerEl) }, (isSlotUsed(this.el, \"description\") || description) && (h(\"div\", { class: \"footer-description\" }, h(\"ic-section-container\", { aligned: aligned, fullHeight: true }, h(\"div\", { class: \"footer-description-inner\" }, h(\"ic-typography\", { variant: \"body\" }, h(\"slot\", { name: \"description\" }, description)))))), isSlotUsed(this.el, \"link\") && (h(\"div\", { class: \"footer-links\" }, groupLinks && small ? (h(\"div\", { class: \"footer-links-inner\", role: \"list\" }, h(\"slot\", { name: \"link\" }))) : (h(\"ic-section-container\", { fullHeight: true, aligned: aligned }, h(\"div\", { class: \"footer-links-inner\", role: \"list\" }, h(\"slot\", { name: \"link\" })))))), h(\"div\", { class: \"footer-compliance\" }, h(\"ic-section-container\", { aligned: aligned, fullHeight: true }, h(\"div\", { class: \"footer-compliance-inner\" }, isSlotUsed(this.el, \"logo\") && (h(\"div\", { class: \"footer-logo\" }, h(\"slot\", { name: \"logo\" }))), (isSlotUsed(this.el, \"caption\") || caption) && (h(\"div\", { class: \"footer-caption\" }, h(\"ic-typography\", { variant: this.deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption\"\n : \"body\" }, h(\"slot\", { name: \"caption\" }, caption)))), copyright && (h(\"div\", { class: {\n [\"footer-copyright\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n } }, h(\"ic-typography\", { variant: this.deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption-uppercase\"\n : \"label-uppercase\" }, \"\\u00A9 Crown Copyright\")))))))));\n }\n static get is() { return \"ic-footer\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-footer.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-footer.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"full-width\\\" | \\\"left\\\"\",\n \"references\": {\n \"IcAlignment\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the section containers used within the footer.\"\n },\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"breakpoint\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcFooterBreakpoints\",\n \"resolved\": \"\\\"extra large\\\" | \\\"extra small\\\" | \\\"large\\\" | \\\"medium\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcFooterBreakpoints\": {\n \"location\": \"import\",\n \"path\": \"./ic-footer.types\",\n \"id\": \"src/components/ic-footer/ic-footer.types.tsx::IcFooterBreakpoints\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The screen size breakpoint at which to switch to the small layout.\"\n },\n \"attribute\": \"breakpoint\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"caption\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The caption displayed at the bottom of the footer.\"\n },\n \"attribute\": \"caption\",\n \"reflect\": false\n },\n \"copyright\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the footer will display the crown copyright at the bottom.\"\n },\n \"attribute\": \"copyright\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"description\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The description displayed at the top of the footer.\"\n },\n \"attribute\": \"description\",\n \"reflect\": false\n },\n \"groupLinks\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the footer will be set up to handle link groups instead of standalone links.\"\n },\n \"attribute\": \"group-links\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"foregroundColor\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"footerResized\",\n \"name\": \"footerResized\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Triggers on page resize and triggers style changes in footer links and link groups\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-footer.js.map\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{h as t,r as e,c as i,H as s,g as a}from"./p-8455d1bb.js";import{d as n,g as o,a as h,y as r,b as c,c as l,e as d,f as u,h as f}from"./p-33dd24eb.js";import{s as p,e as b,f as m,h as y,o as w,j as g}from"./p-297e99cf.js";const k=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M9.70687 6L8.29688 7.41L12.8769 12L8.29688 16.59L9.70687 18L15.7069 12L9.70687 6Z" fill="currentColor"/>\n</svg>\n`;const v=({focussed:e,today:i,day:s,monthInView:a,onFocusDay:n,onBlurDay:o,onSelectDay:h,selected:r,focussedDayRef:c,inRange:l,showDaysOutsideMonth:d,disableDay:u})=>{const f=()=>{h(s)};const y=()=>{n()};const w=()=>{o()};const g=p(b);const k=p(m);const v=!l||u;const x=a!==s.getMonth();const D=v||x&&!d;return t("div",{class:"day-button-container"},t("button",{class:{"day-button":true,"outside-month":x,"outside-range":v,hidden:x&&!d,disabled:D,today:i,selected:r,focussed:e},tabIndex:e?0:-1,"aria-hidden":x?"true":"false","aria-disabled":D?"true":"false","aria-current":i?"date":undefined,"aria-label":D||x||v?undefined:`Choose ${g[s.getDay()]}, ${s.getDate()} ${k[s.getMonth()]} ${s.getFullYear()}`,disabled:D,onClick:f,onBlur:w,onFocus:y,ref:t=>{if(e&&t&&c){c(t)}}},(!x||x&&d)&&t("ic-typography",{variant:"subtitle-small",italic:x},s.getDate())))};const x=({size:e,focussedMonth:i,monthInView:s,onSelectMonth:a,onKeyDown:r,focussedMonthRef:c,minDate:l,maxDate:d,yearInView:u})=>{const f=t=>{const e=t.target;a(Number(e.getAttribute("data-month")))};const b=p(m);return t("div",{class:{"month-picker":true},role:"list"},b.map(((a,p)=>{const b=s===p;const m=i===p;const y=!n(new Date(u,p,1),l?h(l):null,d?o(d):null);return t("ic-button",{role:"listitem",class:{"month-button":true,selected:b,focussed:m,disabled:y},"full-width":true,disabled:y,variant:b?"primary":"tertiary","data-month":p,size:e,tabIndex:m?0:-1,"aria-current":b?"true":"false","aria-label":b?"":`select ${a}`,onClick:f,onKeyDown:r,ref:t=>{if(m&&t){c(t)}}},a)})))};const D=({decadeView:e,size:i,focussedYear:s,yearInView:a,onSelectYear:n,onFocusYear:o,onBlurYear:h,onKeyDown:c,minDate:l,maxDate:d,focussedYearRef:u})=>{const f=t=>{const e=t.target;n(Number(e.getAttribute("data-year")))};const p=()=>{o()};const b=()=>{h()};const m=t=>{t.preventDefault()};const y=e[0];const w=e[11];const g=e.slice(1,11);return t("div",{class:"year-picker",role:"list"},t("div",{class:"prev-decade","aria-hidden":"true"},t("ic-button",{id:"prev-decade-button",class:{"year-button":true},disabled:!r(y,l,d),"data-year":y,tabIndex:-1,variant:"tertiary",onClick:f,onMouseDown:m,"aria-hidden":"true",size:i},`${y-9}s`,t("svg",{slot:"left-icon",width:"12",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z",fill:"currentColor"})))),g.map((e=>{const n=a===e;const o=s===e;return t("ic-button",{class:{"year-button":true,selected:n,focussed:o},disabled:!r(e,l,d),"data-year":e,tabIndex:o?0:-1,variant:n?"primary":"tertiary",onClick:f,"aria-label":n?"":`select ${e}`,role:"listitem","aria-current":n?"true":"false",onKeyDown:c,onFocus:p,onBlur:b,size:i,ref:t=>{if(o&&t){u(t)}}},e)})),t("div",{class:"next-decade","aria-hidden":"true"},t("ic-button",{id:"next-decade-button",class:{"year-button":true,flip:true},disabled:!r(w,l,d),"data-year":w,tabIndex:-1,variant:"tertiary",onClick:f,onMouseDown:m,"aria-hidden":"true",size:i},`${w}s`,t("svg",{slot:"right-icon",width:"12",height:"12",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t("path",{d:"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z",fill:"currentColor"})))))};const z='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--month-year-picker-button-width:5rem;--month-button-width:5.5rem;--input-field-width:var(--input-width, 19.125rem)}:host(.ic-date-picker-large){--month-button-width:6.3125rem;--input-field-width:var(--input-width, 21.125rem)}:host(.ic-date-picker-small){--month-button-width:6.25rem;--input-field-width:var(--input-width, 17.125rem)}:host .date-input-container{position:relative}ic-date-input{--input-width:var(--input-field-width)}:host .calendar-container{min-width:19rem;max-width:23.5rem;width:var(--input-width);display:flex;flex-direction:column;gap:var(--ic-space-xs);position:absolute;border:var(--ic-border-default);border-radius:var(--ic-border-radius);align-items:center;background-color:var(--ic-architectural-white);z-index:var(--ic-z-index-date-picker);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);margin-top:var(--ic-space-xxxs);padding:var(--ic-space-xs);animation:fade-in-calendar var(--ic-transition-duration-slow)}:host(.ic-date-picker-small) .calendar-container{min-width:17rem;max-width:21.5rem}:host(.ic-date-picker-large) .calendar-container{min-width:21rem;max-width:25.5rem}:host .calendar-container.above{bottom:calc(var(--ic-space-xxl) - var(--ic-space-xxs))}:host .month-year-nav-container{display:flex;justify-content:space-between;align-items:center;align-self:stretch}:host .month-year-nav-container.hidden{display:none}:host .month-year-nav{display:flex;justify-content:space-between;align-items:center;flex:1 0 0}:host .month-picker,:host .year-picker{flex-wrap:wrap;display:inline-flex;align-items:center;width:17.5rem;-moz-column-gap:var(--ic-space-xs);column-gap:var(--ic-space-xs);row-gap:var(--ic-space-xxs)}:host(.ic-date-picker-small) .month-picker,:host(.ic-date-picker-small) .year-picker{width:13.125rem}:host(.ic-date-picker-large) .month-picker,:host(.ic-date-picker-large) .year-picker{width:20rem}:host .month-picker-button,:host .year-picker-button{width:5rem;--min-width:5rem}:host .month-button,:host .year-button{width:var(--month-button-width)}:host .month-button.focussed,:host .year-button.focussed{z-index:1}:host .month-button::part(button),:host .year-button::part(button){min-width:var(--month-button-width)}:host .prev-decade .year-button svg{margin-right:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .prev-decade .year-button::part(button){padding-left:0;padding-right:var(--ic-space-lg)}:host(.ic-date-picker-small) .prev-decade .year-button::part(button){padding-left:0;padding-right:calc(var(--ic-space-lg) + var(--ic-space-xxs))}:host .next-decade .year-button svg{margin-left:calc(-1 * var(--ic-space-xl));padding-top:var(--ic-space-sm)}:host .next-decade .year-button::part(button){padding-right:0;padding-left:var(--ic-space-lg)}:host(.ic-date-picker-small) .next-decade .year-button::part(button),:host(.ic-date-picker-large) .next-decade .year-button::part(button){padding-left:var(--ic-space-xl)}:host .bottom-buttons{padding-top:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center;align-self:stretch;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-date-picker-small) .bottom-buttons{padding-top:var(--ic-space-xxs)}:host .bottom-buttons.no-today{align-items:flex-end;flex-direction:column}:host .bottom-buttons.hidden{display:none}:host .calendar{display:flex;flex-direction:column;align-items:flex-start;width:15.75rem;animation:fade-in-buttons var(--ic-transition-duration-slow)}:host(.ic-date-picker-large) .calendar{width:19.25rem}:host(.ic-date-picker-small) .calendar{padding-bottom:var(--ic-space-xxs);width:14rem}:host .hidden{display:none}:host .weekdays{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:var(--ic-space-xs);align-self:stretch}:host .calendar-days-container{display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:var(--ic-space-xs);padding:var(--ic-space-xxs) 0}:host(.ic-date-picker-small) .calendar-days-container{padding:var(--ic-space-xxxs) 0}:host(.ic-date-picker-large) .calendar-days-container{padding:var(--ic-space-xs) 0}:host .calendar-day-header{display:flex;width:2rem;padding:var(--ic-space-xxs) 0;justify-content:center;align-items:center}:host(.ic-date-picker-small) .calendar-day-header,:host(.ic-date-picker-large) .calendar-day-header{padding:var(--ic-space-xxs)}:host .calendar-day-header ic-typography{--ic-typography-color:var(--ic-color-text-tertiary);text-align:center}:host .day-button-container{display:flex;justify-content:center;align-items:center;width:2.25rem;height:2.25rem}:host(.ic-date-picker-small) .day-button-container{width:2rem;height:2rem}:host(.ic-date-picker-large) .day-button-container{width:2.5rem;height:2.5rem}:host .day-button{display:flex;position:relative;justify-content:center;align-items:center;border:0;border-radius:2rem;background-color:var(--ic-architectural-white);width:2rem;height:2rem;cursor:pointer;transition:var(--ic-easing-transition-fast);z-index:0}:host .day-button.disabled{cursor:default}:host(.ic-date-picker-large) .day-button{width:2.25rem;height:2.25rem}:host(.ic-date-picker-small) .day-button{width:1.75rem;height:1.75rem}:host .day-button ic-typography{width:1.75rem;--ic-typography-color:var(--ic-color-text-primary)}:host .day-button.outside-range ic-typography{--ic-typography-color:var(--ic-architectural-400)}:host .day-button.outside-month ic-typography{font-weight:var(--ic-font-weight-regular) !important}:host .day-button.outside-month:not(.outside-range):not(.selected) ic-typography{--ic-typography-color:var(--ic-color-text-primary)}:host .day-button:hover:not(.disabled){background-color:var(--ic-action-dark-bg-hover)}:host .day-button:active:not(.disabled){background-color:var(--ic-action-dark-bg-pressed)}@media (prefers-reduced-motion: no-preference){:host .day-button:hover:not(.disabled):not(.focussed),:host .day-button:active:not(.disabled):not(.focussed){transition:background-color var(--ic-transition-duration-slow) ease-in-out}}:host .day-button.selected:not(.hidden){background-color:var(--ic-action-default)}:host .day-button.selected ic-typography{--ic-typography-color:var(--ic-color-white-text)}:host .day-button.selected:not(.hidden):hover{background-color:var(--ic-action-default-hover)}:host .day-button.selected:not(.hidden):active{background-color:var(--ic-action-default-pressed)}:host .day-button.focussed{z-index:1}:host .day-button:focus{outline:none}:host .day-button.focussed:focus{box-shadow:var(--ic-border-focus)}:host .day-button.today:not(.hidden)::after{content:"";position:absolute;width:0.875rem;height:0.125rem;bottom:0.4rem;border-radius:var(--ic-border-radius);background-color:var(--ic-action-default)}:host(.ic-date-picker-small) .day-button.today::after{bottom:0.35rem}:host(.ic-date-picker-large) .day-button.today::after{width:1rem}:host .day-button.today.selected::after{background-color:var(--ic-architectural-white)}:host #select-month-hint,:host #select-year-hint{display:none}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){:host .calendar-container,:host .calendar,:host .bottom-buttons{animation:none}}@keyframes fade-in-buttons{0%{opacity:0}50%{opacity:0}100%{opacity:1}}@keyframes fade-in-calendar{0%{display:flex;max-height:0}100%{display:flex;max-height:600px}}@media (forced-colors: active){:host .day-button.today:not(.hidden)::after{background-color:highlight}:host .day-button.selected:not(.hidden){background-color:highlight}:host .day-button.focussed:focus{border:var(--ic-border-hc)}:host .month-button.selected::part(button),:host .year-button.selected::part(button){background-color:highlight}}';const H="DD/MM/YYYY";const M="Dates in the future are not allowed. Please select a date in the past.";const P="Dates in the past are not allowed. Please select a date in the future.";const V="The date you have selected is on a day of the week that is not allowed. Please select another date.";const L=100;const T=360;const I=400;const C=440;const Y=class{constructor(s){e(this,s);this.icChange=i(this,"icChange",7);this.clearButtonEl=null;this.daysOfWeek=[];this.dayButtonFocussed=false;this.dayPickerKeyboardNav=false;this.dialogDescription="";this.focusDay=true;this.liveRegionEl=null;this.monthNames=[];this.monthInViewUpdateHandled=false;this.myCalendarButtonClicked=false;this.showPickerAbove=false;this.today=new Date;this.todayButtonEl=null;this.yearButtonFocussed=false;this.setDecadeView=t=>{let e=t-1;const i=[];while(e<=t+10){i.push(e);e++}this.decadeView=i;this.decadeStart=i[1];this.decadeEnd=i[10]};this.setSelectedDate=(t,e=true)=>{if(t===null||!c(t,this.selectedDate)){this.selectedDate=t;this.value=t;if(e){this.inputEl.triggerIcChange(t)}}};this.handleCalendarMouseDown=t=>{const e=t.target;if(e.tagName!=="IC-BUTTON"){t.preventDefault()}};this.handleCalendarClick=t=>{this.clearDialogDescription();t.stopImmediatePropagation()};this.handleDocumentClick=()=>{this.calendarOpen=false};this.keyDownHandler=t=>{if(t.key==="Escape"){if(this.calendarOpen){this.closeButtonClickHandler();this.inputEl.setCalendarFocus();t.stopImmediatePropagation()}}else{this.clearDialogDescription();t.stopImmediatePropagation()}};this.closeButtonClickHandler=()=>{this.calendarOpen=false};this.focusFirstElement=()=>{this.monthButtonEl.setFocus()};this.focusLastElement=()=>{if(this.showPickerClearButton&&!this.clearButtonEl.disabled){this.clearButtonEl.setFocus()}else if(this.showPickerTodayButton&&!this.todayButtonEl.disabled){this.todayButtonEl.setFocus()}else if(this.monthPickerVisible){this.focussedMonthEl.setFocus()}else if(this.yearPickerVisible){this.focussedYearEl.setFocus()}else{this.focussedDayEl.focus()}};this.focusFocussedDay=()=>{this.focussedDayEl.focus()};this.monthButtonClickHandler=()=>{this.yearPickerVisible=false;this.focusDay=false;this.monthPickerVisible=!this.monthPickerVisible;if(this.monthPickerVisible){this.setAriaLiveRegionText("Month picker view open")}else{this.setMonthSelectedLiveRegionText()}};this.yearButtonClickHandler=()=>{this.monthPickerVisible=false;this.focusDay=false;this.yearPickerVisible=!this.yearPickerVisible;if(this.yearPickerVisible){this.setAriaLiveRegionText(`Year picker view open. ${this.getDecadeInViewText()}`)}else{this.setYearSelectedLiveRegionText()}};this.todayButtonClickHandler=()=>{this.yearPickerVisible=false;this.monthPickerVisible=false;this.setFocussedDate(new Date);this.setAriaLiveRegionText(this.getMonthInViewText());setTimeout((()=>this.focusFocussedDay()),L)};this.todayButtonKeyDownHandler=t=>{if(t.key==="Tab"&&!t.shiftKey&&this.clearButtonEl.disabled){this.focusFirstElement();t.preventDefault()}};this.clearButtonClickHandler=()=>{this.setSelectedDate(null);let t="Selected date cleared.";if(!this.monthPickerVisible&&!this.yearPickerVisible){t+=` ${this.getMonthInViewText()}`}if(this.monthPickerVisible){this.focussedMonthEl.setFocus()}else if(this.yearPickerVisible){this.focussedYearEl.setFocus()}else{this.focusFocussedDay()}this.setAriaLiveRegionText(t)};this.setMonthSelectedLiveRegionText=()=>{this.setAriaLiveRegionText(`${this.monthNames[this.monthInView]} selected. ${this.getMonthInViewText()}`)};this.setYearSelectedLiveRegionText=()=>{this.setAriaLiveRegionText(`${this.yearInView} selected. ${this.getMonthInViewText()}`)};this.getMonthInViewText=()=>`${this.monthNames[this.monthInView]} ${this.yearInView} currently in view.`;this.getDecadeInViewText=()=>`${this.decadeStart} to ${this.decadeEnd} currently in view.`;this.setAriaLiveRegionText=t=>{this.liveRegionEl&&(this.liveRegionEl.innerText=t)};this.clearDialogDescription=()=>{this.dialogDescription=""};this.clearButtonKeyDownHandler=t=>{if(t.key==="Tab"&&!t.shiftKey){this.focusFirstElement();t.preventDefault()}};this.goToPreviousMonth=(t=false)=>{this.focusDay=t;this.moveMonths(-1)};this.goToNextMonth=(t=false)=>{this.focusDay=t;this.moveMonths(1)};this.goToPreviousYear=(t=false)=>{if(this.isPrevYearAllowed()){this.focusDay=t;this.moveYears(-1)}};this.goToNextYear=(t=false)=>{if(this.isNextYearAllowed()){this.focusDay=t;this.moveYears(1)}};this.navButtonMouseDownHandler=t=>{t.preventDefault()};this.renderMonthYearNavButton=(e,i,s)=>{const a=this.size;return t("div",{"aria-hidden":"true"},t("ic-button",{id:e,disableTooltip:true,disabled:s,onClick:this.monthYearNavClickHandler,class:{flip:i},variant:"icon",innerHTML:k,size:a,tabIndex:-1,"aria-hidden":"true",onMouseDown:this.navButtonMouseDownHandler}))};this.monthYearNavClickHandler=t=>{const e=t.target;switch(e.id){case"previous-month-button":this.goToPreviousMonth(this.dayButtonFocussed);break;case"next-month-button":this.goToNextMonth(this.dayButtonFocussed);break;case"previous-year-button":this.goToPreviousYear(this.dayButtonFocussed);break;case"next-year-button":this.goToNextYear(this.dayButtonFocussed);break}};this.previousMonthButton=()=>{let t=false;if(this.focussedDate!==null&&this.minDate!==null){const e=this.focussedDate.getFullYear()===this.minDate.getFullYear();if(e){t=this.monthInView-1<this.minDate.getMonth()}}return this.renderMonthYearNavButton("previous-month-button",true,t)};this.nextMonthButton=()=>{let t=false;if(this.focussedDate!==null&&this.maxDate!==null){const e=this.focussedDate.getFullYear()===this.maxDate.getFullYear();if(e){t=this.monthInView+1>this.maxDate.getMonth()}}return this.renderMonthYearNavButton("next-month-button",false,t)};this.previousYearButton=()=>this.renderMonthYearNavButton("previous-year-button",true,!this.isPrevYearAllowed());this.nextYearButton=()=>this.renderMonthYearNavButton("next-year-button",false,!this.isNextYearAllowed());this.isPrevYearAllowed=()=>this.isYearAllowed(this.yearInView-1);this.isNextYearAllowed=()=>this.isYearAllowed(this.yearInView+1);this.isYearAllowed=t=>r(t,this.minDate,this.maxDate);this.getMonthView=t=>{const e=l(h(t),this.startOfWeek);const i=d(o(t),this.startOfWeek);const s=[];let a=e;while(!c(a,i)){s.push(a);a=new Date(a);a.setDate(a.getDate()+1)}s.push(a);return s};this.isCurrentMonth=()=>{const t=new Date;return t.getFullYear()===this.yearInView&&t.getMonth()===this.monthInView};this.updateMonthInView=()=>{this.currMonthView=this.getMonthView(this.focussedDate);this.focussedDay=this.focussedDate.getDate();this.monthInView=this.focussedDate.getMonth();this.yearInView=this.focussedDate.getFullYear();if(this.dayPickerKeyboardNav){this.monthInViewUpdateHandled=true;this.setAriaLiveRegionText(this.getMonthInViewText());this.dayPickerKeyboardNav=false}};this.handleSelectDay=t=>{this.setSelectedDate(t);this.calendarOpen=false;this.inputEl.setCalendarFocus()};this.handleSelectMonth=t=>{this.moveMonths(t-this.monthInView);setTimeout((()=>{this.monthButtonEl.setFocus();this.monthPickerVisible=false;this.setMonthSelectedLiveRegionText()}),L)};this.handleSelectYear=t=>{const e=this.decadeView.indexOf(t);if(e>0&&e<this.decadeView.length-1){this.moveYears(t-this.yearInView);this.focusDay=false;const e=this.monthNames[this.monthInView];this.setAriaLiveRegionText(`${t} selected. ${e} ${t} currently in view.`);setTimeout((()=>{this.yearButtonEl.setFocus();this.yearPickerVisible=false}),L)}else{const e=t-this.focussedYear>0?10:-10;this.updateFocussedYear(e,this.yearButtonFocussed);this.setAriaLiveRegionText(this.getDecadeInViewText())}};this.monthPickerKeyDownHandler=t=>{let e=true;switch(t.key){case"ArrowUp":case"ArrowLeft":this.updateFocussedMonth(-1);break;case"ArrowDown":case"ArrowRight":this.updateFocussedMonth(1);break;case"Home":this.updateFocussedMonth(-this.focussedMonth);break;case"End":this.updateFocussedMonth(11-this.focussedMonth);break;case"Tab":e=this.calendarTabHandler(t);break;case"Escape":t.stopImmediatePropagation();this.monthPickerVisible=false;setTimeout((()=>this.focusFocussedDay()),L);break;default:e=false}if(e){t.preventDefault()}};this.yearPickerKeyDownHandler=t=>{let e=true;switch(t.key){case"ArrowUp":case"ArrowLeft":this.updateFocussedYear(-1);break;case"ArrowDown":case"ArrowRight":this.updateFocussedYear(1);break;case"Home":if(this.focussedYear>this.decadeStart){this.updateFocussedYear(this.decadeStart-this.focussedYear)}break;case"End":if(this.focussedYear<this.decadeEnd){this.updateFocussedYear(this.decadeEnd-this.focussedYear)}break;case"PageUp":this.updateFocussedYear(-10);break;case"PageDown":this.updateFocussedYear(10);break;case"Tab":e=this.calendarTabHandler(t);break;case"Escape":t.stopImmediatePropagation();this.yearPickerVisible=false;setTimeout((()=>this.focusFocussedDay()),L);break;default:e=false}if(e){t.preventDefault()}};this.onYearButtonFocusHandler=()=>{this.yearButtonFocussed=true};this.onYearButtonBlurHandler=()=>{this.yearButtonFocussed=false};this.monthButtonKeyDownHandler=t=>{let e=false;switch(t.key){case"ArrowLeft":case"ArrowUp":e=true;this.goToPreviousMonth();break;case"ArrowRight":case"ArrowDown":e=true;this.goToNextMonth();break;case"Home":e=true;this.focusDay=false;this.moveMonths(-this.monthInView);break;case"End":e=true;this.focusDay=false;this.moveMonths(11-this.monthInView);break;case"Tab":if(t.shiftKey){e=true;this.focusLastElement()}break;case"Escape":if(this.monthPickerVisible){this.monthPickerVisible=false;t.stopImmediatePropagation()}break}if(e){t.preventDefault()}};this.yearButtonKeyDownHandler=t=>{let e=false;switch(t.key){case"ArrowLeft":case"ArrowUp":e=true;this.goToPreviousYear();break;case"ArrowRight":case"ArrowDown":e=true;this.goToNextYear();break;case"Home":if(this.yearPickerVisible&&this.yearInView>this.decadeStart){e=true;this.moveYears(this.decadeStart-this.yearInView)}break;case"End":if(this.yearPickerVisible&&this.yearInView<this.decadeEnd){e=true;this.moveYears(this.decadeEnd-this.focussedYear)}break;case"PageUp":e=true;this.focusDay=false;this.moveYears(-10);break;case"PageDown":e=true;this.focusDay=false;this.moveYears(10);break;case"Escape":if(this.yearPickerVisible){this.yearPickerVisible=false;t.stopImmediatePropagation()}break}if(e){t.preventDefault()}};this.handleCalendarKeyDown=t=>{let e=true;switch(t.key){case"ArrowDown":this.dayPickerKeyboardNav=true;this.moveDays(7);break;case"ArrowUp":this.dayPickerKeyboardNav=true;this.moveDays(-7);break;case"ArrowLeft":this.dayPickerKeyboardNav=true;this.moveDays(-1*this.getNextDayToFocus(this.focussedDate,false));break;case"ArrowRight":this.dayPickerKeyboardNav=true;this.moveDays(this.getNextDayToFocus(this.focussedDate,true));break;case"PageUp":this.dayPickerKeyboardNav=true;t.shiftKey?this.moveYears(-1):this.moveMonths(-1);break;case"PageDown":this.dayPickerKeyboardNav=true;t.shiftKey?this.moveYears(1):this.moveMonths(1);break;case"Home":this.dayPickerKeyboardNav=true;this.setFocussedDate(new Date(this.focussedYear,this.focussedMonth,1));break;case"End":this.dayPickerKeyboardNav=true;this.setFocussedDate(new Date(this.focussedYear,this.focussedMonth+1,0));break;case"Tab":e=this.calendarTabHandler(t);break;default:e=false;break}if(e){t.preventDefault()}};this.calendarTabHandler=t=>{let e=false;if(!t.shiftKey&&(!this.showPickerTodayButton||this.isCurrentMonth())&&(!this.showPickerClearButton||this.clearButtonEl.disabled)){this.focusFirstElement();e=true}else if(t.shiftKey){this.yearButtonEl.setFocus();e=true}return e};this.onDayButtonFocusHandler=()=>{this.dayButtonFocussed=true};this.onDayButtonBlurHandler=()=>{this.dayButtonFocussed=false};this.getNextDayToFocus=(t,e,i=1)=>{const s=e?1:-1;const a=new Date(t);a.setDate(a.getDate()+s);const n=Number(a.getDay());if(this.disableDays.includes(n)){return this.getNextDayToFocus(a,e,i+1)}else{return i}};this.moveDays=t=>{const e=new Date(this.focussedDate);e.setDate(e.getDate()+t);this.setFocussedDate(e)};this.moveMonths=t=>{const e=this.focussedDate.getMonth()+t;const i=new Date(new Date(h(this.focussedDate)).setMonth(e));const s=o(i);const a=new Date(new Date(this.focussedDate).setMonth(e));this.setFocussedDate(u(a,i,s));if(this.monthPickerVisible===false&&this.yearPickerVisible===false&&this.monthInViewUpdateHandled===false){this.setAriaLiveRegionText(this.getMonthInViewText())}this.monthInViewUpdateHandled=false};this.moveYears=t=>{const e=this.focussedDate.getFullYear()+t;const i=new Date(new Date(h(this.focussedDate)).setFullYear(e));const s=o(i);const a=new Date(new Date(this.focussedDate).setFullYear(e));this.setFocussedDate(u(a,i,s));if(this.monthPickerVisible===false&&this.yearPickerVisible===false&&this.monthInViewUpdateHandled===false){this.setAriaLiveRegionText(this.getMonthInViewText())}this.monthInViewUpdateHandled=false};this.updateFocussedMonth=t=>{const e=new Date(this.focussedYear,this.focussedMonth,1);e.setMonth(this.focussedMonth+t);const i=u(e,this.minDate,this.maxDate);this.focussedMonth=i.getMonth();setTimeout((()=>this.focussedMonthEl.setFocus()),L)};this.updateFocussedYear=(t,e=true)=>{const i=new Date((new Date).setFullYear(this.focussedYear+t));const s=u(i,this.minDate,this.maxDate);this.setFocussedYear(s.getFullYear(),e)};this.setFocussedDate=t=>{this.focussedDate=u(t,this.minDate,this.maxDate)};this.setFocussedDayEl=t=>{this.focussedDayEl=t};this.setFocussedMonthEl=t=>{this.focussedMonthEl=t};this.setFocussedYearEl=t=>{this.focussedYearEl=t};this.setFocussedYear=(t,e=true)=>{const i=this.focussedYear;this.focussedYear=t;if(this.yearPickerVisible){const s=Math.floor(t/10)*10;const a=Math.floor(i/10)*10;if(s!==a){this.setDecadeView(s);this.setAriaLiveRegionText(this.getDecadeInViewText())}if(e){setTimeout((()=>{if(this.focussedYearEl!==null)this.focussedYearEl.setFocus()}),L)}}else{this.setDecadeView(Math.floor(t/10)*10)}};this.setDateInputProps=()=>{const t={invalidDateMessage:this.invalidDateMessage,label:this.label,showClearButton:true,showCalendarButton:true,value:this.value};if(this.dateFormat!==H){t.dateFormat=this.dateFormat}if(this.disableFuture){t.disableFuture=this.disableFuture;if(this.disableFutureMessage!==M){t.disableFutureMessage=this.disableFutureMessage}}if(this.disablePast){t.disablePast=this.disablePast;if(this.disablePastMessage!==P){t.disablePastMessage=this.disablePastMessage}}if(this.disableDays.length>0){t.disableDays=this.disableDays;if(this.disableDaysMessage!==V){t.disableDaysMessage=this.disableDaysMessage}}if(this.max!==null&&this.max!==""){t.max=this.maxDate}if(this.min!==null&&this.min!==""){t.min=this.minDate}if(this.helperText!==undefined){t.helperText=this.helperText}if(this.hideHelperText!==false){t.hideHelperText=this.hideHelperText}if(this.inputId!==undefined){t.inputId=this.inputId}if(this.name!==undefined){t.name=this.name}if(this.disabled){t.disabled=this.disabled}if(this.required){t.required=this.required}if(this.size!=="medium"){t.size=this.size}if(this.validationStatus!==""){t.validationStatus=this.validationStatus}if(this.validationText!==""){t.validationText=this.validationText}return t};this.calendarOpen=false;this.currMonthView=[];this.currYearPickerView=[];this.decadeView=[];this.focussedDate=null;this.focussedDay=undefined;this.focussedDayEl=undefined;this.focussedMonth=undefined;this.focussedMonthEl=undefined;this.focussedYear=undefined;this.maxDate=null;this.minDate=null;this.monthInView=undefined;this.monthPickerVisible=false;this.orderedDaysOfWeek=[];this.selectedDate=null;this.yearInView=undefined;this.yearPickerVisible=false;this.dateFormat="DD/MM/YYYY";this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.helperText=undefined;this.hideHelperText=false;this.inputId=undefined;this.invalidDateMessage="Please enter a valid date.";this.label=undefined;this.max="";this.min="";this.name=undefined;this.openAtDate="";this.required=false;this.showDaysOutsideMonth=true;this.showPickerClearButton=true;this.showPickerTodayButton=true;this.size="medium";this.startOfWeek=y.Monday;this.validationStatus="";this.validationText="";this.value=""}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=f(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=f(this.min,this.dateFormat)}}watchStartOfWeekHandler(){this.orderedDaysOfWeek=this.daysOfWeek.slice(this.startOfWeek).concat(this.daysOfWeek.slice(0,this.startOfWeek));if(this.calendarOpen){this.updateMonthInView()}}watchOpenHandler(){if(this.calendarOpen){if(this.inputEl){let t=I;if(this.size==="small"){t=T}else if(this.size==="large"){t=C}if(this.el.offsetTop+this.inputEl.offsetHeight+t>window.innerHeight&&this.el.offsetTop>t){this.showPickerAbove=true}else{this.showPickerAbove=false}}if(this.selectedDate===null||!n(this.selectedDate,this.minDate,this.maxDate)){let t=new Date;if(this.openAtDate!==""){t=f(this.openAtDate,this.dateFormat)}this.setFocussedDate(t)}else{this.setFocussedDate(this.selectedDate)}let t=this.getMonthInViewText();if(this.selectedDate===null){t+=" No date selected."}t+=" Use arrow keys to change day. Press enter or space to select a date or press escape to close the picker";this.dialogDescription=t;setTimeout((()=>this.focusFocussedDay()),L);document.addEventListener("click",this.handleDocumentClick)}else{document.removeEventListener("click",this.handleDocumentClick);this.monthPickerVisible=false;this.yearPickerVisible=false}}watchFocussedDateHandler(t,e){if(e===null||!(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())){this.updateMonthInView()}}watchMonthInViewHandler(){this.focussedMonth=this.monthInView}watchYearInViewHandler(){this.setFocussedYear(this.yearInView,false)}watchYearPickerVisibleHandler(){if(!this.yearPickerVisible){this.setFocussedYear(this.yearInView)}}watchMonthPickerVisibleHandler(){if(!this.monthPickerVisible){this.focussedMonth=this.monthInView}}watchFocussedDayEl(){if(this.focusDay){setTimeout((()=>this.focusFocussedDay()),L)}this.focusDay=true}componentWillLoad(){w([{prop:this.label,propName:"label"}],"Date Picker");this.monthNames=p(m);this.daysOfWeek=p(g);this.watchStartOfWeekHandler();this.watchMaxHandler();this.watchMinHandler()}componentWillRender(){this.dateInputProps=this.setDateInputProps()}componentWillUpdate(){this.dateInputProps=this.setDateInputProps()}localCalendarButtonClickHandler(t){this.myCalendarButtonClicked=true;if(!this.calendarOpen){this.setSelectedDate(t.detail.value,false)}this.calendarOpen=!this.calendarOpen}calendarButtonClickHandler(){if(!this.myCalendarButtonClicked){this.calendarOpen=false}this.myCalendarButtonClicked=false}render(){const{calendarOpen:e,dateInputProps:i,monthNames:a,size:o,focussedMonth:h,focussedYear:r,monthInView:l,yearInView:d,monthPickerVisible:u,yearPickerVisible:f,orderedDaysOfWeek:p,decadeView:b,minDate:m,maxDate:y,showPickerClearButton:w,showPickerTodayButton:g,dialogDescription:k}=this;let z="";if(u){z=`Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`}else{z=`Press Enter or Space to open month picker view or use the arrow keys to change month.`}let H="";if(f){H=`Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`}else{H=`Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`}const M="choose date";const P=a&&a[l]?a[l]:"Open month picker";const V=this.yearInView?this.yearInView:"Open year picker";let L=m;if(this.disablePast){const t=new Date(m);t.setDate(m.getDate()-1);L=t}return t(s,{onKeyDown:this.keyDownHandler,class:{[`ic-date-picker-${o}`]:true}},t("div",{class:"date-input-container"},t("ic-date-input",Object.assign({ref:t=>this.inputEl=t},i))),e&&t("div",null,t("span",{id:"dialog-description",class:"sr-only"},k),t("div",{role:"dialog","aria-modal":"true","aria-label":M,"aria-describedBy":"dialog-description",class:{"calendar-container":true,above:this.showPickerAbove},onMouseDown:this.handleCalendarMouseDown,onClick:this.handleCalendarClick},t("span",{ref:t=>this.liveRegionEl=t,id:"live-region","aria-live":"assertive",class:"sr-only"}),t("div",{class:{"month-year-nav-container":true}},t("div",{class:"month-year-nav"},this.previousMonthButton(),t("span",{id:"select-month-hint","aria-hidden":"true"},z),t("ic-button",{ref:t=>this.monthButtonEl=t,size:o,class:"month-picker-button","aria-haspopup":"menu","aria-expanded":u?"true":"false","full-width":"true",variant:"tertiary","aria-label":P,"aria-describedby":"select-month-hint",onKeyDown:this.monthButtonKeyDownHandler,onClick:this.monthButtonClickHandler},a[l]),this.nextMonthButton()),t("div",{class:"month-year-nav"},this.previousYearButton(),t("span",{id:"select-year-hint","aria-hidden":"true"},H),t("ic-button",{ref:t=>this.yearButtonEl=t,size:o,class:"year-picker-button","aria-haspopup":"menu","aria-expanded":f?"true":"false","full-width":"true",variant:"tertiary","aria-label":V,"aria-describedby":"select-year-hint",onKeyDown:this.yearButtonKeyDownHandler,onClick:this.yearButtonClickHandler},this.yearInView),this.nextYearButton())),!(u||f)&&t("div",{class:{calendar:true,hidden:u||f},onKeyDown:this.handleCalendarKeyDown},t("div",{class:"weekdays","aria-hidden":"true"},p.map((e=>{const i=o==="small"?e.charAt(0):e;return t("div",{class:"calendar-day-header"},t("ic-typography",{variant:"caption"},i))}))),t("div",{class:"calendar-days-container"},this.currMonthView.map((e=>t(v,{day:e,disableDay:this.disableDays.includes(Number(e.getDay())),today:c(e,this.today),selected:c(e,this.selectedDate),focussed:c(e,this.focussedDate),inRange:n(e,L,y),monthInView:l,onSelectDay:this.handleSelectDay,focussedDayRef:this.setFocussedDayEl,onFocusDay:this.onDayButtonFocusHandler,onBlurDay:this.onDayButtonBlurHandler,showDaysOutsideMonth:this.showDaysOutsideMonth}))))),t("div",{class:{"month-picker-container":true,hidden:!u}},u&&t(x,{size:o,onSelectMonth:this.handleSelectMonth,monthInView:l,focussedMonth:h,onKeyDown:this.monthPickerKeyDownHandler,focussedMonthRef:this.setFocussedMonthEl,minDate:m,maxDate:y,yearInView:d})),t("div",{class:{"year-picker-container":true,hidden:!f}},f&&t(D,{decadeView:b,size:o,focussedYear:r,onSelectYear:this.handleSelectYear,onKeyDown:this.yearPickerKeyDownHandler,onFocusYear:this.onYearButtonFocusHandler,onBlurYear:this.onYearButtonBlurHandler,yearInView:d,minDate:m,maxDate:y,focussedYearRef:this.setFocussedYearEl})),t("div",{class:{"bottom-buttons":true,"no-today":!g}},g&&t("ic-button",{id:"today-button",variant:"tertiary",ref:t=>this.todayButtonEl=t,size:o,"aria-label":"Navigate to current date",onClick:this.todayButtonClickHandler,onKeyDown:this.todayButtonKeyDownHandler,disabled:this.isCurrentMonth()},"Go to today"),w&&t("ic-button",{id:"clear-button","aria-label":"clear selected date",ref:t=>this.clearButtonEl=t,variant:"tertiary",size:o,onClick:this.clearButtonClickHandler,onKeyDown:this.clearButtonKeyDownHandler,disabled:this.value===""||this.value===null||this.value===undefined},"Clear")))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],startOfWeek:["watchStartOfWeekHandler"],calendarOpen:["watchOpenHandler"],focussedDate:["watchFocussedDateHandler"],monthInView:["watchMonthInViewHandler"],yearInView:["watchYearInViewHandler"],yearPickerVisible:["watchYearPickerVisibleHandler"],monthPickerVisible:["watchMonthPickerVisibleHandler"],focussedDayEl:["watchFocussedDayEl"]}}};Y.style=z;export{Y as ic_date_picker};
2
+ //# sourceMappingURL=p-7c78f6c6.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DayButton","focussed","today","day","monthInView","onFocusDay","onBlurDay","onSelectDay","selected","focussedDayRef","inRange","showDaysOutsideMonth","disableDay","handleDayClick","handleDayFocus","handleDayBlur","dayNames","stringEnumToArray","IcDayNames","months","IcDateInputMonths","outsideRange","outsideMonth","getMonth","disabled","h","class","hidden","tabIndex","undefined","getDay","getDate","getFullYear","onClick","onBlur","onFocus","ref","el","variant","italic","MonthPicker","size","focussedMonth","onSelectMonth","onKeyDown","focussedMonthRef","minDate","maxDate","yearInView","handleMonthClick","ev","button","target","Number","getAttribute","monthNames","role","map","month","index","current","dateInRange","Date","getMonthStart","getMonthEnd","YearPicker","decadeView","focussedYear","onSelectYear","onFocusYear","onBlurYear","focussedYearRef","handleYearClick","handleYearFocus","handleYearBlur","navButtonMouseDownHandler","preventDefault","prevDecade","nextDecade","years","slice","id","yearInRange","onMouseDown","slot","width","height","fill","xmlns","d","yr","flip","icDatePickerCss","DEFAULT_DATE_FORMAT","DEFAULT_DISABLE_DATES_FROM_NOW_MSG","DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG","DEFAULT_DISABLE_DAYS_MSG","FOCUS_TIMER","PICKER_HEIGHT_SMALL","PICKER_HEIGHT_DEFAULT","PICKER_HEIGHT_LARGE","DatePicker","this","clearButtonEl","daysOfWeek","dayButtonFocussed","dayPickerKeyboardNav","dialogDescription","focusDay","liveRegionEl","monthInViewUpdateHandled","myCalendarButtonClicked","showPickerAbove","todayButtonEl","yearButtonFocussed","setDecadeView","start","currYear","decadeArr","push","decadeStart","decadeEnd","setSelectedDate","emit","dateMatches","selectedDate","value","inputEl","triggerIcChange","handleCalendarMouseDown","event","tagName","handleCalendarClick","clearDialogDescription","stopImmediatePropagation","handleDocumentClick","calendarOpen","keyDownHandler","key","closeButtonClickHandler","setCalendarFocus","focusFirstElement","monthButtonEl","setFocus","focusLastElement","showPickerClearButton","showPickerTodayButton","monthPickerVisible","focussedMonthEl","yearPickerVisible","focussedYearEl","focussedDayEl","focus","focusFocussedDay","monthButtonClickHandler","setAriaLiveRegionText","setMonthSelectedLiveRegionText","yearButtonClickHandler","getDecadeInViewText","setYearSelectedLiveRegionText","todayButtonClickHandler","setFocussedDate","getMonthInViewText","setTimeout","todayButtonKeyDownHandler","shiftKey","clearButtonClickHandler","text","innerText","clearButtonKeyDownHandler","goToPreviousMonth","moveMonths","goToNextMonth","goToPreviousYear","isPrevYearAllowed","moveYears","goToNextYear","isNextYearAllowed","renderMonthYearNavButton","buttonSize","disableTooltip","monthYearNavClickHandler","innerHTML","chevron","previousMonthButton","focussedDate","yearMatch","nextMonthButton","previousYearButton","nextYearButton","isYearAllowed","getMonthView","date","getWeekStart","startOfWeek","end","getWeekEnd","days","setDate","isCurrentMonth","updateMonthInView","currMonthView","focussedDay","handleSelectDay","handleSelectMonth","handleSelectYear","year","yrPos","indexOf","length","monthName","yearButtonEl","updateFocussedYear","monthPickerKeyDownHandler","handled","updateFocussedMonth","calendarTabHandler","yearPickerKeyDownHandler","onYearButtonFocusHandler","onYearButtonBlurHandler","monthButtonKeyDownHandler","yearButtonKeyDownHandler","handleCalendarKeyDown","moveDays","getNextDayToFocus","onDayButtonFocusHandler","onDayButtonBlurHandler","currDay","forward","level","move","nextDay","nextDayNum","disableDays","includes","numDays","numMonths","newMonth","min","setMonth","max","newDate","clampDate","numYears","newYear","setFullYear","adjust","focusYear","setFocussedYear","setFocussedDayEl","element","setFocussedMonthEl","setFocussedYearEl","prevYear","newDecade","Math","floor","oldDecade","setDateInputProps","inputProps","invalidDateMessage","label","showClearButton","showCalendarButton","dateFormat","disableFuture","disableFutureMessage","disablePast","disablePastMessage","disableDaysMessage","helperText","hideHelperText","inputId","name","required","validationStatus","validationText","IcWeekDays","Monday","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchStartOfWeekHandler","orderedDaysOfWeek","concat","watchOpenHandler","pickerHeight","offsetTop","offsetHeight","window","innerHeight","openAt","openAtDate","dialogDesc","document","addEventListener","removeEventListener","watchFocussedDateHandler","previous","watchMonthInViewHandler","watchYearInViewHandler","watchYearPickerVisibleHandler","watchMonthPickerVisibleHandler","watchFocussedDayEl","componentWillLoad","onComponentRequiredPropUndefined","prop","propName","IcShortDayNames","componentWillRender","dateInputProps","componentWillUpdate","localCalendarButtonClickHandler","detail","calendarButtonClickHandler","render","monthButtonText","yearButtonText","dialogLabel","monthLabel","yearLabel","minDay","yesterday","Host","Object","assign","above","calendar","dayName","header","charAt"],"sources":["src/components/ic-date-picker/ic-day-button.tsx","src/components/ic-date-picker/ic-month-picker.tsx","src/components/ic-date-picker/ic-year-picker.tsx","src/components/ic-date-picker/ic-date-picker.css?tag=ic-date-picker&encapsulation=shadow","src/components/ic-date-picker/ic-date-picker.tsx"],"sourcesContent":["import { h, FunctionalComponent } from \"@stencil/core\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcDayNames, IcDateInputMonths } from \"../../utils/types\";\n\nexport type DayButtonProps = {\n focussed: boolean;\n today: boolean;\n day: Date;\n monthInView: number;\n onFocusDay: () => void;\n onBlurDay: () => void;\n onSelectDay: (day: Date) => void;\n selected: boolean;\n focussedDayRef?: (element: HTMLButtonElement) => void;\n inRange: boolean;\n showDaysOutsideMonth: boolean;\n disableDay: boolean;\n};\n\nexport const DayButton: FunctionalComponent<DayButtonProps> = ({\n focussed,\n today,\n day,\n monthInView,\n onFocusDay,\n onBlurDay,\n onSelectDay,\n selected,\n focussedDayRef,\n inRange,\n showDaysOutsideMonth,\n disableDay,\n}) => {\n const handleDayClick = (): void => {\n onSelectDay(day);\n };\n\n const handleDayFocus = (): void => {\n onFocusDay();\n };\n\n const handleDayBlur = (): void => {\n onBlurDay();\n };\n\n const dayNames = stringEnumToArray(IcDayNames);\n const months = stringEnumToArray(IcDateInputMonths);\n const outsideRange = !inRange || disableDay;\n const outsideMonth = monthInView !== day.getMonth();\n const disabled = outsideRange || (outsideMonth && !showDaysOutsideMonth);\n\n return (\n <div class=\"day-button-container\">\n <button\n class={{\n \"day-button\": true,\n \"outside-month\": outsideMonth,\n \"outside-range\": outsideRange,\n hidden: outsideMonth && !showDaysOutsideMonth,\n disabled: disabled,\n today: today,\n selected: selected,\n focussed: focussed,\n }}\n tabIndex={focussed ? 0 : -1}\n aria-hidden={outsideMonth ? \"true\" : \"false\"}\n aria-disabled={disabled ? \"true\" : \"false\"}\n aria-current={today ? \"date\" : undefined}\n aria-label={\n disabled || outsideMonth || outsideRange\n ? undefined\n : `Choose ${dayNames[day.getDay()]}, ${day.getDate()} ${\n months[day.getMonth()]\n } ${day.getFullYear()}`\n }\n disabled={disabled}\n onClick={handleDayClick}\n onBlur={handleDayBlur}\n onFocus={handleDayFocus}\n ref={(el: HTMLButtonElement) => {\n if (focussed && el && focussedDayRef) {\n focussedDayRef(el);\n }\n }}\n >\n {(!outsideMonth || (outsideMonth && showDaysOutsideMonth)) && (\n <ic-typography variant=\"subtitle-small\" italic={outsideMonth}>\n {day.getDate()}\n </ic-typography>\n )}\n </button>\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport {\n dateInRange,\n getMonthStart,\n getMonthEnd,\n} from \"../../utils/date-helpers\";\nimport { stringEnumToArray } from \"../../utils/helpers\";\nimport { IcSizes, IcDateInputMonths } from \"../../utils/types\";\n\nexport type MonthPickerProps = {\n size: IcSizes;\n focussedMonth: number;\n monthInView: number;\n yearInView: number;\n onSelectMonth: (month: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n focussedMonthRef: (element: HTMLIcButtonElement) => void;\n minDate: Date;\n maxDate: Date;\n};\n\nexport const MonthPicker: FunctionalComponent<MonthPickerProps> = ({\n size,\n focussedMonth,\n monthInView,\n onSelectMonth,\n onKeyDown,\n focussedMonthRef,\n minDate,\n maxDate,\n yearInView,\n}) => {\n const handleMonthClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectMonth(Number(button.getAttribute(\"data-month\")));\n };\n\n const monthNames = stringEnumToArray(IcDateInputMonths);\n\n return (\n <div\n class={{\n \"month-picker\": true,\n }}\n role=\"list\"\n >\n {monthNames.map((month, index) => {\n const current = monthInView === index;\n const focussed = focussedMonth === index;\n const outsideRange = !dateInRange(\n new Date(yearInView, index, 1),\n minDate ? getMonthStart(minDate) : null,\n maxDate ? getMonthEnd(maxDate) : null\n );\n\n return (\n <ic-button\n role=\"listitem\"\n class={{\n \"month-button\": true,\n selected: current,\n focussed: focussed,\n disabled: outsideRange,\n }}\n full-width\n disabled={outsideRange}\n variant={current ? \"primary\" : \"tertiary\"}\n data-month={index}\n size={size}\n tabIndex={focussed ? 0 : -1}\n aria-current={current ? \"true\" : \"false\"}\n aria-label={current ? \"\" : `select ${month}`}\n onClick={handleMonthClick}\n onKeyDown={onKeyDown}\n ref={(el: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedMonthRef(el);\n }\n }}\n >\n {month}\n </ic-button>\n );\n })}\n </div>\n );\n};\n","import { h, FunctionalComponent } from \"@stencil/core\";\nimport { yearInRange } from \"../../utils/date-helpers\";\nimport { IcSizes } from \"../../utils/types\";\n\nexport type YearPickerProps = {\n decadeView: number[];\n size: IcSizes;\n focussedYear: number;\n yearInView: number;\n onSelectYear: (year: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n onFocusYear: () => void;\n onBlurYear: () => void;\n minDate: Date;\n maxDate: Date;\n focussedYearRef: (element: HTMLIcButtonElement) => void;\n};\n\nexport const YearPicker: FunctionalComponent<YearPickerProps> = ({\n decadeView,\n size,\n focussedYear,\n yearInView,\n onSelectYear,\n onFocusYear,\n onBlurYear,\n onKeyDown,\n minDate,\n maxDate,\n focussedYearRef,\n}) => {\n const handleYearClick = (ev: MouseEvent): void => {\n const button = ev.target as HTMLElement;\n onSelectYear(Number(button.getAttribute(\"data-year\")));\n };\n\n const handleYearFocus = (): void => {\n onFocusYear();\n };\n\n const handleYearBlur = (): void => {\n onBlurYear();\n };\n\n const navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n const prevDecade = decadeView[0];\n const nextDecade = decadeView[11];\n const years = decadeView.slice(1, 11);\n\n return (\n <div class=\"year-picker\" role=\"list\">\n <div class=\"prev-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"prev-decade-button\"\n class={{\n \"year-button\": true,\n }}\n disabled={!yearInRange(prevDecade, minDate, maxDate)}\n data-year={prevDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${prevDecade - 9}s`}\n <svg\n slot=\"left-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n {years.map((yr) => {\n const current = yearInView === yr;\n const focussed = focussedYear === yr;\n return (\n <ic-button\n class={{\n \"year-button\": true,\n selected: current,\n focussed: focussed,\n }}\n disabled={!yearInRange(yr, minDate, maxDate)}\n data-year={yr}\n tabIndex={focussed ? 0 : -1}\n variant={current ? \"primary\" : \"tertiary\"}\n onClick={handleYearClick}\n aria-label={current ? \"\" : `select ${yr}`}\n role=\"listitem\"\n aria-current={current ? \"true\" : \"false\"}\n onKeyDown={onKeyDown}\n onFocus={handleYearFocus}\n onBlur={handleYearBlur}\n size={size}\n ref={(el: HTMLIcButtonElement) => {\n if (focussed && el) {\n focussedYearRef(el);\n }\n }}\n >\n {yr}\n </ic-button>\n );\n })}\n <div class=\"next-decade\" aria-hidden=\"true\">\n <ic-button\n id=\"next-decade-button\"\n class={{\n \"year-button\": true,\n flip: true,\n }}\n disabled={!yearInRange(nextDecade, minDate, maxDate)}\n data-year={nextDecade}\n tabIndex={-1}\n variant=\"tertiary\"\n onClick={handleYearClick}\n onMouseDown={navButtonMouseDownHandler}\n aria-hidden=\"true\"\n size={size}\n >\n {`${nextDecade}s`}\n <svg\n slot=\"right-icon\"\n width=\"12\"\n height=\"12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M11.3333 5.33341H3.21996L6.94663 1.60675L5.99996 0.666748L0.666626 6.00008L5.99996 11.3334L6.93996 10.3934L3.21996 6.66675H11.3333V5.33341Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-button>\n </div>\n </div>\n );\n};\n","@import \"../../../dist/core/normalize.css\";\n\n/**\n* @prop --input-width: Width of the input field\n @prop --ic-z-index-date-picker: z-index of date picker.\n*/\n\n:host {\n display: block;\n position: relative;\n\n --month-year-picker-button-width: 5rem;\n --month-button-width: 5.5rem;\n --input-field-width: var(--input-width, 19.125rem);\n}\n\n:host(.ic-date-picker-large) {\n --month-button-width: 6.3125rem;\n --input-field-width: var(--input-width, 21.125rem);\n}\n\n:host(.ic-date-picker-small) {\n --month-button-width: 6.25rem;\n --input-field-width: var(--input-width, 17.125rem);\n}\n\n:host .date-input-container {\n position: relative;\n}\n\nic-date-input {\n --input-width: var(--input-field-width);\n}\n\n:host .calendar-container {\n min-width: 19rem;\n max-width: 23.5rem;\n width: var(--input-width);\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xs);\n position: absolute;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n align-items: center;\n background-color: var(--ic-architectural-white);\n z-index: var(--ic-z-index-date-picker);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n margin-top: var(--ic-space-xxxs);\n padding: var(--ic-space-xs);\n animation: fade-in-calendar var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-small) .calendar-container {\n min-width: 17rem;\n max-width: 21.5rem;\n}\n\n:host(.ic-date-picker-large) .calendar-container {\n min-width: 21rem;\n max-width: 25.5rem;\n}\n\n:host .calendar-container.above {\n bottom: calc(var(--ic-space-xxl) - var(--ic-space-xxs));\n}\n\n:host .month-year-nav-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n}\n\n:host .month-year-nav-container.hidden {\n display: none;\n}\n\n:host .month-year-nav {\n display: flex;\n justify-content: space-between;\n align-items: center;\n flex: 1 0 0;\n}\n\n:host .month-picker,\n:host .year-picker {\n flex-wrap: wrap;\n display: inline-flex;\n align-items: center;\n width: 17.5rem;\n column-gap: var(--ic-space-xs);\n row-gap: var(--ic-space-xxs);\n}\n\n:host(.ic-date-picker-small) .month-picker,\n:host(.ic-date-picker-small) .year-picker {\n width: 13.125rem;\n}\n\n:host(.ic-date-picker-large) .month-picker,\n:host(.ic-date-picker-large) .year-picker {\n width: 20rem;\n}\n\n:host .month-picker-button,\n:host .year-picker-button {\n width: 5rem;\n\n --min-width: 5rem;\n}\n\n:host .month-button,\n:host .year-button {\n width: var(--month-button-width);\n}\n\n:host .month-button.focussed,\n:host .year-button.focussed {\n z-index: 1;\n}\n\n:host .month-button::part(button),\n:host .year-button::part(button) {\n min-width: var(--month-button-width);\n}\n\n:host .prev-decade .year-button svg {\n margin-right: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .prev-decade .year-button::part(button) {\n padding-left: 0;\n padding-right: calc(var(--ic-space-lg) + var(--ic-space-xxs));\n}\n\n:host .next-decade .year-button svg {\n margin-left: calc(-1 * var(--ic-space-xl));\n padding-top: var(--ic-space-sm);\n}\n\n:host .next-decade .year-button::part(button) {\n padding-right: 0;\n padding-left: var(--ic-space-lg);\n}\n\n:host(.ic-date-picker-small) .next-decade .year-button::part(button),\n:host(.ic-date-picker-large) .next-decade .year-button::part(button) {\n padding-left: var(--ic-space-xl);\n}\n\n:host .bottom-buttons {\n padding-top: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n align-self: stretch;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-small) .bottom-buttons {\n padding-top: var(--ic-space-xxs);\n}\n\n:host .bottom-buttons.no-today {\n align-items: flex-end;\n flex-direction: column;\n}\n\n:host .bottom-buttons.hidden {\n display: none;\n}\n\n:host .calendar {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 15.75rem;\n animation: fade-in-buttons var(--ic-transition-duration-slow);\n}\n\n:host(.ic-date-picker-large) .calendar {\n width: 19.25rem;\n}\n\n:host(.ic-date-picker-small) .calendar {\n padding-bottom: var(--ic-space-xxs);\n width: 14rem;\n}\n\n:host .hidden {\n display: none;\n}\n\n:host .weekdays {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: var(--ic-space-xs);\n align-self: stretch;\n}\n\n:host .calendar-days-container {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n row-gap: var(--ic-space-xs);\n padding: var(--ic-space-xxs) 0;\n}\n\n:host(.ic-date-picker-small) .calendar-days-container {\n padding: var(--ic-space-xxxs) 0;\n}\n\n:host(.ic-date-picker-large) .calendar-days-container {\n padding: var(--ic-space-xs) 0;\n}\n\n:host .calendar-day-header {\n display: flex;\n width: 2rem;\n padding: var(--ic-space-xxs) 0;\n justify-content: center;\n align-items: center;\n}\n\n:host(.ic-date-picker-small) .calendar-day-header,\n:host(.ic-date-picker-large) .calendar-day-header {\n padding: var(--ic-space-xxs);\n}\n\n:host .calendar-day-header ic-typography {\n --ic-typography-color: var(--ic-color-text-tertiary);\n\n text-align: center;\n}\n\n:host .day-button-container {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button-container {\n width: 2rem;\n height: 2rem;\n}\n\n:host(.ic-date-picker-large) .day-button-container {\n width: 2.5rem;\n height: 2.5rem;\n}\n\n:host .day-button {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n border: 0;\n border-radius: 2rem;\n background-color: var(--ic-architectural-white);\n width: 2rem;\n height: 2rem;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n z-index: 0;\n}\n\n:host .day-button.disabled {\n cursor: default;\n}\n\n:host(.ic-date-picker-large) .day-button {\n width: 2.25rem;\n height: 2.25rem;\n}\n\n:host(.ic-date-picker-small) .day-button {\n width: 1.75rem;\n height: 1.75rem;\n}\n\n:host .day-button ic-typography {\n width: 1.75rem;\n\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host .day-button.outside-range ic-typography {\n --ic-typography-color: var(--ic-architectural-400);\n}\n\n:host .day-button.outside-month ic-typography {\n font-weight: var(--ic-font-weight-regular) !important;\n}\n\n:host\n .day-button.outside-month:not(.outside-range):not(.selected)\n ic-typography {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host .day-button:hover:not(.disabled) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host .day-button:active:not(.disabled) {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host .day-button:hover:not(.disabled):not(.focussed),\n :host .day-button:active:not(.disabled):not(.focussed) {\n transition: background-color var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host .day-button.selected:not(.hidden) {\n background-color: var(--ic-action-default);\n}\n\n:host .day-button.selected ic-typography {\n --ic-typography-color: var(--ic-color-white-text);\n}\n\n:host .day-button.selected:not(.hidden):hover {\n background-color: var(--ic-action-default-hover);\n}\n\n:host .day-button.selected:not(.hidden):active {\n background-color: var(--ic-action-default-pressed);\n}\n\n:host .day-button.focussed {\n z-index: 1;\n}\n\n:host .day-button:focus {\n outline: none;\n}\n\n:host .day-button.focussed:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host .day-button.today:not(.hidden)::after {\n content: \"\";\n position: absolute;\n width: 0.875rem;\n height: 0.125rem;\n bottom: 0.4rem;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-action-default);\n}\n\n:host(.ic-date-picker-small) .day-button.today::after {\n bottom: 0.35rem;\n}\n\n:host(.ic-date-picker-large) .day-button.today::after {\n width: 1rem;\n}\n\n:host .day-button.today.selected::after {\n background-color: var(--ic-architectural-white);\n}\n\n:host #select-month-hint,\n:host #select-year-hint {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host .calendar-container,\n :host .calendar,\n :host .bottom-buttons {\n animation: none;\n }\n}\n\n@keyframes fade-in-buttons {\n 0% {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n }\n\n 100% {\n opacity: 1;\n }\n}\n\n@keyframes fade-in-calendar {\n 0% {\n display: flex;\n max-height: 0;\n }\n\n 100% {\n display: flex;\n max-height: 600px;\n }\n}\n\n@media (forced-colors: active) {\n :host .day-button.today:not(.hidden)::after {\n background-color: highlight;\n }\n\n :host .day-button.selected:not(.hidden) {\n background-color: highlight;\n }\n\n :host .day-button.focussed:focus {\n border: var(--ic-border-hc);\n }\n\n :host .month-button.selected::part(button),\n :host .year-button.selected::part(button) {\n background-color: highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n createDate,\n clampDate,\n dateMatches,\n dateInRange,\n getMonthStart,\n getMonthEnd,\n getWeekEnd,\n getWeekStart,\n yearInRange,\n} from \"../../utils/date-helpers\";\nimport {\n stringEnumToArray,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport {\n IcWeekDays,\n IcShortDayNames,\n IcDateInputMonths,\n IcDateFormat,\n IcSizes,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport chevron from \"../../assets/chevron-icon.svg\";\nimport { DayButton } from \"./ic-day-button\";\nimport { MonthPicker } from \"./ic-month-picker\";\nimport { YearPicker } from \"./ic-year-picker\";\n\nconst DEFAULT_DATE_FORMAT = \"DD/MM/YYYY\";\nconst DEFAULT_DISABLE_DATES_FROM_NOW_MSG =\n \"Dates in the future are not allowed. Please select a date in the past.\";\nconst DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG =\n \"Dates in the past are not allowed. Please select a date in the future.\";\nconst DEFAULT_DISABLE_DAYS_MSG =\n \"The date you have selected is on a day of the week that is not allowed. Please select another date.\";\nconst FOCUS_TIMER = 100;\nconst PICKER_HEIGHT_SMALL = 360;\nconst PICKER_HEIGHT_DEFAULT = 400;\nconst PICKER_HEIGHT_LARGE = 440;\n\ninterface IcDateInputProps {\n dateFormat?: IcDateFormat;\n disabled?: boolean;\n disableDays?: IcWeekDays[];\n disableDaysMessage?: string;\n disableFuture?: boolean;\n disableFutureMessage?: string;\n disablePast?: boolean;\n disablePastMessage?: string;\n helperText?: string;\n hideHelperText?: boolean;\n inputId?: string;\n invalidDateMessage?: string;\n label: string;\n max?: string | Date;\n min?: string | Date;\n name?: string;\n required?: boolean;\n showClearButton?: boolean;\n showCalendarButton?: boolean;\n size?: IcSizes;\n value?: string | Date;\n validationStatus?: IcInformationStatusOrEmpty;\n validationText?: string;\n}\n\n@Component({\n tag: \"ic-date-picker\",\n styleUrl: \"ic-date-picker.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class DatePicker {\n private inputEl: HTMLIcDateInputElement;\n private clearButtonEl: HTMLIcButtonElement = null;\n private dateInputProps: IcDateInputProps;\n private daysOfWeek: string[] = [];\n private dayButtonFocussed: boolean = false;\n private dayPickerKeyboardNav: boolean = false;\n private decadeStart: number;\n private decadeEnd: number;\n private dialogDescription: string = \"\";\n private focusDay: boolean = true;\n private focussedYearEl: HTMLIcButtonElement;\n private liveRegionEl: HTMLElement = null;\n private monthButtonEl: HTMLIcButtonElement;\n private monthNames: string[] = [];\n private monthInViewUpdateHandled: boolean = false;\n private myCalendarButtonClicked: boolean = false;\n private showPickerAbove: boolean = false;\n private today = new Date();\n private todayButtonEl: HTMLIcButtonElement = null;\n private yearButtonEl: HTMLIcButtonElement;\n private yearButtonFocussed: boolean = false;\n\n @Element() el: HTMLIcDatePickerElement;\n\n @State() calendarOpen: boolean = false;\n @State() currMonthView: Date[] = [];\n @State() currYearPickerView: number[] = [];\n @State() decadeView: number[] = [];\n @State() focussedDate: Date = null;\n @State() focussedDay: number;\n @State() focussedDayEl: HTMLButtonElement;\n @State() focussedMonth: number;\n @State() focussedMonthEl: HTMLIcButtonElement;\n @State() focussedYear: number;\n @State() maxDate: Date = null;\n @State() minDate: Date = null;\n @State() monthInView: number;\n @State() monthPickerVisible: boolean = false;\n @State() orderedDaysOfWeek: string[] = [];\n @State() selectedDate: Date = null;\n @State() yearInView: number;\n @State() yearPickerVisible: boolean = false;\n\n /**\n * The format in which the date will be displayed.\n */\n @Prop() dateFormat?: IcDateFormat = \"DD/MM/YYYY\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The days of the week to disable.\n */\n @Prop() disableDays?: IcWeekDays[] = [];\n\n /**\n * The text to display as the validation message when `disableDays` is `true` 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() helperText?: string;\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 * The ID for the input field. The default will be an automatically generated value.\n */\n @Prop() inputId?: string;\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;\n\n /**\n * The date visible when the calendar opens. Used if no date is currently selected.\n * 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() openAtDate: string | Date = \"\";\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, days outside the current month will be visible in the date picker.\n */\n @Prop() showDaysOutsideMonth?: boolean = true;\n\n /**\n * If `true`, the `Clear` button on the date picker will be visible.\n */\n @Prop() showPickerClearButton?: boolean = true;\n\n /**\n * If `true`, the `Go to today` button on the date picker will be visible.\n */\n @Prop() showPickerTodayButton?: boolean = true;\n\n /**\n * The size of the date picker to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The first day of the week. `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @Prop() startOfWeek?: IcWeekDays = IcWeekDays.Monday;\n\n @Watch(\"startOfWeek\")\n watchStartOfWeekHandler(): void {\n this.orderedDaysOfWeek = this.daysOfWeek\n .slice(this.startOfWeek)\n .concat(this.daysOfWeek.slice(0, this.startOfWeek));\n if (this.calendarOpen) {\n this.updateMonthInView();\n }\n }\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop() 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 * The value of the date picker. 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 @Watch(\"calendarOpen\")\n watchOpenHandler(): void {\n if (this.calendarOpen) {\n if (this.inputEl) {\n let pickerHeight = PICKER_HEIGHT_DEFAULT;\n if (this.size === \"small\") {\n pickerHeight = PICKER_HEIGHT_SMALL;\n } else if (this.size === \"large\") {\n pickerHeight = PICKER_HEIGHT_LARGE;\n }\n if (\n this.el.offsetTop + this.inputEl.offsetHeight + pickerHeight >\n window.innerHeight &&\n this.el.offsetTop > pickerHeight\n ) {\n this.showPickerAbove = true;\n } else {\n this.showPickerAbove = false;\n }\n }\n if (\n this.selectedDate === null ||\n !dateInRange(this.selectedDate, this.minDate, this.maxDate)\n ) {\n let openAt = new Date();\n if (this.openAtDate !== \"\") {\n openAt = createDate(this.openAtDate, this.dateFormat);\n }\n this.setFocussedDate(openAt);\n } else {\n this.setFocussedDate(this.selectedDate);\n }\n let dialogDesc = this.getMonthInViewText();\n if (this.selectedDate === null) {\n dialogDesc += \" No date selected.\";\n }\n dialogDesc +=\n \" Use arrow keys to change day. Press enter or space to select a date or press escape to close the picker\";\n this.dialogDescription = dialogDesc;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n document.addEventListener(\"click\", this.handleDocumentClick);\n } else {\n document.removeEventListener(\"click\", this.handleDocumentClick);\n this.monthPickerVisible = false;\n this.yearPickerVisible = false;\n }\n }\n\n @Watch(\"focussedDate\")\n watchFocussedDateHandler(current: Date, previous: Date): void {\n if (\n previous === null ||\n !(\n previous.getFullYear() === current.getFullYear() &&\n previous.getMonth() === current.getMonth()\n )\n ) {\n this.updateMonthInView();\n }\n }\n\n @Watch(\"monthInView\")\n watchMonthInViewHandler(): void {\n this.focussedMonth = this.monthInView;\n }\n\n @Watch(\"yearInView\")\n watchYearInViewHandler(): void {\n this.setFocussedYear(this.yearInView, false);\n }\n\n @Watch(\"yearPickerVisible\")\n watchYearPickerVisibleHandler(): void {\n if (!this.yearPickerVisible) {\n this.setFocussedYear(this.yearInView);\n }\n }\n\n @Watch(\"monthPickerVisible\")\n watchMonthPickerVisibleHandler(): void {\n if (!this.monthPickerVisible) {\n this.focussedMonth = this.monthInView;\n }\n }\n\n @Watch(\"focussedDayEl\")\n watchFocussedDayEl(): void {\n if (this.focusDay) {\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n }\n\n this.focusDay = true;\n }\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<{ value: Date }>;\n\n componentWillLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Date Picker\"\n );\n\n this.monthNames = stringEnumToArray(IcDateInputMonths);\n this.daysOfWeek = stringEnumToArray(IcShortDayNames);\n\n this.watchStartOfWeekHandler();\n this.watchMaxHandler();\n this.watchMinHandler();\n }\n\n componentWillRender(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n componentWillUpdate(): void {\n this.dateInputProps = this.setDateInputProps();\n }\n\n @Listen(\"calendarButtonClicked\")\n localCalendarButtonClickHandler(ev: CustomEvent): void {\n this.myCalendarButtonClicked = true;\n if (!this.calendarOpen) {\n this.setSelectedDate(ev.detail.value, false);\n }\n\n this.calendarOpen = !this.calendarOpen;\n }\n\n @Listen(\"calendarButtonClicked\", { target: \"document\" })\n calendarButtonClickHandler(): void {\n //closes this picker if calendar button in another clicked\n if (!this.myCalendarButtonClicked) {\n this.calendarOpen = false;\n }\n this.myCalendarButtonClicked = false;\n }\n\n private setDecadeView = (start: number) => {\n let currYear = start - 1;\n const decadeArr = [];\n while (currYear <= start + 10) {\n decadeArr.push(currYear);\n currYear++;\n }\n this.decadeView = decadeArr;\n this.decadeStart = decadeArr[1];\n this.decadeEnd = decadeArr[10];\n };\n\n private setSelectedDate = (d: Date, emit = true): void => {\n if (d === null || !dateMatches(d, this.selectedDate)) {\n this.selectedDate = d;\n this.value = d;\n if (emit) {\n this.inputEl.triggerIcChange(d);\n }\n }\n };\n\n private handleCalendarMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n if (target.tagName !== \"IC-BUTTON\") {\n event.preventDefault();\n }\n };\n\n private handleCalendarClick = (event: MouseEvent): void => {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n };\n\n private handleDocumentClick = (): void => {\n this.calendarOpen = false;\n };\n\n private keyDownHandler = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n if (this.calendarOpen) {\n this.closeButtonClickHandler();\n this.inputEl.setCalendarFocus();\n event.stopImmediatePropagation();\n }\n } else {\n this.clearDialogDescription();\n event.stopImmediatePropagation();\n }\n };\n\n private closeButtonClickHandler = () => {\n this.calendarOpen = false;\n };\n\n private focusFirstElement = () => {\n this.monthButtonEl.setFocus();\n };\n\n private focusLastElement = () => {\n if (this.showPickerClearButton && !this.clearButtonEl.disabled) {\n this.clearButtonEl.setFocus();\n } else if (this.showPickerTodayButton && !this.todayButtonEl.disabled) {\n this.todayButtonEl.setFocus();\n } else if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focussedDayEl.focus();\n }\n };\n\n private focusFocussedDay = () => {\n this.focussedDayEl.focus();\n };\n\n private monthButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.focusDay = false;\n this.monthPickerVisible = !this.monthPickerVisible;\n if (this.monthPickerVisible) {\n this.setAriaLiveRegionText(\"Month picker view open\");\n } else {\n this.setMonthSelectedLiveRegionText();\n }\n };\n\n private yearButtonClickHandler = () => {\n this.monthPickerVisible = false;\n this.focusDay = false;\n this.yearPickerVisible = !this.yearPickerVisible;\n if (this.yearPickerVisible) {\n this.setAriaLiveRegionText(\n `Year picker view open. ${this.getDecadeInViewText()}`\n );\n } else {\n this.setYearSelectedLiveRegionText();\n }\n };\n\n private todayButtonClickHandler = () => {\n this.yearPickerVisible = false;\n this.monthPickerVisible = false;\n this.setFocussedDate(new Date());\n this.setAriaLiveRegionText(this.getMonthInViewText());\n\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n };\n\n private todayButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey && this.clearButtonEl.disabled) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private clearButtonClickHandler = () => {\n this.setSelectedDate(null);\n let text = \"Selected date cleared.\";\n if (!this.monthPickerVisible && !this.yearPickerVisible) {\n text += ` ${this.getMonthInViewText()}`;\n }\n if (this.monthPickerVisible) {\n this.focussedMonthEl.setFocus();\n } else if (this.yearPickerVisible) {\n this.focussedYearEl.setFocus();\n } else {\n this.focusFocussedDay();\n }\n this.setAriaLiveRegionText(text);\n };\n\n private setMonthSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${\n this.monthNames[this.monthInView]\n } selected. ${this.getMonthInViewText()}`\n );\n };\n\n private setYearSelectedLiveRegionText = () => {\n this.setAriaLiveRegionText(\n `${this.yearInView} selected. ${this.getMonthInViewText()}`\n );\n };\n\n private getMonthInViewText = () => {\n return `${this.monthNames[this.monthInView]} ${\n this.yearInView\n } currently in view.`;\n };\n\n private getDecadeInViewText = () => {\n return `${this.decadeStart} to ${this.decadeEnd} currently in view.`;\n };\n\n private setAriaLiveRegionText = (text: string) => {\n this.liveRegionEl && (this.liveRegionEl.innerText = text);\n };\n\n private clearDialogDescription = () => {\n this.dialogDescription = \"\";\n };\n\n private clearButtonKeyDownHandler = (ev: KeyboardEvent) => {\n if (ev.key === \"Tab\" && !ev.shiftKey) {\n this.focusFirstElement();\n ev.preventDefault();\n }\n };\n\n private goToPreviousMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(-1);\n };\n\n private goToNextMonth = (focusDay = false) => {\n this.focusDay = focusDay;\n this.moveMonths(1);\n };\n\n private goToPreviousYear = (focusDay = false) => {\n if (this.isPrevYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(-1);\n }\n };\n\n private goToNextYear = (focusDay = false) => {\n if (this.isNextYearAllowed()) {\n this.focusDay = focusDay;\n this.moveYears(1);\n }\n };\n\n private navButtonMouseDownHandler = (ev: MouseEvent): void => {\n ev.preventDefault();\n };\n\n private renderMonthYearNavButton = (\n id: string,\n flip: boolean,\n disabled: boolean\n ): void => {\n const buttonSize = this.size;\n return (\n <div aria-hidden=\"true\">\n <ic-button\n id={id}\n disableTooltip={true}\n disabled={disabled}\n onClick={this.monthYearNavClickHandler}\n class={{ flip: flip }}\n variant=\"icon\"\n innerHTML={chevron}\n size={buttonSize}\n tabIndex={-1}\n aria-hidden=\"true\"\n onMouseDown={this.navButtonMouseDownHandler}\n />\n </div>\n );\n };\n\n private monthYearNavClickHandler = (ev: Event): void => {\n const target = ev.target as Element;\n switch (target.id) {\n case \"previous-month-button\":\n this.goToPreviousMonth(this.dayButtonFocussed);\n break;\n\n case \"next-month-button\":\n this.goToNextMonth(this.dayButtonFocussed);\n break;\n\n case \"previous-year-button\":\n this.goToPreviousYear(this.dayButtonFocussed);\n break;\n\n case \"next-year-button\":\n this.goToNextYear(this.dayButtonFocussed);\n break;\n }\n };\n\n private previousMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.minDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.minDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView - 1 < this.minDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\n \"previous-month-button\",\n true,\n disabled\n );\n };\n\n private nextMonthButton = (): void => {\n let disabled = false;\n if (this.focussedDate !== null && this.maxDate !== null) {\n const yearMatch =\n this.focussedDate.getFullYear() === this.maxDate.getFullYear();\n if (yearMatch) {\n disabled = this.monthInView + 1 > this.maxDate.getMonth();\n }\n }\n return this.renderMonthYearNavButton(\"next-month-button\", false, disabled);\n };\n\n private previousYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"previous-year-button\",\n true,\n !this.isPrevYearAllowed()\n );\n };\n\n private nextYearButton = (): void => {\n return this.renderMonthYearNavButton(\n \"next-year-button\",\n false,\n !this.isNextYearAllowed()\n );\n };\n\n private isPrevYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView - 1);\n };\n\n private isNextYearAllowed = (): boolean => {\n return this.isYearAllowed(this.yearInView + 1);\n };\n\n private isYearAllowed = (yr: number): boolean => {\n return yearInRange(yr, this.minDate, this.maxDate);\n };\n\n private getMonthView = (date: Date): Date[] => {\n const start = getWeekStart(getMonthStart(date), this.startOfWeek);\n const end = getWeekEnd(getMonthEnd(date), this.startOfWeek);\n\n const days: Date[] = [];\n let current = start;\n\n while (!dateMatches(current, end)) {\n days.push(current);\n current = new Date(current);\n current.setDate(current.getDate() + 1);\n }\n\n days.push(current);\n\n return days;\n };\n\n private isCurrentMonth = (): boolean => {\n const d = new Date();\n return (\n d.getFullYear() === this.yearInView && d.getMonth() === this.monthInView\n );\n };\n\n private updateMonthInView = (): void => {\n this.currMonthView = this.getMonthView(this.focussedDate);\n\n this.focussedDay = this.focussedDate.getDate();\n this.monthInView = this.focussedDate.getMonth();\n this.yearInView = this.focussedDate.getFullYear();\n\n if (this.dayPickerKeyboardNav) {\n this.monthInViewUpdateHandled = true;\n this.setAriaLiveRegionText(this.getMonthInViewText());\n this.dayPickerKeyboardNav = false;\n }\n };\n\n private handleSelectDay = (day: Date): void => {\n this.setSelectedDate(day);\n this.calendarOpen = false;\n this.inputEl.setCalendarFocus();\n };\n\n private handleSelectMonth = (month: number): void => {\n this.moveMonths(month - this.monthInView);\n setTimeout(() => {\n this.monthButtonEl.setFocus();\n this.monthPickerVisible = false;\n this.setMonthSelectedLiveRegionText();\n }, FOCUS_TIMER);\n };\n\n private handleSelectYear = (year: number): void => {\n const yrPos = this.decadeView.indexOf(year);\n if (yrPos > 0 && yrPos < this.decadeView.length - 1) {\n this.moveYears(year - this.yearInView);\n this.focusDay = false;\n const monthName = this.monthNames[this.monthInView];\n this.setAriaLiveRegionText(\n `${year} selected. ${monthName} ${year} currently in view.`\n );\n setTimeout(() => {\n this.yearButtonEl.setFocus();\n this.yearPickerVisible = false;\n }, FOCUS_TIMER);\n } else {\n const moveYears = year - this.focussedYear > 0 ? 10 : -10;\n this.updateFocussedYear(moveYears, this.yearButtonFocussed);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n };\n\n private monthPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedMonth(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedMonth(1);\n break;\n\n case \"Home\":\n this.updateFocussedMonth(-this.focussedMonth);\n break;\n\n case \"End\":\n this.updateFocussedMonth(11 - this.focussedMonth);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.monthPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearPickerKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.updateFocussedYear(-1);\n break;\n\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.updateFocussedYear(1);\n break;\n\n case \"Home\":\n if (this.focussedYear > this.decadeStart) {\n this.updateFocussedYear(this.decadeStart - this.focussedYear);\n }\n break;\n\n case \"End\":\n if (this.focussedYear < this.decadeEnd) {\n this.updateFocussedYear(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n this.updateFocussedYear(-10);\n break;\n\n case \"PageDown\":\n this.updateFocussedYear(10);\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n case \"Escape\":\n ev.stopImmediatePropagation();\n this.yearPickerVisible = false;\n setTimeout(() => this.focusFocussedDay(), FOCUS_TIMER);\n break;\n\n default:\n handled = false;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private onYearButtonFocusHandler = () => {\n this.yearButtonFocussed = true;\n };\n\n private onYearButtonBlurHandler = () => {\n this.yearButtonFocussed = false;\n };\n\n private monthButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousMonth();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextMonth();\n break;\n\n case \"Home\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(-this.monthInView);\n break;\n\n case \"End\":\n handled = true;\n this.focusDay = false;\n this.moveMonths(11 - this.monthInView);\n break;\n\n case \"Tab\":\n if (ev.shiftKey) {\n handled = true;\n this.focusLastElement();\n }\n break;\n\n case \"Escape\":\n if (this.monthPickerVisible) {\n this.monthPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private yearButtonKeyDownHandler = (ev: KeyboardEvent): void => {\n let handled = false;\n switch (ev.key) {\n case \"ArrowLeft\":\n case \"ArrowUp\":\n handled = true;\n this.goToPreviousYear();\n break;\n\n case \"ArrowRight\":\n case \"ArrowDown\":\n handled = true;\n this.goToNextYear();\n break;\n\n case \"Home\":\n if (this.yearPickerVisible && this.yearInView > this.decadeStart) {\n handled = true;\n this.moveYears(this.decadeStart - this.yearInView);\n }\n break;\n\n case \"End\":\n if (this.yearPickerVisible && this.yearInView < this.decadeEnd) {\n handled = true;\n this.moveYears(this.decadeEnd - this.focussedYear);\n }\n break;\n\n case \"PageUp\":\n handled = true;\n this.focusDay = false;\n this.moveYears(-10);\n break;\n\n case \"PageDown\":\n handled = true;\n this.focusDay = false;\n this.moveYears(10);\n break;\n\n case \"Escape\":\n if (this.yearPickerVisible) {\n this.yearPickerVisible = false;\n ev.stopImmediatePropagation();\n }\n break;\n\n default:\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private handleCalendarKeyDown = (ev: KeyboardEvent): void => {\n let handled = true;\n switch (ev.key) {\n case \"ArrowDown\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(7);\n break;\n\n case \"ArrowUp\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(-7);\n break;\n\n case \"ArrowLeft\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(-1 * this.getNextDayToFocus(this.focussedDate, false));\n break;\n\n case \"ArrowRight\":\n this.dayPickerKeyboardNav = true;\n this.moveDays(this.getNextDayToFocus(this.focussedDate, true));\n break;\n\n case \"PageUp\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(-1) : this.moveMonths(-1);\n break;\n\n case \"PageDown\":\n this.dayPickerKeyboardNav = true;\n ev.shiftKey ? this.moveYears(1) : this.moveMonths(1);\n break;\n\n case \"Home\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth, 1)\n );\n break;\n\n case \"End\":\n this.dayPickerKeyboardNav = true;\n this.setFocussedDate(\n new Date(this.focussedYear, this.focussedMonth + 1, 0)\n );\n break;\n\n case \"Tab\":\n handled = this.calendarTabHandler(ev);\n break;\n\n default:\n handled = false;\n break;\n }\n\n if (handled) {\n ev.preventDefault();\n }\n };\n\n private calendarTabHandler = (ev: KeyboardEvent): boolean => {\n let handled = false;\n if (\n !ev.shiftKey &&\n (!this.showPickerTodayButton || this.isCurrentMonth()) &&\n (!this.showPickerClearButton || this.clearButtonEl.disabled)\n ) {\n this.focusFirstElement();\n handled = true;\n } else if (ev.shiftKey) {\n this.yearButtonEl.setFocus();\n handled = true;\n }\n return handled;\n };\n\n private onDayButtonFocusHandler = () => {\n this.dayButtonFocussed = true;\n };\n\n private onDayButtonBlurHandler = () => {\n this.dayButtonFocussed = false;\n };\n\n private getNextDayToFocus = (\n currDay: Date,\n forward: boolean,\n level = 1\n ): number => {\n const move = forward ? 1 : -1;\n const nextDay = new Date(currDay);\n nextDay.setDate(nextDay.getDate() + move);\n const nextDayNum = Number(nextDay.getDay());\n if (this.disableDays.includes(nextDayNum)) {\n return this.getNextDayToFocus(nextDay, forward, level + 1);\n } else {\n return level;\n }\n };\n\n private moveDays = (numDays: number): void => {\n const d = new Date(this.focussedDate);\n d.setDate(d.getDate() + numDays);\n this.setFocussedDate(d);\n };\n\n private moveMonths = (numMonths: number): void => {\n const newMonth = this.focussedDate.getMonth() + numMonths;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setMonth(newMonth)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(new Date(this.focussedDate).setMonth(newMonth));\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n };\n\n private moveYears = (numYears: number): void => {\n const newYear = this.focussedDate.getFullYear() + numYears;\n const min = new Date(\n new Date(getMonthStart(this.focussedDate)).setFullYear(newYear)\n );\n const max = getMonthEnd(min);\n const newDate = new Date(new Date(this.focussedDate).setFullYear(newYear));\n this.setFocussedDate(clampDate(newDate, min, max));\n\n if (\n this.monthPickerVisible === false &&\n this.yearPickerVisible === false &&\n this.monthInViewUpdateHandled === false\n ) {\n this.setAriaLiveRegionText(this.getMonthInViewText());\n }\n this.monthInViewUpdateHandled = false;\n };\n\n private updateFocussedMonth = (adjust: number): void => {\n const d = new Date(this.focussedYear, this.focussedMonth, 1);\n d.setMonth(this.focussedMonth + adjust);\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.focussedMonth = newDate.getMonth();\n setTimeout(() => this.focussedMonthEl.setFocus(), FOCUS_TIMER);\n };\n\n private updateFocussedYear = (adjust: number, focusYear = true): void => {\n const d = new Date(new Date().setFullYear(this.focussedYear + adjust));\n const newDate = clampDate(d, this.minDate, this.maxDate);\n this.setFocussedYear(newDate.getFullYear(), focusYear);\n };\n\n private setFocussedDate = (d: Date): void => {\n this.focussedDate = clampDate(d, this.minDate, this.maxDate);\n };\n\n private setFocussedDayEl = (element: HTMLButtonElement) => {\n this.focussedDayEl = element;\n };\n\n private setFocussedMonthEl = (element: HTMLIcButtonElement) => {\n this.focussedMonthEl = element;\n };\n\n private setFocussedYearEl = (element: HTMLIcButtonElement) => {\n this.focussedYearEl = element;\n };\n\n private setFocussedYear = (newYear: number, focus = true): void => {\n const prevYear = this.focussedYear;\n this.focussedYear = newYear;\n if (this.yearPickerVisible) {\n const newDecade = Math.floor(newYear / 10) * 10;\n const oldDecade = Math.floor(prevYear / 10) * 10;\n if (newDecade !== oldDecade) {\n this.setDecadeView(newDecade);\n this.setAriaLiveRegionText(this.getDecadeInViewText());\n }\n if (focus) {\n setTimeout(() => {\n if (this.focussedYearEl !== null) this.focussedYearEl.setFocus();\n }, FOCUS_TIMER);\n }\n } else {\n this.setDecadeView(Math.floor(newYear / 10) * 10);\n }\n };\n\n private setDateInputProps = (): IcDateInputProps => {\n const inputProps: IcDateInputProps = {\n invalidDateMessage: this.invalidDateMessage,\n label: this.label,\n showClearButton: true,\n showCalendarButton: true,\n value: this.value,\n };\n\n if (this.dateFormat !== DEFAULT_DATE_FORMAT) {\n inputProps.dateFormat = this.dateFormat;\n }\n if (this.disableFuture) {\n inputProps.disableFuture = this.disableFuture;\n if (this.disableFutureMessage !== DEFAULT_DISABLE_DATES_FROM_NOW_MSG) {\n inputProps.disableFutureMessage = this.disableFutureMessage;\n }\n }\n if (this.disablePast) {\n inputProps.disablePast = this.disablePast;\n if (this.disablePastMessage !== DEFAULT_DISABLE_DATES_UNTIL_NOW_MSG) {\n inputProps.disablePastMessage = this.disablePastMessage;\n }\n }\n if (this.disableDays.length > 0) {\n inputProps.disableDays = this.disableDays;\n if (this.disableDaysMessage !== DEFAULT_DISABLE_DAYS_MSG) {\n inputProps.disableDaysMessage = this.disableDaysMessage;\n }\n }\n if (this.max !== null && this.max !== \"\") {\n inputProps.max = this.maxDate;\n }\n if (this.min !== null && this.min !== \"\") {\n inputProps.min = this.minDate;\n }\n if (this.helperText !== undefined) {\n inputProps.helperText = this.helperText;\n }\n if (this.hideHelperText !== false) {\n inputProps.hideHelperText = this.hideHelperText;\n }\n if (this.inputId !== undefined) {\n inputProps.inputId = this.inputId;\n }\n if (this.name !== undefined) {\n inputProps.name = this.name;\n }\n if (this.disabled) {\n inputProps.disabled = this.disabled;\n }\n if (this.required) {\n inputProps.required = this.required;\n }\n if (this.size !== \"medium\") {\n inputProps.size = this.size;\n }\n if (this.validationStatus !== \"\") {\n inputProps.validationStatus = this.validationStatus;\n }\n if (this.validationText !== \"\") {\n inputProps.validationText = this.validationText;\n }\n return inputProps;\n };\n\n render() {\n const {\n calendarOpen,\n dateInputProps,\n monthNames,\n size,\n focussedMonth,\n focussedYear,\n monthInView,\n yearInView,\n monthPickerVisible,\n yearPickerVisible,\n orderedDaysOfWeek,\n decadeView,\n minDate,\n maxDate,\n showPickerClearButton,\n showPickerTodayButton,\n dialogDescription,\n } = this;\n\n let monthButtonText = \"\";\n if (monthPickerVisible) {\n monthButtonText = `Use the arrow keys to change the selected month. To return to day picker view, press Enter or Space to select a month, or press Escape.`;\n } else {\n monthButtonText = `Press Enter or Space to open month picker view or use the arrow keys to change month.`;\n }\n\n let yearButtonText = \"\";\n if (yearPickerVisible) {\n yearButtonText = `Use the arrow keys to change the selected year. To return to day picker view, press Enter or Space to select a year, or press Escape.`;\n } else {\n yearButtonText = `Press Enter or Space to open year picker view or use the arrow keys to change the selected year.`;\n }\n\n const dialogLabel = \"choose date\";\n\n const monthLabel =\n monthNames && monthNames[monthInView]\n ? monthNames[monthInView]\n : \"Open month picker\";\n const yearLabel = this.yearInView ? this.yearInView : \"Open year picker\";\n\n let minDay = minDate;\n if (this.disablePast) {\n const yesterday = new Date(minDate);\n yesterday.setDate(minDate.getDate() - 1);\n minDay = yesterday;\n }\n\n return (\n <Host\n onKeyDown={this.keyDownHandler}\n class={{ [`ic-date-picker-${size}`]: true }}\n >\n <div class=\"date-input-container\">\n <ic-date-input\n ref={(el) => (this.inputEl = el)}\n {...dateInputProps}\n ></ic-date-input>\n </div>\n {calendarOpen && (\n <div>\n <span id=\"dialog-description\" class=\"sr-only\">\n {dialogDescription}\n </span>\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={dialogLabel}\n aria-describedBy=\"dialog-description\"\n class={{\n \"calendar-container\": true,\n above: this.showPickerAbove,\n }}\n onMouseDown={this.handleCalendarMouseDown}\n onClick={this.handleCalendarClick}\n >\n <span\n ref={(el) => (this.liveRegionEl = el)}\n id=\"live-region\"\n aria-live=\"assertive\"\n class=\"sr-only\"\n ></span>\n <div\n class={{\n \"month-year-nav-container\": true,\n }}\n >\n <div class=\"month-year-nav\">\n {this.previousMonthButton()}\n <span id=\"select-month-hint\" aria-hidden=\"true\">\n {monthButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.monthButtonEl = el)}\n size={size}\n class=\"month-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={monthPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={monthLabel}\n aria-describedby=\"select-month-hint\"\n onKeyDown={this.monthButtonKeyDownHandler}\n onClick={this.monthButtonClickHandler}\n >\n {monthNames[monthInView]}\n </ic-button>\n {this.nextMonthButton()}\n </div>\n <div class=\"month-year-nav\">\n {this.previousYearButton()}\n <span id=\"select-year-hint\" aria-hidden=\"true\">\n {yearButtonText}\n </span>\n <ic-button\n ref={(el: HTMLIcButtonElement) => (this.yearButtonEl = el)}\n size={size}\n class=\"year-picker-button\"\n aria-haspopup=\"menu\"\n aria-expanded={yearPickerVisible ? \"true\" : \"false\"}\n full-width=\"true\"\n variant=\"tertiary\"\n aria-label={yearLabel}\n aria-describedby=\"select-year-hint\"\n onKeyDown={this.yearButtonKeyDownHandler}\n onClick={this.yearButtonClickHandler}\n >\n {this.yearInView}\n </ic-button>\n {this.nextYearButton()}\n </div>\n </div>\n {!(monthPickerVisible || yearPickerVisible) && (\n <div\n class={{\n calendar: true,\n hidden: monthPickerVisible || yearPickerVisible,\n }}\n onKeyDown={this.handleCalendarKeyDown}\n >\n <div class=\"weekdays\" aria-hidden=\"true\">\n {orderedDaysOfWeek.map((dayName) => {\n const header =\n size === \"small\" ? dayName.charAt(0) : dayName;\n return (\n <div class=\"calendar-day-header\">\n <ic-typography variant=\"caption\">\n {header}\n </ic-typography>\n </div>\n );\n })}\n </div>\n\n <div class=\"calendar-days-container\">\n {this.currMonthView.map((day) => (\n <DayButton\n day={day}\n disableDay={this.disableDays.includes(\n Number(day.getDay())\n )}\n today={dateMatches(day, this.today)}\n selected={dateMatches(day, this.selectedDate)}\n focussed={dateMatches(day, this.focussedDate)}\n inRange={dateInRange(day, minDay, maxDate)}\n monthInView={monthInView}\n onSelectDay={this.handleSelectDay}\n focussedDayRef={this.setFocussedDayEl}\n onFocusDay={this.onDayButtonFocusHandler}\n onBlurDay={this.onDayButtonBlurHandler}\n showDaysOutsideMonth={this.showDaysOutsideMonth}\n ></DayButton>\n ))}\n </div>\n </div>\n )}\n <div\n class={{\n \"month-picker-container\": true,\n hidden: !monthPickerVisible,\n }}\n >\n {monthPickerVisible && (\n <MonthPicker\n size={size}\n onSelectMonth={this.handleSelectMonth}\n monthInView={monthInView}\n focussedMonth={focussedMonth}\n onKeyDown={this.monthPickerKeyDownHandler}\n focussedMonthRef={this.setFocussedMonthEl}\n minDate={minDate}\n maxDate={maxDate}\n yearInView={yearInView}\n ></MonthPicker>\n )}\n </div>\n <div\n class={{\n \"year-picker-container\": true,\n hidden: !yearPickerVisible,\n }}\n >\n {yearPickerVisible && (\n <YearPicker\n decadeView={decadeView}\n size={size}\n focussedYear={focussedYear}\n onSelectYear={this.handleSelectYear}\n onKeyDown={this.yearPickerKeyDownHandler}\n onFocusYear={this.onYearButtonFocusHandler}\n onBlurYear={this.onYearButtonBlurHandler}\n yearInView={yearInView}\n minDate={minDate}\n maxDate={maxDate}\n focussedYearRef={this.setFocussedYearEl}\n ></YearPicker>\n )}\n </div>\n <div\n class={{\n \"bottom-buttons\": true,\n \"no-today\": !showPickerTodayButton,\n }}\n >\n {showPickerTodayButton && (\n <ic-button\n id=\"today-button\"\n variant=\"tertiary\"\n ref={(el: HTMLIcButtonElement) => (this.todayButtonEl = el)}\n size={size}\n aria-label=\"Navigate to current date\"\n onClick={this.todayButtonClickHandler}\n onKeyDown={this.todayButtonKeyDownHandler}\n disabled={this.isCurrentMonth()}\n >\n Go to today\n </ic-button>\n )}\n {showPickerClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"clear selected date\"\n ref={(el: HTMLIcButtonElement) => (this.clearButtonEl = el)}\n variant=\"tertiary\"\n size={size}\n onClick={this.clearButtonClickHandler}\n onKeyDown={this.clearButtonKeyDownHandler}\n disabled={\n this.value === \"\" ||\n this.value === null ||\n this.value === undefined\n }\n >\n Clear\n </ic-button>\n )}\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as o,h as e,H as t,g as r}from"./p-8455d1bb.js";import{D as i,g as n,a as l}from"./p-9397b15b.js";const a='/*! 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(.footer-link-group-sparse){--footer-link-group-margin-right:5.938rem;--footer-link-group-border-bottom:0 solid transparent;--footer-link-label-margin-top:0;--footer-link-label-margin-bottom:var(--ic-space-md)}:host(.footer-link-group-small){--footer-link-group-margin-right:0;--footer-link-label-margin-top:var(--ic-space-md);--footer-link-label-margin-bottom:var(--ic-space-md);--footer-link-group-links-padding-left:var(--ic-space-md);--footer-link-group-links-padding-bottom:var(--ic-space-md)}:host(.footer-link-group-light.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-border-keyline-lighten)}:host(.footer-link-group-dark.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-border-keyline-darken)}:host(.footer-link-group){margin-right:var(--footer-link-group-margin-right);border-bottom:var(--footer-link-group-border-bottom)}:host(.footer-link-group-small.footer-link-group-light:hover){background-color:var(--ic-action-light-bg-hover);cursor:pointer}:host(.footer-link-group-small.footer-link-group-dark:hover){background-color:var(--ic-action-dark-bg-hover);cursor:pointer}:host(.footer-link-group-sparse:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small.footer-link-group-light:active){background-color:var(--ic-action-light-bg-pressed)}:host(.footer-link-group-small.footer-link-group-dark:active){background-color:var(--ic-action-dark-bg-pressed)}.footer-link-label{margin-top:var(--footer-link-label-margin-top);margin-bottom:var(--footer-link-label-margin-bottom);flex-grow:1}.footer-link-group-toggle{fill:white !important}.footer-link-group-links{display:flex;flex-direction:column}.footer-link-group-header{display:flex;align-items:center}ic-typography{--ic-typography-color:var(--ic-theme-text)}';const s=class{constructor(e){o(this,e);this.handleKeydown=o=>{if(o.key===" "||o.key==="Enter"){this.toggleExpanded()}};this.toggleExpanded=()=>{this.expanded=!this.expanded};this.expanded=false;this.deviceSize=i.XL;this.dropdownIconStyle=n();this.small=false;this.label=undefined}componentWillLoad(){this.small=this.isSmall(this.el)}componentDidLoad(){l([{prop:this.label,propName:"label"}],"Footer Link Group")}footerResizeHandler(){this.small=this.isSmall(this.el)}footerThemeChangeHandler(o){const e=o.detail;this.dropdownIconStyle=e.mode}isSmall(o){if(o.parentElement!==null){if(o.parentElement.classList.contains("ic-footer")){return o.parentElement.classList.contains("ic-footer-small")}else{return this.isSmall(o.parentElement)}}else{return false}}render(){const{small:o,label:r}=this;return!o?e(t,{class:{["footer-link-group footer-link-group-sparse"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true},role:"listitem"},e("div",{class:"footer-link-label"},e("ic-typography",{variant:"subtitle-small"},r)),e("div",{class:"footer-link-group-links",role:"list"},e("slot",null))):e(t,{class:{["footer-link-group footer-link-group-small"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true},tabIndex:"1",onClick:this.toggleExpanded,onKeydown:this.handleKeydown,"aria-expanded":this.expanded},e("ic-section-container",{fullHeight:true},e("div",{class:"footer-link-group-header"},e("div",{class:"footer-link-label"},e("ic-typography",{variant:"label"},r)),this.expanded?e("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},e("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})):e("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},e("g",{transform:"translate(0 1200) scale(1 -1)"},e("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})))),this.expanded&&e("div",{class:"footer-link-group-links",role:"list"},e("slot",null))))}static get delegatesFocus(){return true}get el(){return r(this)}};s.style=a;export{s as ic_footer_link_group};
2
+ //# sourceMappingURL=p-7c80d79c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icFooterLinkGroupCss","FooterLinkGroup","constructor","hostRef","this","handleKeydown","event","key","toggleExpanded","expanded","deviceSize","DEVICE_SIZES","XL","dropdownIconStyle","getThemeForegroundColor","small","label","undefined","componentWillLoad","isSmall","el","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","mode","e","parentElement","classList","contains","render","h","Host","class","role","variant","tabIndex","onClick","onKeydown","fullHeight","xmlns","width","height","preserveAspectRatio","viewBox","fill","d","transform","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css?tag=ic-footer-link-group&encapsulation=shadow","../web-components/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host(.footer-link-group-sparse) {\n --footer-link-group-margin-right: 5.938rem;\n --footer-link-group-border-bottom: 0 solid transparent;\n --footer-link-label-margin-top: 0;\n --footer-link-label-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-small) {\n --footer-link-group-margin-right: 0;\n --footer-link-label-margin-top: var(--ic-space-md);\n --footer-link-label-margin-bottom: var(--ic-space-md);\n --footer-link-group-links-padding-left: var(--ic-space-md);\n --footer-link-group-links-padding-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-light.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-border-keyline-lighten);\n}\n\n:host(.footer-link-group-dark.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-border-keyline-darken);\n}\n\n:host(.footer-link-group) {\n margin-right: var(--footer-link-group-margin-right);\n border-bottom: var(--footer-link-group-border-bottom);\n}\n\n:host(.footer-link-group-small.footer-link-group-light:hover) {\n background-color: var(--ic-action-light-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:hover) {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-sparse:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small.footer-link-group-light:active) {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:active) {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n.footer-link-label {\n margin-top: var(--footer-link-label-margin-top);\n margin-bottom: var(--footer-link-label-margin-bottom);\n flex-grow: 1;\n}\n\n.footer-link-group-toggle {\n fill: white !important;\n}\n\n.footer-link-group-links {\n display: flex;\n flex-direction: column;\n}\n\n.footer-link-group-header {\n display: flex;\n align-items: center;\n}\n\nic-typography {\n --ic-typography-color: var(--ic-theme-text);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getThemeForegroundColor, onComponentRequiredPropUndefined, } from \"../../utils/helpers\";\nexport class FooterLinkGroup {\n constructor() {\n this.handleKeydown = (event) => {\n if (event.key === \" \" || event.key === \"Enter\") {\n this.toggleExpanded();\n }\n };\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n };\n this.expanded = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.dropdownIconStyle = getThemeForegroundColor();\n this.small = false;\n this.label = undefined;\n }\n componentWillLoad() {\n this.small = this.isSmall(this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Footer Link Group\");\n }\n footerResizeHandler() {\n this.small = this.isSmall(this.el);\n }\n footerThemeChangeHandler(ev) {\n const theme = ev.detail;\n this.dropdownIconStyle = theme.mode;\n }\n isSmall(e) {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return e.parentElement.classList.contains(\"ic-footer-small\");\n }\n else {\n return this.isSmall(e.parentElement);\n }\n }\n else {\n return false;\n }\n }\n render() {\n const { small, label } = this;\n return !small ? (h(Host, { class: {\n [\"footer-link-group footer-link-group-sparse\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }, role: \"listitem\" }, h(\"div\", { class: \"footer-link-label\" }, h(\"ic-typography\", { variant: \"subtitle-small\" }, label)), h(\"div\", { class: \"footer-link-group-links\", role: \"list\" }, h(\"slot\", null)))) : (h(Host, { class: {\n [\"footer-link-group footer-link-group-small\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }, tabIndex: \"1\", onClick: this.toggleExpanded, onKeydown: this.handleKeydown, \"aria-expanded\": this.expanded }, h(\"ic-section-container\", { fullHeight: true }, h(\"div\", { class: \"footer-link-group-header\" }, h(\"div\", { class: \"footer-link-label\" }, h(\"ic-typography\", { variant: \"label\" }, label)), this.expanded ? (h(\"svg\", { class: \"footer-link-group-toggle\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-hidden\": \"true\", role: \"img\", width: \"1em\", height: \"1em\", preserveAspectRatio: \"xMidYMid meet\", viewBox: \"0 0 1200 1200\" }, h(\"path\", { fill: \"currentColor\", d: \"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\" }))) : (h(\"svg\", { class: \"footer-link-group-toggle\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-hidden\": \"true\", role: \"img\", width: \"1em\", height: \"1em\", preserveAspectRatio: \"xMidYMid meet\", viewBox: \"0 0 1200 1200\" }, h(\"g\", { transform: \"translate(0 1200) scale(1 -1)\" }, h(\"path\", { fill: \"currentColor\", d: \"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\" }))))), this.expanded && (h(\"div\", { class: \"footer-link-group-links\", role: \"list\" }, h(\"slot\", null))))));\n }\n static get is() { return \"ic-footer-link-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-footer-link-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-footer-link-group.css\"]\n };\n }\n static get properties() {\n return {\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title of the link group to be displayed.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"expanded\": {},\n \"deviceSize\": {},\n \"dropdownIconStyle\": {},\n \"small\": {}\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"footerResized\",\n \"method\": \"footerResizeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"footerThemeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-footer-link-group.js.map\n"],"mappings":"2GAAA,MAAMA,EAAuB,81I,MCEhBC,EAAe,MACxB,WAAAC,CAAAC,G,UACIC,KAAKC,cAAiBC,IAClB,GAAIA,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC5CH,KAAKI,gB,GAGbJ,KAAKI,eAAiB,KAClBJ,KAAKK,UAAYL,KAAKK,QAAQ,EAElCL,KAAKK,SAAW,MAChBL,KAAKM,WAAaC,EAAaC,GAC/BR,KAAKS,kBAAoBC,IACzBV,KAAKW,MAAQ,MACbX,KAAKY,MAAQC,S,CAEjB,iBAAAC,GACId,KAAKW,MAAQX,KAAKe,QAAQf,KAAKgB,G,CAEnC,gBAAAC,GACIC,EAAiC,CAAC,CAAEC,KAAMnB,KAAKY,MAAOQ,SAAU,UAAY,oB,CAEhF,mBAAAC,GACIrB,KAAKW,MAAQX,KAAKe,QAAQf,KAAKgB,G,CAEnC,wBAAAM,CAAyBC,GACrB,MAAMC,EAAQD,EAAGE,OACjBzB,KAAKS,kBAAoBe,EAAME,I,CAEnC,OAAAX,CAAQY,GACJ,GAAIA,EAAEC,gBAAkB,KAAM,CAC1B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,aAAc,CACjD,OAAOH,EAAEC,cAAcC,UAAUC,SAAS,kB,KAEzC,CACD,OAAO9B,KAAKe,QAAQY,EAAEC,c,MAGzB,CACD,OAAO,K,EAGf,MAAAG,GACI,MAAMpB,MAAEA,EAAKC,MAAEA,GAAUZ,KACzB,OAAQW,EAASqB,EAAEC,EAAM,CAAEC,MAAO,CAC1B,CAAC,8CAA+C,KAChD,CAAC,qBAAqBlC,KAAKS,qBAAsB,MAClD0B,KAAM,YAAcH,EAAE,MAAO,CAAEE,MAAO,qBAAuBF,EAAE,gBAAiB,CAAEI,QAAS,kBAAoBxB,IAASoB,EAAE,MAAO,CAAEE,MAAO,0BAA2BC,KAAM,QAAUH,EAAE,OAAQ,QAAYA,EAAEC,EAAM,CAAEC,MAAO,CAC3N,CAAC,6CAA8C,KAC/C,CAAC,qBAAqBlC,KAAKS,qBAAsB,MAClD4B,SAAU,IAAKC,QAAStC,KAAKI,eAAgBmC,UAAWvC,KAAKC,cAAe,gBAAiBD,KAAKK,UAAY2B,EAAE,uBAAwB,CAAEQ,WAAY,MAAQR,EAAE,MAAO,CAAEE,MAAO,4BAA8BF,EAAE,MAAO,CAAEE,MAAO,qBAAuBF,EAAE,gBAAiB,CAAEI,QAAS,SAAWxB,IAASZ,KAAKK,SAAY2B,EAAE,MAAO,CAAEE,MAAO,2BAA4BO,MAAO,6BAA8B,cAAe,OAAQN,KAAM,MAAOO,MAAO,MAAOC,OAAQ,MAAOC,oBAAqB,gBAAiBC,QAAS,iBAAmBb,EAAE,OAAQ,CAAEc,KAAM,eAAgBC,EAAG,8IAAmJf,EAAE,MAAO,CAAEE,MAAO,2BAA4BO,MAAO,6BAA8B,cAAe,OAAQN,KAAM,MAAOO,MAAO,MAAOC,OAAQ,MAAOC,oBAAqB,gBAAiBC,QAAS,iBAAmBb,EAAE,IAAK,CAAEgB,UAAW,iCAAmChB,EAAE,OAAQ,CAAEc,KAAM,eAAgBC,EAAG,gJAAmJ/C,KAAKK,UAAa2B,EAAE,MAAO,CAAEE,MAAO,0BAA2BC,KAAM,QAAUH,EAAE,OAAQ,Q,CAIjvC,yBAAWiB,GAAmB,OAAO,IAAK,C"}
@@ -1,2 +1,2 @@
1
- import{r as e,h as t,H as i}from"./p-8455d1bb.js";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{position:fixed;left:0;bottom:0;width:100%;height:var(--ic-space-lg);z-index:var(--ic-z-index-classification-banner)}:host(.inline){position:static;left:auto;bottom:auto}.classification-banner{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:var(--ic-space-xxxs) var(--ic-space-md)}.default{background-color:var(--ic-classification-not-set);color:var(--ic-classification-not-set-foreground)}.official,.official-sensitive{background-color:var(--ic-classification-official);color:var(--ic-classification-official-foreground)}.secret{background-color:var(--ic-classification-secret);color:var(--ic-classification-secret-foreground)}.top-secret{background-color:var(--ic-classification-top-secret);color:var(--ic-classification-top-secret-foreground)}.offscreen{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}@media (forced-colors: active){.classification-banner{border:var(--ic-hc-border)}}';const n={default:"protective marking not set",official:"official","official-sensitive":"official sensitive",secret:"secret","top-secret":"top secret"};const a=class{constructor(t){e(this,t);this.additionalSelectors="";this.classification="default";this.country="uk";this.inline=false;this.upTo=false}render(){const{classification:e,inline:o,country:a,upTo:s,additionalSelectors:r}=this;return t(i,{class:{["inline"]:o}},t("banner",{"aria-label":"Protective marking",class:{["classification-banner"]:true,[`${e}`]:e}},e!=="default"?t("span",{class:"offscreen"},"The protective marking of this page is:"," "):null,t("ic-typography",{variant:"caption-uppercase"},e==="default"?n[e]:`${s?"up to":""} \n ${a!==""?a:""} \n ${n[e]} \n ${r!==""?r:""}`)))}};a.style=o;export{a as ic_classification_banner};
2
- //# sourceMappingURL=p-c2b5e7b1.entry.js.map
1
+ import{r as i,h as o,H as e}from"./p-8455d1bb.js";const t='/*! 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{position:fixed;left:0;bottom:0;width:100%;height:var(--ic-space-lg);z-index:var(--ic-z-index-classification-banner);--ic-typography-color:currentcolor;--ic-color-classification-official:var(--ic-color-classification-blue);--ic-color-classification-official-foreground:#fff;--ic-color-classification-secret:var(--ic-color-classification-yellow);--ic-color-classification-secret-foreground:#000;--ic-color-classification-top-secret:var(--ic-color-classification-red);--ic-color-classification-top-secret-foreground:#fff;--ic-color-classification-not-set:var(--ic-color-classification-grey);--ic-color-classification-not-set-foreground:#fff}:host(.ic-classification-banner-inline){position:static;left:auto;bottom:auto}.classification-banner{display:flex;flex-direction:row;justify-content:center;align-items:center;padding:var(--ic-space-xxxs) var(--ic-space-md)}.default{background-color:var(--ic-color-classification-not-set);color:var(--ic-color-classification-not-set-foreground)}.official,.official-sensitive{background-color:var(--ic-color-classification-official);color:var(--ic-color-classification-official-foreground)}.secret{background-color:var(--ic-color-classification-secret);color:var(--ic-color-classification-secret-foreground)}.top-secret{background-color:var(--ic-color-classification-top-secret);color:var(--ic-color-classification-top-secret-foreground)}.offscreen{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}@media (forced-colors: active){.classification-banner{border:var(--ic-border-hc)}}';const a={default:"protective marking not set",official:"official","official-sensitive":"official sensitive",secret:"secret","top-secret":"top secret"};const n=class{constructor(o){i(this,o);this.additionalSelectors="";this.classification="default";this.country="uk";this.inline=false;this.upTo=false}render(){const{inline:i,upTo:t}=this;let{country:n,additionalSelectors:c,classification:r}=this;if(!n)n="";if(!c)c="";if(!r||r&&!a[r])r="default";return o(e,{class:{["ic-classification-banner-inline"]:i}},o("banner",{"aria-label":"Protective marking",class:{["classification-banner"]:true,[`${r}`]:r}},r!=="default"?o("span",{class:"offscreen"},"The protective marking of this page is:"," "):null,o("ic-typography",{variant:"caption-uppercase"},r==="default"?a[r]:`${t?"up to":""} \n ${n} \n ${a[r]} \n ${c}`)))}};n.style=t;export{n as ic_classification_banner};
2
+ //# sourceMappingURL=p-7e1603cc.entry.js.map