@ukic/web-components 3.0.0-alpha.12 → 3.0.0-alpha.14

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 (983) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +13 -11
  4. package/dist/cjs/core.cjs.js.map +1 -1
  5. package/dist/cjs/{helpers-eca4c27e.js → helpers-08a9ec1c.js} +31 -26
  6. package/dist/cjs/helpers-08a9ec1c.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  10. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +37 -16
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +27 -15
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-badge.cjs.entry.js +41 -22
  16. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +31 -16
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +35 -21
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +304 -144
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-vertical.cjs.entry.js +53 -32
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js +32 -9
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox.cjs.entry.js +48 -29
  28. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-chip.cjs.entry.js +44 -23
  30. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js +20 -4
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  34. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  36. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +141 -98
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  40. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-empty-state.cjs.entry.js +15 -9
  42. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +9 -10
  46. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  48. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-link.cjs.entry.js +28 -21
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +21 -19
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +25 -19
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +48 -27
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +69 -48
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +54 -32
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +45 -25
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +27 -14
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +60 -27
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +58 -42
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +53 -28
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +35 -23
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +153 -63
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  86. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-select.cjs.entry.js +234 -137
  88. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +107 -71
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
  94. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  95. package/dist/cjs/ic-status-tag.cjs.entry.js +26 -7
  96. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-step.cjs.entry.js +35 -33
  98. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  100. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  102. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-context.cjs.entry.js +44 -24
  104. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  106. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -7
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tab.cjs.entry.js +21 -15
  110. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-text-field.cjs.entry.js +175 -69
  112. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  114. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  116. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-toast.cjs.entry.js +29 -21
  118. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  121. package/dist/cjs/ic-toggle-button.cjs.entry.js +81 -48
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  123. package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -31
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  125. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  126. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  127. package/dist/cjs/index-d337cd8a.js +2611 -0
  128. package/dist/cjs/index-d337cd8a.js.map +1 -0
  129. package/dist/cjs/loader.cjs.js +5 -3
  130. package/dist/cjs/loader.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +5 -4
  132. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  133. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  134. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  135. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  136. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  137. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  138. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +35 -16
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  140. package/dist/collection/components/ic-badge/ic-badge.js +69 -32
  141. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  142. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +49 -24
  143. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  144. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +41 -19
  145. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  146. package/dist/collection/components/ic-button/ic-button.css +6 -8
  147. package/dist/collection/components/ic-button/ic-button.js +269 -98
  148. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  149. package/dist/collection/components/ic-button/ic-button.stories.js +179 -0
  150. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  151. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  152. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  153. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  154. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +62 -20
  155. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  156. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  157. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  158. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +32 -7
  159. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  160. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  161. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  162. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  163. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  164. package/dist/collection/components/ic-dialog/ic-dialog.js +176 -110
  165. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  166. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +100 -49
  167. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  168. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  169. package/dist/collection/components/ic-divider/ic-divider.stories.js +2 -2
  170. package/dist/collection/components/ic-empty-state/ic-empty-state.js +32 -13
  171. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  172. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  173. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  174. package/dist/collection/components/ic-footer-link/ic-footer-link.js +24 -15
  175. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  176. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  177. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  178. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  179. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  180. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  181. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  182. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  183. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -0
  184. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  185. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  186. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  187. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  188. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  189. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  190. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  191. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  192. package/dist/collection/components/ic-link/ic-link.js +49 -28
  193. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  194. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  195. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  196. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  197. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  198. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  199. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  200. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  201. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
  202. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  203. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  204. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  205. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  206. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +109 -28
  207. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  208. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  209. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  210. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  211. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  212. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +61 -34
  213. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  214. package/dist/collection/components/ic-page-header/ic-page-header.js +68 -31
  215. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  216. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  217. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  218. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  219. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  220. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +81 -52
  221. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  222. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +70 -1
  223. package/dist/collection/components/ic-radio-group/ic-radio-group.js +87 -41
  224. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  225. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  226. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  227. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  228. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  229. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  230. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  231. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  232. package/dist/collection/components/ic-select/ic-select.css +1 -0
  233. package/dist/collection/components/ic-select/ic-select.js +333 -177
  234. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  235. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -2
  236. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +146 -89
  237. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  238. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +12 -0
  239. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  240. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  241. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  242. package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
  243. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  244. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  245. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -1
  246. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  247. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  248. package/dist/collection/components/ic-step/ic-step.css +2 -2
  249. package/dist/collection/components/ic-step/ic-step.js +67 -40
  250. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  251. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  252. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  253. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +5 -1
  254. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  255. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  256. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  257. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  258. package/dist/collection/components/ic-tab-context/ic-tab-context.js +59 -29
  259. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  260. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  261. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  262. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +26 -10
  263. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  264. package/dist/collection/components/ic-text-field/ic-text-field.js +321 -140
  265. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  266. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  267. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  268. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  269. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  270. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  271. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  272. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -60
  273. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  274. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  275. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  276. package/dist/collection/components/ic-tooltip/ic-tooltip.js +65 -33
  277. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  278. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +91 -45
  279. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  280. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +8 -19
  281. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  282. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  283. package/dist/collection/utils/helpers.js +29 -24
  284. package/dist/collection/utils/helpers.js.map +1 -1
  285. package/dist/collection/utils/testa11y.helpers.js +2 -1
  286. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  287. package/dist/collection/utils/types.js.map +1 -1
  288. package/dist/components/helpers.js +30 -25
  289. package/dist/components/helpers.js.map +1 -1
  290. package/dist/components/ic-accordion-group.js +29 -12
  291. package/dist/components/ic-accordion-group.js.map +1 -1
  292. package/dist/components/ic-accordion.js +63 -40
  293. package/dist/components/ic-accordion.js.map +1 -1
  294. package/dist/components/ic-alert.js +35 -14
  295. package/dist/components/ic-alert.js.map +1 -1
  296. package/dist/components/ic-back-to-top.js +25 -13
  297. package/dist/components/ic-back-to-top.js.map +1 -1
  298. package/dist/components/ic-badge.js +39 -20
  299. package/dist/components/ic-badge.js.map +1 -1
  300. package/dist/components/ic-breadcrumb-group.js +29 -14
  301. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  302. package/dist/components/ic-breadcrumb2.js +33 -19
  303. package/dist/components/ic-breadcrumb2.js.map +1 -1
  304. package/dist/components/ic-button2.js +171 -63
  305. package/dist/components/ic-button2.js.map +1 -1
  306. package/dist/components/ic-card-vertical.js +51 -30
  307. package/dist/components/ic-card-vertical.js.map +1 -1
  308. package/dist/components/ic-checkbox-group.js +30 -7
  309. package/dist/components/ic-checkbox-group.js.map +1 -1
  310. package/dist/components/ic-checkbox.js +46 -27
  311. package/dist/components/ic-checkbox.js.map +1 -1
  312. package/dist/components/ic-chip.js +42 -21
  313. package/dist/components/ic-chip.js.map +1 -1
  314. package/dist/components/ic-classification-banner.js +19 -3
  315. package/dist/components/ic-classification-banner.js.map +1 -1
  316. package/dist/components/ic-data-list.js +10 -4
  317. package/dist/components/ic-data-list.js.map +1 -1
  318. package/dist/components/ic-data-row.js +27 -17
  319. package/dist/components/ic-data-row.js.map +1 -1
  320. package/dist/components/ic-dialog.js +139 -96
  321. package/dist/components/ic-dialog.js.map +1 -1
  322. package/dist/components/ic-divider2.js +33 -13
  323. package/dist/components/ic-divider2.js.map +1 -1
  324. package/dist/components/ic-empty-state.js +13 -7
  325. package/dist/components/ic-empty-state.js.map +1 -1
  326. package/dist/components/ic-footer-link-group.js +6 -6
  327. package/dist/components/ic-footer-link-group.js.map +1 -1
  328. package/dist/components/ic-footer-link.js +7 -8
  329. package/dist/components/ic-footer-link.js.map +1 -1
  330. package/dist/components/ic-footer.js +31 -18
  331. package/dist/components/ic-footer.js.map +1 -1
  332. package/dist/components/ic-hero.js +27 -15
  333. package/dist/components/ic-hero.js.map +1 -1
  334. package/dist/components/ic-horizontal-scroll2.js +30 -18
  335. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  336. package/dist/components/ic-input-component-container2.js +31 -9
  337. package/dist/components/ic-input-component-container2.js.map +1 -1
  338. package/dist/components/ic-input-container2.js +12 -5
  339. package/dist/components/ic-input-container2.js.map +1 -1
  340. package/dist/components/ic-input-label2.js +28 -8
  341. package/dist/components/ic-input-label2.js.map +1 -1
  342. package/dist/components/ic-input-validation2.js +15 -7
  343. package/dist/components/ic-input-validation2.js.map +1 -1
  344. package/dist/components/ic-link2.js +26 -19
  345. package/dist/components/ic-link2.js.map +1 -1
  346. package/dist/components/ic-loading-indicator2.js +89 -54
  347. package/dist/components/ic-loading-indicator2.js.map +1 -1
  348. package/dist/components/ic-menu-group.js +3 -3
  349. package/dist/components/ic-menu-group.js.map +1 -1
  350. package/dist/components/ic-menu-item2.js +19 -17
  351. package/dist/components/ic-menu-item2.js.map +1 -1
  352. package/dist/components/ic-menu2.js +81 -52
  353. package/dist/components/ic-menu2.js.map +1 -1
  354. package/dist/components/ic-navigation-button.js +23 -17
  355. package/dist/components/ic-navigation-button.js.map +1 -1
  356. package/dist/components/ic-navigation-group.js +48 -27
  357. package/dist/components/ic-navigation-group.js.map +1 -1
  358. package/dist/components/ic-navigation-item.js +68 -47
  359. package/dist/components/ic-navigation-item.js.map +1 -1
  360. package/dist/components/ic-navigation-menu2.js +53 -31
  361. package/dist/components/ic-navigation-menu2.js.map +1 -1
  362. package/dist/components/ic-page-header.js +44 -24
  363. package/dist/components/ic-page-header.js.map +1 -1
  364. package/dist/components/ic-pagination-item2.js +25 -12
  365. package/dist/components/ic-pagination-item2.js.map +1 -1
  366. package/dist/components/ic-pagination.js +58 -25
  367. package/dist/components/ic-pagination.js.map +1 -1
  368. package/dist/components/ic-popover-menu.js +56 -40
  369. package/dist/components/ic-popover-menu.js.map +1 -1
  370. package/dist/components/ic-radio-group.js +51 -26
  371. package/dist/components/ic-radio-group.js.map +1 -1
  372. package/dist/components/ic-radio-option.js +33 -21
  373. package/dist/components/ic-radio-option.js.map +1 -1
  374. package/dist/components/ic-search-bar.js +151 -61
  375. package/dist/components/ic-search-bar.js.map +1 -1
  376. package/dist/components/ic-section-container2.js +11 -4
  377. package/dist/components/ic-section-container2.js.map +1 -1
  378. package/dist/components/ic-select.js +232 -135
  379. package/dist/components/ic-select.js.map +1 -1
  380. package/dist/components/ic-side-navigation.js +106 -70
  381. package/dist/components/ic-side-navigation.js.map +1 -1
  382. package/dist/components/ic-skeleton.js +10 -3
  383. package/dist/components/ic-skeleton.js.map +1 -1
  384. package/dist/components/ic-skip-link.d.ts +11 -0
  385. package/dist/components/ic-skip-link.js +83 -0
  386. package/dist/components/ic-skip-link.js.map +1 -0
  387. package/dist/components/ic-status-tag.js +24 -5
  388. package/dist/components/ic-status-tag.js.map +1 -1
  389. package/dist/components/ic-step.js +33 -31
  390. package/dist/components/ic-step.js.map +1 -1
  391. package/dist/components/ic-stepper.js +48 -33
  392. package/dist/components/ic-stepper.js.map +1 -1
  393. package/dist/components/ic-switch.js +48 -20
  394. package/dist/components/ic-switch.js.map +1 -1
  395. package/dist/components/ic-tab-context.js +43 -23
  396. package/dist/components/ic-tab-context.js.map +1 -1
  397. package/dist/components/ic-tab-group.js +12 -7
  398. package/dist/components/ic-tab-group.js.map +1 -1
  399. package/dist/components/ic-tab-panel.js +11 -6
  400. package/dist/components/ic-tab-panel.js.map +1 -1
  401. package/dist/components/ic-tab.js +19 -13
  402. package/dist/components/ic-tab.js.map +1 -1
  403. package/dist/components/ic-text-field.js +173 -67
  404. package/dist/components/ic-text-field.js.map +1 -1
  405. package/dist/components/ic-theme.js +11 -5
  406. package/dist/components/ic-theme.js.map +1 -1
  407. package/dist/components/ic-toast-region.js +1 -2
  408. package/dist/components/ic-toast-region.js.map +1 -1
  409. package/dist/components/ic-toast.js +28 -20
  410. package/dist/components/ic-toast.js.map +1 -1
  411. package/dist/components/ic-toggle-button-group.js +59 -27
  412. package/dist/components/ic-toggle-button-group.js.map +1 -1
  413. package/dist/components/ic-toggle-button.js +79 -46
  414. package/dist/components/ic-toggle-button.js.map +1 -1
  415. package/dist/components/ic-tooltip2.js +42 -25
  416. package/dist/components/ic-tooltip2.js.map +1 -1
  417. package/dist/components/ic-top-navigation.js +59 -30
  418. package/dist/components/ic-top-navigation.js.map +1 -1
  419. package/dist/components/ic-typography2.js +51 -25
  420. package/dist/components/ic-typography2.js.map +1 -1
  421. package/dist/core/core.css +66 -49
  422. package/dist/core/core.esm.js +1 -1
  423. package/dist/core/core.esm.js.map +1 -1
  424. package/dist/core/index.esm.js.map +1 -1
  425. package/dist/core/p-08fbea60.entry.js +2 -0
  426. package/dist/core/p-08fbea60.entry.js.map +1 -0
  427. package/dist/core/{p-73a208c7.entry.js → p-0f34465d.entry.js} +2 -2
  428. package/dist/core/p-0f34465d.entry.js.map +1 -0
  429. package/dist/core/p-111b3186.entry.js +2 -0
  430. package/dist/core/p-111b3186.entry.js.map +1 -0
  431. package/dist/core/p-144a31ec.entry.js +2 -0
  432. package/dist/core/p-144a31ec.entry.js.map +1 -0
  433. package/dist/core/{p-ca11666f.entry.js → p-180ea8ac.entry.js} +2 -2
  434. package/dist/core/p-180ea8ac.entry.js.map +1 -0
  435. package/dist/core/{p-39ab6387.entry.js → p-196e3d33.entry.js} +2 -2
  436. package/dist/core/p-196e3d33.entry.js.map +1 -0
  437. package/dist/core/{p-96b4ca6e.entry.js → p-1d6638c8.entry.js} +2 -2
  438. package/dist/core/p-1d6638c8.entry.js.map +1 -0
  439. package/dist/core/p-1d9a929b.entry.js +2 -0
  440. package/dist/core/p-1d9a929b.entry.js.map +1 -0
  441. package/dist/core/p-1dc0c174.entry.js +2 -0
  442. package/dist/core/p-1dc0c174.entry.js.map +1 -0
  443. package/dist/core/{p-27274ca8.entry.js → p-1fccec19.entry.js} +2 -2
  444. package/dist/core/p-1fccec19.entry.js.map +1 -0
  445. package/dist/core/{p-c1db155d.entry.js → p-22d88d2f.entry.js} +2 -2
  446. package/dist/core/p-22d88d2f.entry.js.map +1 -0
  447. package/dist/core/p-269f841d.js +2 -0
  448. package/dist/core/p-269f841d.js.map +1 -0
  449. package/dist/core/{p-094f51b6.entry.js → p-27de359f.entry.js} +2 -2
  450. package/dist/core/p-27de359f.entry.js.map +1 -0
  451. package/dist/core/p-2cb55e86.entry.js +2 -0
  452. package/dist/core/p-2cb55e86.entry.js.map +1 -0
  453. package/dist/core/p-30a262d2.entry.js +2 -0
  454. package/dist/core/p-30a262d2.entry.js.map +1 -0
  455. package/dist/core/p-39bf060d.entry.js +2 -0
  456. package/dist/core/p-39bf060d.entry.js.map +1 -0
  457. package/dist/core/p-3b185c32.js.map +1 -1
  458. package/dist/core/{p-a178d53c.entry.js → p-40bc1f3e.entry.js} +2 -2
  459. package/dist/core/p-40bc1f3e.entry.js.map +1 -0
  460. package/dist/core/p-426ec638.js.map +1 -1
  461. package/dist/core/p-47b46637.entry.js +2 -0
  462. package/dist/core/p-47b46637.entry.js.map +1 -0
  463. package/dist/core/p-4a5ab31e.entry.js +2 -0
  464. package/dist/core/p-4a5ab31e.entry.js.map +1 -0
  465. package/dist/core/p-4e4014cd.entry.js +2 -0
  466. package/dist/core/p-4e4014cd.entry.js.map +1 -0
  467. package/dist/core/{p-25d3c3a6.entry.js → p-55eb89cc.entry.js} +2 -2
  468. package/dist/core/p-55eb89cc.entry.js.map +1 -0
  469. package/dist/core/p-59fc58e1.entry.js +2 -0
  470. package/dist/core/p-59fc58e1.entry.js.map +1 -0
  471. package/dist/core/p-5b7d8ee9.entry.js +2 -0
  472. package/dist/core/p-5b7d8ee9.entry.js.map +1 -0
  473. package/dist/core/{p-b404b307.entry.js → p-5fa5ba50.entry.js} +2 -2
  474. package/dist/core/p-5fa5ba50.entry.js.map +1 -0
  475. package/dist/core/p-625f914e.entry.js +2 -0
  476. package/dist/core/p-625f914e.entry.js.map +1 -0
  477. package/dist/core/p-67d47db4.entry.js +2 -0
  478. package/dist/core/p-67d47db4.entry.js.map +1 -0
  479. package/dist/core/p-68a5aaff.js.map +1 -1
  480. package/dist/core/{p-146b2788.entry.js → p-72140621.entry.js} +2 -2
  481. package/dist/core/p-72140621.entry.js.map +1 -0
  482. package/dist/core/{p-4cfe1dd8.entry.js → p-78c3ca49.entry.js} +2 -2
  483. package/dist/core/p-78c3ca49.entry.js.map +1 -0
  484. package/dist/core/p-78c51cba.entry.js +2 -0
  485. package/dist/core/p-78c51cba.entry.js.map +1 -0
  486. package/dist/core/{p-3d565739.entry.js → p-7ea79205.entry.js} +2 -2
  487. package/dist/core/p-7ea79205.entry.js.map +1 -0
  488. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  489. package/dist/core/p-8856dff4.entry.js.map +1 -0
  490. package/dist/core/p-8870d5d8.entry.js +2 -0
  491. package/dist/core/p-8870d5d8.entry.js.map +1 -0
  492. package/dist/core/{p-00587c99.entry.js → p-8b928cc9.entry.js} +2 -2
  493. package/dist/core/p-8b928cc9.entry.js.map +1 -0
  494. package/dist/core/p-8d1bee7a.entry.js +2 -0
  495. package/dist/core/p-8d1bee7a.entry.js.map +1 -0
  496. package/dist/core/p-8e4e97b4.js +3 -0
  497. package/dist/core/p-8e4e97b4.js.map +1 -0
  498. package/dist/core/p-8f319e1e.entry.js +2 -0
  499. package/dist/core/p-8f319e1e.entry.js.map +1 -0
  500. package/dist/core/p-90de3f5d.entry.js +2 -0
  501. package/dist/core/p-90de3f5d.entry.js.map +1 -0
  502. package/dist/core/p-912c8594.entry.js +2 -0
  503. package/dist/core/p-912c8594.entry.js.map +1 -0
  504. package/dist/core/{p-67b3cd55.entry.js → p-9206379d.entry.js} +2 -2
  505. package/dist/core/p-9206379d.entry.js.map +1 -0
  506. package/dist/core/p-94748b96.entry.js +2 -0
  507. package/dist/core/p-94748b96.entry.js.map +1 -0
  508. package/dist/core/{p-d7ccd00f.entry.js → p-98f906ba.entry.js} +2 -2
  509. package/dist/core/p-98f906ba.entry.js.map +1 -0
  510. package/dist/core/{p-5b836707.entry.js → p-999102ee.entry.js} +2 -2
  511. package/dist/core/p-999102ee.entry.js.map +1 -0
  512. package/dist/core/p-9b741f96.entry.js +2 -0
  513. package/dist/core/p-9b741f96.entry.js.map +1 -0
  514. package/dist/core/p-9dbe3f3e.entry.js +2 -0
  515. package/dist/core/p-9dbe3f3e.entry.js.map +1 -0
  516. package/dist/core/p-9ee2fe04.entry.js +2 -0
  517. package/dist/core/p-9ee2fe04.entry.js.map +1 -0
  518. package/dist/core/{p-e2cf6e7e.entry.js → p-a56ec6d8.entry.js} +2 -2
  519. package/dist/core/p-a56ec6d8.entry.js.map +1 -0
  520. package/dist/core/p-a9fd6dcf.entry.js +2 -0
  521. package/dist/core/p-a9fd6dcf.entry.js.map +1 -0
  522. package/dist/core/p-b594bf26.entry.js +2 -0
  523. package/dist/core/p-b594bf26.entry.js.map +1 -0
  524. package/dist/core/{p-6e94c79c.entry.js → p-bd802c2f.entry.js} +2 -2
  525. package/dist/core/p-bd802c2f.entry.js.map +1 -0
  526. package/dist/core/p-bfee1e84.entry.js +2 -0
  527. package/dist/core/p-bfee1e84.entry.js.map +1 -0
  528. package/dist/core/{p-7f984e25.entry.js → p-c19cdc86.entry.js} +2 -2
  529. package/dist/core/p-c19cdc86.entry.js.map +1 -0
  530. package/dist/core/p-c2e091d7.js.map +1 -1
  531. package/dist/core/{p-73d6092d.entry.js → p-c3785d57.entry.js} +2 -2
  532. package/dist/core/p-c3785d57.entry.js.map +1 -0
  533. package/dist/core/p-c7be6679.entry.js +2 -0
  534. package/dist/core/p-c7be6679.entry.js.map +1 -0
  535. package/dist/core/{p-7b26ef60.entry.js → p-caa46d81.entry.js} +2 -2
  536. package/dist/core/p-caa46d81.entry.js.map +1 -0
  537. package/dist/core/{p-720428a3.entry.js → p-ce0fb53a.entry.js} +2 -2
  538. package/dist/core/p-ce0fb53a.entry.js.map +1 -0
  539. package/dist/core/p-d80f3ec1.entry.js +2 -0
  540. package/dist/core/p-d80f3ec1.entry.js.map +1 -0
  541. package/dist/core/p-dce2c5e8.entry.js +2 -0
  542. package/dist/core/p-dce2c5e8.entry.js.map +1 -0
  543. package/dist/core/{p-07aaf9c4.entry.js → p-df56bc50.entry.js} +2 -2
  544. package/dist/core/p-df56bc50.entry.js.map +1 -0
  545. package/dist/core/p-e1255160.js +2 -0
  546. package/dist/core/p-e1255160.js.map +1 -0
  547. package/dist/core/p-e25feba1.entry.js +2 -0
  548. package/dist/core/p-e25feba1.entry.js.map +1 -0
  549. package/dist/core/p-e3be3502.entry.js +2 -0
  550. package/dist/core/p-e3be3502.entry.js.map +1 -0
  551. package/dist/core/p-f074ef5b.js.map +1 -1
  552. package/dist/core/{p-abdc2912.entry.js → p-f486d4f4.entry.js} +2 -2
  553. package/dist/core/p-f486d4f4.entry.js.map +1 -0
  554. package/dist/core/{p-a87d13b3.entry.js → p-fbce5f9a.entry.js} +2 -2
  555. package/dist/core/p-fbce5f9a.entry.js.map +1 -0
  556. package/dist/esm/app-globals-0f993ce5.js +5 -0
  557. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  558. package/dist/esm/core.js +14 -12
  559. package/dist/esm/core.js.map +1 -1
  560. package/dist/esm/{helpers-a72a277b.js → helpers-de6293bf.js} +31 -26
  561. package/dist/esm/helpers-de6293bf.js.map +1 -0
  562. package/dist/esm/ic-accordion-group.entry.js +31 -14
  563. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  564. package/dist/esm/ic-accordion.entry.js +65 -42
  565. package/dist/esm/ic-accordion.entry.js.map +1 -1
  566. package/dist/esm/ic-alert.entry.js +37 -16
  567. package/dist/esm/ic-alert.entry.js.map +1 -1
  568. package/dist/esm/ic-back-to-top.entry.js +27 -15
  569. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  570. package/dist/esm/ic-badge.entry.js +41 -22
  571. package/dist/esm/ic-badge.entry.js.map +1 -1
  572. package/dist/esm/ic-breadcrumb-group.entry.js +31 -16
  573. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  574. package/dist/esm/ic-breadcrumb.entry.js +35 -21
  575. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  576. package/dist/esm/ic-button_3.entry.js +304 -144
  577. package/dist/esm/ic-button_3.entry.js.map +1 -1
  578. package/dist/esm/ic-card-vertical.entry.js +53 -32
  579. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  580. package/dist/esm/ic-checkbox-group.entry.js +32 -9
  581. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  582. package/dist/esm/ic-checkbox.entry.js +48 -29
  583. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  584. package/dist/esm/ic-chip.entry.js +44 -23
  585. package/dist/esm/ic-chip.entry.js.map +1 -1
  586. package/dist/esm/ic-classification-banner.entry.js +20 -4
  587. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  588. package/dist/esm/ic-data-list.entry.js +11 -5
  589. package/dist/esm/ic-data-list.entry.js.map +1 -1
  590. package/dist/esm/ic-data-row.entry.js +28 -18
  591. package/dist/esm/ic-data-row.entry.js.map +1 -1
  592. package/dist/esm/ic-dialog.entry.js +141 -98
  593. package/dist/esm/ic-dialog.entry.js.map +1 -1
  594. package/dist/esm/ic-divider.entry.js +35 -15
  595. package/dist/esm/ic-divider.entry.js.map +1 -1
  596. package/dist/esm/ic-empty-state.entry.js +15 -9
  597. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  598. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  599. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  600. package/dist/esm/ic-footer-link.entry.js +9 -10
  601. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  602. package/dist/esm/ic-footer.entry.js +32 -19
  603. package/dist/esm/ic-footer.entry.js.map +1 -1
  604. package/dist/esm/ic-hero.entry.js +29 -17
  605. package/dist/esm/ic-hero.entry.js.map +1 -1
  606. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  607. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  608. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  609. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  610. package/dist/esm/ic-input-label_2.entry.js +45 -17
  611. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  612. package/dist/esm/ic-link.entry.js +28 -21
  613. package/dist/esm/ic-link.entry.js.map +1 -1
  614. package/dist/esm/ic-menu-group.entry.js +5 -5
  615. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  616. package/dist/esm/ic-menu-item.entry.js +21 -19
  617. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  618. package/dist/esm/ic-navigation-button.entry.js +25 -19
  619. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  620. package/dist/esm/ic-navigation-group.entry.js +48 -27
  621. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  622. package/dist/esm/ic-navigation-item.entry.js +69 -48
  623. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  624. package/dist/esm/ic-navigation-menu.entry.js +54 -32
  625. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  626. package/dist/esm/ic-page-header.entry.js +45 -25
  627. package/dist/esm/ic-page-header.entry.js.map +1 -1
  628. package/dist/esm/ic-pagination-item.entry.js +27 -14
  629. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  630. package/dist/esm/ic-pagination.entry.js +60 -27
  631. package/dist/esm/ic-pagination.entry.js.map +1 -1
  632. package/dist/esm/ic-popover-menu.entry.js +58 -42
  633. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  634. package/dist/esm/ic-radio-group.entry.js +53 -28
  635. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  636. package/dist/esm/ic-radio-option.entry.js +35 -23
  637. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  638. package/dist/esm/ic-search-bar.entry.js +153 -63
  639. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  640. package/dist/esm/ic-section-container.entry.js +12 -5
  641. package/dist/esm/ic-section-container.entry.js.map +1 -1
  642. package/dist/esm/ic-select.entry.js +234 -137
  643. package/dist/esm/ic-select.entry.js.map +1 -1
  644. package/dist/esm/ic-side-navigation.entry.js +107 -71
  645. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  646. package/dist/esm/ic-skeleton.entry.js +11 -4
  647. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  648. package/dist/esm/ic-skip-link.entry.js +51 -0
  649. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  650. package/dist/esm/ic-status-tag.entry.js +26 -7
  651. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  652. package/dist/esm/ic-step.entry.js +35 -33
  653. package/dist/esm/ic-step.entry.js.map +1 -1
  654. package/dist/esm/ic-stepper.entry.js +50 -35
  655. package/dist/esm/ic-stepper.entry.js.map +1 -1
  656. package/dist/esm/ic-switch.entry.js +50 -22
  657. package/dist/esm/ic-switch.entry.js.map +1 -1
  658. package/dist/esm/ic-tab-context.entry.js +44 -24
  659. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  660. package/dist/esm/ic-tab-group.entry.js +14 -9
  661. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  662. package/dist/esm/ic-tab-panel.entry.js +12 -7
  663. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  664. package/dist/esm/ic-tab.entry.js +21 -15
  665. package/dist/esm/ic-tab.entry.js.map +1 -1
  666. package/dist/esm/ic-text-field.entry.js +175 -69
  667. package/dist/esm/ic-text-field.entry.js.map +1 -1
  668. package/dist/esm/ic-theme.entry.js +13 -7
  669. package/dist/esm/ic-theme.entry.js.map +1 -1
  670. package/dist/esm/ic-toast-region.entry.js +2 -3
  671. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  672. package/dist/esm/ic-toast.entry.js +29 -21
  673. package/dist/esm/ic-toast.entry.js.map +1 -1
  674. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  675. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  676. package/dist/esm/ic-toggle-button.entry.js +81 -48
  677. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  678. package/dist/esm/ic-top-navigation.entry.js +60 -31
  679. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  680. package/dist/esm/ic-typography.entry.js +53 -27
  681. package/dist/esm/ic-typography.entry.js.map +1 -1
  682. package/dist/esm/index-a7a720e7.js +2580 -0
  683. package/dist/esm/index-a7a720e7.js.map +1 -0
  684. package/dist/esm/loader.js +6 -4
  685. package/dist/esm/loader.js.map +1 -1
  686. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  687. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  688. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  689. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -1
  690. package/dist/types/components/ic-badge/ic-badge.d.ts +1 -1
  691. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +1 -1
  692. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  693. package/dist/types/components/ic-button/ic-button.d.ts +7 -6
  694. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  695. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -6
  696. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  697. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  698. package/dist/types/components/ic-dialog/ic-dialog.d.ts +9 -6
  699. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  700. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  701. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  702. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  703. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  704. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  705. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  706. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  707. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  708. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  709. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  710. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +15 -4
  711. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  712. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  713. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -3
  714. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  715. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  716. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  717. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -8
  718. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  719. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  720. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  721. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  722. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  723. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  724. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  725. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  726. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  727. package/dist/types/components/ic-text-field/ic-text-field.d.ts +34 -33
  728. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  729. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  730. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  731. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  732. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  733. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  734. package/dist/types/components.d.ts +282 -195
  735. package/dist/types/stencil-public-runtime.d.ts +9 -10
  736. package/dist/types/utils/helpers.d.ts +10 -10
  737. package/dist/types/utils/types.d.ts +8 -4
  738. package/hydrate/index.d.ts +53 -12
  739. package/hydrate/index.js +32646 -20647
  740. package/hydrate/index.mjs +34349 -0
  741. package/hydrate/package.json +7 -1
  742. package/loader/cdn.js +1 -3
  743. package/loader/index.cjs.js +1 -3
  744. package/loader/index.d.ts +3 -0
  745. package/loader/index.es2017.js +1 -3
  746. package/loader/index.js +1 -3
  747. package/package.json +3 -3
  748. package/vscode-data.json +50 -330
  749. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  750. package/dist/cjs/index-f982899d.js +0 -3047
  751. package/dist/cjs/index-f982899d.js.map +0 -1
  752. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  753. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  754. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  755. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  756. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  757. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  758. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -159
  759. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  760. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -450
  761. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  762. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  763. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  764. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -234
  765. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  766. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  767. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  768. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  769. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  770. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  771. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  772. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  773. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  774. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  775. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  776. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  777. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  778. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  779. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  780. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  781. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  782. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  783. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  784. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -101
  785. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
  786. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  787. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  788. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  789. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  790. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  791. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  792. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  793. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  794. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  795. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  796. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  797. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  798. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  799. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  800. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  801. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  802. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  803. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  804. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  805. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  806. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  807. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  808. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  809. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  810. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  811. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  812. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  813. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  814. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  815. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  816. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  817. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  818. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  819. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  820. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  821. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  822. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  823. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  824. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  825. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  826. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  827. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  828. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  829. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  830. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  831. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  832. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  833. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  834. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  835. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  836. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  837. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  838. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  839. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  840. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  841. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  842. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  843. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  844. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  845. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  846. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  847. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  848. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  849. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  850. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  851. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  852. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  853. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  854. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -19
  855. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  856. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  857. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  858. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  859. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  860. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  861. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  862. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  863. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  864. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  865. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  866. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  867. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  868. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  869. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  870. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  871. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  872. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  873. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  874. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  875. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  876. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  877. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  878. package/dist/collection/testspec.setup.js +0 -77
  879. package/dist/collection/testspec.setup.js.map +0 -1
  880. package/dist/core/p-00587c99.entry.js.map +0 -1
  881. package/dist/core/p-07aaf9c4.entry.js.map +0 -1
  882. package/dist/core/p-094f51b6.entry.js.map +0 -1
  883. package/dist/core/p-116875ae.entry.js +0 -2
  884. package/dist/core/p-116875ae.entry.js.map +0 -1
  885. package/dist/core/p-146b2788.entry.js.map +0 -1
  886. package/dist/core/p-15082ea5.entry.js +0 -2
  887. package/dist/core/p-15082ea5.entry.js.map +0 -1
  888. package/dist/core/p-174de9d7.entry.js +0 -2
  889. package/dist/core/p-174de9d7.entry.js.map +0 -1
  890. package/dist/core/p-17f9921d.entry.js +0 -2
  891. package/dist/core/p-17f9921d.entry.js.map +0 -1
  892. package/dist/core/p-246ea059.entry.js +0 -2
  893. package/dist/core/p-246ea059.entry.js.map +0 -1
  894. package/dist/core/p-25d3c3a6.entry.js.map +0 -1
  895. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  896. package/dist/core/p-27274ca8.entry.js.map +0 -1
  897. package/dist/core/p-31d4bfc3.entry.js +0 -2
  898. package/dist/core/p-31d4bfc3.entry.js.map +0 -1
  899. package/dist/core/p-39ab6387.entry.js.map +0 -1
  900. package/dist/core/p-3d565739.entry.js.map +0 -1
  901. package/dist/core/p-3ea4a005.entry.js +0 -2
  902. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  903. package/dist/core/p-41b7c67c.entry.js +0 -2
  904. package/dist/core/p-41b7c67c.entry.js.map +0 -1
  905. package/dist/core/p-4cfe1dd8.entry.js.map +0 -1
  906. package/dist/core/p-5b836707.entry.js.map +0 -1
  907. package/dist/core/p-67b3cd55.entry.js.map +0 -1
  908. package/dist/core/p-67b8a829.entry.js +0 -2
  909. package/dist/core/p-67b8a829.entry.js.map +0 -1
  910. package/dist/core/p-6b5e91e2.js +0 -3
  911. package/dist/core/p-6b5e91e2.js.map +0 -1
  912. package/dist/core/p-6b9db71a.entry.js +0 -2
  913. package/dist/core/p-6b9db71a.entry.js.map +0 -1
  914. package/dist/core/p-6dfa5a4b.entry.js +0 -2
  915. package/dist/core/p-6dfa5a4b.entry.js.map +0 -1
  916. package/dist/core/p-6e94c79c.entry.js.map +0 -1
  917. package/dist/core/p-720428a3.entry.js.map +0 -1
  918. package/dist/core/p-73a208c7.entry.js.map +0 -1
  919. package/dist/core/p-73d6092d.entry.js.map +0 -1
  920. package/dist/core/p-770c52a7.entry.js +0 -2
  921. package/dist/core/p-770c52a7.entry.js.map +0 -1
  922. package/dist/core/p-7b26ef60.entry.js.map +0 -1
  923. package/dist/core/p-7f984e25.entry.js.map +0 -1
  924. package/dist/core/p-86caada0.entry.js +0 -2
  925. package/dist/core/p-86caada0.entry.js.map +0 -1
  926. package/dist/core/p-8c03b8b5.entry.js +0 -2
  927. package/dist/core/p-8c03b8b5.entry.js.map +0 -1
  928. package/dist/core/p-8fdb9b16.entry.js +0 -2
  929. package/dist/core/p-8fdb9b16.entry.js.map +0 -1
  930. package/dist/core/p-91a221b5.entry.js +0 -2
  931. package/dist/core/p-91a221b5.entry.js.map +0 -1
  932. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  933. package/dist/core/p-9e0c2c19.entry.js +0 -2
  934. package/dist/core/p-9e0c2c19.entry.js.map +0 -1
  935. package/dist/core/p-9f569f90.entry.js +0 -2
  936. package/dist/core/p-9f569f90.entry.js.map +0 -1
  937. package/dist/core/p-a178d53c.entry.js.map +0 -1
  938. package/dist/core/p-a3b7a147.entry.js +0 -2
  939. package/dist/core/p-a3b7a147.entry.js.map +0 -1
  940. package/dist/core/p-a72685f6.entry.js +0 -2
  941. package/dist/core/p-a72685f6.entry.js.map +0 -1
  942. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  943. package/dist/core/p-abdc2912.entry.js.map +0 -1
  944. package/dist/core/p-b404b307.entry.js.map +0 -1
  945. package/dist/core/p-b6ce9ca3.entry.js +0 -2
  946. package/dist/core/p-b6ce9ca3.entry.js.map +0 -1
  947. package/dist/core/p-b6e010f3.entry.js +0 -2
  948. package/dist/core/p-b6e010f3.entry.js.map +0 -1
  949. package/dist/core/p-bbd4f487.entry.js +0 -2
  950. package/dist/core/p-bbd4f487.entry.js.map +0 -1
  951. package/dist/core/p-bd9f3961.entry.js +0 -2
  952. package/dist/core/p-bd9f3961.entry.js.map +0 -1
  953. package/dist/core/p-c1db155d.entry.js.map +0 -1
  954. package/dist/core/p-c7bcdb8e.entry.js +0 -2
  955. package/dist/core/p-c7bcdb8e.entry.js.map +0 -1
  956. package/dist/core/p-ca11666f.entry.js.map +0 -1
  957. package/dist/core/p-cda4aca9.js +0 -2
  958. package/dist/core/p-cda4aca9.js.map +0 -1
  959. package/dist/core/p-d7ccd00f.entry.js.map +0 -1
  960. package/dist/core/p-dededae6.entry.js +0 -2
  961. package/dist/core/p-dededae6.entry.js.map +0 -1
  962. package/dist/core/p-e2cf6e7e.entry.js.map +0 -1
  963. package/dist/core/p-e6dc3cd1.entry.js +0 -2
  964. package/dist/core/p-e6dc3cd1.entry.js.map +0 -1
  965. package/dist/core/p-e831277e.entry.js +0 -2
  966. package/dist/core/p-e831277e.entry.js.map +0 -1
  967. package/dist/core/p-eb7c589b.entry.js +0 -2
  968. package/dist/core/p-eb7c589b.entry.js.map +0 -1
  969. package/dist/core/p-f65179fe.entry.js +0 -2
  970. package/dist/core/p-f65179fe.entry.js.map +0 -1
  971. package/dist/core/p-fd60eef7.entry.js +0 -2
  972. package/dist/core/p-fd60eef7.entry.js.map +0 -1
  973. package/dist/core/p-fd9f3fd0.entry.js +0 -2
  974. package/dist/core/p-fd9f3fd0.entry.js.map +0 -1
  975. package/dist/esm/helpers-a72a277b.js.map +0 -1
  976. package/dist/esm/index-d1d2c456.js +0 -3016
  977. package/dist/esm/index-d1d2c456.js.map +0 -1
  978. package/dist/esm/polyfills/core-js.js +0 -11
  979. package/dist/esm/polyfills/dom.js +0 -79
  980. package/dist/esm/polyfills/es5-html-element.js +0 -1
  981. package/dist/esm/polyfills/index.js +0 -34
  982. package/dist/esm/polyfills/system.js +0 -6
  983. package/dist/types/testspec.setup.d.ts +0 -24
@@ -1 +1 @@
1
- {"file":"ic-back-to-top.entry.cjs.js","mappings":"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","names":["onComponentPropUndefinedChange","onComponentRequiredPropUndefined","h","Host"],"sources":["src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n * @prop --margin-right: right y-position of back to top\n * @prop --margin-left: left y-position of back to top\n * @prop --footer-offset: offset of x-position from footer\n */\n\n:host {\n display: flex;\n flex: row;\n height: 0.1px;\n}\n\n:host(.ic-back-to-top-right) {\n justify-content: flex-end;\n}\n\n:host(.ic-back-to-top-right) ic-button {\n margin-right: var(--margin-right, 1rem);\n}\n\n:host(.ic-back-to-top-right) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n:host(.ic-back-to-top-left) {\n justify-content: flex-start;\n}\n\n:host(.ic-back-to-top-left) ic-button {\n margin-left: var(--margin-left, 1rem);\n}\n\n:host(.ic-back-to-top-left) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n:host(.ic-back-to-top-center) {\n justify-content: center;\n}\n\n:host(.ic-back-to-top-center) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\nic-button {\n height: 2.5rem;\n align-items: center;\n background-color: var(--ic-color-background-primary);\n border-radius: 5rem;\n box-shadow: var(--ic-elevation-overlay);\n visibility: hidden;\n position: fixed;\n bottom: var(--ic-space-md);\n opacity: 0;\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\n:host([variant=\"icon\"]) ic-button::part(button) {\n margin: 0;\n}\n\nic-button::part(button) {\n border-radius: 5rem;\n}\n\nic-button.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\nic-button.offset-banner:not(.by-footer) {\n margin-bottom: var(--footer-offset, var(--ic-space-lg));\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n.icon-only {\n width: 2.5rem;\n}\n\n.icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\nic-button.by-footer {\n position: relative;\n bottom: var(--footer-offset, 3.5rem);\n}\n\n@media (forced-colors: active) {\n .icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-xxxs));\n }\n}\n","import { Component, h, Host, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport {\n IcBackToTopVariants,\n IcBackToTopPositions,\n} from \"./ic-back-to-top.types\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BackToTop {\n private isTargetElNull: boolean;\n private targetEl: Element;\n private topObserver: IntersectionObserver = null;\n\n @Element() el: HTMLIcBackToTopElement;\n\n @State() bannerOffset: boolean = false;\n @State() footerVisible: boolean = false;\n @State() targetElVisible: boolean = true;\n\n /**\n * The horizontal position of the element.\n */\n @Prop() position?: IcBackToTopPositions = \"right\";\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The variant of the button to render\n */\n @Prop() variant: IcBackToTopVariants = \"default\";\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n private getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n\n private targetElObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n\n private footerObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n\n private findTargetEl = (target: string): Element => {\n let targetElement: Element = null;\n if (target === null || target === undefined) {\n console.log(\n \"Error: No target ID specified for back to top component - defaulting to top of page\"\n );\n } else {\n targetElement = document.querySelector(\n `${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`\n );\n if (targetElement === null) {\n console.log(\n `Error: Back to top target element '${target}' not found - defaulting to top of page`\n );\n }\n }\n return targetElement;\n };\n\n private createTopObserver = (target: string) => {\n this.targetEl = this.findTargetEl(target);\n let objParent: HTMLElement;\n\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n } else {\n objParent = this.targetEl.parentNode as HTMLElement;\n this.isTargetElNull = false;\n }\n\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n\n private handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n } else {\n this.targetEl.scrollIntoView();\n }\n // Get virtual cursor to move\n (this.getObservedEl() as HTMLElement).focus();\n };\n\n private checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n this.bannerOffset = banners.length > 0;\n };\n\n render() {\n const { variant, bannerOffset, targetElVisible, footerVisible } = this;\n const btnVariant = variant === \"icon\" ? \"icon-secondary\" : \"secondary\";\n const size = variant === \"icon\" ? \"large\" : \"medium\";\n const label = variant === \"icon\" ? \"\" : backToTopLabel;\n\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [`ic-back-to-top-${this.position}`]: true,\n }}\n >\n <ic-button\n aria-label={backToTopLabel}\n variant={btnVariant}\n size={size}\n onClick={this.handleClick}\n class={{\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"icon-only\"]: variant === \"icon\",\n }}\n theme={this.theme}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n {label}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-back-to-top.entry.cjs.js","mappings":"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","names":["onComponentPropUndefinedChange","onComponentRequiredPropUndefined","h","Host"],"sources":["src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n * @prop --margin-right: right y-position of back to top\n * @prop --margin-left: left y-position of back to top\n * @prop --footer-offset: offset of x-position from footer\n */\n\n:host {\n display: flex;\n flex: row;\n height: 0.1px;\n}\n\n:host(.ic-back-to-top-right) {\n justify-content: flex-end;\n}\n\n:host(.ic-back-to-top-right) ic-button {\n margin-right: var(--margin-right, 1rem);\n}\n\n:host(.ic-back-to-top-right) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n:host(.ic-back-to-top-left) {\n justify-content: flex-start;\n}\n\n:host(.ic-back-to-top-left) ic-button {\n margin-left: var(--margin-left, 1rem);\n}\n\n:host(.ic-back-to-top-left) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n:host(.ic-back-to-top-center) {\n justify-content: center;\n}\n\n:host(.ic-back-to-top-center) .ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\nic-button {\n height: 2.5rem;\n align-items: center;\n background-color: var(--ic-color-background-primary);\n border-radius: 5rem;\n box-shadow: var(--ic-elevation-overlay);\n visibility: hidden;\n position: fixed;\n bottom: var(--ic-space-md);\n opacity: 0;\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\n:host([variant=\"icon\"]) ic-button::part(button) {\n margin: 0;\n}\n\nic-button::part(button) {\n border-radius: 5rem;\n}\n\nic-button.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\nic-button.offset-banner:not(.by-footer) {\n margin-bottom: var(--footer-offset, var(--ic-space-lg));\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n.icon-only {\n width: 2.5rem;\n}\n\n.icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\nic-button.by-footer {\n position: relative;\n bottom: var(--footer-offset, 3.5rem);\n}\n\n@media (forced-colors: active) {\n .icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-xxxs));\n }\n}\n","import { Component, h, Host, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport {\n IcBackToTopVariants,\n IcBackToTopPositions,\n} from \"./ic-back-to-top.types\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BackToTop {\n private isTargetElNull: boolean;\n private targetEl: Element | null;\n private topObserver: IntersectionObserver | null = null;\n\n @Element() el: HTMLIcBackToTopElement;\n\n @State() bannerOffset: boolean = false;\n @State() footerVisible: boolean = false;\n @State() targetElVisible: boolean = true;\n\n /**\n * The horizontal position of the element.\n */\n @Prop() position?: IcBackToTopPositions = \"right\";\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The variant of the button to render\n */\n @Prop() variant?: IcBackToTopVariants = \"default\";\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n private getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n\n private targetElObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n\n private footerObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n\n private findTargetEl = (target: string): Element | null => {\n let targetElement = null;\n if (target === null || target === undefined) {\n console.log(\n \"Error: No target ID specified for back to top component - defaulting to top of page\"\n );\n } else {\n targetElement = document.querySelector(\n `${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`\n );\n if (targetElement === null) {\n console.log(\n `Error: Back to top target element '${target}' not found - defaulting to top of page`\n );\n }\n }\n return targetElement;\n };\n\n private createTopObserver = (target: string) => {\n this.targetEl = this.findTargetEl(target);\n let objParent: HTMLElement;\n\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n } else {\n objParent = this.targetEl.parentNode as HTMLElement;\n this.isTargetElNull = false;\n }\n\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n\n // resize observer needs to factor in any top margin on the target el\n const marginTop = this.targetEl\n ? getComputedStyle(this.targetEl).marginTop\n : 0;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n\n private handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n } else {\n this.targetEl?.scrollIntoView();\n }\n // Get virtual cursor to move\n (this.getObservedEl() as HTMLElement).focus();\n };\n\n private checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n this.bannerOffset = banners.length > 0;\n };\n\n render() {\n const { variant, bannerOffset, targetElVisible, footerVisible } = this;\n const btnVariant = variant === \"icon\" ? \"icon-secondary\" : \"secondary\";\n const size = variant === \"icon\" ? \"large\" : \"medium\";\n const label = variant === \"icon\" ? \"\" : backToTopLabel;\n\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [`ic-back-to-top-${this.position}`]: true,\n }}\n >\n <ic-button\n aria-label={backToTopLabel}\n variant={btnVariant}\n size={size}\n onClick={this.handleClick}\n class={{\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"icon-only\"]: variant === \"icon\",\n }}\n theme={this.theme}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n {label}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,10 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-eca4c27e.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-08a9ec1c.js');
7
7
 
8
8
  const icBadgeCss = "@media (prefers-reduced-motion: no-preference){:host(.ic-badge-show){animation:expand var(--ic-transition-duration-slow)}:host(.ic-badge-hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host ic-typography{--ic-typography-color:var(--ic-badge-text)}:host(.ic-badge-neutral){background-color:var(--ic-badge-dark) !important}:host(.ic-badge-light) ic-typography{--ic-typography-color:var(--ic-badge-text-monochrome)}:host(.ic-badge-light) ::slotted(*){fill:var(--ic-badge-icon-monochrome)}:host(.ic-badge-info){background-color:var(--ic-badge-info) !important}:host(.ic-badge-light){background-color:var(--ic-badge-light) !important}:host(.ic-badge-warning){background-color:var(--ic-badge-warning) !important}:host(.ic-badge-warning) ic-typography{--ic-typography-color:var(--ic-badge-warning-text)}:host(.ic-badge-warning) ::slotted(*){fill:var(--ic-badge-warning-icon)}:host(.ic-badge-error){background-color:var(--ic-badge-error) !important}:host(.ic-badge-success){background-color:var(--ic-badge-success) !important}:host(.ic-badge-small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.ic-badge-large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-medium){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.ic-badge-dot.ic-badge-small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.ic-badge-dot.ic-badge-large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host ::slotted(*){fill:var(--ic-badge-icon)}:host(.ic-badge-foreground-dark) ::slotted(*){fill:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ::slotted(*){fill:white}:host(.ic-badge-foreground-dark) ic-typography{--ic-typography-color:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ic-typography{--ic-typography-color:var(--ic-color-primary-text-dark)}:host(.ic-badge-text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-text.ic-badge-small) ic-typography{padding:0 0.2132rem}:host(.ic-badge-text.ic-badge-large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.ic-badge-icon.ic-badge-small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.ic-badge-icon.ic-badge-large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.ic-badge-far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.ic-badge-far.ic-badge-small),:host(.ic-badge-dot.ic-badge-far.ic-badge-large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-far),:host(.ic-badge-dot.ic-badge-far.ic-badge-small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.ic-badge-near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.ic-badge-dot.ic-badge-near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.ic-badge-inline){position:static}:host(.ic-badge-hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}.sr-only{position:absolute;left:-9999px}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";
9
+ const IcBadgeStyle0 = icBadgeCss;
9
10
 
10
11
  const NAVIGATION_BUTTON = "IC-NAVIGATION-BUTTON";
11
12
  const TOP_NAVIGATION = "IC-TOP-NAVIGATION";
@@ -13,8 +14,32 @@ const Badge = class {
13
14
  constructor(hostRef) {
14
15
  index.registerInstance(this, hostRef);
15
16
  this.ariaLabel = null;
17
+ /**
18
+ * The positioning of the badge in reference to the parent element.
19
+ */
20
+ this.position = "far";
21
+ /**
22
+ * The size of the badge to be displayed.
23
+ */
24
+ this.size = "medium";
25
+ /**
26
+ * 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.
27
+ */
28
+ this.theme = "inherit";
29
+ /**
30
+ * The type of badge to be displayed.
31
+ */
32
+ this.type = "text";
33
+ /**
34
+ * The variant of the badge to be displayed.
35
+ */
36
+ this.variant = "neutral";
37
+ /**
38
+ * If `true`, the badge will be displayed.
39
+ */
40
+ this.visible = true;
16
41
  this.setBadgeColour = () => {
17
- const colorRGBA = helpers.convertToRGBA(this.customColor);
42
+ const colorRGBA = this.customColor ? helpers.convertToRGBA(this.customColor) : null;
18
43
  if (colorRGBA) {
19
44
  const { r, g, b, a } = colorRGBA;
20
45
  this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;
@@ -40,7 +65,7 @@ const Badge = class {
40
65
  : "";
41
66
  parentEl.ariaLabel = this.visible
42
67
  ? `${ariaLabelPrefix} ${defaultAriaLabel}`
43
- : undefined;
68
+ : null;
44
69
  }
45
70
  else {
46
71
  this.ariaLabel = `, ${defaultAriaLabel}`;
@@ -48,28 +73,22 @@ const Badge = class {
48
73
  }
49
74
  };
50
75
  this.setPositionInTopNavigation = () => {
51
- const parentTopNavEl = this.el.parentElement.parentElement;
52
- parentTopNavEl.classList.contains("mobile-mode")
76
+ var _a;
77
+ const parentTopNavEl = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.parentElement;
78
+ (parentTopNavEl === null || parentTopNavEl === void 0 ? void 0 : parentTopNavEl.classList.contains("mobile-mode"))
53
79
  ? (this.position = "inline")
54
80
  : (this.position = "near");
55
81
  };
56
82
  this.isInTopNav = () => {
57
83
  const parentEl = this.el.parentElement;
58
- const grandparentEl = parentEl.parentElement;
59
- return (parentEl.tagName === NAVIGATION_BUTTON &&
60
- grandparentEl.tagName === TOP_NAVIGATION);
84
+ if (parentEl) {
85
+ const grandparentEl = parentEl === null || parentEl === void 0 ? void 0 : parentEl.parentElement;
86
+ return ((parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === NAVIGATION_BUTTON &&
87
+ (grandparentEl === null || grandparentEl === void 0 ? void 0 : grandparentEl.tagName) === TOP_NAVIGATION);
88
+ }
89
+ return false;
61
90
  };
62
91
  this.isAccessibleLabelDefined = () => helpers.isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;
63
- this.accessibleLabel = undefined;
64
- this.customColor = null;
65
- this.maxNumber = undefined;
66
- this.position = "far";
67
- this.size = "medium";
68
- this.label = undefined;
69
- this.theme = "inherit";
70
- this.type = "text";
71
- this.variant = "neutral";
72
- this.visible = true;
73
92
  }
74
93
  accessibleLabelHandler() {
75
94
  this.setAccessibleLabel();
@@ -108,7 +127,7 @@ const Badge = class {
108
127
  }
109
128
  render() {
110
129
  const { ariaLabel, el, foregroundColour, getLabel, position, size, label, type, variant, visible, theme, } = this;
111
- return (index.h(index.Host, { class: {
130
+ return (index.h(index.Host, { key: '26e06624cc8ed1a263175e7c037413ce8b69827c', class: {
112
131
  [`ic-badge-${position}`]: true,
113
132
  [`ic-badge-${size}`]: true,
114
133
  [`ic-badge-${variant}`]: true,
@@ -116,7 +135,7 @@ const Badge = class {
116
135
  [`ic-badge-foreground-${foregroundColour}`]: foregroundColour !== null && variant === "custom",
117
136
  [`${visible ? "ic-badge-show" : "ic-badge-hide"}`]: true,
118
137
  [`ic-theme-${theme}`]: theme !== "inherit",
119
- }, id: el.id || null, "aria-label": ariaLabel, role: "status" }, type === "icon" && index.h("slot", { name: "badge-icon" }), type === "text" && label && (index.h("ic-typography", { variant: size === "small" ? "badge-small" : "badge" }, getLabel())), type === "dot" && index.h("span", { class: "sr-only" }, "badge")));
138
+ }, id: el.id || null, "aria-label": ariaLabel, role: "status" }, type === "icon" && index.h("slot", { key: 'f646ef81ef5a7e7955d59f5497ed268a6a44ed87', name: "badge-icon" }), type === "text" && label && (index.h("ic-typography", { key: 'd8b61345c30c6efcf7111684996b2a52ed611d97', variant: size === "small" ? "badge-small" : "badge" }, getLabel())), type === "dot" && index.h("span", { key: 'a50bb809ae2088b20064f006e3917cc16c052038', class: "sr-only" }, "badge")));
120
139
  }
121
140
  static get delegatesFocus() { return true; }
122
141
  get el() { return index.getElement(this); }
@@ -127,7 +146,7 @@ const Badge = class {
127
146
  "visible": ["visibleHandler"]
128
147
  }; }
129
148
  };
130
- Badge.style = icBadgeCss;
149
+ Badge.style = IcBadgeStyle0;
131
150
 
132
151
  exports.ic_badge = Badge;
133
152
 
@@ -1 +1 @@
1
- {"file":"ic-badge.entry.cjs.js","mappings":"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","names":["convertToRGBA","getBrandForegroundAppearance","isPropDefined","onComponentRequiredPropUndefined","h","Host"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.ic-badge-show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.ic-badge-hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host ic-typography {\n --ic-typography-color: var(--ic-badge-text);\n}\n\n:host(.ic-badge-neutral) {\n background-color: var(--ic-badge-dark) !important;\n}\n\n:host(.ic-badge-light) ic-typography {\n --ic-typography-color: var(--ic-badge-text-monochrome);\n}\n\n:host(.ic-badge-light) ::slotted(*) {\n fill: var(--ic-badge-icon-monochrome);\n}\n\n:host(.ic-badge-info) {\n background-color: var(--ic-badge-info) !important;\n}\n\n:host(.ic-badge-light) {\n background-color: var(--ic-badge-light) !important;\n}\n\n:host(.ic-badge-warning) {\n background-color: var(--ic-badge-warning) !important;\n}\n\n:host(.ic-badge-warning) ic-typography {\n --ic-typography-color: var(--ic-badge-warning-text);\n}\n\n:host(.ic-badge-warning) ::slotted(*) {\n fill: var(--ic-badge-warning-icon);\n}\n\n:host(.ic-badge-error) {\n background-color: var(--ic-badge-error) !important;\n}\n\n:host(.ic-badge-success) {\n background-color: var(--ic-badge-success) !important;\n}\n\n:host(.ic-badge-small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.ic-badge-large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-medium) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.ic-badge-dot.ic-badge-small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-dot.ic-badge-large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host ::slotted(*) {\n fill: var(--ic-badge-icon);\n}\n\n:host(.ic-badge-foreground-dark) ::slotted(*) {\n fill: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.ic-badge-foreground-dark) ic-typography {\n --ic-typography-color: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ic-typography {\n --ic-typography-color: var(--ic-color-primary-text-dark);\n}\n\n:host(.ic-badge-text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-text.ic-badge-small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.ic-badge-text.ic-badge-large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.ic-badge-icon.ic-badge-small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.ic-badge-icon.ic-badge-large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.ic-badge-far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.ic-badge-far.ic-badge-small),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-far),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.ic-badge-dot.ic-badge-near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-badge-inline) {\n position: static;\n}\n\n:host(.ic-badge-hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n h,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst NAVIGATION_BUTTON = \"IC-NAVIGATION-BUTTON\";\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop({ mutable: true }) position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n componentWillRender(): void {\n this.isInTopNav() && this.setPositionInTopNavigation();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.isInTopNav() && (this.position = \"inline\");\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.isInTopNav() && (this.position = \"near\");\n }\n\n private setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private setPositionInTopNavigation = () => {\n const parentTopNavEl = this.el.parentElement.parentElement;\n parentTopNavEl.classList.contains(\"mobile-mode\")\n ? (this.position = \"inline\")\n : (this.position = \"near\");\n };\n\n private isInTopNav = (): boolean => {\n const parentEl = this.el.parentElement;\n const grandparentEl = parentEl.parentElement;\n return (\n parentEl.tagName === NAVIGATION_BUTTON &&\n grandparentEl.tagName === TOP_NAVIGATION\n );\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-badge.entry.cjs.js","mappings":"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","names":["convertToRGBA","getBrandForegroundAppearance","isPropDefined","onComponentRequiredPropUndefined","h","Host"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.ic-badge-show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.ic-badge-hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host ic-typography {\n --ic-typography-color: var(--ic-badge-text);\n}\n\n:host(.ic-badge-neutral) {\n background-color: var(--ic-badge-dark) !important;\n}\n\n:host(.ic-badge-light) ic-typography {\n --ic-typography-color: var(--ic-badge-text-monochrome);\n}\n\n:host(.ic-badge-light) ::slotted(*) {\n fill: var(--ic-badge-icon-monochrome);\n}\n\n:host(.ic-badge-info) {\n background-color: var(--ic-badge-info) !important;\n}\n\n:host(.ic-badge-light) {\n background-color: var(--ic-badge-light) !important;\n}\n\n:host(.ic-badge-warning) {\n background-color: var(--ic-badge-warning) !important;\n}\n\n:host(.ic-badge-warning) ic-typography {\n --ic-typography-color: var(--ic-badge-warning-text);\n}\n\n:host(.ic-badge-warning) ::slotted(*) {\n fill: var(--ic-badge-warning-icon);\n}\n\n:host(.ic-badge-error) {\n background-color: var(--ic-badge-error) !important;\n}\n\n:host(.ic-badge-success) {\n background-color: var(--ic-badge-success) !important;\n}\n\n:host(.ic-badge-small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.ic-badge-large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-medium) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.ic-badge-dot.ic-badge-small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-dot.ic-badge-large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host ::slotted(*) {\n fill: var(--ic-badge-icon);\n}\n\n:host(.ic-badge-foreground-dark) ::slotted(*) {\n fill: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.ic-badge-foreground-dark) ic-typography {\n --ic-typography-color: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ic-typography {\n --ic-typography-color: var(--ic-color-primary-text-dark);\n}\n\n:host(.ic-badge-text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-text.ic-badge-small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.ic-badge-text.ic-badge-large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.ic-badge-icon.ic-badge-small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.ic-badge-icon.ic-badge-large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.ic-badge-far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.ic-badge-far.ic-badge-small),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-far),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.ic-badge-dot.ic-badge-near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-badge-inline) {\n position: static;\n}\n\n:host(.ic-badge-hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n h,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst NAVIGATION_BUTTON = \"IC-NAVIGATION-BUTTON\";\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string | null = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop({ mutable: true }) position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible?: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n componentWillRender(): void {\n this.isInTopNav() && this.setPositionInTopNavigation();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.isInTopNav() && (this.position = \"inline\");\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.isInTopNav() && (this.position = \"near\");\n }\n\n private setBadgeColour = () => {\n const colorRGBA = this.customColor ? convertToRGBA(this.customColor) : null;\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : null;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private setPositionInTopNavigation = () => {\n const parentTopNavEl = this.el.parentElement?.parentElement;\n parentTopNavEl?.classList.contains(\"mobile-mode\")\n ? (this.position = \"inline\")\n : (this.position = \"near\");\n };\n\n private isInTopNav = (): boolean => {\n const parentEl = this.el.parentElement;\n if (parentEl) {\n const grandparentEl = parentEl?.parentElement;\n return (\n parentEl?.tagName === NAVIGATION_BUTTON &&\n grandparentEl?.tagName === TOP_NAVIGATION\n );\n }\n return false;\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,10 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-eca4c27e.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-08a9ec1c.js');
7
7
 
8
8
  const icBreadcrumbGroupCss = ":host{display:block}:host ol{display:flex;list-style-type:none;align-items:center;flex-wrap:wrap;padding:0;margin:0}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb){display:none}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show){display:flex}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide){display:none;opacity:0;visibility:hidden}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden){display:block;opacity:0;transition:all var(--ic-easing-transition-slow)}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade){opacity:1}";
9
+ const IcBreadcrumbGroupStyle0 = icBreadcrumbGroupCss;
9
10
 
10
11
  const BreadcrumbGroup = class {
11
12
  constructor(hostRef) {
@@ -14,6 +15,24 @@ const BreadcrumbGroup = class {
14
15
  this.IC_BREADCRUMB = "ic-breadcrumb";
15
16
  this.resizeObserver = null;
16
17
  this.SHOW_BACK_ICON = "show-back-icon";
18
+ this.deviceSize = helpers.DEVICE_SIZES.XL;
19
+ this.expandedBreadcrumbs = false;
20
+ /**
21
+ * If `true`, display only a single breadcrumb for the parent page with a back icon.
22
+ */
23
+ this.backBreadcrumbOnly = false;
24
+ /**
25
+ * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.
26
+ */
27
+ this.collapsed = false;
28
+ /**
29
+ * If `true`, the breadcrumb group will display as black in the light theme, and white in the dark theme.
30
+ */
31
+ this.monochrome = false;
32
+ /**
33
+ * 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.
34
+ */
35
+ this.theme = "inherit";
17
36
  this.setBreadcrumbTheme = () => {
18
37
  const allBreadcrumbs = Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));
19
38
  allBreadcrumbs.forEach((breadcrumb) => {
@@ -139,9 +158,11 @@ const BreadcrumbGroup = class {
139
158
  }
140
159
  };
141
160
  this.revertLastParentCollapsedBreadcrumb = () => {
142
- this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, "false");
143
- if (this.collapsed) {
144
- this.lastParentBreadcrumb.classList.add("hide");
161
+ if (this.lastParentBreadcrumb) {
162
+ this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, "false");
163
+ if (this.collapsed) {
164
+ this.lastParentBreadcrumb.classList.add("hide");
165
+ }
145
166
  }
146
167
  };
147
168
  this.resizeObserverCallback = (currSize) => {
@@ -180,12 +201,6 @@ const BreadcrumbGroup = class {
180
201
  });
181
202
  this.resizeObserver.observe(this.el);
182
203
  };
183
- this.deviceSize = helpers.DEVICE_SIZES.XL;
184
- this.expandedBreadcrumbs = false;
185
- this.backBreadcrumbOnly = false;
186
- this.collapsed = false;
187
- this.monochrome = false;
188
- this.theme = "inherit";
189
204
  }
190
205
  watchBackBreadcrumbHandler() {
191
206
  this.setBackBreadcrumb();
@@ -225,11 +240,11 @@ const BreadcrumbGroup = class {
225
240
  this.collapsedBreadcrumbEl.removeEventListener("click", this.clickHandler);
226
241
  }
227
242
  render() {
228
- return (index.h(index.Host, { class: {
229
- "ic-breadcrumb-group-back": this.backBreadcrumbOnly,
230
- "ic-breadcrumb-group-collapsed": this.collapsed,
243
+ return (index.h(index.Host, { key: 'aeb0ffb06d519727c806ff53ca569fb3f5e89f45', class: {
244
+ "ic-breadcrumb-group-back": !!this.backBreadcrumbOnly,
245
+ "ic-breadcrumb-group-collapsed": !!this.collapsed,
231
246
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
232
- } }, index.h("nav", { "aria-label": "breadcrumbs" }, index.h("ol", null, index.h("slot", null)))));
247
+ } }, index.h("nav", { key: 'c5b6ceb2ecbcd99f331981ed7d41d8f65929484b', "aria-label": "breadcrumbs" }, index.h("ol", { key: '6204a3fc1a832524efd7f18e7b3ddcc7e26c0fa4' }, index.h("slot", { key: 'd43502ff8a825c31983b661d4221b610aaad5d94' })))));
233
248
  }
234
249
  get el() { return index.getElement(this); }
235
250
  static get watchers() { return {
@@ -239,7 +254,7 @@ const BreadcrumbGroup = class {
239
254
  "theme": ["watchThemeHandler"]
240
255
  }; }
241
256
  };
242
- BreadcrumbGroup.style = icBreadcrumbGroupCss;
257
+ BreadcrumbGroup.style = IcBreadcrumbGroupStyle0;
243
258
 
244
259
  exports.ic_breadcrumb_group = BreadcrumbGroup;
245
260
 
@@ -1 +1 @@
1
- {"file":"ic-breadcrumb-group.entry.cjs.js","mappings":"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","names":["DEVICE_SIZES","getCurrentDeviceSize","checkResizeObserver","h","Host"],"sources":["src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-breadcrumb-group-collapsed)\n ol\n ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","import { Component, Host, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-breadcrumb-group\",\n styleUrl: \"ic-breadcrumb-group.css\",\n shadow: true,\n})\n\n// Added ResizeObserver to find out width of breadcrumbs and parents. Use side navigation long title for ref.\nexport class BreadcrumbGroup {\n private ADD_CLASS_DELAY = 50;\n private breadcrumb: HTMLIcBreadcrumbElement;\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbEl: HTMLButtonElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n private IC_BREADCRUMB: string = \"ic-breadcrumb\";\n private resizeObserver: ResizeObserver = null;\n private SHOW_BACK_ICON: string = \"show-back-icon\";\n\n @Element() el: HTMLIcBreadcrumbGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n @Watch(\"backBreadcrumbOnly\")\n watchBackBreadcrumbHandler(): void {\n this.setBackBreadcrumb();\n }\n\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed: boolean = false;\n @Watch(\"collapsed\")\n watchCollapsedHandler(): void {\n this.setCollapsed();\n }\n\n /**\n * If `true`, the breadcrumb group will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.setBreadcrumbMonochrome();\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.setBreadcrumbTheme();\n }\n\n componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n this.setBreadcrumbTheme();\n this.setBreadcrumbMonochrome();\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed && allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n\n disconnectedCallback(): void {\n this.breadcrumb &&\n this.breadcrumb.removeEventListener(\n \"transitionend\",\n this.transitionendHandler\n );\n\n this.collapsedBreadcrumbEl &&\n this.collapsedBreadcrumbEl.removeEventListener(\n \"click\",\n this.clickHandler\n );\n }\n\n private setBreadcrumbTheme = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n allBreadcrumbs.forEach((breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.theme = this.theme;\n });\n };\n\n private setBreadcrumbMonochrome = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n allBreadcrumbs.forEach((breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.monochrome = this.monochrome;\n });\n };\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.revertLastParentCollapsedBreadcrumb();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.add(\"show\");\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs;\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 2];\n\n return this.breadcrumb;\n };\n\n private lastParentBreadcrumb = this.getLastParentBreadcrumb();\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n });\n };\n\n private setCollapsed = () => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n const firstBreadcrumb = allBreadcrumbs[0];\n if (this.collapsedBreadcrumbs) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.remove(\"visuallyhidden\");\n breadcrumb.classList.remove(\"fade\");\n });\n }\n\n if (this.collapsed) {\n this.renderCollapsedBreadcrumb();\n\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n if (!this.backBreadcrumbOnly) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n }\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n } else {\n this.collapsedBreadcrumbWrapper.remove();\n }\n };\n\n private clickHandler = () => {\n this.handleHiddenCollapsedBreadcrumbs();\n };\n\n private renderCollapsedBreadcrumb = () => {\n if (this.collapsedBreadcrumbEl === undefined) {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n this.collapsedBreadcrumbEl = document.createElement(\"button\");\n\n const ariaLabel = document.createElement(\"span\");\n ariaLabel.id = \"collapsed-button-label\";\n ariaLabel.innerText = \"Collapsed breadcrumbs\";\n ariaLabel.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-labelledby\",\n \"collapsed-button-label\"\n );\n\n const ariaDescribed = document.createElement(\"span\");\n ariaDescribed.id = \"collapsed-button-described\";\n ariaDescribed.innerText = \"Select to view collapsed breadcrumbs\";\n ariaDescribed.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n this.collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n this.collapsedBreadcrumbEl.innerText = \"...\";\n this.collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n this.collapsedBreadcrumbEl.addEventListener(\"click\", this.clickHandler);\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);\n }\n };\n\n private handleHiddenCollapsedBreadcrumbs = () => {\n this.collapsedBreadcrumbWrapper.remove();\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.add(\"visuallyhidden\");\n breadcrumb.classList.remove(\"hide\");\n setTimeout(() => {\n breadcrumb.classList.add(\"fade\");\n }, this.ADD_CLASS_DELAY);\n\n this.removeVisuallyHiddenClass(breadcrumb);\n });\n this.expandedBreadcrumbs = true;\n // Set focus to first unhidden breadcrumb\n this.collapsedBreadcrumbs[0].setFocus();\n };\n\n private transitionendHandler = (event: TransitionEvent) => {\n if (event.propertyName === \"opacity\") {\n (event.target as HTMLElement).classList.remove(\"visuallyhidden\");\n }\n };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", this.transitionendHandler);\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n this.lastParentBreadcrumb = this.getLastParentBreadcrumb();\n this.setBackBreadcrumbAttr();\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.remove(\"hide\");\n this.lastParentBreadcrumb.classList.add(\"show\");\n }\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n if (this.collapsed) {\n this.lastParentBreadcrumb.classList.add(\"hide\");\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (this.deviceSize <= DEVICE_SIZES.S) {\n this.el.setAttribute(\"back-breadcrumb-only\", \"true\");\n if (this.collapsed) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setBackBreadcrumb();\n }\n } else {\n this.el.setAttribute(\"back-breadcrumb-only\", \"false\");\n if (this.collapsed && this.breadcrumbs && this.breadcrumbs.length > 2) {\n this.revertLastParentCollapsedBreadcrumb();\n if (this.expandedBreadcrumbs) {\n this.setDefaultBreadcrumbs();\n } else {\n this.setCollapsed();\n }\n } else {\n this.setDefaultBreadcrumbs();\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n \"ic-breadcrumb-group-back\": this.backBreadcrumbOnly,\n \"ic-breadcrumb-group-collapsed\": this.collapsed,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-breadcrumb-group.entry.cjs.js","mappings":"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","names":["DEVICE_SIZES","getCurrentDeviceSize","checkResizeObserver","h","Host"],"sources":["src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-breadcrumb-group-collapsed)\n ol\n ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","import { Component, Host, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-breadcrumb-group\",\n styleUrl: \"ic-breadcrumb-group.css\",\n shadow: true,\n})\n\n// Added ResizeObserver to find out width of breadcrumbs and parents. Use side navigation long title for ref.\nexport class BreadcrumbGroup {\n private ADD_CLASS_DELAY = 50;\n private breadcrumb: HTMLIcBreadcrumbElement;\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbEl: HTMLButtonElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n private IC_BREADCRUMB: string = \"ic-breadcrumb\";\n private resizeObserver: ResizeObserver | null = null;\n private SHOW_BACK_ICON: string = \"show-back-icon\";\n\n @Element() el: HTMLIcBreadcrumbGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly?: boolean = false;\n @Watch(\"backBreadcrumbOnly\")\n watchBackBreadcrumbHandler(): void {\n this.setBackBreadcrumb();\n }\n\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed?: boolean = false;\n @Watch(\"collapsed\")\n watchCollapsedHandler(): void {\n this.setCollapsed();\n }\n\n /**\n * If `true`, the breadcrumb group will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.setBreadcrumbMonochrome();\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.setBreadcrumbTheme();\n }\n\n componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n this.setBreadcrumbTheme();\n this.setBreadcrumbMonochrome();\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed && allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n\n disconnectedCallback(): void {\n this.breadcrumb &&\n this.breadcrumb.removeEventListener(\n \"transitionend\",\n this.transitionendHandler\n );\n\n this.collapsedBreadcrumbEl &&\n this.collapsedBreadcrumbEl.removeEventListener(\n \"click\",\n this.clickHandler\n );\n }\n\n private setBreadcrumbTheme = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n ) as HTMLIcBreadcrumbElement[];\n\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.theme = this.theme;\n });\n };\n\n private setBreadcrumbMonochrome = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n ) as HTMLIcBreadcrumbElement[];\n\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.monochrome = this.monochrome;\n });\n };\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.revertLastParentCollapsedBreadcrumb();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.add(\"show\");\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs;\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 2];\n\n return this.breadcrumb;\n };\n\n private lastParentBreadcrumb = this.getLastParentBreadcrumb();\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n });\n };\n\n private setCollapsed = () => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n const firstBreadcrumb = allBreadcrumbs[0];\n if (this.collapsedBreadcrumbs) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.remove(\"visuallyhidden\");\n breadcrumb.classList.remove(\"fade\");\n });\n }\n\n if (this.collapsed) {\n this.renderCollapsedBreadcrumb();\n\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n if (!this.backBreadcrumbOnly) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n }\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n } else {\n this.collapsedBreadcrumbWrapper.remove();\n }\n };\n\n private clickHandler = () => {\n this.handleHiddenCollapsedBreadcrumbs();\n };\n\n private renderCollapsedBreadcrumb = () => {\n if (this.collapsedBreadcrumbEl === undefined) {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n this.collapsedBreadcrumbEl = document.createElement(\"button\");\n\n const ariaLabel = document.createElement(\"span\");\n ariaLabel.id = \"collapsed-button-label\";\n ariaLabel.innerText = \"Collapsed breadcrumbs\";\n ariaLabel.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-labelledby\",\n \"collapsed-button-label\"\n );\n\n const ariaDescribed = document.createElement(\"span\");\n ariaDescribed.id = \"collapsed-button-described\";\n ariaDescribed.innerText = \"Select to view collapsed breadcrumbs\";\n ariaDescribed.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n this.collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n this.collapsedBreadcrumbEl.innerText = \"...\";\n this.collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n this.collapsedBreadcrumbEl.addEventListener(\"click\", this.clickHandler);\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);\n }\n };\n\n private handleHiddenCollapsedBreadcrumbs = () => {\n this.collapsedBreadcrumbWrapper.remove();\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.add(\"visuallyhidden\");\n breadcrumb.classList.remove(\"hide\");\n setTimeout(() => {\n breadcrumb.classList.add(\"fade\");\n }, this.ADD_CLASS_DELAY);\n\n this.removeVisuallyHiddenClass(breadcrumb);\n });\n this.expandedBreadcrumbs = true;\n // Set focus to first unhidden breadcrumb\n this.collapsedBreadcrumbs[0].setFocus();\n };\n\n private transitionendHandler = (event: TransitionEvent) => {\n if (event.propertyName === \"opacity\") {\n (event.target as HTMLElement).classList.remove(\"visuallyhidden\");\n }\n };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", this.transitionendHandler);\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n this.lastParentBreadcrumb = this.getLastParentBreadcrumb();\n this.setBackBreadcrumbAttr();\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.remove(\"hide\");\n this.lastParentBreadcrumb.classList.add(\"show\");\n }\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n if (this.collapsed) {\n this.lastParentBreadcrumb.classList.add(\"hide\");\n }\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (this.deviceSize <= DEVICE_SIZES.S) {\n this.el.setAttribute(\"back-breadcrumb-only\", \"true\");\n if (this.collapsed) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setBackBreadcrumb();\n }\n } else {\n this.el.setAttribute(\"back-breadcrumb-only\", \"false\");\n if (this.collapsed && this.breadcrumbs && this.breadcrumbs.length > 2) {\n this.revertLastParentCollapsedBreadcrumb();\n if (this.expandedBreadcrumbs) {\n this.setDefaultBreadcrumbs();\n } else {\n this.setCollapsed();\n }\n } else {\n this.setDefaultBreadcrumbs();\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n \"ic-breadcrumb-group-back\": !!this.backBreadcrumbOnly,\n \"ic-breadcrumb-group-collapsed\": !!this.collapsed,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
5
+ const index = require('./index-d337cd8a.js');
6
6
  const chevronIcon = require('./chevron-icon-3bf07531.js');
7
- const helpers = require('./helpers-eca4c27e.js');
7
+ const helpers = require('./helpers-08a9ec1c.js');
8
8
 
9
9
  const backIcon = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
10
10
  <path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>
@@ -12,11 +12,28 @@ const backIcon = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/
12
12
  `;
13
13
 
14
14
  const icBreadcrumbCss = ":host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg,:host(.ic-breadcrumb-monochrome) .chevron svg{color:var(--ic-breadcrumb-icon-chevron)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-breadcrumb-icon)}:host(.ic-breadcrumb-monochrome) .back-icon svg{color:var(--ic-breadcrumb-icon-monochrome)}:host(.ic-breadcrumb-back){display:flex;align-items:center}:host(.ic-breadcrumb-back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current=\"page\"]){cursor:text}:host([aria-current=\"page\"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs);color:var(--ic-breadcrumb-text)}:host([aria-current=\"page\"].ic-breadcrumb-monochrome) .current-page-container{color:var(--ic-breadcrumb-text-monochrome)}:host([aria-current=\"page\"]) slot{pointer-events:none}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-color-hyperlink-default);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}.slotted-link-container{gap:var(--ic-space-xs);display:flex}.slotted-link-container .back-icon{width:1.5rem;height:1.5rem}.slotted-link-container .link-wrapper{line-height:1.5rem}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-underline-offset: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}";
15
+ const IcBreadcrumbStyle0 = icBreadcrumbCss;
15
16
 
16
17
  const Breadcrumb = class {
17
18
  constructor(hostRef) {
18
19
  index.registerInstance(this, hostRef);
19
20
  this.HREF_ATTR = "href";
21
+ /**
22
+ * If `true`, aria-current will be set on the breadcrumb.
23
+ */
24
+ this.current = false;
25
+ /**
26
+ * @internal If `true`, the breadcrumb will display as black in the light theme, and white in the dark theme.
27
+ */
28
+ this.monochrome = false;
29
+ /**
30
+ * @internal If `true`, back icon will be displayed.
31
+ */
32
+ this.showBackIcon = false;
33
+ /**
34
+ * @internal 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.
35
+ */
36
+ this.theme = "inherit";
20
37
  // Prevent focus on breadcrumb if current page and contains slotted link
21
38
  this.updatedSlottedLinkFocus = () => {
22
39
  // Sets tabindex on wrong element in unit test snapshots
@@ -29,7 +46,8 @@ const Breadcrumb = class {
29
46
  this.slottedLinkEl.removeAttribute(this.HREF_ATTR); // Prevent screen reader announcing breadcrumb as a link
30
47
  }
31
48
  else {
32
- this.slottedLinkEl.setAttribute(this.HREF_ATTR, this.slottedLinkHref);
49
+ this.slottedLinkHref &&
50
+ this.slottedLinkEl.setAttribute(this.HREF_ATTR, this.slottedLinkHref);
33
51
  }
34
52
  }
35
53
  };
@@ -66,24 +84,21 @@ const Breadcrumb = class {
66
84
  }
67
85
  }
68
86
  };
69
- this.current = false;
70
- this.href = undefined;
71
- this.monochrome = false;
72
- this.pageTitle = undefined;
73
- this.showBackIcon = false;
74
- this.theme = "inherit";
75
87
  }
76
88
  watchCurrentHandler() {
77
89
  this.updatedSlottedLinkFocus();
78
90
  this.el.ariaCurrent = this.current ? "page" : null;
79
91
  }
80
92
  componentDidLoad() {
81
- var _a;
82
- const slottedLinkWrapper = this.el.shadowRoot.querySelector(".link-wrapper");
93
+ var _a, _b;
94
+ const slottedLinkWrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".link-wrapper");
83
95
  if (slottedLinkWrapper) {
84
- this.linkSlotContent = helpers.getSlotElements(slottedLinkWrapper)[0];
96
+ const slotEls = helpers.getSlotElements(slottedLinkWrapper);
97
+ if (slotEls) {
98
+ this.linkSlotContent = slotEls[0];
99
+ }
85
100
  this.slottedLinkEl = this.getSlottedLinkEl();
86
- this.slottedLinkHref = (_a = this.slottedLinkEl) === null || _a === void 0 ? void 0 : _a.getAttribute("href");
101
+ this.slottedLinkHref = (_b = this.slottedLinkEl) === null || _b === void 0 ? void 0 : _b.getAttribute("href");
87
102
  this.updatedSlottedLinkFocus();
88
103
  }
89
104
  }
@@ -94,20 +109,19 @@ const Breadcrumb = class {
94
109
  * Sets focus on the breadcrumb.
95
110
  */
96
111
  async setFocus() {
97
- if (this.el.shadowRoot.querySelector("ic-link")) {
98
- this.el.shadowRoot.querySelector("ic-link").focus();
99
- }
112
+ var _a, _b;
113
+ (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-link")) === null || _b === void 0 ? void 0 : _b.focus();
100
114
  }
101
115
  render() {
102
116
  const { current, href, pageTitle } = this;
103
117
  const describedById = `${pageTitle && pageTitle.toLowerCase().replace(" ", "-")}-describedby`;
104
118
  const hasPageTitle = pageTitle !== null && helpers.isPropDefined(pageTitle) && pageTitle !== "";
105
119
  const hasHref = href !== null && helpers.isPropDefined(href) && href !== "";
106
- return (index.h(index.Host, { class: {
107
- "ic-breadcrumb-back": this.showBackIcon,
120
+ return (index.h(index.Host, { key: 'ec05cf0666fe3145ec70109bdd80987666520583', class: {
121
+ "ic-breadcrumb-back": !!this.showBackIcon,
108
122
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
109
- "ic-breadcrumb-monochrome": this.monochrome,
110
- }, "aria-current": current && "page", role: "listitem" }, index.h("div", { class: "breadcrumb" }, index.h("span", { innerHTML: chevronIcon.Chevron, class: "chevron", "aria-hidden": "true" }), this.showBackIcon && describedById && (index.h("span", { id: describedById, class: "hide" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(current, pageTitle, describedById, href)) : (index.h("div", { class: "slotted-link-container" }, this.showBackIcon && this.renderBackIcon(), index.h("span", { class: "link-wrapper" }, index.h("slot", null)))))));
123
+ "ic-breadcrumb-monochrome": !!this.monochrome,
124
+ }, "aria-current": current && "page", role: "listitem" }, index.h("div", { key: 'e3bc601db155acfd4e14102b0599416007152fb1', class: "breadcrumb" }, index.h("span", { key: 'fa88e451ad018ab3af5da63f3f9072b1a5d61856', innerHTML: chevronIcon.Chevron, class: "chevron", "aria-hidden": "true" }), this.showBackIcon && describedById && (index.h("span", { key: '30c614b37073b3f6f9d371c0760047924962cacc', id: describedById, class: "hide" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(!!current, pageTitle, describedById, href)) : (index.h("div", { class: "slotted-link-container" }, this.showBackIcon && this.renderBackIcon(), index.h("span", { class: "link-wrapper" }, index.h("slot", null)))))));
111
125
  }
112
126
  static get delegatesFocus() { return true; }
113
127
  get el() { return index.getElement(this); }
@@ -115,7 +129,7 @@ const Breadcrumb = class {
115
129
  "current": ["watchCurrentHandler"]
116
130
  }; }
117
131
  };
118
- Breadcrumb.style = icBreadcrumbCss;
132
+ Breadcrumb.style = IcBreadcrumbStyle0;
119
133
 
120
134
  exports.ic_breadcrumb = Breadcrumb;
121
135