@ukic/web-components 2.1.0-beta.0 → 2.1.0-beta.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (826) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/OpenInNew-f9958725.js +7 -0
  3. package/dist/cjs/OpenInNew-f9958725.js.map +1 -0
  4. package/dist/cjs/{check-icon-999d9877.js → check-icon-b2f60716.js} +2 -2
  5. package/dist/cjs/check-icon-b2f60716.js.map +1 -0
  6. package/dist/cjs/{chevron-icon-d175fe66.js → chevron-icon-2645d6b0.js} +2 -2
  7. package/dist/cjs/chevron-icon-2645d6b0.js.map +1 -0
  8. package/dist/cjs/core.cjs.js +3 -3
  9. package/dist/cjs/core.cjs.js.map +1 -1
  10. package/dist/cjs/{helpers-d0eeccf0.js → helpers-6eb26e7a.js} +158 -40
  11. package/dist/cjs/helpers-6eb26e7a.js.map +1 -0
  12. package/dist/cjs/ic-alert.cjs.entry.js +6 -25
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +24 -12
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +14 -5
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-button_3.cjs.entry.js +86 -37
  21. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card.cjs.entry.js +43 -6
  23. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -4
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox.cjs.entry.js +19 -6
  27. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-chip.cjs.entry.js +77 -0
  29. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -0
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-row.cjs.entry.js +14 -12
  35. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -3
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -5
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +5 -5
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +158 -0
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +71 -41
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -8
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-link.cjs.entry.js +14 -8
  53. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -4
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -5
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +18 -11
  59. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js +8 -8
  61. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  63. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-radio-group.cjs.entry.js +13 -5
  65. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-option.cjs.entry.js +24 -6
  67. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-search-bar.cjs.entry.js +53 -41
  69. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-select.cjs.entry.js +206 -59
  73. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +24 -12
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -5
  79. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +103 -23
  81. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-stepper.cjs.entry.js +166 -42
  83. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-switch.cjs.entry.js +12 -3
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +7 -2
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-group.cjs.entry.js +9 -118
  89. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -6
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +10 -6
  93. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  95. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +21 -13
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +48 -0
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -0
  100. package/dist/cjs/ic-toast.cjs.entry.js +165 -0
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -0
  102. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -10
  103. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  105. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  106. package/dist/cjs/{index-3ef30d9d.js → index-f79a4e53.js} +21 -2
  107. package/dist/cjs/index-f79a4e53.js.map +1 -0
  108. package/dist/cjs/loader.cjs.js +3 -3
  109. package/dist/cjs/loader.cjs.js.map +1 -1
  110. package/dist/cjs/types-3eb02246.js.map +1 -1
  111. package/dist/collection/assets/back-icon.svg +1 -1
  112. package/dist/collection/assets/check-icon.svg +1 -1
  113. package/dist/collection/assets/chevron-icon.svg +1 -1
  114. package/dist/collection/assets/dismiss-icon.svg +3 -0
  115. package/dist/collection/assets/error-icon.svg +3 -3
  116. package/dist/collection/assets/info-icon.svg +3 -3
  117. package/dist/collection/assets/neutral-icon.svg +3 -3
  118. package/dist/collection/assets/success-icon.svg +3 -3
  119. package/dist/collection/assets/warning-icon-outline.svg +3 -0
  120. package/dist/collection/assets/warning-icon.svg +3 -3
  121. package/dist/collection/collection-manifest.json +6 -2
  122. package/dist/collection/components/ic-alert/ic-alert.css +23 -17
  123. package/dist/collection/components/ic-alert/ic-alert.js +32 -24
  124. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  125. package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +2 -2
  126. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +23 -7
  127. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +18 -7
  128. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  129. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +6 -0
  130. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +33 -4
  131. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  132. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  133. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  134. package/dist/collection/components/ic-button/ic-button.css +26 -14
  135. package/dist/collection/components/ic-button/ic-button.js +17 -32
  136. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  137. package/dist/collection/components/ic-card/ic-card.css +66 -17
  138. package/dist/collection/components/ic-card/ic-card.js +123 -15
  139. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  140. package/dist/collection/components/ic-checkbox/ic-checkbox.css +65 -30
  141. package/dist/collection/components/ic-checkbox/ic-checkbox.js +66 -13
  142. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  143. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +18 -2
  144. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +11 -11
  145. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  146. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js +1 -1
  147. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +1 -1
  148. package/dist/collection/components/ic-chip/ic-chip.css +596 -0
  149. package/dist/collection/components/ic-chip/ic-chip.js +247 -0
  150. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -0
  151. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js +11 -0
  152. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +1 -0
  153. package/dist/collection/components/ic-chip/ic-chip.types.js +2 -0
  154. package/dist/collection/components/ic-chip/ic-chip.types.js.map +1 -0
  155. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +11 -1
  156. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +6 -6
  157. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  158. package/dist/collection/components/ic-data-entity/ic-data-entity.css +7 -1
  159. package/dist/collection/components/ic-data-entity/ic-data-entity.js +2 -2
  160. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  161. package/dist/collection/components/ic-data-row/ic-data-row.css +26 -8
  162. package/dist/collection/components/ic-data-row/ic-data-row.js +14 -12
  163. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  164. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  165. package/dist/collection/components/ic-divider/ic-divider.js +1 -1
  166. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  167. package/dist/collection/components/ic-footer/ic-footer.css +10 -4
  168. package/dist/collection/components/ic-footer/ic-footer.js +19 -16
  169. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  170. package/dist/collection/components/ic-footer-link/ic-footer-link.css +35 -3
  171. package/dist/collection/components/ic-footer-link/ic-footer-link.js +101 -4
  172. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  173. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
  174. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +4 -3
  175. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  176. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js +1 -1
  177. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +1 -1
  178. package/dist/collection/components/ic-hero/ic-hero.css +35 -30
  179. package/dist/collection/components/ic-hero/ic-hero.js +10 -10
  180. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  181. package/dist/collection/components/ic-horizontal-scroll/assets/left-arrow.svg +3 -0
  182. package/dist/collection/components/ic-horizontal-scroll/assets/right-arrow.svg +3 -0
  183. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +539 -0
  184. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +213 -0
  185. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -0
  186. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js +34 -0
  187. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +1 -0
  188. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +31 -18
  189. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -8
  190. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  191. package/dist/collection/components/ic-input-container/ic-input-container.css +0 -1
  192. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  193. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  194. package/dist/collection/components/ic-input-label/ic-input-label.js +8 -8
  195. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  196. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -5
  197. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -5
  198. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  199. package/dist/collection/components/ic-link/ic-link.css +0 -9
  200. package/dist/collection/components/ic-link/ic-link.js +38 -11
  201. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  202. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +96 -105
  203. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +96 -16
  204. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  205. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  206. package/dist/collection/components/ic-menu/ic-menu.css +26 -14
  207. package/dist/collection/components/ic-menu/ic-menu.js +135 -68
  208. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  209. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +9 -8
  210. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  211. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -7
  212. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -6
  213. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  214. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +68 -18
  215. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +113 -16
  216. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  217. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +15 -11
  218. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +8 -8
  219. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  220. package/dist/collection/components/ic-page-header/ic-page-header.css +15 -5
  221. package/dist/collection/components/ic-page-header/ic-page-header.js +10 -10
  222. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  223. package/dist/collection/components/ic-radio-group/ic-radio-group.css +32 -0
  224. package/dist/collection/components/ic-radio-group/ic-radio-group.js +44 -13
  225. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  226. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js +1 -1
  227. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +1 -1
  228. package/dist/collection/components/ic-radio-option/ic-radio-option.css +58 -49
  229. package/dist/collection/components/ic-radio-option/ic-radio-option.js +65 -19
  230. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  231. package/dist/collection/components/ic-search-bar/ic-search-bar.css +24 -18
  232. package/dist/collection/components/ic-search-bar/ic-search-bar.js +87 -82
  233. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  234. package/dist/collection/components/ic-section-container/ic-section-container.css +1 -0
  235. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  236. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  237. package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
  238. package/dist/collection/components/ic-select/ic-select.css +35 -18
  239. package/dist/collection/components/ic-select/ic-select.js +320 -77
  240. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  241. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +57 -36
  242. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +39 -23
  243. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  244. package/dist/collection/components/ic-skeleton/ic-skeleton.css +8 -0
  245. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  246. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  247. package/dist/collection/components/ic-status-tag/ic-status-tag.css +15 -7
  248. package/dist/collection/components/ic-status-tag/ic-status-tag.js +22 -3
  249. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  250. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js +1 -1
  251. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +1 -1
  252. package/dist/collection/components/ic-step/ic-step.css +157 -25
  253. package/dist/collection/components/ic-step/ic-step.js +270 -36
  254. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  255. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  256. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js +74 -0
  257. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +1 -0
  258. package/dist/collection/components/ic-stepper/ic-stepper.css +15 -1
  259. package/dist/collection/components/ic-stepper/ic-stepper.js +210 -40
  260. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  261. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js +13 -1
  262. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +1 -1
  263. package/dist/collection/components/ic-switch/ic-switch.css +48 -18
  264. package/dist/collection/components/ic-switch/ic-switch.js +36 -7
  265. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  266. package/dist/collection/components/ic-tab/ic-tab.css +12 -2
  267. package/dist/collection/components/ic-tab/ic-tab.js +39 -12
  268. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  269. package/dist/collection/components/ic-tab-context/ic-tab-context.js +31 -4
  270. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  271. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +1 -1
  272. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
  273. package/dist/collection/components/ic-tab-group/ic-tab-group.css +6 -120
  274. package/dist/collection/components/ic-tab-group/ic-tab-group.js +12 -156
  275. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  276. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
  277. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -8
  278. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  279. package/dist/collection/components/ic-text-field/ic-text-field.css +18 -7
  280. package/dist/collection/components/ic-text-field/ic-text-field.js +32 -32
  281. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  282. package/dist/collection/components/ic-theme/ic-theme.js +29 -16
  283. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  284. package/dist/collection/components/ic-toast/ic-toast.css +597 -0
  285. package/dist/collection/components/ic-toast/ic-toast.js +382 -0
  286. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -0
  287. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js +16 -0
  288. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +1 -0
  289. package/dist/collection/components/ic-toast/ic-toast.types.js +2 -0
  290. package/dist/collection/components/ic-toast/ic-toast.types.js.map +1 -0
  291. package/dist/collection/components/ic-toast-region/ic-toast-region.js +81 -0
  292. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -0
  293. package/dist/collection/components/ic-tooltip/ic-tooltip.css +13 -9
  294. package/dist/collection/components/ic-tooltip/ic-tooltip.js +25 -2
  295. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  296. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +108 -113
  297. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +21 -15
  298. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  299. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js +1 -1
  300. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +1 -1
  301. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  302. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  303. package/dist/collection/normalize.css +440 -0
  304. package/dist/collection/testspec.setup.js +8 -0
  305. package/dist/collection/testspec.setup.js.map +1 -1
  306. package/dist/collection/utils/constants.js +37 -0
  307. package/dist/collection/utils/constants.js.map +1 -1
  308. package/dist/collection/utils/helpers.js +80 -38
  309. package/dist/collection/utils/helpers.js.map +1 -1
  310. package/dist/collection/utils/types.js.map +1 -1
  311. package/dist/components/OpenInNew.js +5 -0
  312. package/dist/components/OpenInNew.js.map +1 -0
  313. package/dist/components/check-icon.js +1 -1
  314. package/dist/components/chevron-icon.js +1 -1
  315. package/dist/components/helpers.js +147 -38
  316. package/dist/components/helpers.js.map +1 -1
  317. package/dist/components/ic-alert.js +6 -25
  318. package/dist/components/ic-alert.js.map +1 -1
  319. package/dist/components/ic-back-to-top.js +23 -11
  320. package/dist/components/ic-back-to-top.js.map +1 -1
  321. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  322. package/dist/components/ic-breadcrumb2.js +14 -4
  323. package/dist/components/ic-breadcrumb2.js.map +1 -1
  324. package/dist/components/ic-button2.js +9 -21
  325. package/dist/components/ic-button2.js.map +1 -1
  326. package/dist/components/ic-card.js +68 -7
  327. package/dist/components/ic-card.js.map +1 -1
  328. package/dist/components/ic-checkbox-group.js +4 -4
  329. package/dist/components/ic-checkbox-group.js.map +1 -1
  330. package/dist/components/ic-checkbox.js +21 -7
  331. package/dist/components/ic-checkbox.js.map +1 -1
  332. package/dist/components/ic-chip.d.ts +11 -0
  333. package/dist/components/ic-chip.js +111 -0
  334. package/dist/components/ic-chip.js.map +1 -0
  335. package/dist/components/ic-classification-banner.js +2 -2
  336. package/dist/components/ic-classification-banner.js.map +1 -1
  337. package/dist/components/ic-data-entity.js +1 -1
  338. package/dist/components/ic-data-entity.js.map +1 -1
  339. package/dist/components/ic-data-row.js +12 -10
  340. package/dist/components/ic-data-row.js.map +1 -1
  341. package/dist/components/ic-divider2.js +3 -3
  342. package/dist/components/ic-divider2.js.map +1 -1
  343. package/dist/components/ic-footer-link-group.js +5 -4
  344. package/dist/components/ic-footer-link-group.js.map +1 -1
  345. package/dist/components/ic-footer-link.js +18 -6
  346. package/dist/components/ic-footer-link.js.map +1 -1
  347. package/dist/components/ic-footer.js +5 -5
  348. package/dist/components/ic-footer.js.map +1 -1
  349. package/dist/components/ic-hero.js +3 -3
  350. package/dist/components/ic-hero.js.map +1 -1
  351. package/dist/components/ic-horizontal-scroll.d.ts +11 -0
  352. package/dist/components/ic-horizontal-scroll.js +8 -0
  353. package/dist/components/ic-horizontal-scroll.js.map +1 -0
  354. package/dist/components/ic-horizontal-scroll2.js +199 -0
  355. package/dist/components/ic-horizontal-scroll2.js.map +1 -0
  356. package/dist/components/ic-input-component-container2.js +2 -3
  357. package/dist/components/ic-input-component-container2.js.map +1 -1
  358. package/dist/components/ic-input-container2.js +1 -1
  359. package/dist/components/ic-input-container2.js.map +1 -1
  360. package/dist/components/ic-input-label2.js +1 -1
  361. package/dist/components/ic-input-label2.js.map +1 -1
  362. package/dist/components/ic-input-validation2.js +2 -4
  363. package/dist/components/ic-input-validation2.js.map +1 -1
  364. package/dist/components/ic-link2.js +16 -9
  365. package/dist/components/ic-link2.js.map +1 -1
  366. package/dist/components/ic-loading-indicator2.js +74 -15
  367. package/dist/components/ic-loading-indicator2.js.map +1 -1
  368. package/dist/components/ic-menu2.js +66 -35
  369. package/dist/components/ic-menu2.js.map +1 -1
  370. package/dist/components/ic-navigation-button.js +6 -5
  371. package/dist/components/ic-navigation-button.js.map +1 -1
  372. package/dist/components/ic-navigation-group.js +6 -5
  373. package/dist/components/ic-navigation-group.js.map +1 -1
  374. package/dist/components/ic-navigation-item.js +23 -11
  375. package/dist/components/ic-navigation-item.js.map +1 -1
  376. package/dist/components/ic-navigation-menu2.js +8 -8
  377. package/dist/components/ic-navigation-menu2.js.map +1 -1
  378. package/dist/components/ic-page-header.js +30 -6
  379. package/dist/components/ic-page-header.js.map +1 -1
  380. package/dist/components/ic-radio-group.js +14 -5
  381. package/dist/components/ic-radio-group.js.map +1 -1
  382. package/dist/components/ic-radio-option.js +26 -7
  383. package/dist/components/ic-radio-option.js.map +1 -1
  384. package/dist/components/ic-search-bar.js +56 -43
  385. package/dist/components/ic-search-bar.js.map +1 -1
  386. package/dist/components/ic-section-container2.js +1 -1
  387. package/dist/components/ic-section-container2.js.map +1 -1
  388. package/dist/components/ic-select.js +212 -59
  389. package/dist/components/ic-select.js.map +1 -1
  390. package/dist/components/ic-side-navigation.js +23 -11
  391. package/dist/components/ic-side-navigation.js.map +1 -1
  392. package/dist/components/ic-skeleton.js +1 -1
  393. package/dist/components/ic-skeleton.js.map +1 -1
  394. package/dist/components/ic-status-tag.js +6 -4
  395. package/dist/components/ic-status-tag.js.map +1 -1
  396. package/dist/components/ic-step.js +117 -23
  397. package/dist/components/ic-step.js.map +1 -1
  398. package/dist/components/ic-stepper.js +173 -42
  399. package/dist/components/ic-stepper.js.map +1 -1
  400. package/dist/components/ic-switch.js +14 -4
  401. package/dist/components/ic-switch.js.map +1 -1
  402. package/dist/components/ic-tab-context.js +6 -1
  403. package/dist/components/ic-tab-context.js.map +1 -1
  404. package/dist/components/ic-tab-group.js +30 -125
  405. package/dist/components/ic-tab-group.js.map +1 -1
  406. package/dist/components/ic-tab-panel.js +1 -5
  407. package/dist/components/ic-tab-panel.js.map +1 -1
  408. package/dist/components/ic-tab.js +11 -6
  409. package/dist/components/ic-tab.js.map +1 -1
  410. package/dist/components/ic-text-field2.js +6 -6
  411. package/dist/components/ic-text-field2.js.map +1 -1
  412. package/dist/components/ic-theme.js +20 -12
  413. package/dist/components/ic-theme.js.map +1 -1
  414. package/dist/components/ic-toast-region.d.ts +11 -0
  415. package/dist/components/ic-toast-region.js +63 -0
  416. package/dist/components/ic-toast-region.js.map +1 -0
  417. package/dist/components/ic-toast.d.ts +11 -0
  418. package/dist/components/ic-toast.js +214 -0
  419. package/dist/components/ic-toast.js.map +1 -0
  420. package/dist/components/ic-tooltip2.js +10 -4
  421. package/dist/components/ic-tooltip2.js.map +1 -1
  422. package/dist/components/ic-top-navigation.js +23 -12
  423. package/dist/components/ic-top-navigation.js.map +1 -1
  424. package/dist/components/ic-typography2.js.map +1 -1
  425. package/dist/components/index.d.ts +5 -1
  426. package/dist/components/index.js +4 -0
  427. package/dist/components/index.js.map +1 -1
  428. package/dist/components/types.js.map +1 -1
  429. package/dist/core/core.css +13 -13
  430. package/dist/core/core.esm.js +1 -1
  431. package/dist/core/core.esm.js.map +1 -1
  432. package/dist/core/normalize.css +440 -0
  433. package/dist/core/p-1724000c.js +2 -0
  434. package/dist/core/p-1724000c.js.map +1 -0
  435. package/dist/core/p-18ae4b6d.entry.js +2 -0
  436. package/dist/core/p-18ae4b6d.entry.js.map +1 -0
  437. package/dist/core/p-18bf3cb0.entry.js +2 -0
  438. package/dist/core/p-18bf3cb0.entry.js.map +1 -0
  439. package/dist/core/p-24240e11.js +2 -0
  440. package/dist/core/p-284970bc.entry.js +2 -0
  441. package/dist/core/p-284970bc.entry.js.map +1 -0
  442. package/dist/core/p-31a595c1.entry.js +2 -0
  443. package/dist/core/p-31a595c1.entry.js.map +1 -0
  444. package/dist/core/{p-972f4e69.entry.js → p-35a03442.entry.js} +2 -2
  445. package/dist/core/p-35a03442.entry.js.map +1 -0
  446. package/dist/core/p-360adc51.entry.js +2 -0
  447. package/dist/core/p-360adc51.entry.js.map +1 -0
  448. package/dist/core/p-3dda76db.entry.js +2 -0
  449. package/dist/core/p-3dda76db.entry.js.map +1 -0
  450. package/dist/core/p-41e239cb.entry.js +2 -0
  451. package/dist/core/p-41e239cb.entry.js.map +1 -0
  452. package/dist/core/p-44c9612c.entry.js +2 -0
  453. package/dist/core/p-44c9612c.entry.js.map +1 -0
  454. package/dist/core/p-4a73728b.entry.js +2 -0
  455. package/dist/core/p-4a73728b.entry.js.map +1 -0
  456. package/dist/core/p-521be4e2.entry.js +2 -0
  457. package/dist/core/p-521be4e2.entry.js.map +1 -0
  458. package/dist/core/{p-f9370be6.js → p-5450cebf.js} +3 -3
  459. package/dist/core/p-5450cebf.js.map +1 -0
  460. package/dist/core/p-5b083ce5.entry.js +2 -0
  461. package/dist/core/p-5b083ce5.entry.js.map +1 -0
  462. package/dist/core/p-62b3516e.entry.js +2 -0
  463. package/dist/core/p-62b3516e.entry.js.map +1 -0
  464. package/dist/core/{p-3c6defd7.entry.js → p-691ea0f2.entry.js} +2 -2
  465. package/dist/core/p-691ea0f2.entry.js.map +1 -0
  466. package/dist/core/p-6a397882.entry.js +2 -0
  467. package/dist/core/p-6a397882.entry.js.map +1 -0
  468. package/dist/core/p-6f57b13c.js.map +1 -1
  469. package/dist/core/p-7818d958.entry.js +2 -0
  470. package/dist/core/p-7818d958.entry.js.map +1 -0
  471. package/dist/core/p-7a0bf893.entry.js +2 -0
  472. package/dist/core/p-7a0bf893.entry.js.map +1 -0
  473. package/dist/core/p-7a9bc7f2.entry.js +2 -0
  474. package/dist/core/p-7a9bc7f2.entry.js.map +1 -0
  475. package/dist/core/{p-eb33ece2.entry.js → p-7fd50355.entry.js} +2 -2
  476. package/dist/core/p-7fd50355.entry.js.map +1 -0
  477. package/dist/core/p-897e967a.entry.js +2 -0
  478. package/dist/core/p-897e967a.entry.js.map +1 -0
  479. package/dist/core/p-8c7f4343.js +2 -0
  480. package/dist/core/p-8d4f7027.js +2 -0
  481. package/dist/core/p-8f1176c6.entry.js +2 -0
  482. package/dist/core/p-8f1176c6.entry.js.map +1 -0
  483. package/dist/core/{p-9c1f2861.entry.js → p-8ffa00c9.entry.js} +2 -2
  484. package/dist/core/p-8ffa00c9.entry.js.map +1 -0
  485. package/dist/core/p-91a8db51.entry.js +2 -0
  486. package/dist/core/p-91a8db51.entry.js.map +1 -0
  487. package/dist/core/p-a09d853e.entry.js +2 -0
  488. package/dist/core/p-a09d853e.entry.js.map +1 -0
  489. package/dist/core/p-a10da430.entry.js +2 -0
  490. package/dist/core/p-a10da430.entry.js.map +1 -0
  491. package/dist/core/p-a667e329.entry.js +2 -0
  492. package/dist/core/p-a667e329.entry.js.map +1 -0
  493. package/dist/core/{p-6be5e06b.entry.js → p-ad2477d8.entry.js} +2 -2
  494. package/dist/core/p-ad2477d8.entry.js.map +1 -0
  495. package/dist/core/p-b35ae170.entry.js +2 -0
  496. package/dist/core/p-b35ae170.entry.js.map +1 -0
  497. package/dist/core/p-b40bd77c.entry.js +2 -0
  498. package/dist/core/p-b40bd77c.entry.js.map +1 -0
  499. package/dist/core/p-b4234318.entry.js +2 -0
  500. package/dist/core/p-b4234318.entry.js.map +1 -0
  501. package/dist/core/{p-0d63bfe4.entry.js → p-ba8d6c23.entry.js} +2 -2
  502. package/dist/core/p-ba8d6c23.entry.js.map +1 -0
  503. package/dist/core/p-bd819f68.entry.js +2 -0
  504. package/dist/core/p-bd819f68.entry.js.map +1 -0
  505. package/dist/core/p-c4a7c734.entry.js +2 -0
  506. package/dist/core/p-c4a7c734.entry.js.map +1 -0
  507. package/dist/core/p-c72e4b75.entry.js +2 -0
  508. package/dist/core/p-c72e4b75.entry.js.map +1 -0
  509. package/dist/core/p-c7b86643.entry.js +2 -0
  510. package/dist/core/p-c7b86643.entry.js.map +1 -0
  511. package/dist/core/p-c7c5d2c5.entry.js +2 -0
  512. package/dist/core/p-c7c5d2c5.entry.js.map +1 -0
  513. package/dist/core/p-c8f07be6.entry.js +2 -0
  514. package/dist/core/p-c8f07be6.entry.js.map +1 -0
  515. package/dist/core/{p-6d0eaaeb.entry.js → p-c9068822.entry.js} +2 -2
  516. package/dist/core/{p-6d0eaaeb.entry.js.map → p-c9068822.entry.js.map} +1 -1
  517. package/dist/core/p-cccbf2bf.entry.js +2 -0
  518. package/dist/core/p-cccbf2bf.entry.js.map +1 -0
  519. package/dist/core/{p-0992a2ee.entry.js → p-d2508752.entry.js} +2 -2
  520. package/dist/core/p-d2508752.entry.js.map +1 -0
  521. package/dist/core/p-d37b9695.entry.js +2 -0
  522. package/dist/core/p-d37b9695.entry.js.map +1 -0
  523. package/dist/core/p-d86b0d0e.entry.js +2 -0
  524. package/dist/core/p-d86b0d0e.entry.js.map +1 -0
  525. package/dist/core/p-dea3d5f0.entry.js +2 -0
  526. package/dist/core/p-dea3d5f0.entry.js.map +1 -0
  527. package/dist/core/p-e0d88c31.entry.js +2 -0
  528. package/dist/core/p-e0d88c31.entry.js.map +1 -0
  529. package/dist/core/p-e9202767.entry.js +2 -0
  530. package/dist/core/p-e9202767.entry.js.map +1 -0
  531. package/dist/core/p-eba373bf.entry.js +2 -0
  532. package/dist/core/p-eba373bf.entry.js.map +1 -0
  533. package/dist/core/p-ed6cf9b9.entry.js +2 -0
  534. package/dist/core/p-ed6cf9b9.entry.js.map +1 -0
  535. package/dist/esm/OpenInNew-67a881e0.js +5 -0
  536. package/dist/esm/OpenInNew-67a881e0.js.map +1 -0
  537. package/dist/esm/{check-icon-53f1d9e5.js → check-icon-abb210ec.js} +2 -2
  538. package/dist/esm/check-icon-abb210ec.js.map +1 -0
  539. package/dist/esm/chevron-icon-98c98242.js +8 -0
  540. package/dist/esm/chevron-icon-98c98242.js.map +1 -0
  541. package/dist/esm/core.js +3 -3
  542. package/dist/esm/core.js.map +1 -1
  543. package/dist/esm/{helpers-e090fe7e.js → helpers-c332acf8.js} +148 -39
  544. package/dist/esm/helpers-c332acf8.js.map +1 -0
  545. package/dist/esm/ic-alert.entry.js +6 -25
  546. package/dist/esm/ic-alert.entry.js.map +1 -1
  547. package/dist/esm/ic-back-to-top.entry.js +24 -12
  548. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  549. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  550. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  551. package/dist/esm/ic-breadcrumb.entry.js +14 -5
  552. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  553. package/dist/esm/ic-button_3.entry.js +86 -37
  554. package/dist/esm/ic-button_3.entry.js.map +1 -1
  555. package/dist/esm/ic-card.entry.js +43 -6
  556. package/dist/esm/ic-card.entry.js.map +1 -1
  557. package/dist/esm/ic-checkbox-group.entry.js +4 -4
  558. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  559. package/dist/esm/ic-checkbox.entry.js +19 -6
  560. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  561. package/dist/esm/ic-chip.entry.js +73 -0
  562. package/dist/esm/ic-chip.entry.js.map +1 -0
  563. package/dist/esm/ic-classification-banner.entry.js +3 -3
  564. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  565. package/dist/esm/ic-data-entity.entry.js +2 -2
  566. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  567. package/dist/esm/ic-data-row.entry.js +14 -12
  568. package/dist/esm/ic-data-row.entry.js.map +1 -1
  569. package/dist/esm/ic-divider.entry.js +3 -3
  570. package/dist/esm/ic-divider.entry.js.map +1 -1
  571. package/dist/esm/ic-footer-link-group.entry.js +4 -3
  572. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  573. package/dist/esm/ic-footer-link.entry.js +12 -5
  574. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  575. package/dist/esm/ic-footer.entry.js +5 -5
  576. package/dist/esm/ic-footer.entry.js.map +1 -1
  577. package/dist/esm/ic-hero.entry.js +3 -3
  578. package/dist/esm/ic-hero.entry.js.map +1 -1
  579. package/dist/esm/ic-horizontal-scroll.entry.js +154 -0
  580. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -0
  581. package/dist/esm/ic-input-component-container_3.entry.js +70 -40
  582. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  583. package/dist/esm/ic-input-label_2.entry.js +3 -5
  584. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  585. package/dist/esm/ic-link.entry.js +13 -7
  586. package/dist/esm/ic-link.entry.js.map +1 -1
  587. package/dist/esm/ic-navigation-button.entry.js +5 -4
  588. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  589. package/dist/esm/ic-navigation-group.entry.js +6 -5
  590. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  591. package/dist/esm/ic-navigation-item.entry.js +18 -11
  592. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  593. package/dist/esm/ic-navigation-menu.entry.js +8 -8
  594. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  595. package/dist/esm/ic-page-header.entry.js +5 -5
  596. package/dist/esm/ic-page-header.entry.js.map +1 -1
  597. package/dist/esm/ic-radio-group.entry.js +13 -5
  598. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  599. package/dist/esm/ic-radio-option.entry.js +24 -6
  600. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  601. package/dist/esm/ic-search-bar.entry.js +53 -41
  602. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  603. package/dist/esm/ic-section-container.entry.js +2 -2
  604. package/dist/esm/ic-section-container.entry.js.map +1 -1
  605. package/dist/esm/ic-select.entry.js +206 -59
  606. package/dist/esm/ic-select.entry.js.map +1 -1
  607. package/dist/esm/ic-side-navigation.entry.js +24 -12
  608. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  609. package/dist/esm/ic-skeleton.entry.js +2 -2
  610. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  611. package/dist/esm/ic-status-tag.entry.js +6 -5
  612. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  613. package/dist/esm/ic-step.entry.js +103 -23
  614. package/dist/esm/ic-step.entry.js.map +1 -1
  615. package/dist/esm/ic-stepper.entry.js +166 -42
  616. package/dist/esm/ic-stepper.entry.js.map +1 -1
  617. package/dist/esm/ic-switch.entry.js +12 -3
  618. package/dist/esm/ic-switch.entry.js.map +1 -1
  619. package/dist/esm/ic-tab-context.entry.js +7 -2
  620. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  621. package/dist/esm/ic-tab-group.entry.js +9 -118
  622. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  623. package/dist/esm/ic-tab-panel.entry.js +2 -6
  624. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  625. package/dist/esm/ic-tab.entry.js +10 -6
  626. package/dist/esm/ic-tab.entry.js.map +1 -1
  627. package/dist/esm/ic-text-field.entry.js +5 -5
  628. package/dist/esm/ic-text-field.entry.js.map +1 -1
  629. package/dist/esm/ic-theme.entry.js +21 -13
  630. package/dist/esm/ic-theme.entry.js.map +1 -1
  631. package/dist/esm/ic-toast-region.entry.js +44 -0
  632. package/dist/esm/ic-toast-region.entry.js.map +1 -0
  633. package/dist/esm/ic-toast.entry.js +161 -0
  634. package/dist/esm/ic-toast.entry.js.map +1 -0
  635. package/dist/esm/ic-top-navigation.entry.js +15 -10
  636. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  637. package/dist/esm/ic-typography.entry.js +1 -1
  638. package/dist/esm/ic-typography.entry.js.map +1 -1
  639. package/dist/esm/{index-1500de1f.js → index-90721b3c.js} +21 -2
  640. package/dist/esm/index-90721b3c.js.map +1 -0
  641. package/dist/esm/loader.js +3 -3
  642. package/dist/esm/loader.js.map +1 -1
  643. package/dist/esm/types-dd515332.js.map +1 -1
  644. package/dist/types/components/ic-alert/ic-alert.d.ts +14 -10
  645. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
  646. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -5
  647. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  648. package/dist/types/components/ic-button/ic-button.d.ts +11 -14
  649. package/dist/types/components/ic-card/ic-card.d.ts +35 -10
  650. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +18 -10
  651. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +9 -9
  652. package/dist/types/components/ic-chip/ic-chip.d.ts +48 -0
  653. package/dist/types/components/ic-chip/ic-chip.test.a11y.d.ts +1 -0
  654. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -0
  655. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +5 -5
  656. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  657. package/dist/types/components/ic-data-row/ic-data-row.d.ts +3 -3
  658. package/dist/types/components/ic-footer/ic-footer.d.ts +12 -12
  659. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +20 -0
  660. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  661. package/dist/types/components/ic-hero/ic-hero.d.ts +9 -9
  662. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +39 -0
  663. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts +1 -0
  664. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -8
  665. package/dist/types/components/ic-input-container/ic-input-container.d.ts +2 -2
  666. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -8
  667. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +5 -5
  668. package/dist/types/components/ic-link/ic-link.d.ts +10 -7
  669. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +15 -4
  670. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +5 -0
  671. package/dist/types/components/ic-menu/ic-menu.d.ts +36 -18
  672. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +6 -6
  673. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +3 -3
  674. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +28 -8
  675. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -2
  676. package/dist/types/components/ic-page-header/ic-page-header.d.ts +10 -8
  677. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +15 -11
  678. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +17 -11
  679. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +31 -30
  680. package/dist/types/components/ic-section-container/ic-section-container.d.ts +2 -2
  681. package/dist/types/components/ic-select/ic-select.d.ts +68 -23
  682. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +13 -12
  683. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  684. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +5 -1
  685. package/dist/types/components/ic-step/ic-step.d.ts +37 -9
  686. package/dist/types/components/ic-step/ic-step.types.d.ts +2 -0
  687. package/dist/types/components/ic-stepper/ic-stepper-test-examples.d.ts +4 -0
  688. package/dist/types/components/ic-stepper/ic-stepper.d.ts +23 -6
  689. package/dist/types/components/ic-switch/ic-switch.d.ts +11 -7
  690. package/dist/types/components/ic-tab/ic-tab.d.ts +10 -7
  691. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -4
  692. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -33
  693. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +3 -4
  694. package/dist/types/components/ic-text-field/ic-text-field.d.ts +31 -31
  695. package/dist/types/components/ic-theme/ic-theme.d.ts +5 -4
  696. package/dist/types/components/ic-toast/ic-toast.d.ts +66 -0
  697. package/dist/types/components/ic-toast/ic-toast.test.a11y.d.ts +1 -0
  698. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -0
  699. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +12 -0
  700. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  701. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -6
  702. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  703. package/dist/types/components.d.ts +937 -562
  704. package/dist/types/interface.d.ts +0 -1
  705. package/dist/types/testspec.setup.d.ts +1 -0
  706. package/dist/types/utils/constants.d.ts +24 -0
  707. package/dist/types/utils/helpers.d.ts +17 -3
  708. package/dist/types/utils/types.d.ts +6 -0
  709. package/hydrate/index.d.ts +1 -1
  710. package/hydrate/index.js +1768 -667
  711. package/package.json +9 -6
  712. package/dist/cjs/check-icon-999d9877.js.map +0 -1
  713. package/dist/cjs/chevron-icon-d175fe66.js.map +0 -1
  714. package/dist/cjs/error-icon-99504103.js +0 -18
  715. package/dist/cjs/error-icon-99504103.js.map +0 -1
  716. package/dist/cjs/helpers-d0eeccf0.js.map +0 -1
  717. package/dist/cjs/index-3ef30d9d.js.map +0 -1
  718. package/dist/cjs/success-icon-887b2097.js +0 -11
  719. package/dist/cjs/success-icon-887b2097.js.map +0 -1
  720. package/dist/collection/components/ic-alert/ic-alert.types.js +0 -2
  721. package/dist/collection/components/ic-alert/ic-alert.types.js.map +0 -1
  722. package/dist/collection/components/ic-tab-group/assets/left-arrow.svg +0 -3
  723. package/dist/collection/components/ic-tab-group/assets/right-arrow.svg +0 -3
  724. package/dist/components/error-icon.js +0 -15
  725. package/dist/components/error-icon.js.map +0 -1
  726. package/dist/components/success-icon.js +0 -9
  727. package/dist/components/success-icon.js.map +0 -1
  728. package/dist/core/p-037273aa.entry.js +0 -2
  729. package/dist/core/p-037273aa.entry.js.map +0 -1
  730. package/dist/core/p-0992a2ee.entry.js.map +0 -1
  731. package/dist/core/p-0d63bfe4.entry.js.map +0 -1
  732. package/dist/core/p-12e113bf.entry.js +0 -2
  733. package/dist/core/p-12e113bf.entry.js.map +0 -1
  734. package/dist/core/p-155114db.entry.js +0 -2
  735. package/dist/core/p-155114db.entry.js.map +0 -1
  736. package/dist/core/p-17d0d631.entry.js +0 -2
  737. package/dist/core/p-17d0d631.entry.js.map +0 -1
  738. package/dist/core/p-1b619302.entry.js +0 -2
  739. package/dist/core/p-1b619302.entry.js.map +0 -1
  740. package/dist/core/p-1e7b4310.js +0 -2
  741. package/dist/core/p-2177dae2.entry.js +0 -2
  742. package/dist/core/p-2177dae2.entry.js.map +0 -1
  743. package/dist/core/p-378a7270.entry.js +0 -2
  744. package/dist/core/p-378a7270.entry.js.map +0 -1
  745. package/dist/core/p-3c6defd7.entry.js.map +0 -1
  746. package/dist/core/p-40d3fd89.entry.js +0 -2
  747. package/dist/core/p-40d3fd89.entry.js.map +0 -1
  748. package/dist/core/p-48029498.entry.js +0 -2
  749. package/dist/core/p-48029498.entry.js.map +0 -1
  750. package/dist/core/p-50a0f1a0.entry.js +0 -2
  751. package/dist/core/p-50a0f1a0.entry.js.map +0 -1
  752. package/dist/core/p-54b77947.entry.js +0 -2
  753. package/dist/core/p-54b77947.entry.js.map +0 -1
  754. package/dist/core/p-59041cfc.entry.js +0 -2
  755. package/dist/core/p-59041cfc.entry.js.map +0 -1
  756. package/dist/core/p-5977c1e0.entry.js +0 -2
  757. package/dist/core/p-5977c1e0.entry.js.map +0 -1
  758. package/dist/core/p-6009c5bc.entry.js +0 -2
  759. package/dist/core/p-6009c5bc.entry.js.map +0 -1
  760. package/dist/core/p-6be5e06b.entry.js.map +0 -1
  761. package/dist/core/p-7577c6a3.entry.js +0 -2
  762. package/dist/core/p-7577c6a3.entry.js.map +0 -1
  763. package/dist/core/p-8054c2c0.entry.js +0 -2
  764. package/dist/core/p-8054c2c0.entry.js.map +0 -1
  765. package/dist/core/p-89d46b9b.entry.js +0 -2
  766. package/dist/core/p-89d46b9b.entry.js.map +0 -1
  767. package/dist/core/p-972f4e69.entry.js.map +0 -1
  768. package/dist/core/p-9a3d6bca.entry.js +0 -2
  769. package/dist/core/p-9a3d6bca.entry.js.map +0 -1
  770. package/dist/core/p-9c1f2861.entry.js.map +0 -1
  771. package/dist/core/p-9db8edb7.entry.js +0 -2
  772. package/dist/core/p-9db8edb7.entry.js.map +0 -1
  773. package/dist/core/p-9e1f450f.entry.js +0 -2
  774. package/dist/core/p-9e1f450f.entry.js.map +0 -1
  775. package/dist/core/p-a183353c.entry.js +0 -2
  776. package/dist/core/p-a183353c.entry.js.map +0 -1
  777. package/dist/core/p-a6715f61.entry.js +0 -2
  778. package/dist/core/p-a6715f61.entry.js.map +0 -1
  779. package/dist/core/p-a9237c61.entry.js +0 -2
  780. package/dist/core/p-a9237c61.entry.js.map +0 -1
  781. package/dist/core/p-aad5da60.entry.js +0 -2
  782. package/dist/core/p-aad5da60.entry.js.map +0 -1
  783. package/dist/core/p-ae6aa67f.js +0 -2
  784. package/dist/core/p-af6a41bd.entry.js +0 -2
  785. package/dist/core/p-af6a41bd.entry.js.map +0 -1
  786. package/dist/core/p-bf4ddf33.entry.js +0 -2
  787. package/dist/core/p-bf4ddf33.entry.js.map +0 -1
  788. package/dist/core/p-bf5717ca.js +0 -2
  789. package/dist/core/p-bfa9392f.entry.js +0 -2
  790. package/dist/core/p-bfa9392f.entry.js.map +0 -1
  791. package/dist/core/p-c023c49c.entry.js +0 -2
  792. package/dist/core/p-c023c49c.entry.js.map +0 -1
  793. package/dist/core/p-c96adfd7.entry.js +0 -2
  794. package/dist/core/p-c96adfd7.entry.js.map +0 -1
  795. package/dist/core/p-d38168f0.entry.js +0 -2
  796. package/dist/core/p-d38168f0.entry.js.map +0 -1
  797. package/dist/core/p-d61c2983.entry.js +0 -2
  798. package/dist/core/p-d61c2983.entry.js.map +0 -1
  799. package/dist/core/p-db6566c0.entry.js +0 -2
  800. package/dist/core/p-db6566c0.entry.js.map +0 -1
  801. package/dist/core/p-e28af65b.js +0 -2
  802. package/dist/core/p-e28af65b.js.map +0 -1
  803. package/dist/core/p-eb33ece2.entry.js.map +0 -1
  804. package/dist/core/p-ee3a9fd0.entry.js +0 -2
  805. package/dist/core/p-ee3a9fd0.entry.js.map +0 -1
  806. package/dist/core/p-ef59f111.entry.js +0 -2
  807. package/dist/core/p-ef59f111.entry.js.map +0 -1
  808. package/dist/core/p-f228c232.js +0 -2
  809. package/dist/core/p-f228c232.js.map +0 -1
  810. package/dist/core/p-f9370be6.js.map +0 -1
  811. package/dist/core/p-fce4b26b.entry.js +0 -2
  812. package/dist/core/p-fce4b26b.entry.js.map +0 -1
  813. package/dist/esm/check-icon-53f1d9e5.js.map +0 -1
  814. package/dist/esm/chevron-icon-5b38c60a.js +0 -8
  815. package/dist/esm/chevron-icon-5b38c60a.js.map +0 -1
  816. package/dist/esm/error-icon-6046a380.js +0 -15
  817. package/dist/esm/error-icon-6046a380.js.map +0 -1
  818. package/dist/esm/helpers-e090fe7e.js.map +0 -1
  819. package/dist/esm/index-1500de1f.js.map +0 -1
  820. package/dist/esm/success-icon-2f71b115.js +0 -9
  821. package/dist/esm/success-icon-2f71b115.js.map +0 -1
  822. package/dist/types/components/ic-alert/ic-alert.types.d.ts +0 -1
  823. /package/dist/collection/{components/ic-link/assets → assets}/OpenInNew.svg +0 -0
  824. /package/dist/core/{p-1e7b4310.js.map → p-24240e11.js.map} +0 -0
  825. /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
  826. /package/dist/core/{p-bf5717ca.js.map → p-8d4f7027.js.map} +0 -0
@@ -441,6 +441,10 @@ video {
441
441
  }
442
442
 
443
443
 
444
+ /**
445
+ * @prop --ic-z-index-back-to-top: z-index of back to top
446
+ */
447
+
444
448
  :host {
445
449
  display: block;
446
450
  position: absolute;
@@ -451,7 +455,7 @@ button {
451
455
  position: fixed;
452
456
  right: var(--ic-space-md);
453
457
  bottom: var(--ic-space-md);
454
- height: 40px;
458
+ height: 2.5rem;
455
459
  align-items: center;
456
460
  padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)
457
461
  var(--ic-space-sm);
@@ -459,30 +463,30 @@ button {
459
463
  gap: var(--ic-space-xs);
460
464
  display: flex;
461
465
  background-color: var(--ic-architectural-white);
462
- border: 1px solid var(--ic-action-default);
466
+ border: 0.063rem solid var(--ic-action-default);
463
467
  outline-width: inherit;
464
468
  box-sizing: border-box;
465
469
  box-shadow: var(--ic-elevation-overlay);
466
- border-radius: 80px;
470
+ border-radius: 5rem;
467
471
  text-decoration: none;
468
472
  visibility: hidden;
469
473
  opacity: 0;
470
474
  transition: visibility 0s linear var(--ic-transition-duration-slow),
471
475
  opacity var(--ic-transition-duration-slow);
472
476
  cursor: pointer;
473
- z-index: var(--ic-z-index-overlay);
477
+ z-index: var(--ic-z-index-back-to-top);
474
478
  }
475
479
 
476
480
  button:hover {
477
481
  text-decoration: none;
478
482
  background-color: var(--ic-action-default-bg-hover-no-alpha);
479
- border: 1px solid var(--ic-action-default-hover);
483
+ border: 0.063rem solid var(--ic-action-default-hover);
480
484
  }
481
485
 
482
486
  button:active {
483
487
  text-decoration: none;
484
488
  background-color: var(--ic-action-default-bg-active-no-alpha);
485
- border: 1px solid var(--ic-action-default-active);
489
+ border: 0.063rem solid var(--ic-action-default-active);
486
490
  }
487
491
 
488
492
  button:focus {
@@ -500,7 +504,7 @@ button:focus {
500
504
  .ic-back-to-top-link.by-footer {
501
505
  position: relative;
502
506
  right: var(--ic-space-md);
503
- bottom: 56px;
507
+ bottom: 3.5rem;
504
508
  }
505
509
 
506
510
  .ic-back-to-top-link.offset-banner {
@@ -513,6 +517,12 @@ button:focus {
513
517
  padding-top: var(--ic-space-xxxs);
514
518
  }
515
519
 
520
+ .ic-back-to-top-icon > svg {
521
+ height: var(--ic-space-md);
522
+ width: var(--ic-space-md);
523
+ display: inline-block;
524
+ }
525
+
516
526
  .ic-back-to-top-link span {
517
527
  color: var(--ic-action-default);
518
528
  }
@@ -524,3 +534,9 @@ button:focus {
524
534
  .ic-back-to-top-link:hover span {
525
535
  color: var(--ic-action-default-hover);
526
536
  }
537
+
538
+ @media (forced-colors: active) {
539
+ .ic-back-to-top-icon {
540
+ fill: currentcolor;
541
+ }
542
+ }
@@ -9,7 +9,13 @@ export class BackToTop {
9
9
  this.targetElVisible = visible;
10
10
  };
11
11
  this.setFooterVisible = (visible) => {
12
- this.footerVisible = visible;
12
+ this.checkForClassificationBanner();
13
+ if (typeof window !== "undefined" && window.scrollY === 0) {
14
+ this.footerVisible = false;
15
+ }
16
+ else {
17
+ this.footerVisible = visible;
18
+ }
13
19
  };
14
20
  this.targetElObserverCallback = (entries) => {
15
21
  this.setTargetElVisible(entries[0].isIntersecting);
@@ -70,6 +76,11 @@ export class BackToTop {
70
76
  this.targetEl.scrollIntoView();
71
77
  }
72
78
  };
79
+ this.checkForClassificationBanner = () => {
80
+ //adjust position for classification banner at bottom
81
+ const banners = document.querySelectorAll("ic-classification-banner:not([inline='true'])");
82
+ this.bannerOffset = banners.length > 0;
83
+ };
73
84
  this.target = undefined;
74
85
  this.bannerOffset = false;
75
86
  this.targetElVisible = true;
@@ -83,13 +94,12 @@ export class BackToTop {
83
94
  }
84
95
  componentWillLoad() {
85
96
  this.createTopObserver(this.target);
86
- //adjust position for classification banner at bottom
87
- const banners = document.querySelectorAll("ic-classification-banner:not([inline='true'])");
88
- if (banners.length) {
89
- this.bannerOffset = true;
90
- }
97
+ this.checkForClassificationBanner();
91
98
  //observer for when footer scrolls into view
92
- const footers = document.querySelectorAll("footer");
99
+ let footers = document.querySelectorAll("ic-footer");
100
+ if (footers.length === 0) {
101
+ footers = document.querySelectorAll("footer");
102
+ }
93
103
  if (footers.length) {
94
104
  const footerEl = footers[footers.length - 1];
95
105
  const threshold = this.bannerOffset ? 0.15 : 0;
@@ -111,6 +121,7 @@ export class BackToTop {
111
121
  }
112
122
  static get is() { return "ic-back-to-top"; }
113
123
  static get encapsulation() { return "shadow"; }
124
+ static get delegatesFocus() { return true; }
114
125
  static get originalStyleUrls() {
115
126
  return {
116
127
  "$": ["ic-back-to-top.css"]
@@ -1 +1 @@
1
- {"version":3,"file":"ic-back-to-top.js","sourceRoot":"","sources":["../../../src/components/ic-back-to-top/ic-back-to-top.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: true,\n})\nexport class BackToTop {\n @Element() el: HTMLIcBackToTopElement;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n @State() bannerOffset: boolean = false;\n\n @State() targetElVisible: boolean = true;\n\n @State() footerVisible: boolean = false;\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 private topObserver: IntersectionObserver = null;\n private targetEl: Element;\n private isTargetElNull: boolean;\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.footerVisible = 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.indexOf(\"#\") === 0 ? target : \"#\" + 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 = document.querySelector(\"#ic-back-to-top-target\");\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 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 };\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n if (banners.length) {\n this.bannerOffset = true;\n }\n\n //observer for when footer scrolls into view\n const footers = document.querySelectorAll(\"footer\");\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 render() {\n const { bannerOffset, targetElVisible, footerVisible } = this;\n return (\n <button\n class={{\n [\"ic-back-to-top-link\"]: true,\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n }}\n aria-label={backToTopLabel}\n onClick={this.handleClick}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n\n <ic-typography variant=\"subtitle-small\">\n <span>{backToTopLabel}</span>\n </ic-typography>\n </button>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-back-to-top.js","sourceRoot":"","sources":["../../../src/components/ic-back-to-top/ic-back-to-top.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\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 @Element() el: HTMLIcBackToTopElement;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n @State() bannerOffset: boolean = false;\n\n @State() targetElVisible: boolean = true;\n\n @State() footerVisible: boolean = false;\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 private topObserver: IntersectionObserver = null;\n private targetEl: Element;\n private isTargetElNull: boolean;\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n if (typeof window !== \"undefined\" && window.scrollY === 0) {\n this.footerVisible = false;\n } else {\n this.footerVisible = visible;\n }\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.indexOf(\"#\") === 0 ? target : \"#\" + 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 = document.querySelector(\"#ic-back-to-top-target\");\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 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 };\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 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 render() {\n const { bannerOffset, targetElVisible, footerVisible } = this;\n return (\n <button\n class={{\n [\"ic-back-to-top-link\"]: true,\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n }}\n aria-label={backToTopLabel}\n onClick={this.handleClick}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n\n <ic-typography variant=\"subtitle-small\">\n <span>{backToTopLabel}</span>\n </ic-typography>\n </button>\n );\n }\n}\n"]}
@@ -77,3 +77,9 @@ ic-link {
77
77
  :host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {
78
78
  display: none;
79
79
  }
80
+
81
+ @media (forced-colors: active) {
82
+ .back-icon svg {
83
+ color: currentcolor;
84
+ }
85
+ }
@@ -30,6 +30,14 @@ export class Breadcrumb {
30
30
  this.current = false;
31
31
  this.showBackIcon = false;
32
32
  }
33
+ /**
34
+ * Sets focus on the breadcrumb.
35
+ */
36
+ async setFocus() {
37
+ if (this.el.shadowRoot.querySelector("ic-link")) {
38
+ this.el.shadowRoot.querySelector("ic-link").focus();
39
+ }
40
+ }
33
41
  componentWillRender() {
34
42
  this.setSlottedCurrentPageClass();
35
43
  }
@@ -44,6 +52,7 @@ export class Breadcrumb {
44
52
  }
45
53
  static get is() { return "ic-breadcrumb"; }
46
54
  static get encapsulation() { return "shadow"; }
55
+ static get delegatesFocus() { return true; }
47
56
  static get originalStyleUrls() {
48
57
  return {
49
58
  "$": ["ic-breadcrumb.css"]
@@ -68,7 +77,7 @@ export class Breadcrumb {
68
77
  "optional": false,
69
78
  "docs": {
70
79
  "tags": [],
71
- "text": "Set breadcrumb title"
80
+ "text": "The title of the breadcrumb."
72
81
  },
73
82
  "attribute": "page-title",
74
83
  "reflect": false
@@ -85,7 +94,7 @@ export class Breadcrumb {
85
94
  "optional": true,
86
95
  "docs": {
87
96
  "tags": [],
88
- "text": "Set breadcrumb location"
97
+ "text": "The URL that the breadcrumb link points to."
89
98
  },
90
99
  "attribute": "href",
91
100
  "reflect": false
@@ -102,7 +111,7 @@ export class Breadcrumb {
102
111
  "optional": true,
103
112
  "docs": {
104
113
  "tags": [],
105
- "text": "If true, aria-current will be set on the breadcrumb"
114
+ "text": "If `true`, aria-current will be set on the breadcrumb."
106
115
  },
107
116
  "attribute": "current",
108
117
  "reflect": false,
@@ -121,7 +130,7 @@ export class Breadcrumb {
121
130
  "docs": {
122
131
  "tags": [{
123
132
  "name": "internal",
124
- "text": "If true, display back icon"
133
+ "text": "If `true`, back icon will be displayed."
125
134
  }],
126
135
  "text": ""
127
136
  },
@@ -131,6 +140,26 @@ export class Breadcrumb {
131
140
  }
132
141
  };
133
142
  }
143
+ static get methods() {
144
+ return {
145
+ "setFocus": {
146
+ "complexType": {
147
+ "signature": "() => Promise<void>",
148
+ "parameters": [],
149
+ "references": {
150
+ "Promise": {
151
+ "location": "global"
152
+ }
153
+ },
154
+ "return": "Promise<void>"
155
+ },
156
+ "docs": {
157
+ "text": "Sets focus on the breadcrumb.",
158
+ "tags": []
159
+ }
160
+ }
161
+ };
162
+ }
134
163
  static get elementRef() { return "el"; }
135
164
  }
136
165
  //# sourceMappingURL=ic-breadcrumb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-breadcrumb.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element } from \"@stencil/core\";\nimport { IcBreadcrumbDefault } from \"./ic-breadcrumb.types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: true,\n})\nexport class Breadcrumb {\n /**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title\n */\n\n @Element() el: HTMLIcBreadcrumbElement;\n /**\n * Set breadcrumb title\n */\n @Prop() pageTitle!: string;\n /**\n * Set breadcrumb location\n */\n @Prop() href?: string;\n /**\n * If true, aria-current will be set on the breadcrumb\n */\n @Prop() current?: boolean = false;\n\n /**\n * @internal If true, display back icon\n */\n @Prop({ reflect: true }) showBackIcon: boolean = false;\n\n private renderDefaultBreadcrumb = (\n current: boolean,\n pageTitle: string,\n describedById: string,\n href: string\n ): IcBreadcrumbDefault => {\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n\n if (current && hasPageTitle) {\n return (\n <span\n class={{\n \"current-page-container\": current,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n );\n }\n\n return (\n <ic-link\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={this.showBackIcon && describedById && describedById}\n >\n {this.showBackIcon && (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n )}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n );\n };\n\n private setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n icLink.classList.remove(\"current-page\");\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(\"current-page\");\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", \"current-page\");\n }\n }\n }\n };\n\n componentWillRender(): void {\n this.setSlottedCurrentPageClass();\n }\n\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${\n pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")\n }-describedby`;\n\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n const hasHref = href !== null && href !== undefined && href !== \"\";\n\n return (\n <Host\n class={{\n back: this.showBackIcon,\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {this.showBackIcon && describedById && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {hasPageTitle && hasHref ? (\n this.renderDefaultBreadcrumb(\n current,\n pageTitle,\n describedById,\n href\n )\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-breadcrumb.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element, Method } from \"@stencil/core\";\nimport { IcBreadcrumbDefault } from \"./ic-breadcrumb.types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Breadcrumb {\n /**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\n\n @Element() el: HTMLIcBreadcrumbElement;\n /**\n * The title of the breadcrumb.\n */\n @Prop() pageTitle!: string;\n /**\n * The URL that the breadcrumb link points to.\n */\n @Prop() href?: string;\n /**\n * If `true`, aria-current will be set on the breadcrumb.\n */\n @Prop() current?: boolean = false;\n\n /**\n * @internal If `true`, back icon will be displayed.\n */\n @Prop({ reflect: true }) showBackIcon: boolean = false;\n\n /**\n * Sets focus on the breadcrumb.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"ic-link\")) {\n this.el.shadowRoot.querySelector(\"ic-link\").focus();\n }\n }\n\n private renderDefaultBreadcrumb = (\n current: boolean,\n pageTitle: string,\n describedById: string,\n href: string\n ): IcBreadcrumbDefault => {\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n\n if (current && hasPageTitle) {\n return (\n <span\n class={{\n \"current-page-container\": current,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </span>\n );\n }\n\n return (\n <ic-link\n href={href}\n class=\"breadcrumb-link\"\n aria-describedby={this.showBackIcon && describedById && describedById}\n >\n {this.showBackIcon && (\n <div class=\"back-icon\" innerHTML={backIcon}></div>\n )}\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n {pageTitle}\n </ic-link>\n );\n };\n\n private setSlottedCurrentPageClass = () => {\n const icLink = this.el.querySelector(\"ic-link\");\n if (icLink) {\n icLink.classList.remove(\"current-page\");\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(\"current-page\");\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", \"current-page\");\n }\n }\n }\n };\n\n componentWillRender(): void {\n this.setSlottedCurrentPageClass();\n }\n\n render() {\n const { current, href, pageTitle } = this;\n const describedById = `${\n pageTitle && pageTitle.toLowerCase().replace(\" \", \"-\")\n }-describedby`;\n\n const hasPageTitle =\n pageTitle !== null && pageTitle !== undefined && pageTitle !== \"\";\n const hasHref = href !== null && href !== undefined && href !== \"\";\n\n return (\n <Host\n class={{\n back: this.showBackIcon,\n }}\n aria-current={current && \"page\"}\n role=\"listitem\"\n >\n <div class=\"breadcrumb\">\n <span innerHTML={chevronIcon} class=\"chevron\" aria-hidden=\"true\" />\n {this.showBackIcon && describedById && (\n <span\n id={describedById}\n class=\"hide\"\n >{`Back to ${pageTitle}`}</span>\n )}\n {hasPageTitle && hasHref ? (\n this.renderDefaultBreadcrumb(\n current,\n pageTitle,\n describedById,\n href\n )\n ) : (\n <slot />\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -191,7 +191,7 @@ export class BreadcrumbGroup {
191
191
  "optional": false,
192
192
  "docs": {
193
193
  "tags": [],
194
- "text": "If true, display the parent page and back icon as breadcrumb"
194
+ "text": "If `true`, display only a single breadcrumb for the parent page with a back icon."
195
195
  },
196
196
  "attribute": "back-breadcrumb-only",
197
197
  "reflect": false,
@@ -209,7 +209,7 @@ export class BreadcrumbGroup {
209
209
  "optional": false,
210
210
  "docs": {
211
211
  "tags": [],
212
- "text": "If true, all breadcrumbs between the first and last breadcrumb will be collapsed"
212
+ "text": "If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed."
213
213
  },
214
214
  "attribute": "collapsed",
215
215
  "reflect": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-breadcrumb-group.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, State } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\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 @Element() el: HTMLIcBreadcrumbGroupElement;\n /**\n * If true, display the parent page and back icon as breadcrumb\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n /**\n * If true, all breadcrumbs between the first and last breadcrumb will be collapsed\n */\n @Prop() collapsed: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private breadcrumb: HTMLIcBreadcrumbElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private ADD_CLASS_DELAY = 50;\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumbAttr();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n if (lastParentBreadcrumb) {\n lastParentBreadcrumb.classList.add(\"show\");\n lastParentBreadcrumb.setAttribute(\"show-back-icon\", \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs.filter(\n (breadcrumb) => !breadcrumb.getAttribute(\"current\")\n );\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 1];\n\n return this.breadcrumb;\n };\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(\"show-back-icon\", \"false\");\n });\n };\n\n private setCollapsed = () => {\n if (this.collapsed) {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n\n const firstBreadcrumb = allBreadcrumbs[0];\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n }\n };\n\n private renderCollapsedBreadcrumb = () => {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n const 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 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 collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n collapsedBreadcrumbEl.innerText = \"...\";\n collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n collapsedBreadcrumbEl.addEventListener(\"click\", () => {\n this.handleHiddenCollapsedBreadcrumbs(this.collapsedBreadcrumbWrapper);\n });\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(collapsedBreadcrumbEl);\n\n return this.collapsedBreadcrumbWrapper;\n };\n\n private handleHiddenCollapsedBreadcrumbs = (\n collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement\n ) => {\n 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 };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"opacity\") {\n breadcrumb.classList.remove(\"visuallyhidden\");\n }\n });\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n this.setBackBreadcrumbAttr();\n lastParentBreadcrumb.classList.remove(\"hide\");\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n lastParentBreadcrumb.setAttribute(\"show-back-icon\", \"false\");\n };\n\n private resizeObserver: ResizeObserver = null;\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 componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed) {\n this.collapsedBreadcrumbWrapper = this.renderCollapsedBreadcrumb();\n\n if (allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n }\n\n render() {\n return (\n <Host\n class={{\n back: this.backBreadcrumbOnly,\n collapsed: this.collapsed,\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-breadcrumb-group.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Element, Prop, State } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\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 @Element() el: HTMLIcBreadcrumbGroupElement;\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed: boolean = false;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private breadcrumb: HTMLIcBreadcrumbElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private ADD_CLASS_DELAY = 50;\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumbAttr();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n if (lastParentBreadcrumb) {\n lastParentBreadcrumb.classList.add(\"show\");\n lastParentBreadcrumb.setAttribute(\"show-back-icon\", \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs.filter(\n (breadcrumb) => !breadcrumb.getAttribute(\"current\")\n );\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 1];\n\n return this.breadcrumb;\n };\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(\"show-back-icon\", \"false\");\n });\n };\n\n private setCollapsed = () => {\n if (this.collapsed) {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n\n const firstBreadcrumb = allBreadcrumbs[0];\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n }\n };\n\n private renderCollapsedBreadcrumb = () => {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n const 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 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 collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n collapsedBreadcrumbEl.innerText = \"...\";\n collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n collapsedBreadcrumbEl.addEventListener(\"click\", () => {\n this.handleHiddenCollapsedBreadcrumbs(this.collapsedBreadcrumbWrapper);\n });\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(collapsedBreadcrumbEl);\n\n return this.collapsedBreadcrumbWrapper;\n };\n\n private handleHiddenCollapsedBreadcrumbs = (\n collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement\n ) => {\n 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 };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"opacity\") {\n breadcrumb.classList.remove(\"visuallyhidden\");\n }\n });\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n this.setBackBreadcrumbAttr();\n lastParentBreadcrumb.classList.remove(\"hide\");\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n const lastParentBreadcrumb = this.getLastParentBreadcrumb();\n lastParentBreadcrumb.setAttribute(\"show-back-icon\", \"false\");\n };\n\n private resizeObserver: ResizeObserver = null;\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 componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(\"ic-breadcrumb\")\n );\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed) {\n this.collapsedBreadcrumbWrapper = this.renderCollapsedBreadcrumb();\n\n if (allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n }\n\n render() {\n return (\n <Host\n class={{\n back: this.backBreadcrumbOnly,\n collapsed: this.collapsed,\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"]}
@@ -457,10 +457,10 @@ video {
457
457
  font-family: var(--ic-font-body-family);
458
458
  text-decoration: none;
459
459
  font-weight: 600;
460
- font-size: 14px;
460
+ font-size: 0.875rem;
461
461
  transition: var(--ic-easing-transition-fast);
462
462
  border-radius: var(--ic-border-radius);
463
- min-width: 100px;
463
+ min-width: 6.25rem;
464
464
  display: inline-flex;
465
465
  gap: var(--ic-space-xs);
466
466
  flex-direction: row;
@@ -556,7 +556,7 @@ video {
556
556
  /* Secondary */
557
557
 
558
558
  :host(.button-variant-secondary) .button {
559
- border: 1px solid var(--button-default);
559
+ border: 0.063rem solid var(--button-default);
560
560
  color: var(--button-default);
561
561
  }
562
562
 
@@ -677,7 +677,7 @@ video {
677
677
  /* Sizing */
678
678
 
679
679
  :host(.button-size-default) .button {
680
- height: 40px;
680
+ height: 2.5rem;
681
681
  padding: var(--ic-space-xs) var(--ic-space-md);
682
682
  }
683
683
 
@@ -694,7 +694,7 @@ video {
694
694
  :host(.button-size-default.button-variant-icon) .button {
695
695
  height: var(--ic-space-xl);
696
696
  width: var(--ic-space-xl);
697
- padding: 6px;
697
+ padding: 0.375rem;
698
698
  }
699
699
 
700
700
  :host(.button-size-small.button-variant-icon) .button {
@@ -704,8 +704,8 @@ video {
704
704
  }
705
705
 
706
706
  :host(.button-size-large.button-variant-icon) .button {
707
- height: 40px;
708
- width: 40px;
707
+ height: 2.5rem;
708
+ width: 2.5rem;
709
709
  padding: var(--ic-space-xs);
710
710
  }
711
711
 
@@ -720,6 +720,11 @@ video {
720
720
  div.loading-container {
721
721
  position: relative;
722
722
  align-items: center;
723
+ width: 100%;
724
+ }
725
+
726
+ ic-loading-indicator {
727
+ --outer-color: transparent;
723
728
  }
724
729
 
725
730
  @keyframes loading-animation {
@@ -763,7 +768,7 @@ div.icon-container {
763
768
  align-items: center;
764
769
  }
765
770
 
766
- ::slotted(svg) {
771
+ ::slotted(*) {
767
772
  width: var(--icon-width) !important;
768
773
  height: var(--icon-height) !important;
769
774
  fill: currentcolor !important;
@@ -778,13 +783,13 @@ div.icon-container {
778
783
  /** SEARCH **/
779
784
 
780
785
  :host(.search-submit-button) ::slotted(svg) {
781
- --icon-height: 20px;
782
- --icon-width: 20px;
786
+ --icon-height: 1.25rem;
787
+ --icon-width: 1.25rem;
783
788
  }
784
789
 
785
790
  :host(.search-submit-button-small) ::slotted(svg) {
786
- --icon-height: 16px;
787
- --icon-width: 16px;
791
+ --icon-height: 1rem;
792
+ --icon-width: 1rem;
788
793
  }
789
794
 
790
795
  :host(.clear-button) {
@@ -811,8 +816,8 @@ div.icon-container {
811
816
  }
812
817
 
813
818
  :host(.menu-close-button) ::slotted(svg) {
814
- --icon-height: 14px;
815
- --icon-width: 14px;
819
+ --icon-height: 0.875rem;
820
+ --icon-width: 0.875rem;
816
821
  }
817
822
 
818
823
  :host(.popout-menu-button) .button {
@@ -838,3 +843,10 @@ div.icon-container {
838
843
  :host .ic-tooltip {
839
844
  display: block;
840
845
  }
846
+
847
+ /** High Contrast **/
848
+ @media (forced-colors: active) {
849
+ .button {
850
+ border: 0.125rem solid transparent;
851
+ }
852
+ }