@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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icRadioGroupCss","IcRadioGroupStyle0","RadioGroup","constructor","hostRef","this","resizeObserver","ADDITIONAL_FIELD","RADIO_HORIZONTAL","RADIO_VERTICAL","checkedValue","selectedChild","disabled","hideLabel","orientation","required","size","validationAriaLive","validationStatus","validationText","theme","runResizeObserver","ResizeObserver","checkOrientation","observe","el","handleKeyDown","event","additionalFields","Array","from","querySelectorAll","activeEl","document","activeElement","length","radioOptions","map","slotHasContent","stopPropagation","key","getNextItemToSelect","click","preventDefault","currentItem","movingDown","numRadios","nextItem","addSlotChangeListener","_a","radioContainer","addEventListener","setRadioOptions","setFirstRadioOptionTabIndex","value","setTabIndex","children","filter","tagName","forEach","radioOption","index","selected","name","groupLabel","label","initialOrientation","undefined","currentOrientation","watchDisabledHandler","newValue","removeDisabledFalse","orientationChangeHandler","watchThemeHandler","disconnectedCallback","_b","disconnect","removeEventListener","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","selectHandler","detail","target","selectedOption","parentElement","icChange","emit","radio","textFieldValue","querySelector","changeHandler","findIndex","totalWidth","isArray","clientWidth","i","arr","render","helperText","showValidation","hasValidationStatus","h","Host","onKeyDown","class","role","id","slot","horizontal","ref","ariaLiveMode","status","message"],"sources":["../web-components/dist/collection/components/ic-radio-group/ic-radio-group.css?tag=ic-radio-group&encapsulation=shadow","../web-components/dist/collection/components/ic-radio-group/ic-radio-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n\n --ic-input-label-text-color: var(--ic-radio-button-input-field-label);\n --ic-input-label-helper-text-color: var(\n --ic-radio-button-input-field-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-radio-button-state-text);\n --ic-input-validation-error: var(--ic-radio-button-state-icon-error);\n}\n\n:host ic-input-label.error {\n --ic-input-label-text-color: var(--ic-radio-button-input-field-label-error);\n}\n\n:host ic-input-label.disabled {\n --ic-input-label-text-color: var(\n --ic-radio-button-input-field-label-disabled\n );\n --ic-input-label-helper-text-color: var(\n --ic-radio-button-input-field-subtitle-disabled\n );\n}\n\n:host ic-input-validation.show-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-radio-group-small) ic-input-validation.show-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n:host ic-input-label:not(.with-helper) .ic-typography-label,\n:host ic-input-label .helpertext {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-radio-group-small)\n ic-input-label:not(.with-helper)\n .ic-typography-label,\n:host(.ic-radio-group-small) ic-input-label .helpertext {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n:host ic-input-label .helpertext {\n display: block;\n}\n\n:host .radio-buttons-container {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-xxs);\n}\n\n:host(.ic-radio-group-small) .radio-buttons-container {\n gap: var(--ic-space-xxxs);\n}\n\n:host .radio-buttons-container.horizontal {\n display: flex;\n flex-direction: row;\n gap: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-radio-group-small) .radio-buttons-container.horizontal {\n gap: var(--ic-space-xl);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { hasValidationStatus, slotHasContent, onComponentRequiredPropUndefined, removeDisabledFalse, checkResizeObserver, } from \"../../utils/helpers\";\n/**\n * @slot helper-text - Content is set as the helper text for the radio group.\n */\nexport class RadioGroup {\n constructor() {\n this.resizeObserver = null;\n this.ADDITIONAL_FIELD = \"additional-field\";\n this.RADIO_HORIZONTAL = \"horizontal\";\n this.RADIO_VERTICAL = \"vertical\";\n this.checkedValue = \"\";\n this.selectedChild = -1;\n /**\n * If `true`, the disabled state will be set.\n */\n this.disabled = false;\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n this.hideLabel = false;\n /**\n * The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\n */\n this.orientation = \"vertical\";\n /**\n * If `true`, the radio group will require a value.\n */\n this.required = false;\n /**\n * The size of the radio group component.\n */\n this.size = \"medium\";\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n this.validationAriaLive = \"polite\";\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n this.validationStatus = \"\";\n /**\n * The text to display as the validation message.\n */\n this.validationText = \"\";\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.runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOrientation();\n });\n this.resizeObserver.observe(this.el);\n };\n this.handleKeyDown = (event) => {\n const additionalFields = Array.from(this.el.querySelectorAll('ic-text-field[slot=\"additional-field\"]'));\n const activeEl = document.activeElement;\n if (additionalFields.length > 0 &&\n this.radioOptions.map((el) => slotHasContent(el, this.ADDITIONAL_FIELD)) &&\n additionalFields.map((el) => el == activeEl)) {\n return;\n }\n event.stopPropagation();\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.radioOptions[this.getNextItemToSelect(this.selectedChild, true)].click();\n event.preventDefault();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.radioOptions[this.getNextItemToSelect(this.selectedChild, false)].click();\n event.preventDefault();\n }\n };\n this.getNextItemToSelect = (currentItem, movingDown) => {\n const numRadios = this.radioOptions.length - 1;\n if (currentItem < 1) {\n currentItem = 0;\n }\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n //check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numRadios;\n }\n else if (nextItem > numRadios) {\n nextItem = 0;\n }\n //if next item is disabled then find next\n if (this.radioOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n return nextItem;\n };\n this.addSlotChangeListener = () => {\n var _a;\n (_a = this.radioContainer) === null || _a === void 0 ? void 0 : _a.addEventListener(\"slotchange\", this.setRadioOptions);\n };\n this.setFirstRadioOptionTabIndex = (value) => {\n this.radioOptions[0].setTabIndex(value);\n };\n this.setRadioOptions = () => {\n this.selectedChild = -1;\n this.checkedValue = \"\";\n this.radioOptions = Array.from(this.el.children).filter((el) => el.tagName === \"IC-RADIO-OPTION\");\n if (this.radioOptions.length > 0) {\n this.radioOptions.forEach((radioOption, index) => {\n if (!radioOption.selected) {\n radioOption.selected = this.checkedValue === radioOption.value;\n }\n radioOption.name = this.name;\n radioOption.groupLabel = this.label;\n if (radioOption.selected) {\n this.selectedChild = index;\n this.checkedValue = radioOption.value;\n }\n if (this.disabled) {\n radioOption.disabled = true;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n if (this.initialOrientation === this.RADIO_HORIZONTAL &&\n this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (slotHasContent(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n slotHasContent(this.radioOptions[1], this.ADDITIONAL_FIELD))))) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n }\n };\n }\n watchDisabledHandler(newValue) {\n this.radioOptions.forEach((radioOption) => (radioOption.disabled = newValue));\n removeDisabledFalse(this.disabled, this.el);\n }\n orientationChangeHandler() {\n this.initialOrientation = this.orientation;\n this.checkOrientation();\n }\n watchThemeHandler(newValue) {\n this.radioOptions.forEach((radioOption) => (radioOption.theme = newValue));\n }\n disconnectedCallback() {\n var _a, _b;\n (_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n (_b = this.radioContainer) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"slotchange\", this.setRadioOptions);\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n this.orientationChangeHandler();\n this.currentOrientation = this.initialOrientation;\n }\n componentDidLoad() {\n this.setRadioOptions();\n checkResizeObserver(this.runResizeObserver);\n this.addSlotChangeListener();\n onComponentRequiredPropUndefined([\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ], \"Radio Group\");\n this.watchThemeHandler(this.theme);\n }\n selectHandler({ detail, target }) {\n var _a;\n const selectedOption = target;\n if (selectedOption.parentElement === this.el) {\n this.checkedValue = detail.value;\n this.icChange.emit({\n value: this.checkedValue,\n selectedOption: {\n radio: selectedOption,\n textFieldValue: (_a = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.querySelector(\"ic-text-field\")) === null || _a === void 0 ? void 0 : _a.value,\n },\n });\n if (this.radioOptions !== undefined) {\n this.radioOptions.forEach((radioOption, index) => {\n radioOption.selected = selectedOption === radioOption;\n if (radioOption.selected) {\n this.selectedChild = index;\n }\n });\n this.setFirstRadioOptionTabIndex(this.selectedChild > 0 ? -1 : 0);\n }\n }\n }\n changeHandler() {\n var _a;\n const selectedOption = (_a = this.radioOptions) === null || _a === void 0 ? void 0 : _a.findIndex((radioOption) => radioOption.selected);\n if (selectedOption < 0) {\n this.setFirstRadioOptionTabIndex(0);\n this.selectedChild = selectedOption;\n }\n }\n checkOrientation() {\n if (this.initialOrientation === this.RADIO_HORIZONTAL) {\n let totalWidth = 0;\n if (Array.isArray(this.radioOptions) && this.radioOptions.length > 0) {\n this.radioOptions.forEach(({ clientWidth }, i, arr) => {\n totalWidth += clientWidth;\n if (i < arr.length - 1)\n totalWidth += 40;\n });\n }\n else {\n totalWidth = 0;\n }\n if (this.initialOrientation == this.RADIO_HORIZONTAL) {\n if (this.radioOptions !== undefined &&\n (this.radioOptions.length > 2 ||\n (this.radioOptions.length === 2 &&\n (slotHasContent(this.radioOptions[0], this.ADDITIONAL_FIELD) ||\n slotHasContent(this.radioOptions[1], this.ADDITIONAL_FIELD))))) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n else {\n if (this.radioContainer) {\n if (totalWidth >= this.radioContainer.clientWidth) {\n this.currentOrientation = this.RADIO_VERTICAL;\n }\n else if (totalWidth < this.radioContainer.clientWidth) {\n this.currentOrientation = this.RADIO_HORIZONTAL;\n }\n }\n }\n }\n }\n }\n render() {\n const { currentOrientation, disabled, handleKeyDown, helperText, hideLabel, label, required, size, validationAriaLive, validationStatus, validationText, theme, } = this;\n const showValidation = hasValidationStatus(validationStatus, disabled);\n return (h(Host, { key: '4ea2e0ca7614fb4ce6563ea146f86d72707a399a', onKeyDown: handleKeyDown, class: {\n \"ic-radio-group-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, h(\"fieldset\", { key: 'ebad7a878454455a15892bf53c43bdcb914b77c4', role: \"radiogroup\", id: this.name, \"aria-required\": `${required}` }, !hideLabel && (h(\"legend\", { key: 'aac1f37c7b1d4d5bc621bd3030dc9eef60417659' }, h(\"ic-input-label\", { key: 'fd04e3f74c89b633996eb22e60902e988a8ac8ef', class: {\n [`${validationStatus}`]: true,\n [\"disabled\"]: !!disabled,\n }, label: label, helperText: helperText, required: required, disabled: disabled }, h(\"slot\", { key: '66325d58018dff189c975e3e4fc01249b51b6b9f', name: \"helper-text\", slot: \"helper-text\" })))), h(\"div\", { key: '6d2d332396c87b798d5d160bdb5977c0a8ad6751', class: {\n \"radio-buttons-container\": true,\n horizontal: currentOrientation === this.RADIO_HORIZONTAL,\n }, ref: (el) => (this.radioContainer = el) }, h(\"slot\", { key: 'fb0a1b41503ba88ce9bda3c0bc8236ae0a7e3795' }))), h(\"ic-input-validation\", { key: 'f9f7c2bdffd83d705149f74fe2caad93e57dd85b', class: {\n \"show-validation\": showValidation,\n }, ariaLiveMode: validationAriaLive, status: showValidation ? validationStatus : \"\", message: showValidation ? validationText : \"\" })));\n }\n static get is() { return \"ic-radio-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-radio-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-radio-group.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\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 helper text that will be displayed for additional field guidance.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"helper-text\",\n \"reflect\": false\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the radio group to be displayed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name for the radio group to differentiate from other groups.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"orientation\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcOrientation\",\n \"resolved\": \"\\\"horizontal\\\" | \\\"vertical\\\" | undefined\",\n \"references\": {\n \"IcOrientation\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcOrientation\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The orientation of the radio buttons in the radio group. If there are more than two radio buttons in a radio group or either of the radio buttons use the `additional-field` slot, then the orientation will always be vertical.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"orientation\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"vertical\\\"\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the radio group will require a value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"required\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"medium\\\" | \\\"small\\\" | undefined\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the radio group component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"validationAriaLive\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAriaLive\",\n \"resolved\": \"\\\"assertive\\\" | \\\"off\\\" | \\\"polite\\\"\",\n \"references\": {\n \"IcAriaLive\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAriaLive\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the `aria-live` attribute on the validation message.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-aria-live\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"polite\\\"\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcInformationStatusOrEmpty\",\n \"resolved\": \"\\\"\\\" | \\\"error\\\" | \\\"success\\\" | \\\"warning\\\" | undefined\",\n \"references\": {\n \"IcInformationStatusOrEmpty\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcInformationStatusOrEmpty\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status - e.g. 'error' | 'warning' | 'success'.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"validationText\": {\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 text to display as the validation message.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"validation-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\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\": true,\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 \"checkedValue\": {},\n \"currentOrientation\": {},\n \"initialOrientation\": {},\n \"selectedChild\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a radio.\"\n },\n \"complexType\": {\n \"original\": \"IcChangeEventDetail\",\n \"resolved\": \"IcChangeEventDetail\",\n \"references\": {\n \"IcChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-radio-group.types\",\n \"id\": \"src/components/ic-radio-group/ic-radio-group.types.ts::IcChangeEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"orientation\",\n \"methodName\": \"orientationChangeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"icCheck\",\n \"method\": \"selectHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"icSelectedChange\",\n \"method\": \"changeHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-radio-group.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{h as t,r as e,H as i,g as o}from"./p-8e4e97b4.js";import{D as s}from"./p-0f22f41e.js";const n=()=>{const t=t=>`${4+8*(parseInt(t.split("")[1])-2)}px`;return{setItemLevelOffset:t}};const a=e=>{const{id:i,className:o,label:s,target:n,selected:a,truncate:c,variant:r,position:l,size:h,updateSelected:d,setItemLevelOffset:f}=e;return t("a",{id:i,onClick:()=>d(l),class:`${a&&"table-of-contents-item-content-selected"}\n ${h==="large"?`table-of-contents-item-content-large`:`table-of-contents-item-content-default`}\n ${o}\n `,href:`#${n}`},t("ic-typography",{id:`${i}-label`,bold:a===l,class:`${c&&"truncated-item-text"} ${h&&`table-of-contents-item-content-${h}`}\n table-of-contents-item-label\n `,style:{paddingLeft:f(r)}},s))};const c=e=>{const i=n();return t(a,Object.assign({},e,i))};const r=":host{display:block;border:none;max-height:100vh}.table-of-contents-section-container{display:flex}.table-of-contents-content{top:0;left:0;padding:0 var(--ic-space-md);font:var(--ic-color-text-primary);max-height:100vh;z-index:1}:host .table-of-contents-position-top{min-width:10rem;max-width:50rem}:host .table-of-contents-position-side{min-width:8rem;max-width:20rem;width:20rem;position:sticky}.table-of-contents-list{display:flex;flex-direction:row;max-width:inherit}:host ol{list-style:none;margin-block-start:0;padding-inline-start:0}.table-of-contents-list-items{display:flex;flex-direction:column;width:100%}.table-of-contents-sidebar{background-color:var(--ic-table-of-contents-banner);height:1.75rem;min-width:0.25rem}.table-of-contents-sidebar-monochrome{background-color:var(--ic-table-of-contents-banner-monochrome)}.table-of-contents-item{min-height:1.5rem;line-height:1.5rem}.table-of-contents-item-content:hover{background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-monochrome-content:hover{background-color:var(--ic-table-of-contents-hover-monochrome)}.table-of-contents-item-content{border:none;max-width:inherit;display:flex;align-items:center;text-decoration:none;position:relative;color:var(--ic-table-of-contents-text);min-height:1.5rem;--ic-typography-color:var(--ic-table-of-contents-text)}.table-of-contents-item-content-default{padding-top:var(--ic-space-xxxs);padding-bottom:var(--ic-space-xxxs)}.table-of-contents-item-content:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-content:active{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-pressed)}.truncated-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-of-contents-item-content-large{padding-top:var(--ic-space-xxs);padding-bottom:var(--ic-space-xxs)}.table-of-contents-sidebar.large{height:2.5rem}.table-of-contents-heading.large{padding-bottom:var(--ic-space-xs)}@media (prefers-reduced-motion: no-preference){.table-of-contents-sidebar{transition:all 0.3s ease}}@media (prefers-reduced-motion: reduce){.table-of-contents-sidebar{transition:none}}@media (forced-colors: active){.table-of-contents-sidebar{background-color:Highlight}}";const l=r;const h="table-of-contents-content";const d="table-of-contents-list-items";const f="table-of-contents-item-content";const b="table-of-contents-section-container";const m=class{constructor(i){e(this,i);this.heading="Contents";this.maximumHeadingLevel=3;this.monochrome=false;this.position="right";this.setScrollHeight=50;this.size="medium";this.theme="inherit";this.truncate=true;this.focusedElement=0;this.referenceElements=[];this.currentTargetHeights=[];this.headerHeight=0;this.initialPosition=this.position;this.suppressListener=false;this.createTocItem=(e,i)=>{const o=`toc_${e.id}`;const s=t(c,{id:o,className:f,variant:e.tagName.toLowerCase(),label:e.textLabel,target:e.id,truncate:this.truncate,selected:this.focusedElement,updateSelected:this.updateOnSelection,position:e.trueIndex,size:this.size});const n=this.truncate?t("ic-tooltip",{target:o,label:e.innerHTML},s):s;return t("li",{class:`table-of-contents-item ${this.monochrome&&"table-of-contents-item-monochrome"}`},n,i?t("ol",null,i):null)};this.renderTocTree=t=>{let e;if(t.treeChildren.length>0){const i=t.treeChildren.map((t=>this.renderTocTree(t)));e=this.createTocItem(t,i)}else{e=this.createTocItem(t)}return e};this.updateOnSelection=t=>{this.suppressListener=true;this.focusedElement=t;this.sidebarTranslation(this.focusedElement)};this.truncateText=()=>{var t,e;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(`.${f}`);const o=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(`.${d}`);if(o)i===null||i===void 0?void 0:i.forEach((t=>{this.addTooltip(t,s.S)}))}}suppressListenerHandler(){window.scrollTo(0,window.scrollY-this.headerHeight-50)}generateHeadingTree(){var t;const e=[];const i=this.maximumHeadingLevel<5?["h2","h3","h4","h5"].slice(0,(this.maximumHeadingLevel<2?2:this.maximumHeadingLevel)-1).join(","):"h2, h3, h4, h5";const o=this.el.querySelectorAll(i);if(o){const i=Array.from(o);i.forEach(((t,e)=>{this.referenceElements.push(t);t.trueIndex=e;t.rank=t.tagName.toLowerCase().slice(1,2);t.textLabel=t.textContent?t.textContent.trimStart().split("\n")[0]:`${t.rank}-${e}`;t.treeChildren=[]}));let s=((t=i[0])===null||t===void 0?void 0:t.rank)||2;i.reverse().forEach(((t,o)=>{if(!t.id){t.setAttribute("id",t.textLabel.replace(/\s+/g,"-").toLowerCase())}if(t.rank>s&&t.trueIndex>0){if(i[o]&&i[o].rank<t.rank){i[o].treeChildren.unshift(t)}else{e.push(t)}}else{s=t.rank;e.push(t)}}))}return e.reverse()}containerPosition(){var t;if(this.position){const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${b}`);switch(this.position){case"right":e.style.flexDirection="row-reverse";break;case"top":e.style.flexDirection="column";break}}}sidebarTranslation(t){var e,i,o;const s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".table-of-contents-sidebar");const n=[];let a=0;(o=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(`.${f}`))===null||o===void 0?void 0:o.forEach((t=>{if(t!==null)n.push(t.offsetHeight)}));n.slice(0,t).forEach((t=>a+=t));s.style.transform=`translateY(${a}px)`;s.style.height=`${n[t]}px`}findElementsHeights(){const t=[];this.referenceElements.forEach((e=>{t.push(e.getBoundingClientRect().top)}));this.currentTargetHeights=t}handleResizeBounds(){if(window.innerWidth<s.XL&&this.initialPosition!=="top"){this.position="top";this.containerPosition()}else if(window.innerWidth>s.XL&&this.position==="top"&&this.initialPosition==="right"){this.position="right";this.containerPosition()}this.findElementsHeights();this.truncateText()}updateSelectedItemFromScroll(){const t=window.scrollY+window.innerHeight*(this.setScrollHeight/100);if(window.scrollY===0){this.focusedElement=0;this.sidebarTranslation(this.focusedElement)}else if(t<this.currentTargetHeights[this.focusedElement]){const e=this.currentTargetHeights.slice(0,this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t))return s;return i}),0);this.focusedElement=i;this.sidebarTranslation(this.focusedElement)}else if(t>this.currentTargetHeights[this.focusedElement]&&this.focusedElement!==this.currentTargetHeights.length){const e=this.currentTargetHeights.slice(this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t)&&o<t)return s;return i}),0);if(i+this.focusedElement!==this.focusedElement){this.focusedElement+=i;this.sidebarTranslation(this.focusedElement)}}}findHeaderElement(){const t=document.querySelector("ic-page-header");if(t){return t.clientHeight}const e=document.querySelector("header");if(e){return e.clientHeight}return 0}addListMargin(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${h}`);e===null||e===void 0?void 0:e.style.setProperty("top",`${this.headerHeight}px`)}addTooltip(t,e){var i;const o=t.querySelector(".table-of-contents-item-label");if(((i=t.parentNode)===null||i===void 0?void 0:i.tagName)=="IC-TOOLTIP"){const i=t.parentNode;if((o===null||o===void 0?void 0:o.offsetWidth)<(o===null||o===void 0?void 0:o.scrollWidth)){const o=window.innerWidth<e?"bottom":this.position==="right"?"left":"right";i.setAttribute("disable-click",false);i.setAttribute("disable-hover",false);i.setAttribute("placement",o);i.setAttribute("target",t.id);i.setAttribute("style","overflow:hidden")}else{i.setAttribute("disable-click",true);i.setAttribute("disable-hover",true)}}}componentWillLoad(){this.resizeObserver=new ResizeObserver((()=>this.handleResizeBounds()));this.resizeObserver.observe(this.el)}componentDidRender(){document.addEventListener("scroll",(()=>{if(!this.suppressListener)this.updateSelectedItemFromScroll();else this.suppressListener=false}));this.containerPosition();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}async componentDidLoad(){this.focusedElement=0;this.headerHeight=this.findHeaderElement();this.addListMargin();this.truncateText();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}render(){const{heading:e,monochrome:o,position:s,size:n,theme:a}=this;return t(i,{key:"c5c977f781772f014ec4b2df248fdc91c31f2087",class:{[`ic-theme-${a}`]:a!=="inherit"}},t("ic-section-container",{key:"aa5f4869224bcf56e4137b83e6143b7c93b8ccd3",class:b,aligned:"full-width"},t("div",{key:"1f925229198cc923a0b02165b0000cf235435546",role:"navigation",class:`${h} ${s==="top"&&"table-of-contents-position-top"}\n ${s==="right"&&"table-of-contents-position-side"}`},t("ic-typography",{key:"c7468f8c744f3838629f745d511049b01c97dc25",class:`table-of-contents-heading ${n}`,variant:"subtitle-large"},e),t("div",{key:"c83b03e6eb43c042c6ca0d00e80be7666899a9d9",class:"table-of-contents-list"},t("div",{key:"6febd41a740d97f38097f549606d05d726256dcc",class:`table-of-contents-sidebar ${o&&`table-of-contents-sidebar-monochrome`}\n ${n}\n `}),t("ol",{key:"6e2c7ac1c7e3509bb738d98e8770c38c290934dc",class:d},this.generateHeadingTree().map((t=>this.renderTocTree(t)))))),t("slot",{key:"3c9722771d63819dc9039d872127e2a660bce17a"})))}get el(){return o(this)}static get watchers(){return{suppressListener:["suppressListenerHandler"]}}};m.style=l;export{m as ic_table_of_contents};
2
- //# sourceMappingURL=p-92936b49.entry.js.map
1
+ import{h as t,r as e,H as i,g as o}from"./p-8e4e97b4.js";import{D as s}from"./p-f48ce5f6.js";const n=()=>{const t=t=>`${4+8*(parseInt(t.split("")[1])-2)}px`;return{setItemLevelOffset:t}};const a=e=>{const{id:i,className:o,label:s,target:n,selected:a,truncate:c,variant:r,position:l,size:d,updateSelected:h,setItemLevelOffset:b}=e;return t("a",{id:i,onClick:()=>h(l),class:`${a&&"table-of-contents-item-content-selected"}\n ${d==="large"?`table-of-contents-item-content-large`:`table-of-contents-item-content-default`}\n ${o}\n `,href:`#${n}`},t("ic-typography",{id:`${i}-label`,bold:a===l,class:`${c&&"truncated-item-text"} ${d&&`table-of-contents-item-content-${d}`}\n table-of-contents-item-label\n `,style:{paddingLeft:b(r)}},s))};const c=e=>{const i=n();return t(a,Object.assign({},e,i))};const r=":host{display:block;border:none;max-height:100vh}.table-of-contents-section-container{display:flex}.table-of-contents-content{top:0;left:0;padding:0 var(--ic-space-md);font:var(--ic-color-text-primary);max-height:100vh;z-index:1}:host .table-of-contents-position-top{min-width:10rem;max-width:50rem}:host .table-of-contents-position-side{min-width:8rem;max-width:20rem;width:20rem;position:sticky}.table-of-contents-list{display:flex;flex-direction:row;max-width:inherit}:host ol{list-style:none;margin-block-start:0;padding-inline-start:0}.table-of-contents-list-items{display:flex;flex-direction:column;width:100%}.table-of-contents-sidebar{background-color:var(--ic-table-of-contents-banner);height:1.75rem;min-width:0.25rem}.table-of-contents-sidebar-monochrome{background-color:var(--ic-table-of-contents-banner-monochrome)}.table-of-contents-item{min-height:1.5rem;line-height:1.5rem}.table-of-contents-item-content:hover{background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-monochrome-content:hover{background-color:var(--ic-table-of-contents-hover-monochrome)}.table-of-contents-item-content{border:none;max-width:inherit;display:flex;align-items:center;text-decoration:none;position:relative;color:var(--ic-table-of-contents-text);min-height:1.5rem;--ic-typography-color:var(--ic-table-of-contents-text)}.table-of-contents-item-content-default{padding-top:var(--ic-space-xxxs);padding-bottom:var(--ic-space-xxxs)}.table-of-contents-item-content:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-hover)}.table-of-contents-item-content:active{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none;background-color:var(--ic-table-of-contents-pressed)}.truncated-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-of-contents-item-content-large{padding-top:var(--ic-space-xxs);padding-bottom:var(--ic-space-xxs)}.table-of-contents-sidebar.large{height:2.5rem}.table-of-contents-heading.large{padding-bottom:var(--ic-space-xs)}@media (prefers-reduced-motion: no-preference){.table-of-contents-sidebar{transition:all 0.3s ease}}@media (prefers-reduced-motion: reduce){.table-of-contents-sidebar{transition:none}}@media (forced-colors: active){.table-of-contents-sidebar{background-color:Highlight}}";const l=r;const d="table-of-contents-content";const h="table-of-contents-list-items";const b="table-of-contents-item-content";const f="table-of-contents-section-container";const m=class{constructor(i){e(this,i);this.heading="Contents";this.maximumHeadingLevel=3;this.monochrome=false;this.position="right";this.setScrollHeight=50;this.size="medium";this.theme="inherit";this.truncate=true;this.focusedElement=0;this.referenceElements=[];this.currentTargetHeights=[];this.headerHeight=0;this.initialPosition=this.position;this.suppressListener=false;this.createTocItem=(e,i)=>{const o=`toc_${e.id}`;const s=t(c,{id:o,className:b,variant:e.tagName.toLowerCase(),label:e.textLabel,target:e.id,truncate:this.truncate,selected:this.focusedElement,updateSelected:this.updateOnSelection,position:e.trueIndex,size:this.size});const n=this.truncate?t("ic-tooltip",{target:o,label:e.innerHTML},s):s;return t("li",{class:`table-of-contents-item ${this.monochrome&&"table-of-contents-item-monochrome"}`},n,i?t("ol",null,i):null)};this.renderTocTree=t=>{let e;if(t.treeChildren.length>0){const i=t.treeChildren.map((t=>this.renderTocTree(t)));e=this.createTocItem(t,i)}else{e=this.createTocItem(t)}return e};this.updateOnSelection=t=>{this.suppressListener=true;this.focusedElement=t;this.sidebarTranslation(this.focusedElement)};this.truncateText=()=>{var t,e;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(`.${b}`);const o=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(`.${h}`);if(o)i===null||i===void 0?void 0:i.forEach((t=>{this.addTooltip(t,s.S)}))}}suppressListenerHandler(){window.scrollTo(0,window.scrollY-this.headerHeight-50)}generateHeadingTree(){var t;const e=[];const i=this.maximumHeadingLevel<5?["h2","h3","h4","h5"].slice(0,(this.maximumHeadingLevel<2?2:this.maximumHeadingLevel)-1).join(","):"h2, h3, h4, h5";const o=this.el.querySelectorAll(i);if(o){const i=Array.from(o);i.forEach(((t,e)=>{this.referenceElements.push(t);t.trueIndex=e;t.rank=t.tagName.toLowerCase().slice(1,2);t.textLabel=t.textContent?t.textContent.trimStart().split("\n")[0]:`${t.rank}-${e}`;t.treeChildren=[]}));let s=((t=i[0])===null||t===void 0?void 0:t.rank)||2;i.reverse().forEach(((t,o)=>{if(!t.id){t.setAttribute("id",t.textLabel.replace(/\s+/g,"-").toLowerCase())}if(t.rank>s&&t.trueIndex>0){if(i[o]&&i[o].rank<t.rank){i[o].treeChildren.unshift(t)}else{e.push(t)}}else{s=t.rank;e.push(t)}}))}return e.reverse()}containerPosition(){var t;if(this.position){const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${f}`);switch(this.position){case"right":e.style.flexDirection="row-reverse";break;case"top":e.style.flexDirection="column";break}}}sidebarTranslation(t){var e,i,o;const s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".table-of-contents-sidebar");const n=[];let a=0;(o=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelectorAll(`.${b}`))===null||o===void 0?void 0:o.forEach((t=>{if(t!==null)n.push(t.offsetHeight)}));n.slice(0,t).forEach((t=>a+=t));s.style.transform=`translateY(${a}px)`;s.style.height=`${n[t]}px`}findElementsHeights(){const t=[];this.referenceElements.forEach((e=>{t.push(e.getBoundingClientRect().top)}));this.currentTargetHeights=t}handleResizeBounds(){if(window.innerWidth<s.XL&&this.initialPosition!=="top"){this.position="top";this.containerPosition()}else if(window.innerWidth>s.XL&&this.position==="top"&&this.initialPosition==="right"){this.position="right";this.containerPosition()}this.findElementsHeights();this.truncateText()}updateSelectedItemFromScroll(){const t=window.scrollY+window.innerHeight*(this.setScrollHeight/100);if(window.scrollY===0){this.focusedElement=0;this.sidebarTranslation(this.focusedElement)}else if(t<this.currentTargetHeights[this.focusedElement]){const e=this.currentTargetHeights.slice(0,this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t))return s;return i}),0);this.focusedElement=i;this.sidebarTranslation(this.focusedElement)}else if(t>this.currentTargetHeights[this.focusedElement]&&this.focusedElement!==this.currentTargetHeights.length){const e=this.currentTargetHeights.slice(this.focusedElement);const i=e.reduce(((i,o,s)=>{if(Math.abs(o-t)<Math.abs(e[i]-t)&&o<t)return s;return i}),0);if(i+this.focusedElement!==this.focusedElement){this.focusedElement+=i;this.sidebarTranslation(this.focusedElement)}}}findHeaderElement(){const t=document.querySelector("ic-page-header");if(t){return t.clientHeight}const e=document.querySelector("header");if(e){return e.clientHeight}return 0}addListMargin(){var t;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(`.${d}`);e===null||e===void 0?void 0:e.style.setProperty("top",`${this.headerHeight}px`)}addTooltip(t,e){var i;const o=t.querySelector(".table-of-contents-item-label");if(((i=t.parentNode)===null||i===void 0?void 0:i.tagName)=="IC-TOOLTIP"){const i=t.parentNode;if((o===null||o===void 0?void 0:o.offsetWidth)<(o===null||o===void 0?void 0:o.scrollWidth)){const o=window.innerWidth<e?"bottom":this.position==="right"?"left":"right";i.setAttribute("disable-click",false);i.setAttribute("disable-hover",false);i.setAttribute("placement",o);i.setAttribute("target",t.id);i.setAttribute("style","overflow:hidden")}else{i.setAttribute("disable-click",true);i.setAttribute("disable-hover",true)}}}componentWillLoad(){this.resizeObserver=new ResizeObserver((()=>this.handleResizeBounds()));this.resizeObserver.observe(this.el)}componentDidRender(){document.addEventListener("scroll",(()=>{if(!this.suppressListener)this.updateSelectedItemFromScroll();else this.suppressListener=false}));this.containerPosition();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}async componentDidLoad(){this.focusedElement=0;this.headerHeight=this.findHeaderElement();this.addListMargin();this.truncateText();this.findElementsHeights();this.sidebarTranslation(this.focusedElement)}render(){const{heading:e,monochrome:o,position:s,size:n,theme:a}=this;return t(i,{key:"b92dba4d29b176dc877963ce0c3113568007847d",class:{[`ic-theme-${a}`]:a!=="inherit"}},t("ic-section-container",{key:"86e9740eecc52ca907e39d7c3daf5ebc506b6c3b",class:f,aligned:"full-width"},t("div",{key:"8a4cceab420909f0030c262839b4f6c2bbedf297",role:"navigation",class:`${d} ${s==="top"&&"table-of-contents-position-top"}\n ${s==="right"&&"table-of-contents-position-side"}`},t("ic-typography",{key:"d9dac6d2e62f2aadd177833418e85cb89ab2dade",class:`table-of-contents-heading ${n}`,variant:"subtitle-large"},e),t("div",{key:"c88968311486981bde1093930757ea264d2bd919",class:"table-of-contents-list"},t("div",{key:"0b8e21d4f1c8b8a4f4f4f91c8c3ae9ba859b9b5b",class:`table-of-contents-sidebar ${o&&`table-of-contents-sidebar-monochrome`}\n ${n}\n `}),t("ol",{key:"dc2216ce8e94c17ab0b2fe0b5644086eb90c4fd0",class:h},this.generateHeadingTree().map((t=>this.renderTocTree(t)))))),t("slot",{key:"e0a992d1de985fbe672aa7a33ed54efb5ec5de43"})))}get el(){return o(this)}static get watchers(){return{suppressListener:["suppressListenerHandler"]}}};m.style=l;export{m as ic_table_of_contents};
2
+ //# sourceMappingURL=p-ef5b6622.entry.js.map
@@ -1,2 +1,2 @@
1
- import{f as n}from"./p-8e4e97b4.js";const t={XS:576,S:768,M:992,L:1200,XL:99999};const e=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const o=["ic-alert"];const s={"ic-alert":["ic-link","ic-button"]};var r;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(r||(r={}));var i;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(i||(i={}));var a;(function(n){n[n["January"]=0]="January";n[n["February"]=1]="February";n[n["March"]=2]="March";n[n["April"]=3]="April";n[n["May"]=4]="May";n[n["June"]=5]="June";n[n["July"]=6]="July";n[n["August"]=7]="August";n[n["September"]=8]="September";n[n["October"]=9]="October";n[n["November"]=10]="November";n[n["December"]=11]="December"})(a||(a={}));var c;(function(n){n[n["Sun"]=0]="Sun";n[n["Mon"]=1]="Mon";n[n["Tue"]=2]="Tue";n[n["Wed"]=3]="Wed";n[n["Thu"]=4]="Thu";n[n["Fri"]=5]="Fri";n[n["Sat"]=6]="Sat"})(c||(c={}));var u;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(u||(u={}));var d;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(d||(d={}));const l="ic-input";const f=n=>{const t=[];Object.values(n).forEach((n=>{if(isNaN(Number(n))){const e=n;t.push(e)}}));return t};const p=(n,t)=>{let e;return(...o)=>{const s=t();clearTimeout(e);e=setTimeout(n,s,...o)}};const y=(n,t,e,o,s)=>{if(e!==undefined&&(n||m(t))){let n=b(t);if(n===null||n===undefined){n=t.ownerDocument.createElement("input");n.type="hidden";n.classList.add(l);t.appendChild(n)}n.disabled=!!s;n.name=e;if(o instanceof Date){n.value=o?o.toISOString():""}else{n.value=o||""}}};const b=n=>Array.from(n.querySelectorAll(`input.${l}`)).filter((t=>n===t.parentElement))[0];const m=n=>!!n&&!!n.shadowRoot&&!!n.attachShadow;const v=n=>n+"-helper-text";const N=n=>n+"-validation-text";const x=(n,t,e,o)=>`${A(n,"helper-text")||e?v(t):""} ${o?N(t):""}`.trim();const $=(n,t=null)=>{var r;const a=n.parentElement||n.getRootNode().host.parentElement;const c=a===null||a===void 0?void 0:a.closest(e.join(","));if(c){const e=c.tagName.toLowerCase();const a=n.tagName.toLowerCase();if((r=s[e])===null||r===void 0?void 0:r.includes(a)){return i.Default}else if(t!==null&&!o.includes(e)){return t}else if(c.classList.contains(`${e}-${i.Dark}`)||c.classList.contains(i.Dark)){return i.Dark}return i.Light}return i.Default};const h=n=>n?n.trim().length===0:true;const S=n=>n!==undefined?n:null;const w=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const M=()=>{if(w(T.S)){return T.S}if(w(T.M)){return T.M}if(w(T.L)){return T.L}if(w(T.XL)){return T.XL}return T.UNDEFINED};const g=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const k=n=>{const t=n.firstElementChild;if(t===null)return[n];const e=t.assignedElements?t.assignedElements():t.childNodes;return e.length?e:n.tagName?[n]:null};const T={XS:Number(g("--ic-breakpoint-xs").replace("px","")),S:Number(g("--ic-breakpoint-sm").replace("px","")),M:Number(g("--ic-breakpoint-md").replace("px","")),L:Number(g("--ic-breakpoint-lg").replace("px","")),XL:Number(g("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const A=({children:n},t)=>Array.from(n).some((n=>n.getAttribute("slot")===t));const F=(n,t)=>{n.forEach((({prop:n,propName:e})=>{if(n===null||n===undefined){console.error(`No ${e} specified for ${t} component - prop '${e}' (web components) / '${O(e)}' (react) required`)}}))};const O=n=>n.toLowerCase().split("-").map(((n,t)=>t===0?n:`${n.substring(0,1).toUpperCase()}${n.substring(1)}`)).join("");const j=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const D=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.addEventListener("reset",t)};const L=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.removeEventListener("reset",t)};const X=(n,t=16)=>`${1/t*parseInt(n)}rem`;const I=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const J=n=>/^-?\d+$/.test(n);const W=n=>n.charAt(0).toUpperCase()+n.slice(1);const q=(n,t,e)=>{const o=n=>Array.from(n).some((n=>Array.isArray(e)?e.some((t=>n.slot===t)):n.slot===e));return o(n)||o(t)};const E=(n,t,e)=>{const o={};const s=t.map((n=>n.index));const r=Object.keys(n);const i=Object.values(n);const a=r.length+s.length;for(let n=0,c=0;n<a;n++){if(s.includes(n)){o[t[s.indexOf(n)].key]=e;continue}o[r[c]]=i[c];c++}return o};const R=(n,t)=>n.some((({type:n,addedNodes:e,removedNodes:o})=>n==="childList"&&q(e,o,t)));const z=(t,e,o)=>{if(R(t,e)){n(o)}};export{W as A,T as D,i as I,z as a,h as b,E as c,w as d,k as e,j as f,$ as g,p as h,A as i,t as j,u as k,a as l,d as m,c as n,F as o,X as p,x as q,I as r,f as s,J as t,r as u,L as v,D as w,y as x,M as y,S as z};
2
- //# sourceMappingURL=p-0f22f41e.js.map
1
+ import{f as n}from"./p-8e4e97b4.js";var t;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(t||(t={}));var e;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(e||(e={}));var o;(function(n){n[n["January"]=0]="January";n[n["February"]=1]="February";n[n["March"]=2]="March";n[n["April"]=3]="April";n[n["May"]=4]="May";n[n["June"]=5]="June";n[n["July"]=6]="July";n[n["August"]=7]="August";n[n["September"]=8]="September";n[n["October"]=9]="October";n[n["November"]=10]="November";n[n["December"]=11]="December"})(o||(o={}));var s;(function(n){n[n["Sun"]=0]="Sun";n[n["Mon"]=1]="Mon";n[n["Tue"]=2]="Tue";n[n["Wed"]=3]="Wed";n[n["Thu"]=4]="Thu";n[n["Fri"]=5]="Fri";n[n["Sat"]=6]="Sat"})(s||(s={}));var r;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(r||(r={}));var i;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(i||(i={}));const a={XS:576,S:768,M:992,L:1200,XL:99999};const c=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const u=["ic-alert"];const d={"ic-alert":["ic-link","ic-button"]};const l="ic-input";const f=n=>{const t=[];Object.values(n).forEach((n=>{if(isNaN(Number(n))){const e=n;t.push(e)}}));return t};const p=(n,t)=>{let e;return(...o)=>{const s=t();clearTimeout(e);e=setTimeout(n,s,...o)}};const y=(n,t,e,o,s)=>{if(e!==undefined&&(n||m(t))){let n=b(t);if(n===null||n===undefined){n=t.ownerDocument.createElement("input");n.type="hidden";n.classList.add(l);t.appendChild(n)}n.disabled=!!s;n.name=e;if(o instanceof Date){n.value=o?o.toISOString():""}else{n.value=o||""}}};const b=n=>Array.from(n.querySelectorAll(`input.${l}`)).filter((t=>n===t.parentElement))[0];const m=n=>!!n&&!!n.shadowRoot&&!!n.attachShadow;const v=n=>n+"-helper-text";const N=n=>n+"-validation-text";const x=(n,t,e,o)=>`${A(n,"helper-text")||e?v(t):""} ${o?N(t):""}`.trim();const $=(n,t=null)=>{var o;const s=n.parentElement||n.getRootNode().host.parentElement;const r=s===null||s===void 0?void 0:s.closest(c.join(","));if(r){const s=r.tagName.toLowerCase();const i=n.tagName.toLowerCase();if((o=d[s])===null||o===void 0?void 0:o.includes(i)){return e.Default}else if(t!==null&&!u.includes(s)){return t}else if(r.classList.contains(`${s}-${e.Dark}`)||r.classList.contains(e.Dark)){return e.Dark}return e.Light}return e.Default};const h=n=>n?n.trim().length===0:true;const S=n=>n!==undefined?n:null;const w=n=>window.matchMedia(`(max-width: ${n}px)`).matches;const M=()=>{if(w(T.S)){return T.S}if(w(T.M)){return T.M}if(w(T.L)){return T.L}if(w(T.XL)){return T.XL}return T.UNDEFINED};const g=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const k=n=>{const t=n.firstElementChild;if(t===null)return[n];const e=t.assignedElements?t.assignedElements():t.childNodes;return e.length?e:n.tagName?[n]:null};const T={XS:Number(g("--ic-breakpoint-xs").replace("px","")),S:Number(g("--ic-breakpoint-sm").replace("px","")),M:Number(g("--ic-breakpoint-md").replace("px","")),L:Number(g("--ic-breakpoint-lg").replace("px","")),XL:Number(g("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200};const A=({children:n},t)=>Array.from(n).some((n=>n.getAttribute("slot")===t));const F=(n,t)=>{n.forEach((({prop:n,propName:e})=>{if(n===null||n===undefined){console.error(`No ${e} specified for ${t} component - prop '${e}' (web components) / '${O(e)}' (react) required`)}}))};const O=n=>n.toLowerCase().split("-").map(((n,t)=>t===0?n:`${n.substring(0,1).toUpperCase()}${n.substring(1)}`)).join("");const j=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const D=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.addEventListener("reset",t)};const L=(n,t)=>{var e;(e=n.closest("FORM"))===null||e===void 0?void 0:e.removeEventListener("reset",t)};const X=(n,t=16)=>`${1/t*parseInt(n)}rem`;const I=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const J=n=>/^-?\d+$/.test(n);const W=n=>n.charAt(0).toUpperCase()+n.slice(1);const q=(n,t,e)=>{const o=n=>Array.from(n).some((n=>Array.isArray(e)?e.some((t=>n.slot===t)):n.slot===e));return o(n)||o(t)};const E=(n,t,e)=>{const o={};const s=t.map((n=>n.index));const r=Object.keys(n);const i=Object.values(n);const a=r.length+s.length;for(let n=0,c=0;n<a;n++){if(s.includes(n)){o[t[s.indexOf(n)].key]=e;continue}o[r[c]]=i[c];c++}return o};const R=(n,t)=>n.some((({type:n,addedNodes:e,removedNodes:o})=>n==="childList"&&q(e,o,t)));const z=(t,e,o)=>{if(R(t,e)){n(o)}};export{W as A,T as D,e as I,z as a,h as b,E as c,w as d,k as e,j as f,$ as g,p as h,A as i,a as j,i as k,x as l,J as m,t as n,F as o,X as p,L as q,I as r,D as s,y as t,M as u,S as v,f as w,r as x,o as y,s as z};
2
+ //# sourceMappingURL=p-f48ce5f6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IcInformationStatus","IcBrandForegroundEnum","IcDateInputMonths","IcShortDayNames","IcDayNames","IcWeekDays","IC_DEVICE_SIZES","XS","S","M","L","XL","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","icInput","stringEnumToArray","theEnum","arr","Object","values","forEach","val","isNaN","Number","str","push","dynamicDebounce","func","getDelay","timer","args","delay","clearTimeout","setTimeout","renderHiddenInput","always","container","name","value","disabled","undefined","hasShadowDom","input","getHiddenInputElement","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","Array","from","querySelectorAll","filter","el","parentElement","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","isSlotUsed","trim","getBrandFromContext","brandFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","Default","contains","Dark","Light","isEmptyString","length","isPropDefined","prop","deviceSizeMatches","size","window","matchMedia","matches","getCurrentDeviceSize","DEVICE_SIZES","UNDEFINED","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","getSlotElements","slot","slotContent","firstElementChild","elements","assignedElements","childNodes","replace","children","slotName","some","child","getAttribute","onComponentRequiredPropUndefined","props","component","propName","console","error","kebabToCamelCase","kebabCase","split","map","word","index","substring","toUpperCase","checkResizeObserver","callbackFn","ResizeObserver","addFormResetListener","addEventListener","removeFormResetListener","removeEventListener","pxToRem","px","base","parseInt","removeDisabledFalse","element","removeAttribute","isNumeric","test","capitalize","text","charAt","slice","checkSlotInChildMutations","addedNodes","removedNodes","hasSlot","nodeList","node","isArray","addDataToPosition","dataObject","newKeys","newValue","newData","newIndexes","key","keys","numberOfKeys","i","j","indexOf","hasDynamicChildSlots","mutationList","slotNames","renderDynamicChildSlots","ref","forceUpdate"],"sources":["src/utils/types.ts","src/utils/constants.ts","src/utils/helpers.ts"],"sourcesContent":["import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardVerticalElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"medium\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"medium\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcBrandForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeMode = \"dark\" | \"light\" | \"inherit\";\n\nexport type IcBrandForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcBrandForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcBrand = {\n mode: IcBrandForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement | null;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * Set \"label\" and \"value\" props to use as the option's label and value.\n * Alternatively, custom names for these props can be used e.g. by setting the \"labelField\" and \"valueField\" props on the relevant component.\n *\n * Any props supplied to the \"htmlProps\" object will be spread onto the option's underlying <li> element.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n htmlProps?: Record<string, any>;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcRequiredPropsTypes =\n | string\n | boolean\n | number\n | HTMLElement\n | IcMenuOption[]\n | undefined;\n\nexport type IcPropObject = { prop: IcRequiredPropsTypes; propName: string };\n\nexport type IcRelatedTarget = EventTarget | undefined;\n\nexport type IcOrientation = \"horizontal\" | \"vertical\";\n\nexport type IcEmphasisType = \"filled\" | \"outlined\";\n\nexport interface IcValueEventDetail {\n value: string;\n keyPressed?: string;\n}\n\nexport interface IcMultiValueEventDetail {\n value: string | string[] | null;\n keyPressed?: string;\n}\n\nexport interface IcBlurEventDetail {\n relatedTarget: IcRelatedTarget | null;\n}\n\nexport type IcSelectTypes = \"single\" | \"multi\";\n\nexport type IcSelectMethodTypes = \"auto\" | \"manual\";\n\nexport type IcDeviceSizes = 0 | 576 | 768 | 992 | 1200;\n\ntype RGB = `rgb(${string})`;\ntype RGBA = `rgba(${string})`;\ntype HEX = `#${string}`;\n\nexport type IcColor = RGB | RGBA | HEX;\n\nexport type IcIconPlacementOptions = \"left\" | \"right\" | \"top\";\n\nexport type IcButtonTooltipPlacement = \"top\" | \"right\" | \"bottom\" | \"left\";\n\nexport type IcThemeSettings = \"dark\" | \"light\" | \"system\";\n\nexport interface IcPaginationBarOptions {\n alignment?: IcPaginationAlignmentOptions;\n hideAllFromItemsPerPage?: boolean;\n hideCurrentPage?: boolean;\n hideFirstAndLastPageButton?: boolean;\n hideRangeLabel?: boolean;\n itemLabel?: string;\n itemsPerPageOptions?: { label: string; value: string }[];\n monochrome?: boolean;\n pageLabel?: string;\n rangeLabelType?: IcPaginationLabelTypes;\n selectedItemsPerPage?: number;\n selectItemsPerPageOnEnter?: boolean;\n setToFirstPageOnPaginationChange?: boolean;\n showGoToPageControl?: boolean;\n showItemsPerPageControl?: boolean;\n theme?: IcThemeMode;\n type?: IcPaginationTypes;\n}\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport type IcDateValueFormat = string | Date | null | undefined;\n\nexport type IcTimeFormat = \"HH:MM\" | \"HH:MM:SS\";\n\nexport type IcDisableTimeSelection =\n | string\n | Date\n | { start: string | Date; end: string | Date };\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport type IcPositionTopOrRight = \"top\" | \"right\";\n\n// Matches HTML aria-live attribute options\nexport type IcAriaLive = \"polite\" | \"assertive\" | \"off\";\n\nexport type IcCardDensity = \"default\" | \"spacious\";\n","import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\", \"ic-button\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n","/**\n * To investigate:\n * IcColorRGBA works via @ukic/web-components but IcBrandForegroundEnum does not even though they are exported\n * from @ukic/web-components in the same file. Why?\n */\nimport { EventEmitter, forceUpdate } from \"@stencil/core\";\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n IcDeviceSizes,\n IcColor,\n IcBrandForegroundNoDefault,\n IcBrandForeground,\n IcMenuOption,\n} from \"@ukic/web-components\";\nimport { IcDataTableDataType } from \"../interface\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package\nimport { IcBrandForegroundEnum } from \"./types\"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package\n\nconst DARK_MODE_THRESHOLD = 133.3505;\nconst ANYWHERE_SEARCH_POSITION = \"anywhere\";\nconst icInput = \"ic-input\";\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: string } => {\n const attributeObject: { [key: string]: string } = {};\n\n attributes.forEach((attr) => {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = value;\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const dynamicDebounce = (\n func: (...args: unknown[]) => void,\n getDelay: () => number\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n const delay = getDelay();\n clearTimeout(timer);\n timer = setTimeout(func, delay, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean | undefined\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n let input = getHiddenInputElement(container);\n\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.disabled = !!disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : \"\";\n } else {\n input.value = value || \"\";\n }\n }\n};\n\nconst getHiddenInputElement = (container: HTMLElement) =>\n Array.from(\n container.querySelectorAll<HTMLInputElement>(`input.${icInput}`)\n ).filter((el) => container === el.parentElement)[0];\n\n/**\n * This method is used to add a hidden file input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param event: The event that is emitted once a file is selected.\n * @param container The element where the input will be added\n * @param multiple If true, multiple files can be selected\n * @param disabled If true, the input is disabled\n * @param accept A string of the accepted files\n * @param name The name of the input\n * @param value The value of the input\n */\nexport const renderFileHiddenInput = (\n event: EventEmitter,\n container: HTMLElement,\n multiple: boolean,\n disabled: boolean,\n accept?: string,\n name?: string,\n value?: FileList\n): void => {\n if (name !== undefined && hasShadowDom(container)) {\n let input = getHiddenInputElement(container);\n\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.classList.add(icInput);\n container.appendChild(input);\n }\n input.type = \"file\";\n input.hidden = true;\n input.multiple = multiple;\n input.name = name;\n input.disabled = disabled;\n\n if (value) input.files = value;\n if (accept) input.accept = accept;\n\n input.onchange = () => {\n event.emit(input.files);\n };\n input.click();\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n getHiddenInputElement(container)?.remove();\n};\n\nexport const hasShadowDom = (el: HTMLElement | null | undefined): boolean =>\n !!el && !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n el: HTMLElement,\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${\n isSlotUsed(el, \"helper-text\") || helperText\n ? getInputHelperTextID(inputId)\n : \"\"\n } ${validationText ? getInputValidationTextID(inputId) : \"\"}`.trim();\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcBrandForeground depending on the context\n */\nexport const getBrandFromContext = (\n el: Element,\n brandFromEvent: IcBrandForeground | null = null\n): IcBrandForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement?.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcBrandForegroundEnum.Default;\n } else if (\n brandFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return brandFromEvent;\n } else if (\n blockColorParent.classList.contains(\n `${parentTag}-${IcBrandForegroundEnum.Dark}`\n ) ||\n blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)\n ) {\n return IcBrandForegroundEnum.Dark;\n }\n\n return IcBrandForegroundEnum.Light;\n }\n\n return IcBrandForegroundEnum.Default;\n};\n\n/**\n * Checks if the current device is a mobile or tablet device.\n * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.\n */\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator && \"userAgent\" in navigator\n ? navigator.maxTouchPoints > 0 &&\n /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n : false;\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n button.type && hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string | null): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions = ANYWHERE_SEARCH_POSITION,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === ANYWHERE_SEARCH_POSITION\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the brand colour, calculated by using the brand RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-brand-text-color\"\n * @returns number representing the brightness of the brand colour\n */\nexport const getBrandColorBrightness = (): number => {\n const r = getCssProperty(\"--ic-brand-color-primary-r\");\n const g = getCssProperty(\"--ic-brand-color-primary-g\");\n const b = getCssProperty(\"--ic-brand-color-primary-b\");\n return (parseInt(r) * 299 + parseInt(g) * 587 + parseInt(b) * 114) / 1000;\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n * @param brightness - Optional custom brightness value. Defaults to `getBrandColorBrightness`\n */\nexport const getBrandForegroundAppearance = (\n brightness = getBrandColorBrightness()\n): IcBrandForegroundNoDefault =>\n brightness > DARK_MODE_THRESHOLD\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n\nexport const getSlot = (\n element: HTMLElement | undefined,\n name: string\n): Element | null => element?.querySelector(`[slot=\"${name}\"]`) || null;\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n return slot ? getSlotElements(slot) : null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] | null => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent === null) return [slot];\n\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n};\n\nexport const getNavItemParentDetails = ({\n parentElement,\n}: HTMLElement): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n if (parentElement) {\n switch (parentElement.tagName) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: parentElement };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: parentElement };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n }\n\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(\n getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 0\n S: Number(\n getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 576\n M: Number(\n getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 768\n L: Number(\n getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 992\n XL: Number(\n getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")\n ) as IcDeviceSizes, // 1200\n UNDEFINED: 1200,\n};\n\nexport const hasValidationStatus = (\n status?: IcInformationStatusOrEmpty,\n disabled?: boolean\n): boolean => !!status && !disabled;\n\nexport const isSlotUsed = (\n { children }: HTMLElement,\n slotName: string\n): boolean =>\n Array.from(children).some((child) => child.getAttribute(\"slot\") === slotName);\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n props.forEach(({ prop, propName }) => {\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n });\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string =>\n kebabCase\n .toLowerCase()\n .split(\"-\")\n .map((word, index) =>\n index === 0\n ? word\n : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`\n )\n .join(\"\");\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nconst hex2dec = (v: string) => parseInt(v, 16);\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n const hexChars = hex\n .replace(\"#\", \"\")\n .split(\"\")\n .map((char) => char.repeat(2));\n return {\n r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),\n g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),\n b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),\n a: 1,\n };\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === \"a\";\n const rgbValues = rgbaStr\n .substring(isRGBA ? 5 : 4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\")\n .map(Number);\n return {\n r: rgbValues[0],\n g: rgbValues[1],\n b: rgbValues[2],\n a: isRGBA ? rgbValues[3] : 1,\n };\n};\n\nexport const elementOverflowsX = ({\n scrollWidth,\n clientWidth,\n}: HTMLElement): boolean => scrollWidth > clientWidth;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.addEventListener(\"reset\", callbackFn);\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n el.closest(\"FORM\")?.removeEventListener(\"reset\", callbackFn);\n};\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\n/**\n * Removes the disabled attribute from the provided element when its value is set to false.\n * This effectively makes it null, to not confuse screen readers that cannot interpret the false value\n */\nexport const removeDisabledFalse = (\n disabled: boolean | undefined,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean =>\n window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n\nexport const isNumeric = (value: string): boolean => /^-?\\d+$/.test(value);\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const convertToRGBA = (color: IcColor): IcColorRGBA | null => {\n const firstChar = color?.slice(0, 1).toLowerCase();\n return firstChar === \"#\"\n ? hexToRgba(color)\n : firstChar === \"r\"\n ? rgbaStrToObj(color)\n : null;\n};\n\nexport const capitalize = (text: string): string =>\n text.charAt(0).toUpperCase() + text.slice(1);\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string | string[]\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) =>\n Array.isArray(slotName)\n ? slotName.some((name) => (node as Element).slot === name)\n : (node as Element).slot === slotName\n );\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const isElInAGGrid = (el: HTMLElement): boolean =>\n !!el.closest(\".ag-cell\") && !!el.closest(\".ag-root\");\n\nexport const addDataToPosition = (\n dataObject: IcDataTableDataType,\n newKeys: { key: string; index: number }[],\n newValue: unknown\n): IcDataTableDataType => {\n const newData: IcDataTableDataType = {};\n const newIndexes = newKeys.map((key) => key.index);\n\n const keys = Object.keys(dataObject);\n const values = Object.values(dataObject);\n const numberOfKeys = keys.length + newIndexes.length;\n\n for (let i = 0, j = 0; i < numberOfKeys; i++) {\n if (newIndexes.includes(i)) {\n newData[newKeys[newIndexes.indexOf(i)].key] = newValue;\n continue;\n }\n newData[keys[j]] = values[j];\n j++;\n }\n return newData;\n};\n\n/*\n * Checks if the component is slotted in its relevant 'group' component\n * @param component - the component to check\n */\nexport const isSlottedInGroup = (component: HTMLElement): boolean =>\n component.parentElement?.tagName === `${component.tagName}-GROUP`;\n\nexport const hasDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[]\n): boolean =>\n mutationList.some(\n ({ type, addedNodes, removedNodes }) =>\n type === \"childList\" &&\n checkSlotInChildMutations(addedNodes, removedNodes, slotNames)\n );\n\nexport const renderDynamicChildSlots = (\n mutationList: MutationRecord[],\n slotNames: string | string[],\n ref: unknown\n): void => {\n if (hasDynamicChildSlots(mutationList, slotNames)) {\n forceUpdate(ref);\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as a,c as e,h as t,g as i}from"./p-8e4e97b4.js";import{i as c}from"./p-0f22f41e.js";const s='.title-bar-wrapper,.header-container,.description-actions,.action-area,.custom-actions-wrapper{display:flex}.title-bar-wrapper,.action-area,.custom-actions-wrapper{gap:var(--ic-space-xs)}.title-bar-wrapper{flex-direction:column;padding:var(--ic-space-sm) var(--ic-space-xs);border-bottom:var(--ic-space-1px) solid\n var(--ic-data-table-title-bar-keyline);background-color:var(--ic-data-table-title-bar-background)}.full-width{padding:var(--ic-space-sm) 0;border-bottom:none}ic-typography.heading h3{margin:0}ic-typography.ic-typography-subtitle-small{--ic-typography-color:var(--ic-data-table-title-bar-information)}ic-typography.ic-typography-h3,::slotted([slot="header"]){max-width:50rem;color:var(--ic-data-table-title-bar-title);--ic-typography-color:var(--ic-data-table-title-bar-title)}ic-typography.ic-typography-body,::slotted([slot="description"]){color:var(--ic-data-table-title-bar-description);--ic-typography-color:var(--ic-data-table-title-bar-description)}ic-typography.ic-typography-body,ic-typography.ic-typography-subtitle-small,::slotted([slot="description"]){max-width:40rem}.density-input{--input-width:7.625rem}@media (max-width: 1200px){.header-container{flex-direction:column}}@media (min-width: 1201px){.header-container{gap:var(--ic-space-xs);align-items:baseline}}@media (min-width: 769px){.description-actions{justify-content:space-between}}@media (max-width: 768px){.description-actions{flex-direction:column;align-items:flex-start;gap:var(--ic-space-xs)}}@media (min-width: 577px){.action-area{align-items:center}}@media (max-width: 576px){.action-area{flex-direction:column}}';const r=s;const o="Title Bar";const d=class{constructor(t){a(this,t);this.icTableDensityUpdate=e(this,"icTableDensityUpdate",7);this.initialDensitySelectOption="default";this.isEmbedded=false;this.heading=o;this.hideDensitySelect=false;this.changeDensity=a=>{this.icTableDensityUpdate.emit({value:a.detail.value})}}componentWillLoad(){const a=this.el.parentElement;if((a===null||a===void 0?void 0:a.tagName)==="IC-DATA-TABLE"){const{caption:e,density:t,embedded:i}=a;this.initialDensitySelectOption=t;this.isEmbedded=!!i;if(this.heading===o){this.heading=e}}}render(){const{changeDensity:a,description:e,el:i,heading:s,hideDensitySelect:r,initialDensitySelectOption:o,isEmbedded:d,metadata:n}=this;const l=c(i,"primary-action")||c(i,"custom-actions")||!r;const p=c(i,"description")||e;return t("div",{key:"5fed36eefe053b99552ab1b5f414563ccc0bd600",class:{"title-bar-wrapper":true,"full-width":d}},t("div",{key:"41187b445efea1b952f2c368a3b84d6b2c32c41d",class:"header-container"},t("slot",{key:"247c5cb0c86c364243af56b39c7783d7fb315662",name:"heading"},t("ic-typography",{key:"783cc7bc17832f97dc0ff7754522954a616536a8",variant:"h3",class:"heading"},t("h3",{key:"7d91bbbca709d681ddedf06b9991917f4d270c70"},s))),n&&t("ic-typography",{key:"75876fc62e9355081102738472d7a78c76a4d01b",variant:"subtitle-small"},n)),(l||p)&&t("div",{key:"d854eda15df61532f4ec00e452b50c1d533459b4",class:"description-actions"},t("slot",{key:"465dee9d3e4c0998884c94240a4c3d2d7569bebf",name:"description"},e&&t("ic-typography",{key:"c01974890d94eea17ba96f9dbde53d2640c8d96a",variant:"body"},e)),l&&t("div",{key:"23a28180c5b1dbdc83ec411a1af66f9254e1d8e0",class:"action-area"},c(i,"custom-actions")&&t("div",{key:"6129e25beae17cd9ca4a86085c78591828baf019",class:"custom-actions-wrapper"},t("slot",{key:"18261c5784310b9fbb7f163e0046fd22e7a3bab4",name:"custom-actions"})),!r&&t("ic-select",{key:"991067453a887c7c93c68f6498fae1ee3b90c050",size:"small",label:"Change density",class:"density-input",hideLabel:true,options:[{label:"Default",value:"default"},{label:"Dense",value:"dense"},{label:"Spacious",value:"spacious"}],value:o,onIcChange:a}),c(i,"primary-action")&&t("slot",{key:"58029483710125c347e4eab0cb0eba7e5a9b6f7b",name:"primary-action"}))))}get el(){return i(this)}};d.style=r;export{d as ic_data_table_title_bar};
2
- //# sourceMappingURL=p-1ca62941.entry.js.map
1
+ import{r as a,c as e,h as t,g as i}from"./p-8e4e97b4.js";import{i as c}from"./p-f48ce5f6.js";const s='.title-bar-wrapper,.header-container,.description-actions,.action-area,.custom-actions-wrapper{display:flex}.title-bar-wrapper,.action-area,.custom-actions-wrapper{gap:var(--ic-space-xs)}.title-bar-wrapper{flex-direction:column;padding:var(--ic-space-sm) var(--ic-space-xs);border-bottom:var(--ic-space-1px) solid\n var(--ic-data-table-title-bar-keyline);background-color:var(--ic-data-table-title-bar-background)}.full-width{padding:var(--ic-space-sm) 0;border-bottom:none}ic-typography.heading h3{margin:0}ic-typography.ic-typography-subtitle-small{--ic-typography-color:var(--ic-data-table-title-bar-information)}ic-typography.ic-typography-h3,::slotted([slot="header"]){max-width:50rem;color:var(--ic-data-table-title-bar-title);--ic-typography-color:var(--ic-data-table-title-bar-title)}ic-typography.ic-typography-body,::slotted([slot="description"]){color:var(--ic-data-table-title-bar-description);--ic-typography-color:var(--ic-data-table-title-bar-description)}ic-typography.ic-typography-body,ic-typography.ic-typography-subtitle-small,::slotted([slot="description"]){max-width:40rem}.density-input{--input-width:7.625rem}@media (max-width: 1200px){.header-container{flex-direction:column}}@media (min-width: 1201px){.header-container{gap:var(--ic-space-xs);align-items:baseline}}@media (min-width: 769px){.description-actions{justify-content:space-between}}@media (max-width: 768px){.description-actions{flex-direction:column;align-items:flex-start;gap:var(--ic-space-xs)}}@media (min-width: 577px){.action-area{align-items:center}}@media (max-width: 576px){.action-area{flex-direction:column}}';const r=s;const o="Title Bar";const d=class{constructor(t){a(this,t);this.icTableDensityUpdate=e(this,"icTableDensityUpdate",7);this.initialDensitySelectOption="default";this.isEmbedded=false;this.heading=o;this.hideDensitySelect=false;this.changeDensity=a=>{this.icTableDensityUpdate.emit({value:a.detail.value})}}componentWillLoad(){const a=this.el.parentElement;if((a===null||a===void 0?void 0:a.tagName)==="IC-DATA-TABLE"){const{caption:e,density:t,embedded:i}=a;this.initialDensitySelectOption=t;this.isEmbedded=!!i;if(this.heading===o){this.heading=e}}}render(){const{changeDensity:a,description:e,el:i,heading:s,hideDensitySelect:r,initialDensitySelectOption:o,isEmbedded:d,metadata:n}=this;const l=c(i,"primary-action")||c(i,"custom-actions")||!r;const p=c(i,"description")||e;return t("div",{key:"45a83555d5e50daec9511e27c598871edd1d658b",class:{"title-bar-wrapper":true,"full-width":d}},t("div",{key:"03efff1125a796185171c04f9470455436ed1b88",class:"header-container"},t("slot",{key:"9b7094400d371cfe756afeff6247d89be77712b3",name:"heading"},t("ic-typography",{key:"a46421c776eadf0785f19b0c4b4bd708de2cbd1f",variant:"h3",class:"heading"},t("h3",{key:"3e4c879fc68616da58b1bf4e3a894adbd3493937"},s))),n&&t("ic-typography",{key:"ff42b249b42f0ffc5a5e3ecabb4b5135e26f6ca2",variant:"subtitle-small"},n)),(l||p)&&t("div",{key:"31c4cd134dbf8cebdcec7c47bd21970a4142c0ca",class:"description-actions"},t("slot",{key:"e69dde4f2143dae9c44d0da6653cbb0c4de8e29b",name:"description"},e&&t("ic-typography",{key:"2ea962b509afdca9c6a196243816343abb2c42e7",variant:"body"},e)),l&&t("div",{key:"6ea660837748344730a355e5359081cd6bc080cb",class:"action-area"},c(i,"custom-actions")&&t("div",{key:"e68d5885acb3273d55566799c66b5dcdb96c1c8b",class:"custom-actions-wrapper"},t("slot",{key:"e16dad2da2d90e67eac973fd35a3be5169a6a96e",name:"custom-actions"})),!r&&t("ic-select",{key:"7424b3cc8792657a50ecf47f54551a2327203f66",size:"small",label:"Change density",class:"density-input",hideLabel:true,options:[{label:"Default",value:"default"},{label:"Dense",value:"dense"},{label:"Spacious",value:"spacious"}],value:o,onIcChange:a}),c(i,"primary-action")&&t("slot",{key:"2f342f77bc425e6e1211633307cb838e4c5037bf",name:"primary-action"}))))}get el(){return i(this)}};d.style=r;export{d as ic_data_table_title_bar};
2
+ //# sourceMappingURL=p-f5cea10d.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as t,H as i,g as r}from"./p-8e4e97b4.js";import{n as a,g as n,f as c,h as s,a as d,i as l,q as f,I as b}from"./p-e4ef4263.js";const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-dark){--ic-footer-background:var(--ic-brand-color-secondary-light);--ic-footer-bottom-background:var(--ic-brand-color-tertiary-light);--ic-footer-keyline:var(--ic-state-layer-darken-20);--ic-footer-text:var(--ic-color-text-primary-light);--ic-footer-link:var(--ic-color-text-primary-light);--ic-footer-icon:var(--ic-color-icon-neutral);--ic-footer-chevron-icon:var(--ic-color-icon-neutral);--ic-footer-logo:var(--ic-color-icon-neutral);--ic-footer-hover:var(--ic-architectural-700-state-layer-10);--ic-footer-pressed:var(--ic-architectural-700-state-layer-20)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--ic-footer-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text);border-bottom:var(--ic-space-1px) solid var(--ic-footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--ic-footer-background);color:var(--ic-footer-link);--ic-typography-color:var(--ic-footer-link)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--ic-footer-bottom-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const m=p;const g=class{constructor(t){e(this,t);this.footerResized=o(this,"footerResized",7);this.resizeObserver=null;this.hostMutationObserver=null;this.deviceSize=a.XL;this.foregroundColor=n();this.aligned="left";this.breakpoint="medium";this.copyright=true;this.groupLinks=false;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{if(this.footerEl){this.resizeObserver=new ResizeObserver((()=>{const e=c();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)}}}disconnectedCallback(){var e;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.deviceSize=c()}componentDidLoad(){s(this.runResizeObserver);this.hostMutationObserver=new MutationObserver((e=>d(e,"link",this)));this.hostMutationObserver.observe(this.el,{childList:true})}brandChangeHandler(e){this.foregroundColor=e.detail.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:o,copyright:r,description:n,deviceSize:c,el:s,foregroundColor:d,groupLinks:p}=this;const m=this.isSmall();const g=l(s,"logo")||l(s,"caption")||o||r;return t(i,{key:"5e9f3b92157b9ffa5fc6e2dbe8f8a5c6a63a6237",class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${p?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${d}`]:true,[`ic-footer-${b.Dark}`]:d===b.Dark,[`ic-footer-${b.Light}`]:d===b.Light}},t("footer",{key:"cfae5dcdd5a431bba915b83e5ef2ae2347d5bb6d",ref:e=>this.footerEl=e},(l(s,"description")||n)&&t("div",{key:"9f960b8fcae0e3281b177bcfe1adf365657406dc",class:"footer-description"},t("ic-section-container",{key:"49455d77e8d5e9e8a1199dc0dcc00226291e9adc",aligned:e,fullHeight:true},t("div",{key:"dab1fa34ca43acd9ff4c354f324c7c426d53c77b",class:"footer-description-inner"},t("ic-typography",{key:"484158672386c4fed447390ab0d92bfd759a9272",variant:"body"},t("slot",{key:"4a500553fd0f76a8d4f7ef8410dbd927896561b1",name:"description"},n))))),l(s,"link")&&t("div",{key:"ed8613714e2bf4d79cd062f55f2b716d3e0cd304",class:"footer-links"},p&&m?t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})):t("ic-section-container",{fullHeight:true,aligned:e},t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})))),g&&t("div",{key:"c3876f5fa89d39f28e64db1bc0fca90978102a01",class:"footer-compliance"},t("ic-section-container",{key:"3e169ea49bcd2698b84c58f8105b0915777d8bf3",aligned:e,fullHeight:true},t("div",{key:"9cfaa13eb736d3aa44b15db43221bf28bf4deb57",class:"footer-compliance-inner"},l(s,"logo")&&t("div",{key:"853fdedd70405ebb2e96cec2adc6407e5ed11538",class:"footer-logo"},t("slot",{key:"4eaaad7a4f17cd51cbdab414cdbadf3096891d38",name:"logo"})),(l(s,"caption")||o)&&t("div",{key:"44a611218c4ea0f494df1551ecb26a8687d57a95",class:"footer-caption"},t("ic-typography",{key:"b970144c7d85b7e05e319233be68cc91ef2d0476",variant:c<=a.M?"caption":"body"},t("slot",{key:"512d173a680ddd65b3583bada7530aa67d3f1f98",name:"caption"},o))),r&&t("div",{key:"604ac3c72ae99883f27fdb609202782f6069bfde",class:{["footer-copyright"]:true,["classification-spacing"]:f()}},t("ic-typography",{key:"144bbc0144a865f8a55a1df5606cea9dfa87b5e8",variant:c<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};g.style=m;export{g as ic_footer};
2
- //# sourceMappingURL=p-ffbf493f.entry.js.map
1
+ import{r as e,c as o,h as t,H as i,g as r}from"./p-8e4e97b4.js";import{n as a,g as n,f as c,h as s,a as l,i as d,q as f,I as b}from"./p-e4ef4263.js";const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-dark){--ic-footer-background:var(--ic-brand-color-secondary-light);--ic-footer-bottom-background:var(--ic-brand-color-tertiary-light);--ic-footer-keyline:var(--ic-state-layer-darken-20);--ic-footer-text:var(--ic-color-text-primary-light);--ic-footer-link:var(--ic-color-text-primary-light);--ic-footer-icon:var(--ic-color-icon-neutral);--ic-footer-chevron-icon:var(--ic-color-icon-neutral);--ic-footer-logo:var(--ic-color-icon-neutral);--ic-footer-hover:var(--ic-architectural-700-state-layer-10);--ic-footer-pressed:var(--ic-architectural-700-state-layer-20)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--ic-footer-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text);border-bottom:var(--ic-space-1px) solid var(--ic-footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--ic-footer-background);color:var(--ic-footer-link);--ic-typography-color:var(--ic-footer-link)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--ic-footer-bottom-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const m=p;const g=class{constructor(t){e(this,t);this.footerResized=o(this,"footerResized",7);this.resizeObserver=null;this.hostMutationObserver=null;this.deviceSize=a.XL;this.foregroundColor=n();this.aligned="left";this.breakpoint="medium";this.copyright=true;this.copyrightText="© Crown Copyright";this.groupLinks=false;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{if(this.footerEl){this.resizeObserver=new ResizeObserver((()=>{const e=c();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)}}}disconnectedCallback(){var e;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.deviceSize=c()}componentDidLoad(){s(this.runResizeObserver);this.hostMutationObserver=new MutationObserver((e=>l(e,"link",this)));this.hostMutationObserver.observe(this.el,{childList:true})}brandChangeHandler(e){this.foregroundColor=e.detail.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:o,copyright:r,copyrightText:n,description:c,deviceSize:s,el:l,foregroundColor:p,groupLinks:m}=this;const g=this.isSmall();const h=d(l,"logo")||d(l,"caption")||o||r;return t(i,{key:"6d91277fef5b4a25ebc1300c5f6c9697f7cf51db",class:{["ic-footer"]:true,[`ic-footer-${g?"small":"sparse"}`]:true,[`ic-footer-${m?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${p}`]:true,[`ic-footer-${b.Dark}`]:p===b.Dark,[`ic-footer-${b.Light}`]:p===b.Light}},t("footer",{key:"ff497893502821b501404631d81a6c43282b1b36",ref:e=>this.footerEl=e},(d(l,"description")||c)&&t("div",{key:"f8d674674bba8dc6570a7352e943ba8ce97ef666",class:"footer-description"},t("ic-section-container",{key:"d1c80f2b82c740b0ae5b3bfe55a42aa81ef631c9",aligned:e,fullHeight:true},t("div",{key:"669b78285fb7274a0f36ad4ffca2e6527bc7ee8f",class:"footer-description-inner"},t("ic-typography",{key:"0ef8cbc1311b48cfdc9fb0031802dfb3672e1bc0",variant:"body"},t("slot",{key:"3ea6f48d56500f8ee7711e53c4c4794c5c06bc84",name:"description"},c))))),d(l,"link")&&t("div",{key:"3790b13ae7b820882d92d866ab946749f83515dc",class:"footer-links"},m&&g?t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})):t("ic-section-container",{fullHeight:true,aligned:e},t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})))),h&&t("div",{key:"bd4f9da66406e7587aadab57768e0f00d176f5f2",class:"footer-compliance"},t("ic-section-container",{key:"4b760604abdeb1096927ca72d8b8c53ab2128ea9",aligned:e,fullHeight:true},t("div",{key:"63f1d4b0009cf34f4f4492851f17653f2f2dba84",class:"footer-compliance-inner"},d(l,"logo")&&t("div",{key:"9b8f9f9983db8f0f8642e79e20906e337c7cf57d",class:"footer-logo"},t("slot",{key:"faac7b5562c641bbb700514007e3ee6702e155df",name:"logo"})),(d(l,"caption")||o)&&t("div",{key:"a388c6b1549d5a5516e94f872ecb538f15b1102f",class:"footer-caption"},t("ic-typography",{key:"7e8a8e10983d31235ed8d90919d673f74d13bccb",variant:s<=a.M?"caption":"body"},t("slot",{key:"81152b67972243451c8e9b3c05b1e79d5ce1b7f1",name:"caption"},o))),r&&t("div",{key:"8f6480deac3ac1a31c0ad0e4a250c35cb07917eb",class:{["footer-copyright"]:true,["classification-spacing"]:f()}},t("ic-typography",{key:"e119f8f68ad5dc19a9e1020f8fabb52397fd0394",variant:s<=a.M?"caption-uppercase":"label-uppercase"},n)))))))}get el(){return r(this)}};g.style=m;export{g as ic_footer};
2
+ //# sourceMappingURL=p-fd20470e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icFooterCss","IcFooterStyle0","Footer","constructor","hostRef","this","resizeObserver","hostMutationObserver","deviceSize","IC_DEVICE_SIZES","XL","foregroundColor","getBrandForegroundAppearance","aligned","breakpoint","copyright","copyrightText","groupLinks","resizeObserverCallback","currSize","footerResized","emit","runResizeObserver","footerEl","ResizeObserver","getCurrentDeviceSize","observe","disconnectedCallback","_a","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","MutationObserver","mutationList","renderDynamicChildSlots","el","childList","brandChangeHandler","ev","detail","mode","isSmall","bp","XS","S","M","L","render","caption","description","small","showComplianceSection","isSlotUsed","h","Host","key","class","IcBrandForegroundEnum","Dark","Light","ref","fullHeight","variant","name","role","hasClassificationBanner"],"sources":["../web-components/dist/collection/components/ic-footer/ic-footer.css?tag=ic-footer&encapsulation=shadow","../web-components/dist/collection/components/ic-footer/ic-footer.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: block;\n\n --footer-compliance-padding: 1rem 0;\n}\n\n:host(.ic-footer-sparse) {\n --footer-links-padding: 1.5rem 0;\n --footer-logo-margin-bottom: calc(var(--ic-space-md) + var(--ic-space-xxs));\n --footer-link-inner-flex-direction: row;\n}\n\n:host(.ic-footer-small) {\n --footer-links-padding: 0 0;\n --footer-logo-margin-bottom: var(--ic-space-md);\n --footer-link-inner-flex-direction: column;\n}\n\n:host(.ic-footer-foreground-dark) {\n --ic-footer-background: var(--ic-brand-color-secondary-light);\n --ic-footer-bottom-background: var(--ic-brand-color-tertiary-light);\n --ic-footer-keyline: var(--ic-state-layer-darken-20);\n --ic-footer-text: var(--ic-color-text-primary-light);\n --ic-footer-link: var(--ic-color-text-primary-light);\n --ic-footer-icon: var(--ic-color-icon-neutral);\n --ic-footer-chevron-icon: var(--ic-color-icon-neutral);\n --ic-footer-logo: var(--ic-color-icon-neutral);\n --ic-footer-hover: var(--ic-architectural-700-state-layer-10);\n --ic-footer-pressed: var(--ic-architectural-700-state-layer-20);\n}\n\n:host(.ic-footer-small.ic-footer-ungrouped) {\n --footer-links-padding: var(--ic-space-md) 0 0 0;\n}\n\n/* Main inner footer element */\nfooter {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Description */\n\n.footer-description {\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n\n border-bottom: var(--ic-space-1px) solid var(--ic-footer-keyline);\n}\n\n.footer-description-inner {\n padding: 1rem 0;\n}\n\n/* Links */\n\n.footer-links {\n padding: var(--footer-links-padding);\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-link);\n\n --ic-typography-color: var(--ic-footer-link);\n}\n\n.footer-links-inner {\n display: flex;\n flex-direction: var(--footer-link-inner-flex-direction);\n}\n\n/* Compliance */\n\n.footer-compliance {\n background-color: var(--ic-footer-bottom-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n}\n\n.footer-compliance-inner {\n padding: var(--footer-compliance-padding);\n}\n\n.footer-logo {\n margin-bottom: var(--footer-logo-margin-bottom);\n display: flex;\n gap: var(--ic-space-xxl);\n}\n\n.footer-logo > ::slotted() {\n margin-right: var(--ic-space-md);\n}\n\n.footer-caption {\n margin-bottom: var(--ic-space-md);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n@media (forced-colors: active) {\n footer {\n border-top: var(--ic-border-hc);\n }\n}\n","import { h, Host, } from \"@stencil/core\";\nimport { IC_DEVICE_SIZES } from \"../../utils/constants\";\nimport { getCurrentDeviceSize, getBrandForegroundAppearance, checkResizeObserver, hasClassificationBanner, isSlotUsed, renderDynamicChildSlots, } from \"../../utils/helpers\";\nimport { IcBrandForegroundEnum, } from \"../../utils/types\";\n/**\n * @slot description - Content will be rendered at the top of the footer.\n * @slot link - Content will be rendered between description and logos.\n * @slot logo - Content will be rendered underneath footer links.\n * @slot caption - Content will be rendered above Crown Copyright.\n */\nexport class Footer {\n constructor() {\n this.resizeObserver = null;\n this.hostMutationObserver = null;\n this.deviceSize = IC_DEVICE_SIZES.XL;\n this.foregroundColor = getBrandForegroundAppearance();\n /**\n * The alignment of the section containers used within the footer.\n */\n this.aligned = \"left\";\n /**\n * The screen size breakpoint at which to switch to the small layout.\n */\n this.breakpoint = \"medium\";\n /**\n * If `true`, the footer will display the crown copyright at the bottom.\n */\n this.copyright = true;\n /**\n * The text displayed for the copyright notice if `copyright` is `true`.\n */\n this.copyrightText = \"© Crown Copyright\";\n /**\n * If `true`, the footer will be set up to handle link groups instead of standalone links.\n */\n this.groupLinks = false;\n this.resizeObserverCallback = (currSize) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n this.footerResized.emit();\n };\n this.runResizeObserver = () => {\n if (this.footerEl) {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n this.resizeObserver.observe(this.footerEl);\n }\n };\n }\n disconnectedCallback() {\n var _a;\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentWillLoad() {\n this.deviceSize = getCurrentDeviceSize();\n }\n componentDidLoad() {\n checkResizeObserver(this.runResizeObserver);\n this.hostMutationObserver = new MutationObserver((mutationList) => {\n return renderDynamicChildSlots(mutationList, \"link\", this);\n });\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n brandChangeHandler(ev) {\n this.foregroundColor = ev.detail.mode;\n }\n isSmall() {\n const bp = this.breakpoint;\n return bp === \"extra small\"\n ? this.deviceSize < IC_DEVICE_SIZES.XS\n : bp === \"small\"\n ? this.deviceSize < IC_DEVICE_SIZES.S\n : bp === \"medium\"\n ? this.deviceSize < IC_DEVICE_SIZES.M\n : bp === \"large\"\n ? this.deviceSize < IC_DEVICE_SIZES.L\n : bp === \"extra large\"\n ? this.deviceSize < IC_DEVICE_SIZES.XL\n : false;\n }\n render() {\n const { aligned, caption, copyright, copyrightText, description, deviceSize, el, foregroundColor, groupLinks, } = this;\n const small = this.isSmall();\n const showComplianceSection = isSlotUsed(el, \"logo\") ||\n isSlotUsed(el, \"caption\") ||\n caption ||\n copyright;\n return (h(Host, { key: '6d91277fef5b4a25ebc1300c5f6c9697f7cf51db', class: {\n [\"ic-footer\"]: true,\n [`ic-footer-${small ? \"small\" : \"sparse\"}`]: true,\n [`ic-footer-${groupLinks ? \"grouped\" : \"ungrouped\"}`]: true,\n [`ic-footer-foreground-${foregroundColor}`]: true,\n // Slots will be able to infer their own color\n [`ic-footer-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-footer-${IcBrandForegroundEnum.Light}`]: foregroundColor === IcBrandForegroundEnum.Light,\n } }, h(\"footer\", { key: 'ff497893502821b501404631d81a6c43282b1b36', ref: (el) => (this.footerEl = el) }, (isSlotUsed(el, \"description\") || description) && (h(\"div\", { key: 'f8d674674bba8dc6570a7352e943ba8ce97ef666', class: \"footer-description\" }, h(\"ic-section-container\", { key: 'd1c80f2b82c740b0ae5b3bfe55a42aa81ef631c9', aligned: aligned, fullHeight: true }, h(\"div\", { key: '669b78285fb7274a0f36ad4ffca2e6527bc7ee8f', class: \"footer-description-inner\" }, h(\"ic-typography\", { key: '0ef8cbc1311b48cfdc9fb0031802dfb3672e1bc0', variant: \"body\" }, h(\"slot\", { key: '3ea6f48d56500f8ee7711e53c4c4794c5c06bc84', name: \"description\" }, description)))))), isSlotUsed(el, \"link\") && (h(\"div\", { key: '3790b13ae7b820882d92d866ab946749f83515dc', class: \"footer-links\" }, groupLinks && small ? (h(\"div\", { class: \"footer-links-inner\", role: \"list\" }, h(\"slot\", { name: \"link\" }))) : (h(\"ic-section-container\", { fullHeight: true, aligned: aligned }, h(\"div\", { class: \"footer-links-inner\", role: \"list\" }, h(\"slot\", { name: \"link\" })))))), showComplianceSection && (h(\"div\", { key: 'bd4f9da66406e7587aadab57768e0f00d176f5f2', class: \"footer-compliance\" }, h(\"ic-section-container\", { key: '4b760604abdeb1096927ca72d8b8c53ab2128ea9', aligned: aligned, fullHeight: true }, h(\"div\", { key: '63f1d4b0009cf34f4f4492851f17653f2f2dba84', class: \"footer-compliance-inner\" }, isSlotUsed(el, \"logo\") && (h(\"div\", { key: '9b8f9f9983db8f0f8642e79e20906e337c7cf57d', class: \"footer-logo\" }, h(\"slot\", { key: 'faac7b5562c641bbb700514007e3ee6702e155df', name: \"logo\" }))), (isSlotUsed(el, \"caption\") || caption) && (h(\"div\", { key: 'a388c6b1549d5a5516e94f872ecb538f15b1102f', class: \"footer-caption\" }, h(\"ic-typography\", { key: '7e8a8e10983d31235ed8d90919d673f74d13bccb', variant: deviceSize <= IC_DEVICE_SIZES.M ? \"caption\" : \"body\" }, h(\"slot\", { key: '81152b67972243451c8e9b3c05b1e79d5ce1b7f1', name: \"caption\" }, caption)))), copyright && (h(\"div\", { key: '8f6480deac3ac1a31c0ad0e4a250c35cb07917eb', class: {\n [\"footer-copyright\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n } }, h(\"ic-typography\", { key: 'e119f8f68ad5dc19a9e1020f8fabb52397fd0394', variant: deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption-uppercase\"\n : \"label-uppercase\" }, copyrightText))))))))));\n }\n static get is() { return \"ic-footer\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-footer.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-footer.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"full-width\\\" | \\\"left\\\" | undefined\",\n \"references\": {\n \"IcAlignment\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the section containers used within the footer.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"breakpoint\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcFooterBreakpoints\",\n \"resolved\": \"\\\"extra large\\\" | \\\"extra small\\\" | \\\"large\\\" | \\\"medium\\\" | \\\"small\\\" | undefined\",\n \"references\": {\n \"IcFooterBreakpoints\": {\n \"location\": \"import\",\n \"path\": \"./ic-footer.types\",\n \"id\": \"src/components/ic-footer/ic-footer.types.tsx::IcFooterBreakpoints\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The screen size breakpoint at which to switch to the small layout.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"breakpoint\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"caption\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The caption displayed at the bottom of the footer.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"caption\",\n \"reflect\": false\n },\n \"copyright\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the footer will display the crown copyright at the bottom.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"copyright\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"copyrightText\": {\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 text displayed for the copyright notice if `copyright` is `true`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"copyright-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\u00A9 Crown Copyright\\\"\"\n },\n \"description\": {\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 description displayed at the top of the footer.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"description\",\n \"reflect\": false\n },\n \"groupLinks\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the footer will be set up to handle link groups instead of standalone links.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"group-links\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"foregroundColor\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"footerResized\",\n \"name\": \"footerResized\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Triggers on page resize and triggers style changes in footer links and link groups\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-footer.js.map\n"],"mappings":"qJAAA,MAAMA,EAAc,47IACpB,MAAAC,EAAeD,E,MCSFE,EAAM,MACf,WAAAC,CAAAC,G,uDACIC,KAAKC,eAAiB,KACtBD,KAAKE,qBAAuB,KAC5BF,KAAKG,WAAaC,EAAgBC,GAClCL,KAAKM,gBAAkBC,IAIvBP,KAAKQ,QAAU,OAIfR,KAAKS,WAAa,SAIlBT,KAAKU,UAAY,KAIjBV,KAAKW,cAAgB,oBAIrBX,KAAKY,WAAa,MAClBZ,KAAKa,uBAA0BC,IAC3B,GAAIA,IAAad,KAAKG,WAAY,CAC9BH,KAAKG,WAAaW,C,CAEtBd,KAAKe,cAAcC,MAAM,EAE7BhB,KAAKiB,kBAAoB,KACrB,GAAIjB,KAAKkB,SAAU,CACflB,KAAKC,eAAiB,IAAIkB,gBAAe,KACrC,MAAML,EAAWM,IACjBpB,KAAKa,uBAAuBC,EAAS,IAEzCd,KAAKC,eAAeoB,QAAQrB,KAAKkB,S,GAI7C,oBAAAI,GACI,IAAIC,EACJ,GAAIvB,KAAKC,iBAAmB,KAAM,CAC9BD,KAAKC,eAAeuB,Y,EAEvBD,EAAKvB,KAAKE,wBAA0B,MAAQqB,SAAY,OAAS,EAAIA,EAAGC,Y,CAE7E,iBAAAC,GACIzB,KAAKG,WAAaiB,G,CAEtB,gBAAAM,GACIC,EAAoB3B,KAAKiB,mBACzBjB,KAAKE,qBAAuB,IAAI0B,kBAAkBC,GACvCC,EAAwBD,EAAc,OAAQ7B,QAEzDA,KAAKE,qBAAqBmB,QAAQrB,KAAK+B,GAAI,CACvCC,UAAW,M,CAGnB,kBAAAC,CAAmBC,GACflC,KAAKM,gBAAkB4B,EAAGC,OAAOC,I,CAErC,OAAAC,GACI,MAAMC,EAAKtC,KAAKS,WAChB,OAAO6B,IAAO,cACRtC,KAAKG,WAAaC,EAAgBmC,GAClCD,IAAO,QACHtC,KAAKG,WAAaC,EAAgBoC,EAClCF,IAAO,SACHtC,KAAKG,WAAaC,EAAgBqC,EAClCH,IAAO,QACHtC,KAAKG,WAAaC,EAAgBsC,EAClCJ,IAAO,cACHtC,KAAKG,WAAaC,EAAgBC,GAClC,K,CAE1B,MAAAsC,GACI,MAAMnC,QAAEA,EAAOoC,QAAEA,EAAOlC,UAAEA,EAASC,cAAEA,EAAakC,YAAEA,EAAW1C,WAAEA,EAAU4B,GAAEA,EAAEzB,gBAAEA,EAAeM,WAAEA,GAAgBZ,KAClH,MAAM8C,EAAQ9C,KAAKqC,UACnB,MAAMU,EAAwBC,EAAWjB,EAAI,SACzCiB,EAAWjB,EAAI,YACfa,GACAlC,EACJ,OAAQuC,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAO,CAClE,CAAC,aAAc,KACf,CAAC,aAAaN,EAAQ,QAAU,YAAa,KAC7C,CAAC,aAAalC,EAAa,UAAY,eAAgB,KACvD,CAAC,wBAAwBN,KAAoB,KAE7C,CAAC,aAAa+C,EAAsBC,QAAShD,IAAoB+C,EAAsBC,KACvF,CAAC,aAAaD,EAAsBE,SAAUjD,IAAoB+C,EAAsBE,QACvFN,EAAE,SAAU,CAAEE,IAAK,2CAA4CK,IAAMzB,GAAQ/B,KAAKkB,SAAWa,IAAQiB,EAAWjB,EAAI,gBAAkBc,IAAiBI,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,sBAAwBH,EAAE,uBAAwB,CAAEE,IAAK,2CAA4C3C,QAASA,EAASiD,WAAY,MAAQR,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,4BAA8BH,EAAE,gBAAiB,CAAEE,IAAK,2CAA4CO,QAAS,QAAUT,EAAE,OAAQ,CAAEE,IAAK,2CAA4CQ,KAAM,eAAiBd,OAAmBG,EAAWjB,EAAI,SAAYkB,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,gBAAkBxC,GAAckC,EAASG,EAAE,MAAO,CAAEG,MAAO,qBAAsBQ,KAAM,QAAUX,EAAE,OAAQ,CAAEU,KAAM,UAAeV,EAAE,uBAAwB,CAAEQ,WAAY,KAAMjD,QAASA,GAAWyC,EAAE,MAAO,CAAEG,MAAO,qBAAsBQ,KAAM,QAAUX,EAAE,OAAQ,CAAEU,KAAM,YAAgBZ,GAA0BE,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,qBAAuBH,EAAE,uBAAwB,CAAEE,IAAK,2CAA4C3C,QAASA,EAASiD,WAAY,MAAQR,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,2BAA6BJ,EAAWjB,EAAI,SAAYkB,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,eAAiBH,EAAE,OAAQ,CAAEE,IAAK,2CAA4CQ,KAAM,WAAcX,EAAWjB,EAAI,YAAca,IAAaK,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,kBAAoBH,EAAE,gBAAiB,CAAEE,IAAK,2CAA4CO,QAASvD,GAAcC,EAAgBqC,EAAI,UAAY,QAAUQ,EAAE,OAAQ,CAAEE,IAAK,2CAA4CQ,KAAM,WAAaf,KAAalC,GAAcuC,EAAE,MAAO,CAAEE,IAAK,2CAA4CC,MAAO,CACh8D,CAAC,oBAAqB,KACtB,CAAC,0BAA2BS,MAC3BZ,EAAE,gBAAiB,CAAEE,IAAK,2CAA4CO,QAASvD,GAAcC,EAAgBqC,EAC5G,oBACA,mBAAqB9B,Q","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as e,H as o,g as n}from"./p-8e4e97b4.js";import{D as a,g as s,f as r,w as d}from"./p-e4ef4263.js";import{C as h}from"./p-170ddfc2.js";const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}#nav-group-title{text-wrap:nowrap}:host(.in-side-menu) #nav-group-title{text-wrap:wrap}:host(.ic-navigation-group-side-nav) #nav-group-title{text-wrap:wrap}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);height:-moz-fit-content;height:fit-content;min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}';const c=p;const u="ic-navigation-item";const l=100;const g="IC-NAVIGATION-GROUP";const v=class{constructor(o){i(this,o);this.navigationGroupOpened=t(this,"navigationGroupOpened",7);this.navigationGroupExpanded=t(this,"navigationGroupExpanded",7);this.allGroupedNavigationItemHeights="";this.collapsedNavItemsHeight=null;this.expandedNavItemsHeight=null;this.mouseGate=false;this.deviceSize=a.XL;this.dropdownOpen=false;this.focusStyle=s();this.inTopNavSideMenu=false;this.isSideNavExpanded=false;this.expandable=false;this.expanded=true;this.theme="inherit";this.sideNavExpandHandler=i=>{this.isSideNavExpanded=i.detail.sideNavExpanded;if(!this.linkWrapper||!this.expanded)return;const t=this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight;if(t){this.setGroupedLinksElementHeight(t)}else{setTimeout((()=>{if(this.isSideNavExpanded){this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights}else{this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights}this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}};this.topNavResizedHandler=({detail:{size:i}})=>{var t;if(i===this.deviceSize)return;this.deviceSize=i;this.inTopNavSideMenu=i<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||a.L)};this.toggleExpanded=()=>{this.expanded=!this.expanded;if(!this.linkWrapper)return;this.setGroupedLinksElementHeight(!this.expanded?"0":this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight);this.el.querySelectorAll(u).forEach((i=>{var t;const e=((t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector("a"))||i.querySelector("a");e===null||e===void 0?void 0:e.setAttribute("tabindex",this.expanded?"0":"-1")}))};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{if(!this.el.contains(i.relatedTarget)){this.hideDropdown()}};this.handleKeydown=i=>{const{key:t}=i;if(t!=="Enter"&&t!==" "&&t!=="Escape")return;switch(this.navigationType){case"top":if(t===" "||t==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu){this.hideDropdown()}break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(this.el.contains(t)||t===this.dropdown||this.el.contains(document.activeElement))return;if(document.activeElement!==this.el&&(t===null||t===void 0?void 0:t.nodeName)===g&&this.dropdownOpen){this.mouseGate=true;this.hideDropdown()}else{this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if((t===null||t===void 0?void 0:t.nodeName)===g&&this.mouseGate){this.showDropdown()}else if(!this.dropdownOpen&&!this.mouseGate){this.mouseGate=true;setTimeout((()=>{if(this.mouseGate)this.showDropdown()}),500)}};this.renderGroupTitleText=()=>e("ic-typography",{id:"nav-group-title",variant:this.navigationType==="side"?"caption":"label"},this.label);this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return e("div",{class:{[this.inTopNavSideMenu?"navigation-group-dropdown-side-menu":"navigation-group-dropdown"]:true,selected:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:undefined,ref:i=>this.dropdown=i},e("nav",{class:{"navigation-group-dropdown-items":!this.inTopNavSideMenu},"aria-labelledby":"nav-group-title"},e("ul",null,e("slot",null))))}if(this.navigationType!=="top"){return e("ul",{ref:i=>this.linkWrapper=i,class:"grouped-links-wrapper"},e("slot",null))}return null};this.setGroupedLinksElementHeight=i=>{var t;(t=this.linkWrapper)===null||t===void 0?void 0:t.style.setProperty("--navigation-child-items-height",i)}}disconnectedCallback(){var i,t;if(this.navigationType==="side"){(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)}}componentWillLoad(){var i,t;this.deviceSize=r();const{navType:e,parent:o}=d(this.el);this.navigationType=e;this.parentEl=o;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icTopNavResized",this.topNavResizedHandler);if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}}componentDidLoad(){this.allGroupedNavigationItemHeights=`${Array.from(this.el.querySelectorAll(u)).reduce(((i,{offsetHeight:t})=>i+t),0)}px`;setTimeout((()=>{if(!this.linkWrapper||!this.expanded)return;if(!this.isSideNavExpanded)this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights;else this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights;this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}childBlurHandler(){this.hideDropdown()}handleNavigationGroupOpened(i){if(i.detail.source!==this.el){this.hideDropdown()}}navItemClickHandler(){this.hideDropdown()}brandChangeHandler(i){this.focusStyle=i.detail.mode}async setFocus(){var i;(i=this.groupEl)===null||i===void 0?void 0:i.focus()}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;if(this.inTopNavSideMenu){this.navigationGroupExpanded.emit({expanded:this.dropdownOpen})}}showDropdown(){if(!this.dropdownOpen){this.navigationGroupOpened.emit({source:this.el});this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}render(){const{dropdownOpen:i,expanded:t,inTopNavSideMenu:n,expandable:a,theme:s,isSideNavExpanded:r,focusStyle:d}=this;const p=i=>i?"expanded":"collapsed";const c={"navigation-group":true,[d]:!n,[`navigation-group-side-menu-${p(i)}`]:n&&a,selected:i&&!n};const u=this.navigationType==="side";const l=this.navigationType==="top";const g=!n&&l;const v=u&&t||l&&i;return e(o,{key:"4d9f64e96f0e60b2e120ef1ff3ead8fc9eeba8ff",class:{"in-side-menu":n,"ic-navigation-group-expandable":a,"ic-navigation-group-side-nav":u,[`ic-navigation-group-${p(t)}`]:true,[`ic-theme-${s}`]:s!=="inherit"},role:"listitem"},a||g?e("button",{onMouseEnter:g?this.handleMouseEnter:undefined,onMouseLeave:l?this.handleMouseLeave:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onKeyDown:this.handleKeydown,class:c,ref:i=>this.groupEl=i,"aria-expanded":`${v}`,"aria-haspopup":`${g}`},this.renderGroupTitleText(),u&&a&&e("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":!!t},innerHTML:h})):(!u||r)&&e("div",{class:c},this.renderGroupTitleText()),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return n(this)}};v.style=c;export{v as ic_navigation_group};
2
+ //# sourceMappingURL=p-fd7f3b58.entry.js.map