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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (537) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/date-helpers-d7ee7b45.js.map +1 -1
  3. package/dist/cjs/{helpers-da852478.js → helpers-6f4b406b.js} +20 -20
  4. package/dist/cjs/helpers-6f4b406b.js.map +1 -0
  5. package/dist/cjs/ic-button_3.cjs.entry.js +5 -5
  6. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-calendar_2.cjs.entry.js +2354 -0
  8. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -0
  9. package/dist/cjs/ic-card-horizontal.cjs.entry.js +6 -6
  10. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox_3.cjs.entry.js +48 -17
  14. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +4 -4
  20. package/dist/cjs/ic-data-table.cjs.entry.js +10 -8
  21. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-date-picker.cjs.entry.js +98 -854
  23. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer.cjs.entry.js +9 -5
  29. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +11 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  33. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +12 -12
  35. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu.cjs.entry.js +4 -4
  45. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-page-header.cjs.entry.js +6 -6
  53. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-pagination_4.cjs.entry.js +18 -18
  55. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
  61. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  63. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -4
  67. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  75. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  83. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-table-of-contents.cjs.entry.js +4 -4
  87. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  88. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-time-input.cjs.entry.js +5 -5
  90. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  92. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +14 -6
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  98. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  100. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  101. package/dist/cjs/index-d337cd8a.js +4 -4
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/collection-manifest.json +1 -0
  104. package/dist/collection/components/ic-calendar/ic-calendar.css +914 -0
  105. package/dist/collection/components/ic-calendar/ic-calendar.js +1542 -0
  106. package/dist/collection/components/ic-calendar/ic-calendar.js.map +1 -0
  107. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +295 -0
  108. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -0
  109. package/dist/collection/components/ic-calendar/ic-day-button.js.map +1 -0
  110. package/dist/collection/components/ic-calendar/ic-month-picker.js +35 -0
  111. package/dist/collection/components/ic-calendar/ic-month-picker.js.map +1 -0
  112. package/dist/collection/components/ic-calendar/ic-year-picker.js +57 -0
  113. package/dist/collection/components/ic-calendar/ic-year-picker.js.map +1 -0
  114. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js +13 -0
  115. package/dist/collection/components/ic-calendar/test/a11y/ic-calendar.test.a11y.js.map +1 -0
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +6 -6
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  118. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -8
  119. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  120. package/dist/collection/components/ic-data-table-title-bar/ic-data-table-title-bar.js +3 -3
  121. package/dist/collection/components/ic-date-input/ic-date-input.js +8 -7
  122. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  123. package/dist/collection/components/ic-date-picker/ic-date-picker.css +7 -405
  124. package/dist/collection/components/ic-date-picker/ic-date-picker.js +145 -802
  125. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  126. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js +110 -0
  127. package/dist/collection/components/ic-date-picker/ic-date-picker.stories.js.map +1 -1
  128. package/dist/collection/components/ic-date-picker/story-data.js +5 -1
  129. package/dist/collection/components/ic-date-picker/story-data.js.map +1 -1
  130. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +56 -8
  131. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  132. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
  133. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
  134. package/dist/collection/components/ic-table-of-contents/ic-table-of-contents.js +3 -3
  135. package/dist/collection/components/ic-time-input/ic-time-input.js +9 -8
  136. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  137. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  139. package/dist/collection/utils/date-helpers.js +3 -0
  140. package/dist/collection/utils/date-helpers.js.map +1 -1
  141. package/dist/collection/utils/types.js.map +1 -1
  142. package/dist/{esm/date-helpers-2b531c8c.js → components/date-helpers.js} +2 -2
  143. package/dist/components/date-helpers.js.map +1 -0
  144. package/dist/components/helpers2.js +20 -20
  145. package/dist/components/helpers2.js.map +1 -1
  146. package/dist/components/ic-calendar.d.ts +11 -0
  147. package/dist/components/ic-calendar.js +8 -0
  148. package/dist/components/ic-calendar.js.map +1 -0
  149. package/dist/components/ic-calendar2.js +1235 -0
  150. package/dist/components/ic-calendar2.js.map +1 -0
  151. package/dist/components/ic-card-horizontal.js +6 -6
  152. package/dist/components/ic-card-horizontal.js.map +1 -1
  153. package/dist/components/ic-checkbox-group.js +2 -2
  154. package/dist/components/ic-checkbox-group.js.map +1 -1
  155. package/dist/components/ic-checkbox2.js +31 -8
  156. package/dist/components/ic-checkbox2.js.map +1 -1
  157. package/dist/components/ic-data-list.js +2 -2
  158. package/dist/components/ic-data-list.js.map +1 -1
  159. package/dist/components/ic-data-row.js +2 -2
  160. package/dist/components/ic-data-row.js.map +1 -1
  161. package/dist/components/ic-data-table-title-bar.js +3 -3
  162. package/dist/components/ic-data-table.js +10 -8
  163. package/dist/components/ic-data-table.js.map +1 -1
  164. package/dist/components/ic-date-input2.js +6 -88
  165. package/dist/components/ic-date-input2.js.map +1 -1
  166. package/dist/components/ic-date-picker.js +113 -880
  167. package/dist/components/ic-date-picker.js.map +1 -1
  168. package/dist/components/ic-dialog.js +1 -1
  169. package/dist/components/ic-dialog.js.map +1 -1
  170. package/dist/components/ic-empty-state2.js +2 -2
  171. package/dist/components/ic-empty-state2.js.map +1 -1
  172. package/dist/components/ic-footer-link.js +2 -2
  173. package/dist/components/ic-footer-link.js.map +1 -1
  174. package/dist/components/ic-footer.js +10 -5
  175. package/dist/components/ic-footer.js.map +1 -1
  176. package/dist/components/ic-hero.js +12 -6
  177. package/dist/components/ic-hero.js.map +1 -1
  178. package/dist/components/ic-horizontal-scroll2.js +5 -5
  179. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  180. package/dist/components/ic-input-component-container2.js +4 -4
  181. package/dist/components/ic-input-component-container2.js.map +1 -1
  182. package/dist/components/ic-input-container2.js +2 -2
  183. package/dist/components/ic-input-container2.js.map +1 -1
  184. package/dist/components/ic-input-label2.js +2 -2
  185. package/dist/components/ic-input-label2.js.map +1 -1
  186. package/dist/components/ic-input-validation2.js +4 -4
  187. package/dist/components/ic-input-validation2.js.map +1 -1
  188. package/dist/components/ic-layout-grid-item.js +2 -2
  189. package/dist/components/ic-layout-grid-item.js.map +1 -1
  190. package/dist/components/ic-layout-grid.js +2 -2
  191. package/dist/components/ic-layout-grid.js.map +1 -1
  192. package/dist/components/ic-link2.js +1 -1
  193. package/dist/components/ic-link2.js.map +1 -1
  194. package/dist/components/ic-loading-indicator2.js +5 -5
  195. package/dist/components/ic-loading-indicator2.js.map +1 -1
  196. package/dist/components/ic-menu-group.js +1 -1
  197. package/dist/components/ic-menu-group.js.map +1 -1
  198. package/dist/components/ic-menu2.js +4 -4
  199. package/dist/components/ic-menu2.js.map +1 -1
  200. package/dist/components/ic-navigation-group.js +2 -2
  201. package/dist/components/ic-navigation-group.js.map +1 -1
  202. package/dist/components/ic-navigation-item.js +1 -1
  203. package/dist/components/ic-navigation-item.js.map +1 -1
  204. package/dist/components/ic-navigation-menu2.js +4 -4
  205. package/dist/components/ic-navigation-menu2.js.map +1 -1
  206. package/dist/components/ic-page-header.js +6 -6
  207. package/dist/components/ic-page-header.js.map +1 -1
  208. package/dist/components/ic-pagination-bar2.js +17 -7
  209. package/dist/components/ic-pagination-bar2.js.map +1 -1
  210. package/dist/components/ic-pagination-item2.js +1 -1
  211. package/dist/components/ic-pagination-item2.js.map +1 -1
  212. package/dist/components/ic-pagination2.js +4 -4
  213. package/dist/components/ic-pagination2.js.map +1 -1
  214. package/dist/components/ic-popover-menu.js +4 -4
  215. package/dist/components/ic-popover-menu.js.map +1 -1
  216. package/dist/components/ic-radio-group.js +5 -5
  217. package/dist/components/ic-radio-group.js.map +1 -1
  218. package/dist/components/ic-radio-option.js +10 -7
  219. package/dist/components/ic-radio-option.js.map +1 -1
  220. package/dist/components/ic-search-bar.js +10 -10
  221. package/dist/components/ic-search-bar.js.map +1 -1
  222. package/dist/components/ic-section-container2.js +2 -2
  223. package/dist/components/ic-section-container2.js.map +1 -1
  224. package/dist/components/ic-select2.js +7 -7
  225. package/dist/components/ic-select2.js.map +1 -1
  226. package/dist/components/ic-side-navigation.js +4 -4
  227. package/dist/components/ic-side-navigation.js.map +1 -1
  228. package/dist/components/ic-skeleton.js +2 -2
  229. package/dist/components/ic-skeleton.js.map +1 -1
  230. package/dist/components/ic-skip-link.js +2 -2
  231. package/dist/components/ic-skip-link.js.map +1 -1
  232. package/dist/components/ic-status-tag.js +2 -2
  233. package/dist/components/ic-status-tag.js.map +1 -1
  234. package/dist/components/ic-step.js +13 -13
  235. package/dist/components/ic-step.js.map +1 -1
  236. package/dist/components/ic-stepper.js +2 -2
  237. package/dist/components/ic-stepper.js.map +1 -1
  238. package/dist/components/ic-switch.js +4 -4
  239. package/dist/components/ic-switch.js.map +1 -1
  240. package/dist/components/ic-tab-context.js +1 -1
  241. package/dist/components/ic-tab-context.js.map +1 -1
  242. package/dist/components/ic-tab-group.js +2 -2
  243. package/dist/components/ic-tab-group.js.map +1 -1
  244. package/dist/components/ic-tab-panel.js +2 -2
  245. package/dist/components/ic-tab-panel.js.map +1 -1
  246. package/dist/components/ic-table-of-contents.js +3 -3
  247. package/dist/components/ic-text-field2.js +6 -6
  248. package/dist/components/ic-text-field2.js.map +1 -1
  249. package/dist/components/ic-theme.js +1 -1
  250. package/dist/components/ic-theme.js.map +1 -1
  251. package/dist/components/ic-time-input.js +5 -5
  252. package/dist/components/ic-time-input.js.map +1 -1
  253. package/dist/components/ic-toast-region.js +1 -1
  254. package/dist/components/ic-toast-region.js.map +1 -1
  255. package/dist/components/ic-toast.js +15 -6
  256. package/dist/components/ic-toast.js.map +1 -1
  257. package/dist/components/ic-toggle-button-group.js +2 -2
  258. package/dist/components/ic-toggle-button-group.js.map +1 -1
  259. package/dist/components/ic-toggle-button.js +2 -2
  260. package/dist/components/ic-toggle-button.js.map +1 -1
  261. package/dist/components/ic-tree-item.js +3 -3
  262. package/dist/components/ic-tree-view.js +4 -4
  263. package/dist/core/core.css +21 -9
  264. package/dist/core/core.esm.js +1 -1
  265. package/dist/core/core.esm.js.map +1 -1
  266. package/dist/core/{p-9fade6ad.entry.js → p-0043b019.entry.js} +2 -2
  267. package/dist/core/{p-9fade6ad.entry.js.map → p-0043b019.entry.js.map} +1 -1
  268. package/dist/core/{p-889bb8db.entry.js → p-04cb17d7.entry.js} +2 -2
  269. package/dist/core/{p-889bb8db.entry.js.map → p-04cb17d7.entry.js.map} +1 -1
  270. package/dist/core/{p-5ef453b6.entry.js → p-15c05eb8.entry.js} +2 -2
  271. package/dist/core/{p-5ef453b6.entry.js.map → p-15c05eb8.entry.js.map} +1 -1
  272. package/dist/core/{p-1be092cc.entry.js → p-2188b483.entry.js} +2 -2
  273. package/dist/core/{p-1be092cc.entry.js.map → p-2188b483.entry.js.map} +1 -1
  274. package/dist/core/{p-8c94541e.entry.js → p-24bac55f.entry.js} +2 -2
  275. package/dist/core/{p-8c94541e.entry.js.map → p-24bac55f.entry.js.map} +1 -1
  276. package/dist/core/p-25280383.entry.js +2 -0
  277. package/dist/core/p-25280383.entry.js.map +1 -0
  278. package/dist/core/{p-7f304d85.entry.js → p-2646a629.entry.js} +2 -2
  279. package/dist/core/{p-7f304d85.entry.js.map → p-2646a629.entry.js.map} +1 -1
  280. package/dist/core/p-285892ef.entry.js +2 -0
  281. package/dist/core/p-285892ef.entry.js.map +1 -0
  282. package/dist/core/p-2bd2f38b.entry.js +2 -0
  283. package/dist/core/p-2bd2f38b.entry.js.map +1 -0
  284. package/dist/core/p-2c86ce4b.entry.js +2 -0
  285. package/dist/core/p-2c86ce4b.entry.js.map +1 -0
  286. package/dist/core/{p-5cf704e3.entry.js → p-319e3d5b.entry.js} +2 -2
  287. package/dist/core/{p-5cf704e3.entry.js.map → p-319e3d5b.entry.js.map} +1 -1
  288. package/dist/core/{p-9e200827.entry.js → p-31f3fb15.entry.js} +2 -2
  289. package/dist/core/{p-9e200827.entry.js.map → p-31f3fb15.entry.js.map} +1 -1
  290. package/dist/core/{p-fd64c0e5.entry.js → p-3891ce53.entry.js} +2 -2
  291. package/dist/core/{p-fd64c0e5.entry.js.map → p-3891ce53.entry.js.map} +1 -1
  292. package/dist/core/{p-df220b91.entry.js → p-3ef2e98d.entry.js} +2 -2
  293. package/dist/core/p-4992e9ac.entry.js +2 -0
  294. package/dist/core/p-4992e9ac.entry.js.map +1 -0
  295. package/dist/core/{p-93e1ba0a.entry.js → p-5254a078.entry.js} +2 -2
  296. package/dist/core/{p-93e1ba0a.entry.js.map → p-5254a078.entry.js.map} +1 -1
  297. package/dist/core/{p-9c2e9189.entry.js → p-53740194.entry.js} +2 -2
  298. package/dist/core/{p-9c2e9189.entry.js.map → p-53740194.entry.js.map} +1 -1
  299. package/dist/core/{p-e380a54e.entry.js → p-5a4344cb.entry.js} +2 -2
  300. package/dist/core/{p-e380a54e.entry.js.map → p-5a4344cb.entry.js.map} +1 -1
  301. package/dist/core/p-5b32aaf3.entry.js +2 -0
  302. package/dist/core/p-5b32aaf3.entry.js.map +1 -0
  303. package/dist/core/{p-d8200098.entry.js → p-67c3985d.entry.js} +2 -2
  304. package/dist/core/{p-d8200098.entry.js.map → p-67c3985d.entry.js.map} +1 -1
  305. package/dist/core/p-6cfba272.entry.js +2 -0
  306. package/dist/core/p-6cfba272.entry.js.map +1 -0
  307. package/dist/core/{p-bc441e4c.js → p-75c3b882.js} +2 -2
  308. package/dist/core/{p-bc441e4c.js.map → p-75c3b882.js.map} +1 -1
  309. package/dist/core/p-775b8dba.entry.js +2 -0
  310. package/dist/core/p-775b8dba.entry.js.map +1 -0
  311. package/dist/core/{p-b88db5e3.entry.js → p-7a0f62c2.entry.js} +2 -2
  312. package/dist/core/{p-b88db5e3.entry.js.map → p-7a0f62c2.entry.js.map} +1 -1
  313. package/dist/core/p-80111272.entry.js +2 -0
  314. package/dist/core/p-80111272.entry.js.map +1 -0
  315. package/dist/core/p-81f12581.entry.js +2 -0
  316. package/dist/core/p-81f12581.entry.js.map +1 -0
  317. package/dist/core/{p-193afb53.entry.js → p-847cbb16.entry.js} +2 -2
  318. package/dist/core/{p-193afb53.entry.js.map → p-847cbb16.entry.js.map} +1 -1
  319. package/dist/core/{p-f3ccaa0b.entry.js → p-8e592393.entry.js} +2 -2
  320. package/dist/core/{p-f3ccaa0b.entry.js.map → p-8e592393.entry.js.map} +1 -1
  321. package/dist/core/p-9044539c.entry.js +2 -0
  322. package/dist/core/p-9044539c.entry.js.map +1 -0
  323. package/dist/core/{p-f4e7cae6.entry.js → p-90611726.entry.js} +2 -2
  324. package/dist/core/{p-f4e7cae6.entry.js.map → p-90611726.entry.js.map} +1 -1
  325. package/dist/core/p-96177a74.entry.js +2 -0
  326. package/dist/core/p-96177a74.entry.js.map +1 -0
  327. package/dist/core/{p-b00efb15.entry.js → p-9674b63f.entry.js} +2 -2
  328. package/dist/core/{p-b00efb15.entry.js.map → p-9674b63f.entry.js.map} +1 -1
  329. package/dist/core/{p-a27e1cee.entry.js → p-9a95f428.entry.js} +2 -2
  330. package/dist/core/p-9a95f428.entry.js.map +1 -0
  331. package/dist/core/{p-fb43abd6.entry.js → p-9ca147f3.entry.js} +2 -2
  332. package/dist/core/{p-fb43abd6.entry.js.map → p-9ca147f3.entry.js.map} +1 -1
  333. package/dist/core/{p-09c31ac6.entry.js → p-adde6c66.entry.js} +2 -2
  334. package/dist/core/{p-09c31ac6.entry.js.map → p-adde6c66.entry.js.map} +1 -1
  335. package/dist/core/{p-72b7051a.entry.js → p-af821831.entry.js} +2 -2
  336. package/dist/core/{p-72b7051a.entry.js.map → p-af821831.entry.js.map} +1 -1
  337. package/dist/core/{p-12e8dcdd.entry.js → p-afedcfdb.entry.js} +2 -2
  338. package/dist/core/{p-12e8dcdd.entry.js.map → p-afedcfdb.entry.js.map} +1 -1
  339. package/dist/core/{p-f098e531.entry.js → p-b4a2f6fa.entry.js} +2 -2
  340. package/dist/core/{p-f098e531.entry.js.map → p-b4a2f6fa.entry.js.map} +1 -1
  341. package/dist/core/p-b4bfaf8f.entry.js +2 -0
  342. package/dist/core/p-b4bfaf8f.entry.js.map +1 -0
  343. package/dist/core/{p-ea1de762.entry.js → p-b80b08ae.entry.js} +2 -2
  344. package/dist/core/p-b80b08ae.entry.js.map +1 -0
  345. package/dist/core/{p-63203e59.entry.js → p-ba75ed34.entry.js} +2 -2
  346. package/dist/core/{p-63203e59.entry.js.map → p-ba75ed34.entry.js.map} +1 -1
  347. package/dist/core/{p-15a81f32.entry.js → p-bd9a76d8.entry.js} +2 -2
  348. package/dist/core/{p-15a81f32.entry.js.map → p-bd9a76d8.entry.js.map} +1 -1
  349. package/dist/core/{p-10950727.entry.js → p-c3eddb99.entry.js} +2 -2
  350. package/dist/core/{p-10950727.entry.js.map → p-c3eddb99.entry.js.map} +1 -1
  351. package/dist/core/{p-eb958cc8.entry.js → p-c6c87e58.entry.js} +2 -2
  352. package/dist/core/{p-eb958cc8.entry.js.map → p-c6c87e58.entry.js.map} +1 -1
  353. package/dist/core/{p-c8ce7d60.entry.js → p-e00e67ff.entry.js} +2 -2
  354. package/dist/core/{p-c8ce7d60.entry.js.map → p-e00e67ff.entry.js.map} +1 -1
  355. package/dist/core/{p-069e758b.entry.js → p-e1920777.entry.js} +2 -2
  356. package/dist/core/p-e4551a38.entry.js +2 -0
  357. package/dist/core/p-e4551a38.entry.js.map +1 -0
  358. package/dist/core/{p-92936b49.entry.js → p-ef5b6622.entry.js} +2 -2
  359. package/dist/core/{p-0f22f41e.js → p-f48ce5f6.js} +2 -2
  360. package/dist/core/p-f48ce5f6.js.map +1 -0
  361. package/dist/core/{p-1ca62941.entry.js → p-f5cea10d.entry.js} +2 -2
  362. package/dist/core/{p-ffbf493f.entry.js → p-fd20470e.entry.js} +2 -2
  363. package/dist/core/p-fd20470e.entry.js.map +1 -0
  364. package/dist/core/p-fd7f3b58.entry.js +2 -0
  365. package/dist/core/p-fd7f3b58.entry.js.map +1 -0
  366. package/dist/esm/core.js +1 -1
  367. package/dist/esm/date-helpers-5723de08.js +86 -0
  368. package/dist/esm/{date-helpers-2b531c8c.js.map → date-helpers-5723de08.js.map} +1 -1
  369. package/dist/esm/{helpers-89cb996d.js → helpers-9f228880.js} +21 -21
  370. package/dist/esm/helpers-9f228880.js.map +1 -0
  371. package/dist/esm/ic-button_3.entry.js +5 -5
  372. package/dist/esm/ic-button_3.entry.js.map +1 -1
  373. package/dist/esm/ic-calendar_2.entry.js +2349 -0
  374. package/dist/esm/ic-calendar_2.entry.js.map +1 -0
  375. package/dist/esm/ic-card-horizontal.entry.js +6 -6
  376. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  377. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  378. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  379. package/dist/esm/ic-checkbox_3.entry.js +48 -17
  380. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  381. package/dist/esm/ic-data-list.entry.js +2 -2
  382. package/dist/esm/ic-data-list.entry.js.map +1 -1
  383. package/dist/esm/ic-data-row.entry.js +2 -2
  384. package/dist/esm/ic-data-row.entry.js.map +1 -1
  385. package/dist/esm/ic-data-table-title-bar.entry.js +4 -4
  386. package/dist/esm/ic-data-table.entry.js +10 -8
  387. package/dist/esm/ic-data-table.entry.js.map +1 -1
  388. package/dist/esm/ic-date-picker.entry.js +100 -856
  389. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  390. package/dist/esm/ic-dialog.entry.js +1 -1
  391. package/dist/esm/ic-dialog.entry.js.map +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +2 -2
  393. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  394. package/dist/esm/ic-footer.entry.js +9 -5
  395. package/dist/esm/ic-footer.entry.js.map +1 -1
  396. package/dist/esm/ic-hero.entry.js +11 -6
  397. package/dist/esm/ic-hero.entry.js.map +1 -1
  398. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  399. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  400. package/dist/esm/ic-input-component-container_4.entry.js +12 -12
  401. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  402. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  403. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -1
  404. package/dist/esm/ic-layout-grid.entry.js +2 -2
  405. package/dist/esm/ic-layout-grid.entry.js.map +1 -1
  406. package/dist/esm/ic-link.entry.js +1 -1
  407. package/dist/esm/ic-link.entry.js.map +1 -1
  408. package/dist/esm/ic-menu-group.entry.js +1 -1
  409. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  410. package/dist/esm/ic-menu.entry.js +4 -4
  411. package/dist/esm/ic-menu.entry.js.map +1 -1
  412. package/dist/esm/ic-navigation-group.entry.js +2 -2
  413. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  414. package/dist/esm/ic-navigation-item.entry.js +1 -1
  415. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  416. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  417. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  418. package/dist/esm/ic-page-header.entry.js +6 -6
  419. package/dist/esm/ic-page-header.entry.js.map +1 -1
  420. package/dist/esm/ic-pagination_4.entry.js +18 -18
  421. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  422. package/dist/esm/ic-popover-menu.entry.js +4 -4
  423. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  424. package/dist/esm/ic-radio-group.entry.js +5 -5
  425. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  426. package/dist/esm/ic-radio-option.entry.js +9 -6
  427. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  428. package/dist/esm/ic-search-bar.entry.js +10 -10
  429. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  430. package/dist/esm/ic-section-container.entry.js +2 -2
  431. package/dist/esm/ic-section-container.entry.js.map +1 -1
  432. package/dist/esm/ic-side-navigation.entry.js +4 -4
  433. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  434. package/dist/esm/ic-skeleton.entry.js +2 -2
  435. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  436. package/dist/esm/ic-skip-link.entry.js +2 -2
  437. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  438. package/dist/esm/ic-status-tag.entry.js +2 -2
  439. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  440. package/dist/esm/ic-step.entry.js +13 -13
  441. package/dist/esm/ic-step.entry.js.map +1 -1
  442. package/dist/esm/ic-stepper.entry.js +2 -2
  443. package/dist/esm/ic-stepper.entry.js.map +1 -1
  444. package/dist/esm/ic-switch.entry.js +4 -4
  445. package/dist/esm/ic-switch.entry.js.map +1 -1
  446. package/dist/esm/ic-tab-context.entry.js +1 -1
  447. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  448. package/dist/esm/ic-tab-group.entry.js +2 -2
  449. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  450. package/dist/esm/ic-tab-panel.entry.js +2 -2
  451. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  452. package/dist/esm/ic-table-of-contents.entry.js +4 -4
  453. package/dist/esm/ic-theme.entry.js +1 -1
  454. package/dist/esm/ic-theme.entry.js.map +1 -1
  455. package/dist/esm/ic-time-input.entry.js +5 -5
  456. package/dist/esm/ic-time-input.entry.js.map +1 -1
  457. package/dist/esm/ic-toast-region.entry.js +1 -1
  458. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  459. package/dist/esm/ic-toast.entry.js +14 -6
  460. package/dist/esm/ic-toast.entry.js.map +1 -1
  461. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  462. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  463. package/dist/esm/ic-toggle-button.entry.js +2 -2
  464. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  465. package/dist/esm/ic-tree-item.entry.js +3 -3
  466. package/dist/esm/ic-tree-view.entry.js +4 -4
  467. package/dist/esm/index-a7a720e7.js +4 -4
  468. package/dist/esm/loader.js +1 -1
  469. package/dist/types/components/ic-calendar/ic-calendar.d.ts +216 -0
  470. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +151 -0
  471. package/dist/types/components/ic-calendar/test/a11y/ic-calendar.test.a11y.d.ts +1 -0
  472. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +1 -2
  473. package/dist/types/components/ic-date-input/ic-date-input.d.ts +2 -2
  474. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +22 -105
  475. package/dist/types/components/ic-date-picker/ic-date-picker.stories.d.ts +81 -0
  476. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +9 -1
  477. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
  478. package/dist/types/components/ic-time-input/ic-time-input.d.ts +2 -2
  479. package/dist/types/components.d.ts +229 -14
  480. package/dist/types/utils/date-helpers.d.ts +1 -0
  481. package/dist/types/utils/types.d.ts +3 -0
  482. package/hydrate/index.js +6455 -5980
  483. package/hydrate/index.mjs +6455 -5980
  484. package/package.json +5 -5
  485. package/dist/cjs/helpers-da852478.js.map +0 -1
  486. package/dist/cjs/ic-date-input.cjs.entry.js +0 -1214
  487. package/dist/cjs/ic-date-input.cjs.entry.js.map +0 -1
  488. package/dist/collection/components/ic-date-picker/ic-day-button.js.map +0 -1
  489. package/dist/collection/components/ic-date-picker/ic-month-picker.js +0 -29
  490. package/dist/collection/components/ic-date-picker/ic-month-picker.js.map +0 -1
  491. package/dist/collection/components/ic-date-picker/ic-year-picker.js +0 -39
  492. package/dist/collection/components/ic-date-picker/ic-year-picker.js.map +0 -1
  493. package/dist/core/p-035dbee0.entry.js +0 -2
  494. package/dist/core/p-035dbee0.entry.js.map +0 -1
  495. package/dist/core/p-03ae0bc3.entry.js +0 -2
  496. package/dist/core/p-03ae0bc3.entry.js.map +0 -1
  497. package/dist/core/p-0f22f41e.js.map +0 -1
  498. package/dist/core/p-13c8859b.entry.js +0 -2
  499. package/dist/core/p-13c8859b.entry.js.map +0 -1
  500. package/dist/core/p-2528ecec.entry.js +0 -2
  501. package/dist/core/p-2528ecec.entry.js.map +0 -1
  502. package/dist/core/p-402870f7.entry.js +0 -2
  503. package/dist/core/p-402870f7.entry.js.map +0 -1
  504. package/dist/core/p-7bf9bbde.entry.js +0 -2
  505. package/dist/core/p-7bf9bbde.entry.js.map +0 -1
  506. package/dist/core/p-982a173d.entry.js +0 -2
  507. package/dist/core/p-982a173d.entry.js.map +0 -1
  508. package/dist/core/p-9ce9d39a.entry.js +0 -2
  509. package/dist/core/p-9ce9d39a.entry.js.map +0 -1
  510. package/dist/core/p-a27e1cee.entry.js.map +0 -1
  511. package/dist/core/p-a8cc28a6.entry.js +0 -2
  512. package/dist/core/p-a8cc28a6.entry.js.map +0 -1
  513. package/dist/core/p-a99ad459.entry.js +0 -2
  514. package/dist/core/p-a99ad459.entry.js.map +0 -1
  515. package/dist/core/p-bd8c2e24.entry.js +0 -2
  516. package/dist/core/p-bd8c2e24.entry.js.map +0 -1
  517. package/dist/core/p-c0d4db72.entry.js +0 -2
  518. package/dist/core/p-c0d4db72.entry.js.map +0 -1
  519. package/dist/core/p-d144ca59.entry.js +0 -2
  520. package/dist/core/p-d144ca59.entry.js.map +0 -1
  521. package/dist/core/p-ea1de762.entry.js.map +0 -1
  522. package/dist/core/p-f16c4210.entry.js +0 -2
  523. package/dist/core/p-f16c4210.entry.js.map +0 -1
  524. package/dist/core/p-fad44bc8.entry.js +0 -2
  525. package/dist/core/p-fad44bc8.entry.js.map +0 -1
  526. package/dist/core/p-ffbf493f.entry.js.map +0 -1
  527. package/dist/esm/helpers-89cb996d.js.map +0 -1
  528. package/dist/esm/ic-date-input.entry.js +0 -1210
  529. package/dist/esm/ic-date-input.entry.js.map +0 -1
  530. /package/dist/collection/components/{ic-date-picker → ic-calendar}/ic-day-button.js +0 -0
  531. /package/dist/core/{p-df220b91.entry.js.map → p-3ef2e98d.entry.js.map} +0 -0
  532. /package/dist/core/{p-069e758b.entry.js.map → p-e1920777.entry.js.map} +0 -0
  533. /package/dist/core/{p-92936b49.entry.js.map → p-ef5b6622.entry.js.map} +0 -0
  534. /package/dist/core/{p-1ca62941.entry.js.map → p-f5cea10d.entry.js.map} +0 -0
  535. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-day-button.d.ts +0 -0
  536. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-month-picker.d.ts +0 -0
  537. /package/dist/types/components/{ic-date-picker → ic-calendar}/ic-year-picker.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["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","IcDatePickerStyle0","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","constructor","hostRef","this","clearButtonEl","daysOfWeek","dayButtonFocussed","dayPickerKeyboardNav","dialogDescription","focusDay","liveRegionEl","monthInViewUpdateHandled","myCalendarButtonClicked","showPickerAbove","todayButtonEl","yearButtonFocussed","calendarOpen","currMonthView","currYearPickerView","focussedDate","monthPickerVisible","orderedDaysOfWeek","selectedDate","yearPickerVisible","dateFormat","emitDatePartChange","disableDays","disableDaysMessage","disableFuture","disableFutureMessage","disablePast","disablePastMessage","hideHelperText","hideLabel","invalidDateMessage","max","min","openAtDate","required","showClearButton","showPickerClearButton","showPickerTodayButton","startOfWeek","IcWeekDays","Monday","theme","validationAriaLive","validationStatus","validationText","value","setDecadeView","start","currYear","decadeArr","push","decadeStart","decadeEnd","setSelectedDate","emit","dateMatches","_a","inputEl","triggerIcChange","handleCalendarMouseDown","event","tagName","handleCalendarClick","clearDialogDescription","stopImmediatePropagation","handleDocumentClick","keyDownHandler","key","closeButtonClickHandler","setCalendarFocus","focusFirstElement","monthButtonEl","setFocus","focusLastElement","focussedMonthEl","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","yearMatch","nextMonthButton","previousYearButton","nextYearButton","isYearAllowed","getMonthView","date","getWeekStart","end","addSixWeeks","days","setDate","isCurrentMonth","updateMonthInView","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","includes","numDays","numMonths","newMonth","setMonth","newDate","clampDate","numYears","newYear","setFullYear","adjust","focusYear","setFocussedYear","setFocussedDayEl","element","setFocussedMonthEl","setFocussedYearEl","prevYear","newDecade","Math","floor","oldDecade","setDateInputProps","inputProps","label","showCalendarButton","helperText","inputId","name","watchDisabledHandler","removeDisabledFalse","watchDisableFutureHandler","watchMaxHandler","watchDisablePastHandler","watchMinHandler","createDate","watchStartOfWeekHandler","concat","watchOpenHandler","pickerHeight","offsetTop","offsetHeight","window","innerHeight","openAt","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) => {\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 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 | null;\n maxDate: Date | null;\n size?: IcSizes;\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 focussedYear: number;\n yearInView: number;\n onSelectYear: (year: number) => void;\n onKeyDown: (ev: KeyboardEvent) => void;\n onFocusYear: () => void;\n onBlurYear: () => void;\n minDate: Date | null;\n maxDate: Date | null;\n focussedYearRef: (element: HTMLIcButtonElement) => void;\n size?: IcSizes;\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 \"../../global/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 --ic-input-label-helpertext-padding: var(--ic-space-xxs);\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-color: var(--ic-date-picker-calendar-border);\n border-radius: var(--ic-border-radius);\n align-items: center;\n background-color: var(--ic-date-picker-calendar-bg);\n z-index: var(--ic-z-index-date-picker);\n box-sizing: border-box;\n box-shadow: var(--ic-date-picker-calendar-elevation);\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 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 .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 min-height: 16rem;\n align-content: flex-start;\n}\n\n:host(.ic-date-picker-small) .calendar-days-container {\n padding: var(--ic-space-xxxs) 0;\n min-height: 14.5rem;\n}\n\n:host(.ic-date-picker-large) .calendar-days-container {\n padding: var(--ic-space-xs) 0;\n min-height: 17.5rem;\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-date-picker-calendar-label);\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-date-picker-calendar-bg);\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-date-picker-date-label-default);\n}\n\n:host .day-button.outside-range ic-typography {\n --ic-typography-color: var(--ic-date-picker-date-label-disabled);\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-date-picker-date-label-default);\n}\n\n:host .day-button:hover:not(.disabled) {\n background-color: var(--ic-date-picker-date-default-bg-hover);\n}\n\n:host .day-button:active:not(.disabled) {\n background-color: var(--ic-date-picker-date-default-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-date-picker-date-active-bg-default);\n}\n\n:host .day-button.selected ic-typography {\n --ic-typography-color: var(--ic-date-picker-date-label-selected);\n}\n\n:host .day-button.selected:not(.hidden):hover {\n background-color: var(--ic-date-picker-date-active-bg-hover);\n}\n\n:host .day-button.selected:not(.hidden):active {\n background-color: var(--ic-date-picker-date-active-bg-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-date-picker-default-underline);\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-date-picker-selected-underline);\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 getWeekStart,\n yearInRange,\n addSixWeeks,\n} from \"../../utils/date-helpers\";\nimport {\n stringEnumToArray,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcWeekDays,\n IcShortDayNames,\n IcDateInputMonths,\n IcDateFormat,\n IcSizes,\n IcInformationStatusOrEmpty,\n IcThemeMode,\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 emitDatePartChange?: boolean;\n helperText?: string;\n hideHelperText?: boolean;\n hideLabel?: 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 | null;\n validationAriaLive?: IcAriaLive;\n validationStatus?: IcInformationStatusOrEmpty;\n validationText?: string;\n}\n\n/**\n * @slot helper-text - Content is set as the helper text for the date picker.\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 = 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 = undefined;\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 = 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 = 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 = null;\n @State() minDate: Date | null = null;\n @State() monthInView: number;\n @State() monthPickerVisible: boolean = false;\n @State() orderedDaysOfWeek: string[] = [];\n @State() selectedDate: Date | null = 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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, every individual input field completed will emit an icChange event.\n */\n @Prop() emitDatePartChange?: 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 * If `true`, the label will be visually hidden, but the required label will still be read out by screen readers.\n */\n @Prop() hideLabel?: 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 @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 @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 'X' button on the date input will be visible, which clears the field.\n */\n @Prop() showClearButton?: 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 * Sets the date picker to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'. This will override the built-in date validation.\n */\n @Prop() 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 removeDisabledFalse(this.disabled, this.el);\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(\n ev: CustomEvent<{ value: Date | null }>\n ): 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 | null, 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 (\n this.showPickerClearButton &&\n this.clearButtonEl &&\n !this.clearButtonEl.disabled\n ) {\n this.clearButtonEl.setFocus();\n } else if (\n this.showPickerTodayButton &&\n this.todayButtonEl &&\n !this.todayButtonEl.disabled\n ) {\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-tertiary\"\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 yearInRange(yr, this.minDate, this.maxDate);\n\n private getMonthView = (date: Date): Date[] => {\n const start = getWeekStart(getMonthStart(date), this.startOfWeek);\n const end = addSixWeeks(start);\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 if (this.focussedDate) {\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\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 if (this.focussedDate)\n this.moveDays(-1 * this.getNextDayToFocus(this.focussedDate, false));\n break;\n\n case \"ArrowRight\":\n this.dayPickerKeyboardNav = true;\n if (this.focussedDate)\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 return this.disableDays?.includes(Number(nextDay.getDay()))\n ? this.getNextDayToFocus(nextDay, forward, level + 1)\n : level;\n };\n\n private moveDays = (numDays: number): void => {\n if (this.focussedDate) {\n const d = new Date(this.focussedDate);\n d.setDate(d.getDate() + numDays);\n this.setFocussedDate(d);\n }\n };\n\n private moveMonths = (numMonths: number): void => {\n if (this.focussedDate) {\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\n private moveYears = (numYears: number): void => {\n if (this.focussedDate) {\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(\n new Date(this.focussedDate).setFullYear(newYear)\n );\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\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 hideLabel: this.hideLabel,\n invalidDateMessage: this.invalidDateMessage,\n label: this.label,\n showClearButton: true,\n showCalendarButton: true,\n value: this.value,\n emitDatePartChange: this.emitDatePartChange,\n validationAriaLive: this.validationAriaLive,\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 && 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 !== \"\" && this.maxDate) {\n inputProps.max = this.maxDate;\n }\n if (this.min !== null && this.min !== \"\" && this.minDate) {\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.showClearButton !== null) {\n inputProps.showClearButton = this.showClearButton;\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 theme,\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 (minDate && 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={{\n [`ic-date-picker-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"date-input-container\">\n <ic-date-input ref={(el) => (this.inputEl = el)} {...dateInputProps}>\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\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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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,f as a,H as o,g as n}from"./p-8e4e97b4.js";import{x as s,D as r,g as l,f as d,w as c}from"./p-e4ef4263.js";import{C as v}from"./p-170ddfc2.js";import{O as h}from"./p-ea1ea1b9.js";const g='/*! 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;--navigation-link-colour:var(--ic-brand-text-color)}:host(:focus-within){z-index:var(--ic-z-index-navigation-item)}svg{width:var(--ic-space-xl);fill:var(--ic-brand-text-color)}.svg{margin-left:auto}.chevron-container svg,.chevron-container .svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chevron-container{flex-grow:1}:host(.expandable.navigation-item) .link,:host(.expandable.navigation-item) ::slotted(a){padding-right:0}:host(.navigation-item) .link,:host(.navigation-item) ::slotted(a){height:calc(100% - var(--ic-space-xxs));width:-moz-fit-content;width:fit-content;color:var(--navigation-link-colour);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md) var(--ic-space-xxs);text-decoration:none;transition:var(--ic-easing-transition-fast);position:relative;white-space:nowrap;--ic-typography-color:var(--navigation-link-colour)}:host(.navigation-item) ::slotted(a){height:100%;font:var(--ic-font-label) !important;letter-spacing:var(--ic-font-letter-spacing-0pt025) !important;padding:0 var(--ic-space-md) !important}:host(.navigation-item-selected) .link::after,:host(.navigation-item-selected) ::slotted(a.active)::after,:host(.navigation-item-top-nav) ::slotted(a.active)::after{content:"";height:0.25rem;width:100%;position:absolute;bottom:0;background-color:var(--ic-top-navigation-theme)}:host(.navigation-item-selected.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-selected.navigation-item-page-header) .link::after,:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,:host(.navigation-item-top-nav-child) ::slotted(a.active)::after{content:none}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){box-shadow:none}:host(.navigation-item) .link:hover:not(:focus){background-color:var(--ic-brand-hover);cursor:pointer}:host(.navigation-item:not(.navigation-item-page-header,.navigation-item-side-menu,.navigation-item-top-nav-child)) ::slotted(a:hover:not(:focus)),:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus){background-color:var(--ic-brand-hover) !important}:host(.navigation-item:not(.navigation-item-top-nav-child,.navigation-item-side-menu,.navigation-item-top-nav-child-selected .navigation-item-side-menu-selected)) .focus-indicator:focus-within{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius)}:host(.navigation-item) .link:focus,:host(.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);outline-offset:calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2))}:host(.navigation-item-selected) .link:focus,:host(.navigation-item) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);outline-offset:calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2))}:host(.navigation-item) .link:active:not(:focus),:host(.navigation-item) ::slotted(a:active:not(:focus)){background-color:var(--ic-brand-active)}:host(.navigation-item-side-menu) .link,:host(.navigation-item-side-menu) ::slotted(a){min-height:2.5rem;height:auto;width:100%;box-sizing:border-box;color:var(--ic-top-navigation-nav-item);--ic-typography-color:var(--ic-top-navigation-nav-item);display:flex;align-items:center;justify-content:flex-start;text-decoration:none;text-wrap:wrap;white-space:normal;transition:box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast)}:host(.navigation-item-top-nav-child) ::slotted(svg),:host(.navigation-item-side-menu) ::slotted(svg),:host(.navigation-item-page-header) ::slotted(svg){fill:var(--ic-color-text-primary)}:host(.navigation-item-top-nav-child) .link,:host(.navigation-item-top-nav-child) ::slotted(a){color:var(--ic-color-text-primary);--ic-typography-color:var(--ic-color-text-primary)}:host(.navigation-item-side-menu) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast)}:host(.navigation-item-side-menu) .link:hover:not(:focus){background-color:var(--ic-top-navigation-nav-item-hover)}:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)){background-color:var(--ic-top-navigation-nav-item-hover) !important}:host(.navigation-item-side-menu) .focus-indicator:focus-within{box-shadow:none}:host(.navigation-item-side-menu) .link:focus,:host(.navigation-item-side-menu) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset) !important;width:auto;border-radius:var(--ic-border-radius-inset) !important}:host(.navigation-item-side-menu-selected) .link,:host(.navigation-item-side-menu-selected) ::slotted(a){transition:box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow)}:host(.navigation-item-side-menu-selected) .link:focus,:host(.navigation-item-side-menu) ::slotted(a.active:focus),:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){margin-left:var(--ic-space-xs) !important;padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child) .link,:host(.navigation-item-top-nav-child) ::slotted(a){height:2.5rem;width:calc(100% - var(--ic-space-xl));min-width:9.063rem;color:var(--ic-top-navigation-nav-item);display:flex;align-items:center;justify-content:flex-start;padding:0 var(--ic-space-md) !important;text-decoration:none;position:relative;transition:box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow)}:host(.navigation-item-top-nav-child) ::slotted(a){font:var(--ic-font-body) !important;letter-spacing:var(--ic-font-letter-spacing-0pt005) !important}:host(.navigation-item-top-nav-child) .link:hover:not(:focus),:host(.navigation-item-top-nav-child) ::slotted(a:hover:not(:focus)){background-color:var(--ic-top-navigation-nav-item-hover) !important}:host(.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-top-nav-child) ::slotted(a:focus){z-index:1;outline:var(--ic-hc-focus-outline);border-radius:var(--ic-border-radius-inset);box-shadow:var(--ic-border-focus-inset);transition:border-radius 0s, box-shadow var(--ic-transition-duration-fast)}:host(.navigation-item-top-nav-child) ::slotted(a.active:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}:host(.navigation-item-side-menu) .link:active:not(:focus){background-color:var(--ic-top-navigation-nav-item-pressed)}:host(.navigation-item-top-nav-child) .link:active:not(:focus),:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)){outline:var(--ic-hc-focus-outline);background-color:var(--ic-top-navigation-nav-item-pressed)}:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)),:host(.navigation-item-side-menu) ::slotted(a:active:not(:focus)){background-color:var(--ic-top-navigation-nav-item-pressed) !important}:host(.navigation-item-side-menu-selected) *,:host(.navigation-item-top-nav-child-selected) *,:host(.navigation-item-side-menu) ::slotted(a.active),:host(.navigation-item-top-nav-child) ::slotted(a.active){font-weight:700 !important}:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,:host(.navigation-item-top-nav-child-selected) .link::before,:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{content:"";position:absolute;left:0;width:var(--ic-space-xs);height:inherit;min-height:2.5rem;background-color:var(--ic-top-navigation-nav-item-banner);transition:left 0s}:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu-selected) .link:focus::before{margin-top:var(--ic-space-xxs)}:host(.navigation-item-top-nav-child-selected) .link:focus{margin-left:var(--ic-space-xs);margin-right:calc(-1 * var(--ic-space-xs));padding-left:var(--ic-space-xs) !important}:host(.navigation-item-top-nav-child-selected) .link:focus::before{left:calc(-1 * var(--ic-space-xs));z-index:1}:host(.navigation-item-side-menu-selected) .link::before,:host(.navigation-item-side-menu) ::slotted(a.active)::before,:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before{z-index:1}:host(.navigation-item-side-menu-selected) .link:focus::before,:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before{left:calc(-1 * var(--ic-space-xs))}:host(.navigation-item-side-menu-selected) .link::after{display:none}:host(.navigation-item-side-nav-collapsed) .link{height:100%}:host(.navigation-item-side-nav-collapsed) ::slotted(svg),:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg){margin:auto;pointer-events:none}:host(.navigation-item-side-nav-collapsed) .icon,:host(.navigation-item-side-nav-collapsed-with-label) .icon,:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{align-items:center;padding:0;margin:auto 0;width:-moz-fit-content;width:fit-content;pointer-events:none}:host(.navigation-item-side-nav-collapsed-with-label) ic-typography{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center}:host(.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:flex;flex-direction:column;height:-moz-fit-content;height:fit-content;padding:var(--ic-space-xs) !important;gap:var(--ic-space-xxs)}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){height:auto !important;gap:0;width:auto;padding:var(--ic-space-xs) !important}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block;text-align:center}:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link ic-typography{opacity:1;min-width:-moz-min-content;min-width:min-content}:host(.navigation-item-side-nav-collapsed) svg,:host(.navigation-item-side-nav-collapsed-with-label) svg{display:none}::slotted(svg){fill:var(--ic-brand-text-color);height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-md)}.icon{height:1.5rem;width:var(--ic-space-xxl);margin-left:calc(-1 * var(--ic-space-md));flex:0 1 0%;position:relative}.icon>::slotted(*){margin-left:var(--ic-space-md) !important;margin-right:var(--ic-space-xs)}.inline-badge{margin-left:var(--ic-space-xs)}.badge{margin-left:0}:host(.navigation-item-side-nav-collapsed) .icon>::slotted(*){margin:auto !important}:host(.navigation-item-side-nav) .icon>::slotted(*){margin-right:0}:host(.navigation-item-side-nav) .link,:host(.navigation-item-side-nav) ::slotted(a){height:var(--navigation-item-height, 4rem);min-height:var(--navigation-item-min-height);width:var(--navigation-item-width, auto);justify-content:var(--navigation-item-justify-content);display:flex;gap:var(--ic-space-xs);box-sizing:border-box;color:var(--navigation-item-child-color) !important;text-decoration:none !important;white-space:nowrap;padding:0 var(--ic-space-md);text-wrap:wrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a){height:var(--navigation-item-child-height);width:var(--navigation-group-width);color:var(--navigation-item-child-color) !important;display:flex;gap:0.625rem;box-sizing:border-box;min-width:0;transition:box-shadow var(--ic-easing-transition-fast);text-decoration:none !important;white-space:nowrap}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:focus){box-shadow:var(--ic-border-focus-dark)}:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active{background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a:active){background-color:var(--navigation-item-child-active)}:host(.navigation-item-side-nav) a.link ic-typography,:host(.navigation-item-side-nav.navigation-item-top-nav-child) a.link ic-typography,:host(.navigation-item-side-nav) div.link ic-typography,:host(.navigation-item-side-nav.navigation-item-top-nav-child) div.link ic-typography,.navigation-item-side-nav-slotted-text{opacity:var(--navigation-item-label-opacity);transition:opacity var(--ic-easing-transition-slow);white-space:wrap;text-overflow:ellipsis;overflow:hidden}:host(.navigation-item-side-nav.navigation-item-selected) .link,:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active){box-shadow:inset 0.313rem 0 0 var(--ic-brand-text-color)}:host(.navigation-item-side-nav.navigation-item-selected) .link::before,:host(.navigation-item-side-nav) ::slotted(a.active)::before{content:"";display:block;position:absolute;inset:0 0 0 0.313rem;border-radius:0.688rem !important;transition:var(--ic-easing-transition-slow)}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before{box-shadow:var(--ic-border-focus-inset)}:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label) .link{opacity:var(--navigation-item-label-opacity);height:auto}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) .link,:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){min-width:var(--navigation-group-item-min-width);padding:var(--ic-space-xs) !important;height:auto;gap:0}:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label) ::slotted(a){display:block}:host(.navigation-item-side-nav.navigation-item-selected) .link::after,:host(.navigation-item-side-nav) ::slotted(a.active)::after{display:none}:host(.navigation-item-side-nav.navigation-item) .link:focus,:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,:host(.navigation-item-side-nav) ::slotted(a.active:focus){margin:0 auto;box-shadow:inset 0.313rem 0 0 var(--ic-brand-text-color);border-radius:0}:host(.navigation-item-page-header).link,:host(.navigation-item-page-header) a,:host(.navigation-item-page-header) ::slotted(a){height:2.5rem !important;color:var(--ic-color-text-primary) !important;transition:all var(--ic-easing-transition-fast) !important;box-shadow:rgba(23 89 188 / 0%) !important}:host(.navigation-item-page-header.navigation-item-selected) .link::after,:host(.navigation-item-page-header) ::slotted(a.active)::after{content:" " !important;position:absolute;bottom:0;left:0;right:0;height:var(--ic-space-xxs);background-color:var(--ic-action-default) !important}:host(.navigation-item-page-header) .link:hover,:host(.navigation-item-page-header) ::slotted(.link:hover),:host(.navigation-item-page-header) ::slotted(a:hover),:host(.navigation-item-page-header) .link:hover:not(:focus){background-color:var(--ic-action-default-bg-hover) !important;cursor:pointer}:host(.navigation-item-page-header) .link:focus,:host(.navigation-item-page-header) ::slotted(a:focus){box-shadow:var(--ic-border-focus)}:host(.navigation-item-page-header) .link:active,:host(.navigation-item-page-header) ::slotted(a:active){background-color:var(--ic-action-default-bg-pressed) !important}:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,:host(.navigation-item-page-header) ::slotted(a.active:focus)::after{border-bottom-left-radius:var(--ic-border-radius);border-bottom-right-radius:var(--ic-border-radius)}:host(.navigation-item-page-header.navigation-item-selected.with-transition) .link,:host(.navigation-item-page-header.navigation-item-selected.with-transition) ::slotted(a.active){transition:all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast)}:host(.navigation-item-page-header) ::slotted(a.active)::before,:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,:host(.navigation-item-page-header.navigation-item-selected) .link:focus::before{display:none}.open-in-new-icon{flex:1}.open-in-new-icon svg{margin-top:var(--ic-space-xxs);padding-left:var(--ic-space-xs)}:host(.navigation-item-side-nav) .open-in-new-icon{margin-left:calc(-1 * var(--ic-space-xs))}:host(.navigation-item-top-nav) .open-in-new-icon svg,:host(.navigation-item-page-header) .open-in-new-icon svg,:host(.navigation-item-side-nav) .open-in-new-icon svg{height:0.875rem;width:0.875rem}:host(.navigation-item-side-menu) .open-in-new-icon svg,:host(.navigation-item-top-nav-child) .open-in-new-icon svg{height:var(--ic-space-md);width:var(--ic-space-md)}:host(.navigation-item-page-header) .open-in-new-icon svg,:host(.navigation-item-top-nav-child) .open-in-new-icon svg,:host(.navigation-item-side-menu) .open-in-new-icon svg{fill:var(--ic-color-text-primary)}@media (forced-colors: active){.open-in-new-icon svg{fill:currentcolor}}';const m=g;const p=class{constructor(o){i(this,o);this.childBlur=t(this,"childBlur",7);this.navItemClicked=t(this,"navItemClicked",7);this.isInitialRender=true;this.hostMutationObserver=null;this.ANIMATION_DURATION=parseInt(s("--ic-transition-duration-slow"))||0;this.ARIA_LABEL_STRING="aria-label";this.isInSideNav=false;this.deviceSize=r.XL;this.focusStyle=l();this.inTopNavSideMenu=false;this.isSideNavMobile=false;this.isTopNavChild=false;this.sideNavExpanded=false;this.ariaLabel="";this.collapsedIconLabel=false;this.displayNavigationTooltip=false;this.download=false;this.expandable=false;this.href="";this.selected=false;this.theme="inherit";this.displayDefaultNavigationItem=(i,t,a,o,n,s,r)=>{const l=this.isTopNavChild||this.inTopNavSideMenu?"body":"label";const d=this.expandable&&e("div",{class:{svg:true},innerHTML:v});const c=this.el.querySelector('[slot="badge"]');const g=c&&e("div",{class:"inline-badge"},e("slot",{name:"badge"}));const m=this.el.querySelector('[slot="icon"]')&&e("div",{class:"icon"},e("slot",{name:"icon"}),this.isInSideNav&&g);return i!==""?e("a",{href:i,target:o,rel:n,hreflang:a,referrerPolicy:s,download:r!==false?r:null,class:"link",ref:i=>this.itemEl=i,part:"link","aria-label":this.ariaLabel?this.ariaLabel:null},m,e("ic-typography",{variant:l},t),o==="_blank"&&e("span",{class:"open-in-new-icon",innerHTML:h}),g,e("div",{class:"chevron-container"},d)):e("div",{tabindex:"0",class:"link",ref:i=>this.itemEl=i},m,e("ic-typography",{variant:l},t),d,g)};this.topNavResizedHandler=({detail:i})=>{var t;const{size:e}=i;if(e!==this.deviceSize){this.deviceSize=e;this.inTopNavSideMenu=e<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||r.L)}};this.sideNavExpandHandler=({detail:i})=>{const{sideNavExpanded:t,sideNavMobile:e}=i;this.sideNavExpanded=t;this.isSideNavMobile=e;this.sideNavToggleTooltip(!t&&!e)};this.handleBlur=({relatedTarget:i})=>{if(i===null||i.tagName!=="IC-NAVIGATION-ITEM"){this.childBlur.emit()}};this.handleClick=()=>this.navItemClicked.emit();this.hostMutationCallback=i=>{let t=false;i.forEach((({attributeName:i})=>{if(i){const e=this.el.getAttribute(i);if(e&&i===this.ARIA_LABEL_STRING){this.ariaLabel=e;t=true}}}));if(t){a(this)}};this.generateTooltipLabel=()=>{var i;if(this.label){return this.label}if(this.navigationSlot){return this.navigationSlot.textContent||""}return((i=this.el.children[0])===null||i===void 0?void 0:i.textContent)||""};this.renderNavigationItemContent=()=>{if(!this.label&&!this.navigationSlot)return e("slot",null);return this.label?this.displayDefaultNavigationItem(this.href,this.label,this.hreflang,this.target,this.rel,this.referrerpolicy,this.download):e("slot",{name:"navigation-item"})};this.sideNavToggleTooltip=i=>{var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("ic-tooltip");const a="tooltip-navigation-item-side-nav-collapsed";let o;if(!e)return;if(i){e.displayTooltip(false);o=setTimeout((()=>{e.classList.add(a)}),this.ANIMATION_DURATION)}else{clearTimeout(o);e.classList.remove(a)}}}navigationTypeChangeHandler(){this.isInSideNav=this.navigationType==="side"}disconnectedCallback(){var i,t,e;if(this.isInSideNav){(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icTopNavResized",this.topNavResizedHandler)}(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){var i,t,e,a,o,n;const{navType:s,parent:r}=c(this.el);this.navigationType=s;this.isInSideNav=this.navigationType==="side";this.parentEl=r;this.deviceSize=d();this.sideNavExpanded=((i=this.parentEl)===null||i===void 0?void 0:i.classList.contains("sm-expanded"))||((t=this.parentEl)===null||t===void 0?void 0:t.classList.contains("xs-menu-open"))||false;if(this.isInSideNav){(e=this.parentEl)===null||e===void 0?void 0:e.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(a=this.parentEl)===null||a===void 0?void 0:a.addEventListener("icTopNavResized",this.topNavResizedHandler);if(((o=this.el.parentElement)===null||o===void 0?void 0:o.tagName)==="IC-NAVIGATION-GROUP")this.isTopNavChild=true;if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}this.navigationSlot=this.el.querySelector('[slot="navigation-item"]');if(this.navigationSlot){this.navigationSlot.ariaLabel=((n=this.navigationSlot.textContent)===null||n===void 0?void 0:n.trim())||null}if(this.el.hasAttribute(this.ARIA_LABEL_STRING)){this.ariaLabel=this.el.getAttribute(this.ARIA_LABEL_STRING)||""}}componentDidLoad(){this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true})}componentDidUpdate(){this.isInitialRender=false}brandChangeHandler({detail:i}){this.focusStyle=i.mode}async setFocus(){var i;this.itemEl?this.itemEl.focus():(i=this.el.querySelector("a"))===null||i===void 0?void 0:i.focus()}render(){const{inTopNavSideMenu:i,isTopNavChild:t,selected:a,navigationType:n,focusStyle:s,isInitialRender:r,sideNavExpanded:l,displayNavigationTooltip:d,collapsedIconLabel:c,isSideNavMobile:v,expandable:h,isInSideNav:g,theme:m}=this;const p=t&&!i;return e(o,{key:"8c8d6840c525322be195b26b40b81de5b76a3bb9",class:{"navigation-item":true,"navigation-item-selected":!t&&a,"navigation-item-top-nav":!i&&n==="top","navigation-item-top-nav-child":p,"navigation-item-top-nav-child-selected":p&&a,"navigation-item-side-menu":i,"navigation-item-side-menu-selected":i&&a,"navigation-item-page-header":n==="page-header","navigation-item-side-nav":g,"navigation-item-side-nav-collapsed":(!l||d)&&g,"navigation-item-side-nav-collapsed-with-label":!l&&g&&c&&!v,"with-transition":!r,expandable:h,[s]:t?g:!i,[`ic-theme-${m}`]:m!=="inherit"},onBlur:p?this.handleBlur:null,onClick:this.handleClick,"aria-current":a?"page":null,role:"listitem"},e("ic-tooltip",{key:"20f1518fa353f8ab041ce7a71d8cbe0277ee9e6a",label:this.generateTooltipLabel(),target:"navigation-item",placement:"right",class:{"tooltip-navigation-item":true,"tooltip-navigation-item-side-nav-collapsed":d&&g,"tooltip-long-label-navigation-item-side-nav-expanded":this.el.hasAttribute("[display-navigation-tooltip = 'true']")}},this.renderNavigationItemContent()))}static get delegatesFocus(){return true}get el(){return n(this)}static get watchers(){return{navigationType:["navigationTypeChangeHandler"]}}};p.style=m;export{p as ic_navigation_item};
2
- //# sourceMappingURL=p-d144ca59.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationItemCss","IcNavigationItemStyle0","NavigationItem","constructor","hostRef","this","isInitialRender","hostMutationObserver","ANIMATION_DURATION","parseInt","getCssProperty","ARIA_LABEL_STRING","isInSideNav","deviceSize","DEVICE_SIZES","XL","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavMobile","isTopNavChild","sideNavExpanded","ariaLabel","collapsedIconLabel","displayNavigationTooltip","download","expandable","href","selected","theme","displayDefaultNavigationItem","label","hreflang","target","rel","referrerpolicy","variant","ChevronIconComponent","h","class","svg","innerHTML","chevronIcon","slottedBadgeEl","el","querySelector","BadgeComponent","name","IconComponent","referrerPolicy","ref","itemEl","part","OpenInNew","tabindex","topNavResizedHandler","detail","_a","size","parentEl","customMobileBreakpoint","L","sideNavExpandHandler","sideNavMobile","sideNavToggleTooltip","handleBlur","relatedTarget","tagName","childBlur","emit","handleClick","navItemClicked","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","attribute","getAttribute","forceUpdate","generateTooltipLabel","navigationSlot","textContent","children","renderNavigationItemContent","showTooltip","tooltip","shadowRoot","collapsedClass","timer","displayTooltip","setTimeout","classList","add","clearTimeout","remove","navigationTypeChangeHandler","navigationType","disconnectedCallback","_b","_c","removeEventListener","disconnect","componentWillLoad","_d","_e","_f","navType","parent","getNavItemParentDetails","getCurrentDeviceSize","contains","addEventListener","parentElement","trim","hasAttribute","componentDidLoad","MutationObserver","observe","attributes","componentDidUpdate","brandChangeHandler","mode","setFocus","focus","render","isTopNavChildDesktop","Host","key","onBlur","onClick","role","placement","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-item/ic-navigation-item.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-navigation-item: z-index of navigation item\n */\n\n:host {\n display: block;\n\n --navigation-link-colour: var(--ic-brand-text-color);\n}\n\n:host(:focus-within) {\n z-index: var(--ic-z-index-navigation-item);\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-brand-text-color);\n}\n\n.svg {\n margin-left: auto;\n}\n\n.chevron-container svg,\n.chevron-container .svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chevron-container {\n flex-grow: 1;\n}\n\n:host(.expandable.navigation-item) .link,\n:host(.expandable.navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: calc(100% - var(--ic-space-xxs));\n width: -moz-fit-content;\n width: fit-content;\n color: var(--navigation-link-colour);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md) var(--ic-space-xxs);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n white-space: nowrap;\n\n --ic-typography-color: var(--navigation-link-colour);\n}\n\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 0.25rem;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-top-navigation-theme);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu, .navigation-item-top-nav-child))\n ::slotted(a:hover:not(:focus)),\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n outline-offset: calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2));\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n outline-offset: calc(-1 * (var(--ic-space-xxxs) + var(--ic-space-1px) / 2));\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-brand-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n min-height: 2.5rem;\n height: auto;\n width: 100%;\n box-sizing: border-box;\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n text-wrap: wrap;\n white-space: normal;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(svg),\n:host(.navigation-item-side-menu) ::slotted(svg),\n:host(.navigation-item-page-header) ::slotted(svg) {\n fill: var(--ic-color-text-primary);\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n color: var(--ic-color-text-primary);\n\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 2.5rem;\n width: calc(100% - var(--ic-space-xl));\n min-width: 9.063rem;\n color: var(--ic-top-navigation-nav-item);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active:not(:focus)),\n:host(.navigation-item-side-menu) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-pressed) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: inherit;\n min-height: 2.5rem;\n background-color: var(--ic-top-navigation-nav-item-banner);\n transition: left 0s;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before {\n margin-top: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: -moz-fit-content;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: -moz-fit-content;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n width: auto;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n min-width: -moz-min-content;\n min-width: min-content;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-brand-text-color);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n height: 1.5rem;\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n position: relative;\n}\n\n.icon > ::slotted(*) {\n margin-left: var(--ic-space-md) !important;\n margin-right: var(--ic-space-xs);\n}\n\n.inline-badge {\n margin-left: var(--ic-space-xs);\n}\n\n.badge {\n margin-left: 0;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon > ::slotted(*) {\n margin: auto !important;\n}\n\n:host(.navigation-item-side-nav) .icon > ::slotted(*) {\n margin-right: 0;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height, 4rem);\n min-height: var(--navigation-item-min-height);\n width: var(--navigation-item-width, auto);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n padding: 0 var(--ic-space-md);\n text-wrap: wrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n:host(.navigation-item-side-nav) div.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n div.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: wrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0 0 0 0.313rem;\n border-radius: 0.688rem !important;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n border-radius: 0;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 2.5rem !important;\n color: var(--ic-color-text-primary) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link::after,\n:host(.navigation-item-page-header) ::slotted(a.active)::after {\n content: \" \" !important;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ic-space-xxs);\n background-color: var(--ic-action-default) !important;\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-pressed) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::after {\n border-bottom-left-radius: var(--ic-border-radius);\n border-bottom-right-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n\n.open-in-new-icon {\n flex: 1;\n}\n\n.open-in-new-icon svg {\n margin-top: var(--ic-space-xxs);\n padding-left: var(--ic-space-xs);\n}\n\n:host(.navigation-item-side-nav) .open-in-new-icon {\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-top-nav) .open-in-new-icon svg,\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-side-nav) .open-in-new-icon svg {\n height: 0.875rem;\n width: 0.875rem;\n}\n\n:host(.navigation-item-side-menu) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg,\n:host(.navigation-item-side-menu) .open-in-new-icon svg {\n fill: var(--ic-color-text-primary);\n}\n\n@media (forced-colors: active) {\n .open-in-new-icon svg {\n fill: currentcolor;\n }\n}\n","import { forceUpdate, h, Host, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCssProperty, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\n/**\n * @part link - The `<a>` within ic-navigation-item\n * @slot badge - Badge component overlaying the top right of the icon.\n * @slot icon - Content will be displayed to the left of the label for expanded navigation items, and in replacement of the label for collapsed navigation items.\n */\nexport class NavigationItem {\n constructor() {\n this.isInitialRender = true;\n this.hostMutationObserver = null;\n this.ANIMATION_DURATION = parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n this.ARIA_LABEL_STRING = \"aria-label\";\n this.isInSideNav = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.focusStyle = getBrandForegroundAppearance();\n this.inTopNavSideMenu = false;\n this.isSideNavMobile = false;\n this.isTopNavChild = false;\n this.sideNavExpanded = false;\n this.ariaLabel = \"\";\n /**\n * @internal If `true`, the icon and label will be displayed when side navigation is collapsed.\n */\n this.collapsedIconLabel = false;\n /**\n * @internal If `true`, the navigation item will be displayed within a tooltip.\n */\n this.displayNavigationTooltip = false;\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n this.download = false;\n /**\n * @internal If `true`, the navigation item will be expandable.\n */\n this.expandable = false;\n /**\n * The destination of the navigation item.\n */\n this.href = \"\";\n /**\n * If `true`, the navigation item will be set in a selected state.\n */\n this.selected = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n this.displayDefaultNavigationItem = (href, label, hreflang, target, rel, referrerpolicy, download) => {\n const variant = this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const ChevronIconComponent = this.expandable && (h(\"div\", { class: { svg: true }, innerHTML: chevronIcon }));\n const slottedBadgeEl = this.el.querySelector('[slot=\"badge\"]');\n const BadgeComponent = slottedBadgeEl && (h(\"div\", { class: \"inline-badge\" }, h(\"slot\", { name: \"badge\" })));\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (h(\"div\", { class: \"icon\" }, h(\"slot\", { name: \"icon\" }), this.isInSideNav && BadgeComponent));\n return href !== \"\" ? (h(\"a\", { href: href, target: target, rel: rel, hreflang: hreflang, referrerPolicy: referrerpolicy, download: download !== false ? download : null, class: \"link\", ref: (el) => (this.itemEl = el), part: \"link\", \"aria-label\": this.ariaLabel ? this.ariaLabel : null }, IconComponent, h(\"ic-typography\", { variant: variant }, label), target === \"_blank\" && (h(\"span\", { class: \"open-in-new-icon\", innerHTML: OpenInNew })), BadgeComponent, h(\"div\", { class: \"chevron-container\" }, ChevronIconComponent))) : (h(\"div\", { tabindex: \"0\", class: \"link\", ref: (el) => (this.itemEl = el) }, IconComponent, h(\"ic-typography\", { variant: variant }, label), ChevronIconComponent, BadgeComponent));\n };\n this.topNavResizedHandler = ({ detail, }) => {\n var _a;\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) || DEVICE_SIZES.L);\n }\n };\n this.sideNavExpandHandler = ({ detail, }) => {\n const { sideNavExpanded, sideNavMobile } = detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n this.sideNavToggleTooltip(!sideNavExpanded && !sideNavMobile);\n };\n this.handleBlur = ({ relatedTarget }) => {\n if (relatedTarget === null ||\n relatedTarget.tagName !== \"IC-NAVIGATION-ITEM\") {\n this.childBlur.emit();\n }\n };\n this.handleClick = () => this.navItemClicked.emit();\n // triggered when attributes of host element change\n this.hostMutationCallback = (mutationList) => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && attributeName === this.ARIA_LABEL_STRING) {\n this.ariaLabel = attribute;\n forceComponentUpdate = true;\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n this.generateTooltipLabel = () => {\n var _a;\n if (this.label) {\n return this.label;\n }\n if (this.navigationSlot) {\n return this.navigationSlot.textContent || \"\";\n }\n return ((_a = this.el.children[0]) === null || _a === void 0 ? void 0 : _a.textContent) || \"\";\n };\n this.renderNavigationItemContent = () => {\n if (!this.label && !this.navigationSlot)\n return h(\"slot\", null);\n return this.label ? (this.displayDefaultNavigationItem(this.href, this.label, this.hreflang, this.target, this.rel, this.referrerpolicy, this.download)) : (h(\"slot\", { name: \"navigation-item\" }));\n };\n // Displays tooltip only once the collapsing animation is finished\n this.sideNavToggleTooltip = (showTooltip) => {\n var _a;\n const tooltip = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"ic-tooltip\");\n const collapsedClass = \"tooltip-navigation-item-side-nav-collapsed\";\n let timer;\n if (!tooltip)\n return;\n if (showTooltip) {\n tooltip.displayTooltip(false); // Hides tooltip for when mouse is hovering over icon\n timer = setTimeout(() => {\n tooltip.classList.add(collapsedClass);\n }, this.ANIMATION_DURATION);\n }\n else {\n clearTimeout(timer);\n tooltip.classList.remove(collapsedClass);\n }\n };\n }\n navigationTypeChangeHandler() {\n this.isInSideNav = this.navigationType === \"side\";\n }\n disconnectedCallback() {\n var _a, _b, _c;\n if (this.isInSideNav) {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n }\n (_c = this.hostMutationObserver) === null || _c === void 0 ? void 0 : _c.disconnect();\n }\n componentWillLoad() {\n var _a, _b, _c, _d, _e, _f;\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.isInSideNav = this.navigationType === \"side\";\n this.parentEl = parent;\n this.deviceSize = getCurrentDeviceSize();\n this.sideNavExpanded =\n ((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.classList.contains(\"sm-expanded\")) ||\n ((_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.classList.contains(\"xs-menu-open\")) ||\n false;\n if (this.isInSideNav) {\n (_c = this.parentEl) === null || _c === void 0 ? void 0 : _c.addEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_d = this.parentEl) === null || _d === void 0 ? void 0 : _d.addEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n if (((_e = this.el.parentElement) === null || _e === void 0 ? void 0 : _e.tagName) === \"IC-NAVIGATION-GROUP\")\n this.isTopNavChild = true;\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel =\n ((_f = this.navigationSlot.textContent) === null || _f === void 0 ? void 0 : _f.trim()) || null;\n }\n if (this.el.hasAttribute(this.ARIA_LABEL_STRING)) {\n this.ariaLabel = this.el.getAttribute(this.ARIA_LABEL_STRING) || \"\";\n }\n }\n componentDidLoad() {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n componentDidUpdate() {\n this.isInitialRender = false;\n }\n brandChangeHandler({ detail }) {\n this.focusStyle = detail.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n var _a;\n this.itemEl ? this.itemEl.focus() : (_a = this.el.querySelector(\"a\")) === null || _a === void 0 ? void 0 : _a.focus();\n }\n render() {\n const { inTopNavSideMenu, isTopNavChild, selected, navigationType, focusStyle, isInitialRender, sideNavExpanded, displayNavigationTooltip, collapsedIconLabel, isSideNavMobile, expandable, isInSideNav, theme, } = this;\n const isTopNavChildDesktop = isTopNavChild && !inTopNavSideMenu;\n return (h(Host, { key: '8c8d6840c525322be195b26b40b81de5b76a3bb9', class: {\n \"navigation-item\": true,\n \"navigation-item-selected\": !isTopNavChild && selected,\n \"navigation-item-top-nav\": !inTopNavSideMenu && navigationType === \"top\",\n \"navigation-item-top-nav-child\": isTopNavChildDesktop,\n \"navigation-item-top-nav-child-selected\": isTopNavChildDesktop && selected,\n \"navigation-item-side-menu\": inTopNavSideMenu,\n \"navigation-item-side-menu-selected\": inTopNavSideMenu && selected,\n \"navigation-item-page-header\": navigationType === \"page-header\",\n \"navigation-item-side-nav\": isInSideNav,\n \"navigation-item-side-nav-collapsed\": (!sideNavExpanded || displayNavigationTooltip) && isInSideNav,\n \"navigation-item-side-nav-collapsed-with-label\": !sideNavExpanded &&\n isInSideNav &&\n collapsedIconLabel &&\n !isSideNavMobile,\n \"with-transition\": !isInitialRender,\n expandable,\n [focusStyle]: isTopNavChild ? isInSideNav : !inTopNavSideMenu,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, onBlur: isTopNavChildDesktop ? this.handleBlur : null, onClick: this.handleClick, \"aria-current\": selected ? \"page\" : null, role: \"listitem\" }, h(\"ic-tooltip\", { key: '20f1518fa353f8ab041ce7a71d8cbe0277ee9e6a', label: this.generateTooltipLabel(), target: \"navigation-item\", placement: \"right\", class: {\n \"tooltip-navigation-item\": true,\n \"tooltip-navigation-item-side-nav-collapsed\": displayNavigationTooltip && isInSideNav,\n \"tooltip-long-label-navigation-item-side-nav-expanded\": this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n } }, this.renderNavigationItemContent())));\n }\n static get is() { return \"ic-navigation-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-item.css\"]\n };\n }\n static get properties() {\n return {\n \"collapsedIconLabel\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the icon and label will be displayed when side navigation is collapsed.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"collapsed-icon-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"displayNavigationTooltip\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be displayed within a tooltip.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"display-navigation-tooltip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"download\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | boolean\",\n \"resolved\": \"boolean | string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user can save the linked URL instead of navigating to it.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"download\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expandable\": {\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 \"name\": \"internal\",\n \"text\": \"If `true`, the navigation item will be expandable.\"\n }],\n \"text\": \"\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\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 destination of the navigation item.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"href\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label of the navigation item.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\" | undefined\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"selected\": {\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 navigation item will be set in a selected state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"target\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"isSideNavMobile\": {},\n \"isTopNavChild\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"sideNavExpanded\": {},\n \"ariaLabel\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"childBlur\",\n \"name\": \"childBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when item loses focus.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"navItemClicked\",\n \"name\": \"navItemClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- Emitted when navigation item clicked.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"navigationType\",\n \"methodName\": \"navigationTypeChangeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-item.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCardHorizontalCss","IcCardHorizontalStyle0","Card","constructor","hostRef","this","hostMutationObserver","IMAGE_LEFT","IMAGE_RIGHT","INTERACTION_BUTTON","appearance","isFocussed","parentEl","parentIsAnchorTag","clickable","density","disabled","hreflang","message","size","theme","parentFocussed","parentBlurred","watchDisabledHandler","removeDisabledFalse","el","disconnectedCallback","removeEventListener","_a","disconnect","componentWillLoad","parentElement","tagName","classList","add","addEventListener","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","updateTheme","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","handleHostClick","event","stopImmediatePropagation","brandChangeHandler","ev","detail","mode","setFocus","linkElement","shadowRoot","querySelector","buttonElement","_b","focus","foregroundColor","getBrandFromContext","IcBrandForegroundEnum","Default","Light","Dark","render","href","referrerpolicy","rel","target","subheading","Component","undefined","attrs","hrefLang","referrerPolicy","hasLeftImage","hasRightImage","h","Host","key","class","Object","assign","card","focussed","dark","spacious","tabindex","name","variant"],"sources":["src/components/ic-card-horizontal/ic-card-horizontal.css?tag=ic-card-horizontal&encapsulation=shadow","src/components/ic-card-horizontal/ic-card-horizontal.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --card-horizontal-width: Width of the horizontal card\n */\n\n:host {\n display: flex;\n\n --card-max-width: 550px;\n --image-size: 132px;\n --message-max-lines: 2;\n}\n\n.card.small {\n --card-max-width: 360px;\n --image-size: calc(var(--ic-space-sm) * 10);\n}\n\n.card.small.spacious {\n --image-size: 100px;\n}\n\n.card.large {\n --card-max-width: 1130px;\n --image-size: 164px;\n --message-max-lines: 3;\n}\n\n.card.large .card-message {\n margin-top: var(--ic-space-md);\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n padding: 0;\n}\n\n.card,\n.card.clickable {\n display: flex;\n flex-direction: row;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n max-width: var(--card-max-width);\n height: fit-content;\n width: var(--card-horizontal-width, fit-content);\n}\n\n.dark.card,\n.dark.card.clickable {\n border: var(--ic-border-width) solid\n var(--ic-color-border-neutral-pressed-dark);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n}\n\n.card.clickable:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card ::slotted(svg) {\n fill: var(--ic-card-icon);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n}\n\n.card.clickable .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.card.clickable:active .card-title {\n text-decoration: none;\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n\n --ic-typography-color: var(--ic-card-disabled-text);\n}\n\n.card-message {\n margin-top: var(--ic-space-xs);\n align-items: left;\n}\n\n.card.disabled .card-message,\n.card.disabled .subheading {\n --ic-typography-color: var(--ic-card-disabled-text);\n}\n\n.image {\n display: flex;\n border-radius: var(--ic-border-radius);\n}\n\n.image ::slotted([slot=\"image-left\"]),\n.image ::slotted([slot=\"image-right\"]) {\n height: var(--image-size);\n width: var(--image-size);\n}\n\n.card-content {\n display: flex;\n flex-direction: column;\n padding: var(--ic-space-md);\n}\n\n.card .card-title ::slotted([slot=\"heading\"]),\n.card .card-title ic-typography p {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: calc(var(--card-max-width) - var(--ic-space-xl));\n}\n\n.card.with-icon .card-title ::slotted([slot=\"heading\"]),\n.card.with-icon .card-title ic-typography p {\n max-width: calc(var(--card-max-width) - (2 * var(--ic-space-xl)));\n}\n\n.card.with-image .card-title ::slotted([slot=\"heading\"]),\n.card.with-image .card-title ic-typography p {\n max-width: calc(\n var(--card-max-width) - var(--image-size) - var(--ic-space-xl)\n );\n}\n\n.card.with-image.with-icon .card-title ::slotted([slot=\"heading\"]),\n.card.with-image.with-icon .card-title ic-typography p {\n max-width: calc(\n var(--card-max-width) - var(--image-size) - (2 * var(--ic-space-xl))\n );\n}\n\n.card .card-message ::slotted([slot=\"message\"]),\n.card .card-message ic-typography {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--message-max-lines, initial);\n -webkit-line-clamp: var(--message-max-lines, initial);\n overflow: hidden;\n}\n\n.card.spacious {\n padding: var(--ic-space-md);\n}\n\n.card.spacious .card-content {\n padding: 0;\n}\n\n.card.spacious .card-content.left-image {\n padding: 0 0 0 var(--ic-space-md);\n}\n\n.card.spacious .card-content.right-image {\n padding: 0 var(--ic-space-md) 0 0;\n}\n\n.card.spacious .image ::slotted([slot=\"image-left\"]),\n.card.spacious .image ::slotted([slot=\"image-right\"]) {\n border-radius: var(--ic-border-radius);\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-title.with-interaction-button {\n margin-right: var(--ic-space-md);\n}\n\n::slotted(p),\n::slotted(h1),\n::slotted(h2),\n::slotted(h3),\n::slotted(h4),\n::slotted(h5),\n::slotted(h6) {\n line-height: normal;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card ::slotted(svg) {\n fill: currentcolor;\n }\n\n .card.disabled ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card.disabled {\n border-color: GrayText !important;\n }\n\n .card.disabled .card-message,\n .card.disabled .card-title,\n .card.disabled .subheading {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcCardDensity,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n getBrandFromContext,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, IcSizes } from \"../../utils/types\";\n\n/**\n * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.\n * @slot message - Content will be placed in the main body of the horizontal card.\n * @slot subheading - Content will be placed below the card heading. Only for `density=\"spacious\"`.\n * @slot adornment - Content will be placed below the card subheading. Only for `density=\"spacious\"`.\n * @slot image-left - Content will be placed to the left of all other content.\n * @slot image-right - Content will be placed to the right of all other content.\n * @slot icon - Content will be placed to the left of the horizontal card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot badge - Badge component overlaying the top right of the horizontal card.\n */\n@Component({\n tag: \"ic-card-horizontal\",\n styleUrl: \"ic-card-horizontal.css\",\n shadow: true,\n})\nexport class Card {\n private hostMutationObserver: MutationObserver | null = null;\n private IMAGE_LEFT = \"image-left\";\n private IMAGE_RIGHT = \"image-right\";\n private INTERACTION_BUTTON = \"interaction-button\";\n\n @Element() el: HTMLIcCardHorizontalElement;\n\n @State() appearance?: IcBrandForeground = \"default\";\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the horizontal card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable: boolean = false;\n\n /**\n * The padding of the horizontal card.\n */\n @Prop() density: IcCardDensity = \"default\";\n\n /**\n * If `true`, the horizontal card will be disabled if it is clickable.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The heading for the horizontal card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable horizontal card link points to. If set, the clickable horizontal card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the horizontal card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The size of the horizontal card.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.parentEl && this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl?.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\n \"message\",\n \"adornment\",\n this.IMAGE_LEFT,\n this.IMAGE_RIGHT,\n \"icon\",\n this.INTERACTION_BUTTON,\n \"badge\",\n ],\n this\n )\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n const linkElement = this.el.shadowRoot?.querySelector(\"a\");\n const buttonElement = this.el.shadowRoot?.querySelector(\"button\");\n if (linkElement) {\n linkElement.focus();\n } else if (buttonElement) {\n buttonElement.focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(mode?: IcBrandForeground): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n render() {\n const {\n appearance,\n clickable,\n density,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n parentIsAnchorTag,\n isFocussed,\n size,\n subheading,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n const hasLeftImage = isSlotUsed(this.el, this.IMAGE_LEFT);\n const hasRightImage = isSlotUsed(this.el, this.IMAGE_RIGHT);\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n focussed: isFocussed,\n dark: appearance === IcBrandForegroundEnum.Dark,\n [`${size}`]: true,\n \"with-icon\": isSlotUsed(this.el, \"icon\"),\n \"with-image\": hasLeftImage || hasRightImage,\n spacious: density === \"spacious\",\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : undefined}\n aria-disabled={disabled ? \"true\" : undefined}\n disabled={disabled ? true : undefined}\n {...attrs}\n >\n {hasLeftImage && (\n <div class=\"image\">\n <slot name=\"image-left\"></slot>\n </div>\n )}\n <div\n class={{\n \"card-content\": true,\n \"left-image\": hasLeftImage,\n \"right-image\": hasRightImage,\n }}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div\n class={{\n \"card-title\": true,\n \"with-interaction-button\": isSlotUsed(\n this.el,\n this.INTERACTION_BUTTON\n ),\n }}\n >\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, this.INTERACTION_BUTTON) && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {density === \"spacious\" &&\n (subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {density === \"spacious\" && isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n </div>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {hasRightImage && (\n <div class=\"image\">\n <slot name=\"image-right\"></slot>\n </div>\n )}\n </Component>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,h as t,H as i,g as n}from"./p-8e4e97b4.js";import{g as o,s as a,i as r,o as c,a as s,e as h,I as d}from"./p-e4ef4263.js";const l='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;background-color:var(--ic-hero-background);--hero-heading-bottom-margin:var(--ic-space-md);--hero-keyline:var(--ic-hero-keyline)}:host(.ic-hero-dark){background-color:var(--ic-brand-color-secondary);--ic-hero-heading:var(--ic-color-text-primary-light);--ic-hero-body:var(--ic-color-text-primary-light);--ic-hero-secondary-heading:var(--ic-color-text-primary-light);--hero-keyline:var(--ic-brand-text-color)}.heading{--ic-typography-color:var(--ic-hero-heading)}.subheading{--ic-typography-color:var(--ic-hero-body)}.secondary-container{--ic-typography-color:var(--ic-hero-secondary-heading);display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--hero-keyline)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg);flex-wrap:wrap}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host(.ic-hero-content-aligned-left) .left-container,:host(.ic-hero-content-aligned-left) .interaction-container{justify-content:flex-start;text-align:left}:host(.ic-hero-content-aligned-center) .left-container,:host(.ic-hero-content-aligned-center) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host(.has-right-content) .section-container{flex-wrap:wrap}:host(.has-right-content) .left-container{flex-basis:100%}:host(.has-right-content) .right-container{flex-basis:100%;margin-bottom:2.5rem}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:17.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:16.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const m=l;const g=class{constructor(t){e(this,t);this.hostMutationObserver=null;this.foregroundColor=o();this.rightContent=false;this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.scrollFactor="right -100px";this.aligned="left";this.contentAligned="left";this.disableBackgroundParallax=false;this.size="medium"}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.rightContent=a(this.el,"secondary")}componentDidLoad(){!r(this.el,"heading")&&c([{prop:this.heading,propName:"heading"}],"Hero");this.hostMutationObserver=new MutationObserver((e=>s(e,"secondary",this)));this.hostMutationObserver.observe(this.el,{childList:true})}componentWillRender(){this.rightContent=a(this.el,"secondary")}brandChangeHandler(e){this.foregroundColor=e.detail.mode}doScroll(){var e;if(this.disableBackgroundParallax){return}const t=(e=document.scrollingElement)===null||e===void 0?void 0:e.scrollTop;if(t){const e=.4;const i=-100+t*e;this.scrollFactor="right "+i+"px"}}render(){const{aligned:e,size:n,heading:o,subheading:a,secondaryHeading:r,secondarySubheading:c,foregroundColor:s,backgroundImage:l,scrollFactor:m,contentAligned:g}=this;let b={};if(h(l)){b={"background-image":"url("+l+")","background-position":m}}return t(i,{key:"ae89dfc9697492e640cef1740da5b1552a6b31ca",class:{[`ic-hero-${d.Dark}`]:s===d.Dark,["has-background-image"]:l!==undefined,["has-right-content"]:this.rightContent,["ic-hero-small"]:n==="small",["secondary-heading"]:!!r,[`ic-hero-content-aligned-${g}`]:g!==undefined},style:b},t("ic-section-container",{key:"e70e1a6e85eddbdbc68b9a7754d760e898e27981",aligned:e,fullHeight:true,class:"section-container"},t("div",{key:"f1b85e347aa5f1b6f961aa2c7943a1e651dc22c3",class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},t("div",{key:"2100740ba4e22f0f229c145327b572ffa78521c6",class:"heading"},t("slot",{key:"30cd98888662c64e944660a68410cf51d0146460",name:"heading"},t("ic-typography",{key:"dc2a602974c66325be5082c517f28eae72f5780b",variant:n==="small"?"h2":"h1",class:{["heading-bottom-spacing"]:n!=="small"}},t("h2",{key:"5f26d23f4bcf35ee1273741ef767c93ea3a8f90d"},o)))),t("div",{key:"4187d2e39e8adb1174e9408ab269f343c876e711",class:"subheading"},t("slot",{key:"90835b42345fbebb0f98501cf46e9185f746868d",name:"subheading"},t("ic-typography",{key:"85b6f8619599bd518fa1b4351ec5dcb0d0059684",variant:"body"},a))),t("div",{key:"2f79214e6fb235164825f6c77d31d16cf3e1bda8",class:"interaction-container"},t("slot",{key:"008f3ad58fdc0d12a1fa3dfe8e400a5cbe05b13f",name:"interaction"}))),(h(r)||this.rightContent)&&t("div",{key:"6ae2e569b0a50c021f9b7aa0399c48c79a6a2151",class:"right-container"},t("slot",{key:"03ebade13d8f03e4d0fe310d2a3038c3c2bdcada",name:"secondary"},r&&t("div",{key:"87be1f434f9f7d37783a79de3d38a9ffd3ae6633",class:"secondary-container"},t("div",{key:"87f64a2443ccfa0e6fa790b13302f28269a7aeb2",class:"secondary-heading"},t("ic-typography",{key:"c8fefec7ecd3a3757b565933238bddbcb2206389",variant:"h4"},t("h3",{key:"0afe6e4b3b4594ce85599155f65c89b27a8ffc97"},r))),t("div",{key:"84412145d7f3785e60d67ceaa879066e9623784f",class:"secondary-subheading"},t("ic-typography",{key:"0e89a8ef45a387d6f09a25ce88e1947bdf24c47a",variant:"subtitle-small"},c)))))))}get el(){return n(this)}};g.style=m;export{g as ic_hero};
2
- //# sourceMappingURL=p-f16c4210.entry.js.map