@ukic/web-components 2.1.0-beta.1 → 2.1.0-beta.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (868) 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-2bb3a907.js +10 -0
  7. package/dist/cjs/chevron-icon-2bb3a907.js.map +1 -0
  8. package/dist/cjs/core.cjs.js +2 -2
  9. package/dist/cjs/{helpers-8bc3b6d2.js → helpers-2021e212.js} +78 -4
  10. package/dist/cjs/helpers-2021e212.js.map +1 -0
  11. package/dist/cjs/ic-alert.cjs.entry.js +6 -25
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +24 -12
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +15 -6
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +46 -31
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card.cjs.entry.js +29 -5
  22. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -4
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +16 -4
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +77 -0
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -0
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-row.cjs.entry.js +14 -12
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  36. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -3
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -5
  40. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer.cjs.entry.js +5 -5
  42. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  44. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +164 -0
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +79 -45
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -8
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-link.cjs.entry.js +14 -8
  52. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-menu-group.cjs.entry.js +24 -0
  54. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -0
  55. package/dist/cjs/ic-menu-item.cjs.entry.js +120 -0
  56. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -0
  57. package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -4
  58. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -6
  60. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js +19 -12
  62. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js +8 -8
  64. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-popover-menu.cjs.entry.js +236 -0
  68. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -0
  69. package/dist/cjs/ic-radio-group.cjs.entry.js +13 -5
  70. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-radio-option.cjs.entry.js +24 -6
  72. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-search-bar.cjs.entry.js +56 -42
  74. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  76. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-select.cjs.entry.js +218 -69
  78. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-side-navigation.cjs.entry.js +26 -14
  80. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  82. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -5
  84. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-step.cjs.entry.js +103 -15
  86. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-stepper.cjs.entry.js +166 -42
  88. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-switch.cjs.entry.js +12 -3
  90. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-tab-context.cjs.entry.js +7 -2
  92. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-tab-group.cjs.entry.js +9 -118
  94. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  96. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab.cjs.entry.js +10 -2
  98. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  100. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-theme.cjs.entry.js +4 -4
  102. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-toast-region.cjs.entry.js +48 -0
  104. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -0
  105. package/dist/cjs/ic-toast.cjs.entry.js +165 -0
  106. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -0
  107. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -10
  108. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  110. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  111. package/dist/cjs/{index-3ef30d9d.js → index-f79a4e53.js} +33 -2
  112. package/dist/cjs/index-f79a4e53.js.map +1 -0
  113. package/dist/cjs/loader.cjs.js +2 -2
  114. package/dist/cjs/types-3eb02246.js.map +1 -1
  115. package/dist/collection/assets/back-icon.svg +1 -1
  116. package/dist/collection/assets/check-icon.svg +1 -1
  117. package/dist/collection/assets/chevron-icon.svg +1 -1
  118. package/dist/collection/assets/dismiss-icon.svg +3 -0
  119. package/dist/collection/assets/error-icon.svg +3 -3
  120. package/dist/collection/assets/info-icon.svg +3 -3
  121. package/dist/collection/assets/neutral-icon.svg +3 -3
  122. package/dist/collection/assets/success-icon.svg +3 -3
  123. package/dist/collection/assets/warning-icon-outline.svg +3 -0
  124. package/dist/collection/assets/warning-icon.svg +3 -3
  125. package/dist/collection/collection-manifest.json +7 -0
  126. package/dist/collection/components/ic-alert/ic-alert.css +13 -13
  127. package/dist/collection/components/ic-alert/ic-alert.js +32 -24
  128. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  129. package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +2 -2
  130. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +18 -8
  131. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +18 -7
  132. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  133. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +20 -5
  134. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +33 -4
  135. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  136. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  137. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  138. package/dist/collection/components/ic-button/ic-button.css +16 -15
  139. package/dist/collection/components/ic-button/ic-button.js +18 -32
  140. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  141. package/dist/collection/components/ic-card/ic-card.css +75 -17
  142. package/dist/collection/components/ic-card/ic-card.js +103 -16
  143. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  144. package/dist/collection/components/ic-checkbox/ic-checkbox.css +28 -30
  145. package/dist/collection/components/ic-checkbox/ic-checkbox.js +63 -11
  146. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  147. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +18 -2
  148. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +11 -11
  149. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  150. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js +1 -1
  151. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +1 -1
  152. package/dist/collection/components/ic-chip/ic-chip.css +596 -0
  153. package/dist/collection/components/ic-chip/ic-chip.js +247 -0
  154. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -0
  155. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js +11 -0
  156. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +1 -0
  157. package/dist/collection/components/ic-chip/ic-chip.types.js +2 -0
  158. package/dist/collection/components/ic-chip/ic-chip.types.js.map +1 -0
  159. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +5 -1
  160. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +6 -6
  161. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  162. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  163. package/dist/collection/components/ic-data-entity/ic-data-entity.js +2 -2
  164. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  165. package/dist/collection/components/ic-data-row/ic-data-row.css +19 -7
  166. package/dist/collection/components/ic-data-row/ic-data-row.js +14 -12
  167. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  168. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  169. package/dist/collection/components/ic-divider/ic-divider.js +1 -1
  170. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  171. package/dist/collection/components/ic-footer/ic-footer.css +4 -4
  172. package/dist/collection/components/ic-footer/ic-footer.js +19 -16
  173. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  174. package/dist/collection/components/ic-footer-link/ic-footer-link.css +44 -6
  175. package/dist/collection/components/ic-footer-link/ic-footer-link.js +101 -4
  176. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  177. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
  178. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +4 -3
  179. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  180. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js +1 -1
  181. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +1 -1
  182. package/dist/collection/components/ic-hero/ic-hero.css +35 -30
  183. package/dist/collection/components/ic-hero/ic-hero.js +10 -10
  184. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  185. package/dist/collection/components/ic-horizontal-scroll/assets/left-arrow.svg +3 -0
  186. package/dist/collection/components/ic-horizontal-scroll/assets/right-arrow.svg +3 -0
  187. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +539 -0
  188. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +219 -0
  189. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -0
  190. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js +34 -0
  191. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +1 -0
  192. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +16 -17
  193. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -8
  194. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  195. package/dist/collection/components/ic-input-container/ic-input-container.css +0 -1
  196. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  197. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  198. package/dist/collection/components/ic-input-label/ic-input-label.js +8 -8
  199. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  200. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -5
  201. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -5
  202. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  203. package/dist/collection/components/ic-link/ic-link.css +14 -10
  204. package/dist/collection/components/ic-link/ic-link.js +43 -13
  205. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  206. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +43 -7
  207. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +48 -9
  208. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  209. package/dist/collection/components/ic-menu/ic-menu.css +20 -15
  210. package/dist/collection/components/ic-menu/ic-menu.js +144 -73
  211. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  212. package/dist/collection/components/ic-menu-group/ic-menu-group.css +465 -0
  213. package/dist/collection/components/ic-menu-group/ic-menu-group.js +45 -0
  214. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -0
  215. package/dist/collection/components/ic-menu-item/ic-menu-item.css +633 -0
  216. package/dist/collection/components/ic-menu-item/ic-menu-item.js +392 -0
  217. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -0
  218. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js +2 -0
  219. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js.map +1 -0
  220. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +9 -8
  221. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  222. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -7
  223. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -6
  224. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  225. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +68 -18
  226. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +113 -16
  227. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  228. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +15 -11
  229. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +8 -8
  230. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  231. package/dist/collection/components/ic-page-header/ic-page-header.css +15 -5
  232. package/dist/collection/components/ic-page-header/ic-page-header.js +10 -10
  233. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  234. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +535 -0
  235. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +432 -0
  236. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -0
  237. package/dist/collection/components/ic-popover-menu/ic-popover-menu.test.a11y.js +13 -0
  238. package/dist/collection/components/ic-popover-menu/ic-popover-menu.test.a11y.js.map +1 -0
  239. package/dist/collection/components/ic-radio-group/ic-radio-group.css +32 -0
  240. package/dist/collection/components/ic-radio-group/ic-radio-group.js +44 -13
  241. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  242. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js +1 -1
  243. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +1 -1
  244. package/dist/collection/components/ic-radio-option/ic-radio-option.css +32 -42
  245. package/dist/collection/components/ic-radio-option/ic-radio-option.js +65 -19
  246. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  247. package/dist/collection/components/ic-search-bar/ic-search-bar.css +24 -18
  248. package/dist/collection/components/ic-search-bar/ic-search-bar.js +90 -83
  249. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  250. package/dist/collection/components/ic-section-container/ic-section-container.css +1 -0
  251. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  252. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  253. package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
  254. package/dist/collection/components/ic-select/ic-select.css +47 -30
  255. package/dist/collection/components/ic-select/ic-select.js +336 -88
  256. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  257. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js +90 -0
  258. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +1 -1
  259. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +47 -37
  260. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +40 -24
  261. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  262. package/dist/collection/components/ic-skeleton/ic-skeleton.css +1 -1
  263. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  264. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  265. package/dist/collection/components/ic-status-tag/ic-status-tag.css +7 -7
  266. package/dist/collection/components/ic-status-tag/ic-status-tag.js +22 -3
  267. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  268. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js +1 -1
  269. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +1 -1
  270. package/dist/collection/components/ic-step/ic-step.css +127 -30
  271. package/dist/collection/components/ic-step/ic-step.js +269 -28
  272. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  273. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  274. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js +74 -0
  275. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +1 -0
  276. package/dist/collection/components/ic-stepper/ic-stepper.css +15 -1
  277. package/dist/collection/components/ic-stepper/ic-stepper.js +210 -40
  278. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  279. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js +13 -1
  280. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +1 -1
  281. package/dist/collection/components/ic-switch/ic-switch.css +20 -20
  282. package/dist/collection/components/ic-switch/ic-switch.js +36 -7
  283. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  284. package/dist/collection/components/ic-tab/ic-tab.css +1 -1
  285. package/dist/collection/components/ic-tab/ic-tab.js +37 -6
  286. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  287. package/dist/collection/components/ic-tab-context/ic-tab-context.js +31 -4
  288. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  289. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +1 -1
  290. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
  291. package/dist/collection/components/ic-tab-group/ic-tab-group.css +6 -120
  292. package/dist/collection/components/ic-tab-group/ic-tab-group.js +12 -156
  293. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  294. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
  295. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  296. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  297. package/dist/collection/components/ic-text-field/ic-text-field.css +7 -7
  298. package/dist/collection/components/ic-text-field/ic-text-field.js +32 -32
  299. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  300. package/dist/collection/components/ic-theme/ic-theme.js +9 -6
  301. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  302. package/dist/collection/components/ic-toast/ic-toast.css +602 -0
  303. package/dist/collection/components/ic-toast/ic-toast.js +382 -0
  304. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -0
  305. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js +16 -0
  306. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +1 -0
  307. package/dist/collection/components/ic-toast/ic-toast.types.js +2 -0
  308. package/dist/collection/components/ic-toast/ic-toast.types.js.map +1 -0
  309. package/dist/collection/components/ic-toast-region/ic-toast-region.js +81 -0
  310. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -0
  311. package/dist/collection/components/ic-tooltip/ic-tooltip.css +9 -11
  312. package/dist/collection/components/ic-tooltip/ic-tooltip.js +28 -3
  313. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  314. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +34 -52
  315. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +21 -15
  316. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  317. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js +1 -1
  318. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +1 -1
  319. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  320. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  321. package/dist/collection/normalize.css +440 -0
  322. package/dist/collection/testspec.setup.js +8 -0
  323. package/dist/collection/testspec.setup.js.map +1 -1
  324. package/dist/collection/utils/constants.js +28 -0
  325. package/dist/collection/utils/constants.js.map +1 -1
  326. package/dist/collection/utils/helpers.js +13 -4
  327. package/dist/collection/utils/helpers.js.map +1 -1
  328. package/dist/collection/utils/types.js.map +1 -1
  329. package/dist/components/OpenInNew.js +5 -0
  330. package/dist/components/OpenInNew.js.map +1 -0
  331. package/dist/components/check-icon.js +1 -1
  332. package/dist/components/chevron-icon.js +1 -1
  333. package/dist/components/helpers.js +71 -4
  334. package/dist/components/helpers.js.map +1 -1
  335. package/dist/components/ic-alert.js +6 -25
  336. package/dist/components/ic-alert.js.map +1 -1
  337. package/dist/components/ic-back-to-top.js +23 -11
  338. package/dist/components/ic-back-to-top.js.map +1 -1
  339. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  340. package/dist/components/ic-breadcrumb2.js +14 -4
  341. package/dist/components/ic-breadcrumb2.js.map +1 -1
  342. package/dist/components/ic-button2.js +9 -20
  343. package/dist/components/ic-button2.js.map +1 -1
  344. package/dist/components/ic-card.js +52 -6
  345. package/dist/components/ic-card.js.map +1 -1
  346. package/dist/components/ic-checkbox-group.js +3 -3
  347. package/dist/components/ic-checkbox-group.js.map +1 -1
  348. package/dist/components/ic-checkbox.js +17 -4
  349. package/dist/components/ic-checkbox.js.map +1 -1
  350. package/dist/components/ic-chip.d.ts +11 -0
  351. package/dist/components/ic-chip.js +111 -0
  352. package/dist/components/ic-chip.js.map +1 -0
  353. package/dist/components/ic-classification-banner.js +2 -2
  354. package/dist/components/ic-classification-banner.js.map +1 -1
  355. package/dist/components/ic-data-entity.js +1 -1
  356. package/dist/components/ic-data-entity.js.map +1 -1
  357. package/dist/components/ic-data-row.js +12 -10
  358. package/dist/components/ic-data-row.js.map +1 -1
  359. package/dist/components/ic-divider2.js +2 -2
  360. package/dist/components/ic-divider2.js.map +1 -1
  361. package/dist/components/ic-footer-link-group.js +4 -3
  362. package/dist/components/ic-footer-link-group.js.map +1 -1
  363. package/dist/components/ic-footer-link.js +17 -5
  364. package/dist/components/ic-footer-link.js.map +1 -1
  365. package/dist/components/ic-footer.js +4 -4
  366. package/dist/components/ic-footer.js.map +1 -1
  367. package/dist/components/ic-hero.js +2 -2
  368. package/dist/components/ic-hero.js.map +1 -1
  369. package/dist/components/ic-horizontal-scroll.d.ts +11 -0
  370. package/dist/components/ic-horizontal-scroll.js +8 -0
  371. package/dist/components/ic-horizontal-scroll.js.map +1 -0
  372. package/dist/components/ic-horizontal-scroll2.js +205 -0
  373. package/dist/components/ic-horizontal-scroll2.js.map +1 -0
  374. package/dist/components/ic-input-component-container2.js +2 -3
  375. package/dist/components/ic-input-component-container2.js.map +1 -1
  376. package/dist/components/ic-input-container2.js +1 -1
  377. package/dist/components/ic-input-container2.js.map +1 -1
  378. package/dist/components/ic-input-label2.js +1 -1
  379. package/dist/components/ic-input-label2.js.map +1 -1
  380. package/dist/components/ic-input-validation2.js +2 -4
  381. package/dist/components/ic-input-validation2.js.map +1 -1
  382. package/dist/components/ic-link2.js +16 -9
  383. package/dist/components/ic-link2.js.map +1 -1
  384. package/dist/components/ic-loading-indicator2.js +27 -7
  385. package/dist/components/ic-loading-indicator2.js.map +1 -1
  386. package/dist/components/ic-menu-group.d.ts +11 -0
  387. package/dist/components/ic-menu-group.js +46 -0
  388. package/dist/components/ic-menu-group.js.map +1 -0
  389. package/dist/components/ic-menu-item.d.ts +11 -0
  390. package/dist/components/ic-menu-item.js +8 -0
  391. package/dist/components/ic-menu-item.js.map +1 -0
  392. package/dist/components/ic-menu-item2.js +167 -0
  393. package/dist/components/ic-menu-item2.js.map +1 -0
  394. package/dist/components/ic-menu2.js +75 -41
  395. package/dist/components/ic-menu2.js.map +1 -1
  396. package/dist/components/ic-navigation-button.js +5 -4
  397. package/dist/components/ic-navigation-button.js.map +1 -1
  398. package/dist/components/ic-navigation-group.js +5 -4
  399. package/dist/components/ic-navigation-group.js.map +1 -1
  400. package/dist/components/ic-navigation-item.js +22 -10
  401. package/dist/components/ic-navigation-item.js.map +1 -1
  402. package/dist/components/ic-navigation-menu2.js +8 -8
  403. package/dist/components/ic-navigation-menu2.js.map +1 -1
  404. package/dist/components/ic-page-header.js +30 -6
  405. package/dist/components/ic-page-header.js.map +1 -1
  406. package/dist/components/ic-popover-menu.d.ts +11 -0
  407. package/dist/components/ic-popover-menu.js +290 -0
  408. package/dist/components/ic-popover-menu.js.map +1 -0
  409. package/dist/components/ic-radio-group.js +14 -5
  410. package/dist/components/ic-radio-group.js.map +1 -1
  411. package/dist/components/ic-radio-option.js +26 -7
  412. package/dist/components/ic-radio-option.js.map +1 -1
  413. package/dist/components/ic-search-bar.js +59 -44
  414. package/dist/components/ic-search-bar.js.map +1 -1
  415. package/dist/components/ic-section-container2.js +1 -1
  416. package/dist/components/ic-section-container2.js.map +1 -1
  417. package/dist/components/ic-select.js +224 -69
  418. package/dist/components/ic-select.js.map +1 -1
  419. package/dist/components/ic-side-navigation.js +23 -11
  420. package/dist/components/ic-side-navigation.js.map +1 -1
  421. package/dist/components/ic-skeleton.js +1 -1
  422. package/dist/components/ic-skeleton.js.map +1 -1
  423. package/dist/components/ic-status-tag.js +6 -4
  424. package/dist/components/ic-status-tag.js.map +1 -1
  425. package/dist/components/ic-step.js +117 -16
  426. package/dist/components/ic-step.js.map +1 -1
  427. package/dist/components/ic-stepper.js +173 -42
  428. package/dist/components/ic-stepper.js.map +1 -1
  429. package/dist/components/ic-switch.js +13 -3
  430. package/dist/components/ic-switch.js.map +1 -1
  431. package/dist/components/ic-tab-context.js +6 -1
  432. package/dist/components/ic-tab-context.js.map +1 -1
  433. package/dist/components/ic-tab-group.js +30 -125
  434. package/dist/components/ic-tab-group.js.map +1 -1
  435. package/dist/components/ic-tab-panel.js +1 -1
  436. package/dist/components/ic-tab-panel.js.map +1 -1
  437. package/dist/components/ic-tab.js +11 -2
  438. package/dist/components/ic-tab.js.map +1 -1
  439. package/dist/components/ic-text-field2.js +6 -6
  440. package/dist/components/ic-text-field2.js.map +1 -1
  441. package/dist/components/ic-theme.js +2 -2
  442. package/dist/components/ic-theme.js.map +1 -1
  443. package/dist/components/ic-toast-region.d.ts +11 -0
  444. package/dist/components/ic-toast-region.js +63 -0
  445. package/dist/components/ic-toast-region.js.map +1 -0
  446. package/dist/components/ic-toast.d.ts +11 -0
  447. package/dist/components/ic-toast.js +214 -0
  448. package/dist/components/ic-toast.js.map +1 -0
  449. package/dist/components/ic-tooltip2.js +13 -5
  450. package/dist/components/ic-tooltip2.js.map +1 -1
  451. package/dist/components/ic-top-navigation.js +22 -11
  452. package/dist/components/ic-top-navigation.js.map +1 -1
  453. package/dist/components/ic-typography2.js.map +1 -1
  454. package/dist/components/index.d.ts +8 -1
  455. package/dist/components/index.js +7 -0
  456. package/dist/components/index.js.map +1 -1
  457. package/dist/components/types.js.map +1 -1
  458. package/dist/core/core.css +3 -3
  459. package/dist/core/core.esm.js +1 -1
  460. package/dist/core/core.esm.js.map +1 -1
  461. package/dist/core/normalize.css +440 -0
  462. package/dist/core/p-037dfe9d.entry.js +2 -0
  463. package/dist/core/p-037dfe9d.entry.js.map +1 -0
  464. package/dist/core/p-05c5c6c4.entry.js +2 -0
  465. package/dist/core/p-05c5c6c4.entry.js.map +1 -0
  466. package/dist/core/p-06321d19.js +2 -0
  467. package/dist/core/p-0a463a65.entry.js +2 -0
  468. package/dist/core/p-0a463a65.entry.js.map +1 -0
  469. package/dist/core/p-0faf328a.entry.js +2 -0
  470. package/dist/core/p-0faf328a.entry.js.map +1 -0
  471. package/dist/core/p-102281fd.entry.js +2 -0
  472. package/dist/core/p-102281fd.entry.js.map +1 -0
  473. package/dist/core/p-1549adc1.entry.js +2 -0
  474. package/dist/core/p-1549adc1.entry.js.map +1 -0
  475. package/dist/core/p-25b208ae.entry.js +2 -0
  476. package/dist/core/p-25b208ae.entry.js.map +1 -0
  477. package/dist/core/{p-c4d3c18c.entry.js → p-26c9e522.entry.js} +2 -2
  478. package/dist/core/p-26c9e522.entry.js.map +1 -0
  479. package/dist/core/p-31a595c1.entry.js +2 -0
  480. package/dist/core/p-31a595c1.entry.js.map +1 -0
  481. package/dist/core/p-33a0aabe.entry.js +2 -0
  482. package/dist/core/p-33a0aabe.entry.js.map +1 -0
  483. package/dist/core/p-360adc51.entry.js +2 -0
  484. package/dist/core/p-360adc51.entry.js.map +1 -0
  485. package/dist/core/p-3d84a743.entry.js +2 -0
  486. package/dist/core/p-3d84a743.entry.js.map +1 -0
  487. package/dist/core/p-3dea2867.js +2 -0
  488. package/dist/core/p-3dea2867.js.map +1 -0
  489. package/dist/core/p-3fd4f8eb.entry.js +2 -0
  490. package/dist/core/p-3fd4f8eb.entry.js.map +1 -0
  491. package/dist/core/p-48a5c2a7.entry.js +2 -0
  492. package/dist/core/p-48a5c2a7.entry.js.map +1 -0
  493. package/dist/core/p-4d8392fe.entry.js +2 -0
  494. package/dist/core/p-4d8392fe.entry.js.map +1 -0
  495. package/dist/core/p-4ee03271.entry.js +2 -0
  496. package/dist/core/p-4ee03271.entry.js.map +1 -0
  497. package/dist/core/{p-f9370be6.js → p-5450cebf.js} +3 -3
  498. package/dist/core/p-5450cebf.js.map +1 -0
  499. package/dist/core/p-58ff516f.entry.js +2 -0
  500. package/dist/core/p-58ff516f.entry.js.map +1 -0
  501. package/dist/core/p-62b3516e.entry.js +2 -0
  502. package/dist/core/p-62b3516e.entry.js.map +1 -0
  503. package/dist/core/p-6f57b13c.js.map +1 -1
  504. package/dist/core/p-73fddc63.entry.js +2 -0
  505. package/dist/core/p-73fddc63.entry.js.map +1 -0
  506. package/dist/core/p-741b4ea3.entry.js +2 -0
  507. package/dist/core/p-741b4ea3.entry.js.map +1 -0
  508. package/dist/core/p-7dcb9104.entry.js +2 -0
  509. package/dist/core/p-7dcb9104.entry.js.map +1 -0
  510. package/dist/core/{p-e93e9aa3.entry.js → p-7fd50355.entry.js} +2 -2
  511. package/dist/core/p-7fd50355.entry.js.map +1 -0
  512. package/dist/core/p-81652a98.entry.js +2 -0
  513. package/dist/core/p-81652a98.entry.js.map +1 -0
  514. package/dist/core/p-87c7ba3b.entry.js +2 -0
  515. package/dist/core/p-87c7ba3b.entry.js.map +1 -0
  516. package/dist/core/p-897e967a.entry.js +2 -0
  517. package/dist/core/p-897e967a.entry.js.map +1 -0
  518. package/dist/core/p-8c7f4343.js +2 -0
  519. package/dist/core/p-8c9cc4d5.entry.js +2 -0
  520. package/dist/core/p-8c9cc4d5.entry.js.map +1 -0
  521. package/dist/core/p-8d4f7027.js +2 -0
  522. package/dist/core/{p-0118400b.entry.js → p-8ffa00c9.entry.js} +2 -2
  523. package/dist/core/p-8ffa00c9.entry.js.map +1 -0
  524. package/dist/core/p-a2c7dc6c.entry.js +2 -0
  525. package/dist/core/p-a2c7dc6c.entry.js.map +1 -0
  526. package/dist/core/p-a3742d40.entry.js +2 -0
  527. package/dist/core/p-a3742d40.entry.js.map +1 -0
  528. package/dist/core/p-a44a0500.entry.js +2 -0
  529. package/dist/core/p-a44a0500.entry.js.map +1 -0
  530. package/dist/core/p-a8e969ea.entry.js +2 -0
  531. package/dist/core/p-a8e969ea.entry.js.map +1 -0
  532. package/dist/core/p-ac6ecdb6.entry.js +2 -0
  533. package/dist/core/p-ac6ecdb6.entry.js.map +1 -0
  534. package/dist/core/p-acb08809.entry.js +2 -0
  535. package/dist/core/p-acb08809.entry.js.map +1 -0
  536. package/dist/core/{p-6be5e06b.entry.js → p-ad2477d8.entry.js} +2 -2
  537. package/dist/core/p-ad2477d8.entry.js.map +1 -0
  538. package/dist/core/p-affb42c7.entry.js +2 -0
  539. package/dist/core/p-affb42c7.entry.js.map +1 -0
  540. package/dist/core/p-b7fc1f35.entry.js +2 -0
  541. package/dist/core/p-b7fc1f35.entry.js.map +1 -0
  542. package/dist/core/p-b8b960a5.entry.js +2 -0
  543. package/dist/core/p-b8b960a5.entry.js.map +1 -0
  544. package/dist/core/p-b921bb19.entry.js +2 -0
  545. package/dist/core/p-b921bb19.entry.js.map +1 -0
  546. package/dist/core/{p-6d0eaaeb.entry.js → p-c9068822.entry.js} +2 -2
  547. package/dist/core/{p-6d0eaaeb.entry.js.map → p-c9068822.entry.js.map} +1 -1
  548. package/dist/core/p-c996810e.entry.js +2 -0
  549. package/dist/core/p-c996810e.entry.js.map +1 -0
  550. package/dist/core/p-cc62d065.entry.js +2 -0
  551. package/dist/core/p-cc62d065.entry.js.map +1 -0
  552. package/dist/core/{p-02799e26.entry.js → p-d2508752.entry.js} +2 -2
  553. package/dist/core/{p-02799e26.entry.js.map → p-d2508752.entry.js.map} +1 -1
  554. package/dist/core/p-d28d7f24.entry.js +2 -0
  555. package/dist/core/p-d28d7f24.entry.js.map +1 -0
  556. package/dist/core/{p-07cd789d.entry.js → p-dbfdfa8a.entry.js} +2 -2
  557. package/dist/core/p-dbfdfa8a.entry.js.map +1 -0
  558. package/dist/core/{p-10da19d2.entry.js → p-dd71a986.entry.js} +2 -2
  559. package/dist/core/p-dd71a986.entry.js.map +1 -0
  560. package/dist/core/p-e4547265.entry.js +2 -0
  561. package/dist/core/p-e4547265.entry.js.map +1 -0
  562. package/dist/core/p-ea0c4aca.entry.js +2 -0
  563. package/dist/core/p-ea0c4aca.entry.js.map +1 -0
  564. package/dist/core/{p-cadb531f.entry.js → p-ed6cf9b9.entry.js} +2 -2
  565. package/dist/core/p-ed6cf9b9.entry.js.map +1 -0
  566. package/dist/core/p-f6ddd32f.entry.js +2 -0
  567. package/dist/core/p-f6ddd32f.entry.js.map +1 -0
  568. package/dist/core/p-f777679c.entry.js +2 -0
  569. package/dist/core/p-f777679c.entry.js.map +1 -0
  570. package/dist/esm/OpenInNew-67a881e0.js +5 -0
  571. package/dist/esm/OpenInNew-67a881e0.js.map +1 -0
  572. package/dist/esm/{check-icon-53f1d9e5.js → check-icon-abb210ec.js} +2 -2
  573. package/dist/esm/check-icon-abb210ec.js.map +1 -0
  574. package/dist/esm/chevron-icon-7927f709.js +8 -0
  575. package/dist/esm/chevron-icon-7927f709.js.map +1 -0
  576. package/dist/esm/core.js +2 -2
  577. package/dist/esm/{helpers-3d41833c.js → helpers-b2b47a7d.js} +72 -5
  578. package/dist/esm/helpers-b2b47a7d.js.map +1 -0
  579. package/dist/esm/ic-alert.entry.js +6 -25
  580. package/dist/esm/ic-alert.entry.js.map +1 -1
  581. package/dist/esm/ic-back-to-top.entry.js +24 -12
  582. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  583. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  584. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  585. package/dist/esm/ic-breadcrumb.entry.js +15 -6
  586. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  587. package/dist/esm/ic-button_3.entry.js +46 -31
  588. package/dist/esm/ic-button_3.entry.js.map +1 -1
  589. package/dist/esm/ic-card.entry.js +29 -5
  590. package/dist/esm/ic-card.entry.js.map +1 -1
  591. package/dist/esm/ic-checkbox-group.entry.js +4 -4
  592. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  593. package/dist/esm/ic-checkbox.entry.js +16 -4
  594. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  595. package/dist/esm/ic-chip.entry.js +73 -0
  596. package/dist/esm/ic-chip.entry.js.map +1 -0
  597. package/dist/esm/ic-classification-banner.entry.js +3 -3
  598. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  599. package/dist/esm/ic-data-entity.entry.js +2 -2
  600. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  601. package/dist/esm/ic-data-row.entry.js +14 -12
  602. package/dist/esm/ic-data-row.entry.js.map +1 -1
  603. package/dist/esm/ic-divider.entry.js +3 -3
  604. package/dist/esm/ic-divider.entry.js.map +1 -1
  605. package/dist/esm/ic-footer-link-group.entry.js +4 -3
  606. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  607. package/dist/esm/ic-footer-link.entry.js +12 -5
  608. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  609. package/dist/esm/ic-footer.entry.js +5 -5
  610. package/dist/esm/ic-footer.entry.js.map +1 -1
  611. package/dist/esm/ic-hero.entry.js +3 -3
  612. package/dist/esm/ic-hero.entry.js.map +1 -1
  613. package/dist/esm/ic-horizontal-scroll.entry.js +160 -0
  614. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -0
  615. package/dist/esm/ic-input-component-container_3.entry.js +78 -44
  616. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  617. package/dist/esm/ic-input-label_2.entry.js +3 -5
  618. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  619. package/dist/esm/ic-link.entry.js +14 -8
  620. package/dist/esm/ic-link.entry.js.map +1 -1
  621. package/dist/esm/ic-menu-group.entry.js +20 -0
  622. package/dist/esm/ic-menu-group.entry.js.map +1 -0
  623. package/dist/esm/ic-menu-item.entry.js +116 -0
  624. package/dist/esm/ic-menu-item.entry.js.map +1 -0
  625. package/dist/esm/ic-navigation-button.entry.js +5 -4
  626. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  627. package/dist/esm/ic-navigation-group.entry.js +7 -6
  628. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  629. package/dist/esm/ic-navigation-item.entry.js +19 -12
  630. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  631. package/dist/esm/ic-navigation-menu.entry.js +8 -8
  632. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  633. package/dist/esm/ic-page-header.entry.js +5 -5
  634. package/dist/esm/ic-page-header.entry.js.map +1 -1
  635. package/dist/esm/ic-popover-menu.entry.js +232 -0
  636. package/dist/esm/ic-popover-menu.entry.js.map +1 -0
  637. package/dist/esm/ic-radio-group.entry.js +13 -5
  638. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  639. package/dist/esm/ic-radio-option.entry.js +24 -6
  640. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  641. package/dist/esm/ic-search-bar.entry.js +56 -42
  642. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  643. package/dist/esm/ic-section-container.entry.js +2 -2
  644. package/dist/esm/ic-section-container.entry.js.map +1 -1
  645. package/dist/esm/ic-select.entry.js +218 -69
  646. package/dist/esm/ic-select.entry.js.map +1 -1
  647. package/dist/esm/ic-side-navigation.entry.js +26 -14
  648. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  649. package/dist/esm/ic-skeleton.entry.js +2 -2
  650. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  651. package/dist/esm/ic-status-tag.entry.js +6 -5
  652. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  653. package/dist/esm/ic-step.entry.js +103 -15
  654. package/dist/esm/ic-step.entry.js.map +1 -1
  655. package/dist/esm/ic-stepper.entry.js +166 -42
  656. package/dist/esm/ic-stepper.entry.js.map +1 -1
  657. package/dist/esm/ic-switch.entry.js +12 -3
  658. package/dist/esm/ic-switch.entry.js.map +1 -1
  659. package/dist/esm/ic-tab-context.entry.js +7 -2
  660. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  661. package/dist/esm/ic-tab-group.entry.js +9 -118
  662. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  663. package/dist/esm/ic-tab-panel.entry.js +2 -2
  664. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  665. package/dist/esm/ic-tab.entry.js +10 -2
  666. package/dist/esm/ic-tab.entry.js.map +1 -1
  667. package/dist/esm/ic-text-field.entry.js +5 -5
  668. package/dist/esm/ic-text-field.entry.js.map +1 -1
  669. package/dist/esm/ic-theme.entry.js +4 -4
  670. package/dist/esm/ic-theme.entry.js.map +1 -1
  671. package/dist/esm/ic-toast-region.entry.js +44 -0
  672. package/dist/esm/ic-toast-region.entry.js.map +1 -0
  673. package/dist/esm/ic-toast.entry.js +161 -0
  674. package/dist/esm/ic-toast.entry.js.map +1 -0
  675. package/dist/esm/ic-top-navigation.entry.js +15 -10
  676. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  677. package/dist/esm/ic-typography.entry.js +1 -1
  678. package/dist/esm/ic-typography.entry.js.map +1 -1
  679. package/dist/esm/{index-1500de1f.js → index-90721b3c.js} +33 -2
  680. package/dist/esm/index-90721b3c.js.map +1 -0
  681. package/dist/esm/loader.js +2 -2
  682. package/dist/esm/types-dd515332.js.map +1 -1
  683. package/dist/types/components/ic-alert/ic-alert.d.ts +14 -10
  684. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
  685. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -5
  686. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  687. package/dist/types/components/ic-button/ic-button.d.ts +11 -14
  688. package/dist/types/components/ic-card/ic-card.d.ts +31 -10
  689. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +18 -10
  690. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +9 -9
  691. package/dist/types/components/ic-chip/ic-chip.d.ts +48 -0
  692. package/dist/types/components/ic-chip/ic-chip.test.a11y.d.ts +1 -0
  693. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -0
  694. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +5 -5
  695. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  696. package/dist/types/components/ic-data-row/ic-data-row.d.ts +3 -3
  697. package/dist/types/components/ic-footer/ic-footer.d.ts +12 -12
  698. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +20 -0
  699. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  700. package/dist/types/components/ic-hero/ic-hero.d.ts +9 -9
  701. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +39 -0
  702. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts +1 -0
  703. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -8
  704. package/dist/types/components/ic-input-container/ic-input-container.d.ts +2 -2
  705. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -8
  706. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +5 -5
  707. package/dist/types/components/ic-link/ic-link.d.ts +10 -7
  708. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +7 -3
  709. package/dist/types/components/ic-menu/ic-menu.d.ts +36 -18
  710. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +8 -0
  711. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +74 -0
  712. package/dist/types/components/ic-menu-item/ic-menu-item.types.d.ts +1 -0
  713. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +6 -6
  714. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +3 -3
  715. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +28 -8
  716. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -2
  717. package/dist/types/components/ic-page-header/ic-page-header.d.ts +10 -8
  718. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +58 -0
  719. package/dist/types/components/ic-popover-menu/ic-popover-menu.test.a11y.d.ts +1 -0
  720. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +15 -11
  721. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +17 -11
  722. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +31 -30
  723. package/dist/types/components/ic-section-container/ic-section-container.d.ts +2 -2
  724. package/dist/types/components/ic-select/ic-select.d.ts +68 -23
  725. package/dist/types/components/ic-side-navigation/ic-side-navigation-test-examples.d.ts +1 -0
  726. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +13 -12
  727. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  728. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +5 -1
  729. package/dist/types/components/ic-step/ic-step.d.ts +37 -8
  730. package/dist/types/components/ic-step/ic-step.types.d.ts +2 -0
  731. package/dist/types/components/ic-stepper/ic-stepper-test-examples.d.ts +4 -0
  732. package/dist/types/components/ic-stepper/ic-stepper.d.ts +23 -6
  733. package/dist/types/components/ic-switch/ic-switch.d.ts +11 -7
  734. package/dist/types/components/ic-tab/ic-tab.d.ts +9 -5
  735. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -4
  736. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -33
  737. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +2 -2
  738. package/dist/types/components/ic-text-field/ic-text-field.d.ts +31 -31
  739. package/dist/types/components/ic-theme/ic-theme.d.ts +3 -3
  740. package/dist/types/components/ic-toast/ic-toast.d.ts +66 -0
  741. package/dist/types/components/ic-toast/ic-toast.test.a11y.d.ts +1 -0
  742. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -0
  743. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +12 -0
  744. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  745. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -6
  746. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  747. package/dist/types/components.d.ts +1103 -559
  748. package/dist/types/interface.d.ts +0 -1
  749. package/dist/types/testspec.setup.d.ts +1 -0
  750. package/dist/types/utils/constants.d.ts +22 -0
  751. package/dist/types/utils/helpers.d.ts +2 -0
  752. package/dist/types/utils/types.d.ts +3 -0
  753. package/hydrate/index.js +2030 -602
  754. package/package.json +5 -5
  755. package/dist/cjs/check-icon-999d9877.js.map +0 -1
  756. package/dist/cjs/chevron-icon-d175fe66.js +0 -10
  757. package/dist/cjs/chevron-icon-d175fe66.js.map +0 -1
  758. package/dist/cjs/error-icon-99504103.js +0 -18
  759. package/dist/cjs/error-icon-99504103.js.map +0 -1
  760. package/dist/cjs/helpers-8bc3b6d2.js.map +0 -1
  761. package/dist/cjs/index-3ef30d9d.js.map +0 -1
  762. package/dist/cjs/success-icon-887b2097.js +0 -11
  763. package/dist/cjs/success-icon-887b2097.js.map +0 -1
  764. package/dist/collection/components/ic-alert/ic-alert.types.js +0 -2
  765. package/dist/collection/components/ic-alert/ic-alert.types.js.map +0 -1
  766. package/dist/collection/components/ic-tab-group/assets/left-arrow.svg +0 -3
  767. package/dist/collection/components/ic-tab-group/assets/right-arrow.svg +0 -3
  768. package/dist/components/error-icon.js +0 -15
  769. package/dist/components/error-icon.js.map +0 -1
  770. package/dist/components/success-icon.js +0 -9
  771. package/dist/components/success-icon.js.map +0 -1
  772. package/dist/core/p-0118400b.entry.js.map +0 -1
  773. package/dist/core/p-07cd789d.entry.js.map +0 -1
  774. package/dist/core/p-0b125f26.entry.js +0 -2
  775. package/dist/core/p-0b125f26.entry.js.map +0 -1
  776. package/dist/core/p-10da19d2.entry.js.map +0 -1
  777. package/dist/core/p-1337db5e.entry.js +0 -2
  778. package/dist/core/p-1337db5e.entry.js.map +0 -1
  779. package/dist/core/p-1721bcf3.entry.js +0 -2
  780. package/dist/core/p-1721bcf3.entry.js.map +0 -1
  781. package/dist/core/p-1e7b4310.js +0 -2
  782. package/dist/core/p-23831891.js +0 -2
  783. package/dist/core/p-23831891.js.map +0 -1
  784. package/dist/core/p-272c7abd.entry.js +0 -2
  785. package/dist/core/p-272c7abd.entry.js.map +0 -1
  786. package/dist/core/p-2f114521.entry.js +0 -2
  787. package/dist/core/p-2f114521.entry.js.map +0 -1
  788. package/dist/core/p-31a8595f.entry.js +0 -2
  789. package/dist/core/p-31a8595f.entry.js.map +0 -1
  790. package/dist/core/p-33a45ace.entry.js +0 -2
  791. package/dist/core/p-33a45ace.entry.js.map +0 -1
  792. package/dist/core/p-347ec49e.entry.js +0 -2
  793. package/dist/core/p-347ec49e.entry.js.map +0 -1
  794. package/dist/core/p-39ae284e.entry.js +0 -2
  795. package/dist/core/p-39ae284e.entry.js.map +0 -1
  796. package/dist/core/p-558552f8.entry.js +0 -2
  797. package/dist/core/p-558552f8.entry.js.map +0 -1
  798. package/dist/core/p-5e261268.entry.js +0 -2
  799. package/dist/core/p-5e261268.entry.js.map +0 -1
  800. package/dist/core/p-60ffb73e.entry.js +0 -2
  801. package/dist/core/p-60ffb73e.entry.js.map +0 -1
  802. package/dist/core/p-69650186.entry.js +0 -2
  803. package/dist/core/p-69650186.entry.js.map +0 -1
  804. package/dist/core/p-6b34d98f.entry.js +0 -2
  805. package/dist/core/p-6b34d98f.entry.js.map +0 -1
  806. package/dist/core/p-6be5e06b.entry.js.map +0 -1
  807. package/dist/core/p-6f6bd657.entry.js +0 -2
  808. package/dist/core/p-6f6bd657.entry.js.map +0 -1
  809. package/dist/core/p-7093d214.entry.js +0 -2
  810. package/dist/core/p-7093d214.entry.js.map +0 -1
  811. package/dist/core/p-7577c6a3.entry.js +0 -2
  812. package/dist/core/p-7577c6a3.entry.js.map +0 -1
  813. package/dist/core/p-7b11e1dc.entry.js +0 -2
  814. package/dist/core/p-7b11e1dc.entry.js.map +0 -1
  815. package/dist/core/p-7b39977f.entry.js +0 -2
  816. package/dist/core/p-7b39977f.entry.js.map +0 -1
  817. package/dist/core/p-7f632414.entry.js +0 -2
  818. package/dist/core/p-7f632414.entry.js.map +0 -1
  819. package/dist/core/p-898607d0.entry.js +0 -2
  820. package/dist/core/p-898607d0.entry.js.map +0 -1
  821. package/dist/core/p-8ddeb574.entry.js +0 -2
  822. package/dist/core/p-8ddeb574.entry.js.map +0 -1
  823. package/dist/core/p-9cd04875.entry.js +0 -2
  824. package/dist/core/p-9cd04875.entry.js.map +0 -1
  825. package/dist/core/p-ac43322e.entry.js +0 -2
  826. package/dist/core/p-ac43322e.entry.js.map +0 -1
  827. package/dist/core/p-ae6aa67f.js +0 -2
  828. package/dist/core/p-ae81dffa.entry.js +0 -2
  829. package/dist/core/p-ae81dffa.entry.js.map +0 -1
  830. package/dist/core/p-b3dec76d.entry.js +0 -2
  831. package/dist/core/p-b3dec76d.entry.js.map +0 -1
  832. package/dist/core/p-b5a988c0.entry.js +0 -2
  833. package/dist/core/p-b5a988c0.entry.js.map +0 -1
  834. package/dist/core/p-bf5717ca.js +0 -2
  835. package/dist/core/p-c4d3c18c.entry.js.map +0 -1
  836. package/dist/core/p-c6dd4f47.entry.js +0 -2
  837. package/dist/core/p-c6dd4f47.entry.js.map +0 -1
  838. package/dist/core/p-cadb531f.entry.js.map +0 -1
  839. package/dist/core/p-cc83692e.entry.js +0 -2
  840. package/dist/core/p-cc83692e.entry.js.map +0 -1
  841. package/dist/core/p-dd3c3e3c.entry.js +0 -2
  842. package/dist/core/p-dd3c3e3c.entry.js.map +0 -1
  843. package/dist/core/p-df5caf13.entry.js +0 -2
  844. package/dist/core/p-df5caf13.entry.js.map +0 -1
  845. package/dist/core/p-e106305b.entry.js +0 -2
  846. package/dist/core/p-e106305b.entry.js.map +0 -1
  847. package/dist/core/p-e28af65b.js +0 -2
  848. package/dist/core/p-e28af65b.js.map +0 -1
  849. package/dist/core/p-e590f1d2.entry.js +0 -2
  850. package/dist/core/p-e590f1d2.entry.js.map +0 -1
  851. package/dist/core/p-e93e9aa3.entry.js.map +0 -1
  852. package/dist/core/p-ecfb2e6b.entry.js +0 -2
  853. package/dist/core/p-ecfb2e6b.entry.js.map +0 -1
  854. package/dist/core/p-f9370be6.js.map +0 -1
  855. package/dist/esm/check-icon-53f1d9e5.js.map +0 -1
  856. package/dist/esm/chevron-icon-5b38c60a.js +0 -8
  857. package/dist/esm/chevron-icon-5b38c60a.js.map +0 -1
  858. package/dist/esm/error-icon-6046a380.js +0 -15
  859. package/dist/esm/error-icon-6046a380.js.map +0 -1
  860. package/dist/esm/helpers-3d41833c.js.map +0 -1
  861. package/dist/esm/index-1500de1f.js.map +0 -1
  862. package/dist/esm/success-icon-2f71b115.js +0 -9
  863. package/dist/esm/success-icon-2f71b115.js.map +0 -1
  864. package/dist/types/components/ic-alert/ic-alert.types.d.ts +0 -1
  865. /package/dist/collection/{components/ic-link/assets → assets}/OpenInNew.svg +0 -0
  866. /package/dist/core/{p-1e7b4310.js.map → p-06321d19.js.map} +0 -0
  867. /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
  868. /package/dist/core/{p-bf5717ca.js.map → p-8d4f7027.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"ic-alert.js","mappings":"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","names":[],"sources":["./src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","./src/components/ic-alert/ic-alert.tsx"],"sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 56px;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-architectural-40);\n}\n\n.container-info {\n background-color: var(--ic-status-info-background);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-background);\n}\n\n.container-error {\n background-color: var(--ic-status-error-background);\n}\n\n.container-success {\n background-color: var(--ic-status-success-background);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-mid);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 22px;\n margin-left: 18px;\n}\n\n.icon-neutral > svg {\n fill: var(--ic-architectural-500);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-status-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-status-warning-mid);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-status-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 10px;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n font-size: 0;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -6px;\n padding: 6px;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon svg {\n width: 18px;\n height: 18px;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n font-size: 1px;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: 14px;\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n} from \"@stencil/core\";\nimport neutralIcon from \"../../assets/neutral-icon.svg\";\nimport infoIcon from \"../../assets/info-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { IcAlertVariants } from \"./ic-alert.types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum } from \"../../utils/types\";\n\nconst icon = {\n neutral: neutralIcon,\n info: infoIcon,\n warning: warningIcon,\n error: errorIcon,\n success: successIcon,\n};\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the left of the message.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n @Element() el: HTMLIcAlertElement;\n\n /**\n * Set which variant of the alert will be rendered\n */\n @Prop() variant?: IcAlertVariants = \"neutral\";\n /**\n * Optional title to display at the start of the alert\n */\n @Prop() heading?: string = \"\";\n /**\n * Main body message of the alert\n */\n @Prop() message?: string;\n /**\n * Set whether the title and message appear inline or above and below\n */\n @Prop() titleAbove?: boolean = false;\n /**\n * Set whether the alert has a close icon at the end to dismiss it\n */\n @Prop() dismissible?: boolean = false;\n /**\n * Set whether the alert has the 'alert' aria role and will be announced to screen readers\n */\n @Prop() announced?: boolean = true;\n\n @State() visible: boolean = true;\n\n @State() alertTitleWrap: boolean = false;\n\n @Listen(\"dismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() dismiss: EventEmitter<void>;\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced && \"alert\"}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={icon[variant]}\n ></span>\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-alert.js","mappings":";;;;;;;;;AAAA,MAAM,UAAU,GAAG,+wJAA+wJ;;MCyBrxJ,KAAK;;;;;;;IA8CR,kBAAa,GAAG;MACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;MACpB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;mBA3CmC,SAAS;mBAInB,EAAE;;sBAQE,KAAK;uBAIJ,KAAK;qBAIP,IAAI;mBAEN,IAAI;0BAEG,KAAK;;EAGxC,WAAW;IACT,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;GAC9B;EAgBO,oBAAoB;;IAC1B,MAAM,WAAW,GACf,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,cAAc,CAAC,0CAAE,YAAY,CAAC;IACjE,IAAI,WAAW,GAAG,EAAE;MAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;GAClD;EAED,gBAAgB;IACd,IAAI,CAAC,oBAAoB,EAAE,CAAC;GAC7B;EAED,MAAM;IACJ,MAAM,EACJ,OAAO,EACP,OAAO,EACP,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,GACR,GAAG,IAAI,CAAC;IAET,QACE,OAAO,KACL,EAAC,IAAI,IACH,IAAI,EAAE,SAAS,IAAI,OAAO,EAC1B,KAAK,EAAE;QACL,CAAC,qBAAqB,CAAC,IAAI,GAAG,IAAI;OACnC,IAED,WACE,KAAK,EAAE;QACL,CAAC,WAAW,GAAG,IAAI;QACnB,CAAC,aAAa,OAAO,EAAE,GAAG,IAAI;OAC/B,IAED,WAAK,KAAK,EAAC,sBAAsB,IAC/B,WACE,KAAK,EAAE;QACL,CAAC,SAAS,GAAG,IAAI;QACjB,CAAC,WAAW,OAAO,EAAE,GAAG,IAAI;OAC7B,GACI,EACP,YACE,KAAK,EAAE;QACL,CAAC,YAAY,GAAG,IAAI;QACpB,CAAC,eAAe,GAAG,IAAI;QACvB,CAAC,QAAQ,OAAO,EAAE,GAAG,IAAI;OAC1B,EACD,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,GAChC,CACJ,EACN,WAAK,KAAK,EAAC,eAAe,IACxB,WACE,KAAK,EAAE;QACL,CAAC,eAAe,GAAG,IAAI;QACvB,CAAC,2BAA2B,GAC1B,UAAU,IAAI,IAAI,CAAC,cAAc;OACpC,IAEA,OAAO,KACN,qBACE,KAAK,EAAE;QACL,CAAC,aAAa,GAAG,IAAI;QACrB,CAAC,mBAAmB,GAAG,UAAU,IAAI,IAAI,CAAC,cAAc;OACzD,EACD,OAAO,EAAC,gBAAgB,IAExB,aAAI,OAAO,CAAK,CACF,CACjB,EACD,YAAM,IAAI,EAAC,SAAS,IAClB,qBAAe,OAAO,EAAC,MAAM,IAAE,OAAO,CAAiB,CAClD,CACH,EACL,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,KAC5B,WAAK,KAAK,EAAC,wBAAwB,IACjC,YAAM,IAAI,EAAC,QAAQ,GAAG,CAClB,CACP,CACG,EACN,WAAK,KAAK,EAAC,wBAAwB,IAChC,WAAW,KACV,iBACE,KAAK,EAAE;QACL,CAAC,eAAe,GAAG,IAAI;QACvB,CAAC,cAAc,GAAG,IAAI;OACvB,EACD,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,OAAO,EAAC,MAAM,EACd,UAAU,EAAE,qBAAqB,CAAC,IAAI,EACtC,KAAK,EAAC,SAAS,GACJ,CACd,CACG,CACF,CACD,CACR,EACD;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/ic-alert/ic-alert.css?tag=ic-alert&encapsulation=shadow","./src/components/ic-alert/ic-alert.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n.container {\n min-height: 3.5rem;\n border-radius: var(--ic-border-radius);\n position: relative;\n display: flex;\n align-items: center;\n}\n\n.container-neutral {\n background-color: var(--ic-architectural-40);\n}\n\n.container-info {\n background-color: var(--ic-status-info-background);\n}\n\n.container-warning {\n background-color: var(--ic-status-warning-background);\n}\n\n.container-error {\n background-color: var(--ic-status-error-background);\n}\n\n.container-success {\n background-color: var(--ic-status-success-background);\n}\n\n.alert-icon-container {\n height: 100%;\n display: flex;\n align-items: center;\n}\n\n.divider {\n height: 100%;\n width: var(--ic-space-xs);\n border-radius: var(--ic-space-xxxs) 0 0 var(--ic-space-xxxs);\n position: absolute;\n}\n\n.divider-neutral {\n background-color: var(--ic-architectural-500);\n}\n\n.divider-info {\n background-color: var(--ic-status-info);\n}\n\n.divider-warning {\n background-color: var(--ic-status-warning-mid);\n}\n\n.divider-error {\n background-color: var(--ic-status-error);\n}\n\n.divider-success {\n background-color: var(--ic-status-success);\n}\n\n.alert-icon {\n height: var(--ic-space-lg);\n width: 1.375rem;\n margin-left: 1.125rem;\n}\n\n.alert-icon > svg {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n display: inline-block;\n}\n\n.icon-neutral > svg {\n fill: var(--ic-architectural-500);\n}\n\n:host([variant=\"info\"]) .alert-icon svg {\n fill: var(--ic-status-info);\n}\n\n:host([variant=\"warning\"]) .alert-icon svg {\n fill: var(--ic-status-warning-mid);\n}\n\n:host([variant=\"error\"]) .alert-icon svg {\n fill: var(--ic-status-error);\n}\n\n:host([variant=\"success\"]) .alert-icon svg {\n fill: var(--ic-status-success);\n}\n\n.alert-content {\n display: flex;\n align-items: center;\n margin-left: 0.625rem;\n width: 100%;\n}\n\n.alert-message {\n display: flex;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n flex: 1;\n}\n\n.alert-message-title-above {\n display: inline;\n font-size: 0;\n}\n\n.alert-title {\n margin-right: var(--ic-space-xs);\n}\n\n.alert-title-above {\n white-space: normal;\n}\n\n.alert-action-container {\n margin-right: var(--ic-space-xs);\n display: flex;\n align-items: center;\n}\n\n.dismiss-icon {\n margin-right: var(--ic-space-xxxs);\n margin-left: -0.375rem;\n padding: 0.375rem;\n border: none;\n border-radius: 50%;\n background-color: inherit;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.dismiss-icon:hover {\n cursor: pointer;\n}\n\n@media (max-width: 628px) {\n .alert-content {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-message {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n }\n\n .alert-title {\n white-space: normal;\n }\n\n .alert-action-container {\n margin-bottom: 0.875rem;\n }\n}\n\n@media (forced-colors: active) {\n .container {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n State,\n Listen,\n Prop,\n h,\n} from \"@stencil/core\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\nimport { IcThemeForegroundEnum, IcStatusVariants } from \"../../utils/types\";\nimport { VARIANT_ICONS } from \"../../utils/constants\";\n\n/**\n * @slot message - Content is placed to the right of the title.\n * @slot action - Content is placed to the right of the message.\n */\n@Component({\n tag: \"ic-alert\",\n styleUrl: \"ic-alert.css\",\n shadow: true,\n})\nexport class Alert {\n @Element() el: HTMLIcAlertElement;\n\n /**\n * The variant of the alert which will be rendered.\n */\n @Prop() variant?: IcStatusVariants = \"neutral\";\n /**\n * The optional title to display at the start of the alert.\n */\n @Prop() heading?: string = \"\";\n /**\n * The main body message of the alert.\n */\n @Prop() message?: string;\n /**\n * If `true`, the title and message will appear inline instead of above and below.\n */\n @Prop() titleAbove?: boolean = false;\n /**\n * If `true`, the alert will have a close icon at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n /**\n * If `true`, the alert will have the 'alert' ARIA role and will be announced to screen readers.\n */\n @Prop() announced?: boolean = true;\n\n @State() visible: boolean = true;\n\n @State() alertTitleWrap: boolean = false;\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the alert.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private alertTitleShouldWrap() {\n const titleHeight =\n this.el.shadowRoot.querySelector(\".alert-title\")?.clientHeight;\n if (titleHeight > 24) this.alertTitleWrap = true;\n }\n\n componentDidLoad(): void {\n this.alertTitleShouldWrap();\n }\n\n render() {\n const {\n variant,\n heading,\n message,\n titleAbove,\n dismissible,\n announced,\n visible,\n } = this;\n\n return (\n visible && (\n <Host\n role={announced && \"alert\"}\n class={{\n [IcThemeForegroundEnum.Dark]: true,\n }}\n >\n <div\n class={{\n [\"container\"]: true,\n [`container-${variant}`]: true,\n }}\n >\n <div class=\"alert-icon-container\">\n <div\n class={{\n [\"divider\"]: true,\n [`divider-${variant}`]: true,\n }}\n ></div>\n <span\n class={{\n [\"alert-icon\"]: true,\n [\"svg-container\"]: true,\n [`icon-${variant}`]: true,\n }}\n innerHTML={VARIANT_ICONS[variant].icon}\n ></span>\n </div>\n <div class=\"alert-content\">\n <div\n class={{\n [\"alert-message\"]: true,\n [\"alert-message-title-above\"]:\n titleAbove || this.alertTitleWrap,\n }}\n >\n {heading && (\n <ic-typography\n class={{\n [\"alert-title\"]: true,\n [\"alert-title-above\"]: titleAbove || this.alertTitleWrap,\n }}\n variant=\"subtitle-large\"\n >\n <p>{heading}</p>\n </ic-typography>\n )}\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"action\") && (\n <div class=\"alert-action-container\">\n <slot name=\"action\" />\n </div>\n )}\n </div>\n <div class=\"dismiss-icon-container\">\n {dismissible && (\n <ic-button\n class={{\n [\"svg-container\"]: true,\n [\"dismiss-icon\"]: true,\n }}\n innerHTML={closeIcon}\n onClick={this.dismissAction}\n variant=\"icon\"\n appearance={IcThemeForegroundEnum.Dark}\n title=\"dismiss\"\n ></ic-button>\n )}\n </div>\n </div>\n </Host>\n )\n );\n }\n}\n"],"version":3}
@@ -2,11 +2,12 @@ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/clien
2
2
  import { o as onComponentPropUndefinedChange, a as onComponentRequiredPropUndefined } from './helpers.js';
3
3
  import { d as defineCustomElement$2 } from './ic-typography2.js';
4
4
 
5
- const ArrowUpward = `<svg xmlns="http://www.w3.org/2000/svg" height="16px" viewBox="0 0 16 16" width="16px" aria-hidden="true">
5
+ const ArrowUpward = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">
6
6
  <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>
7
- </svg>`;
7
+ </svg>
8
+ `;
8
9
 
9
- const icBackToTopCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:absolute;right:0}button{position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);height:40px;align-items:center;padding:var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);margin:0;gap:var(--ic-space-xs);display:flex;background-color:var(--ic-architectural-white);border:1px solid var(--ic-action-default);outline-width:inherit;box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:80px;text-decoration:none;visibility:hidden;opacity:0;transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);cursor:pointer;z-index:var(--ic-z-index-overlay)}button:hover{text-decoration:none;background-color:var(--ic-action-default-bg-hover-no-alpha);border:1px solid var(--ic-action-default-hover)}button:active{text-decoration:none;background-color:var(--ic-action-default-bg-active-no-alpha);border:1px solid var(--ic-action-default-active)}button:focus{box-shadow:var(--ic-border-focus)}.ic-back-to-top-link.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}.ic-back-to-top-link.by-footer{position:relative;right:var(--ic-space-md);bottom:56px}.ic-back-to-top-link.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{fill:var(--ic-action-default);padding-left:var(--ic-space-xxs);padding-top:var(--ic-space-xxxs)}.ic-back-to-top-link span{color:var(--ic-action-default)}.ic-back-to-top-link:hover .ic-back-to-top-icon{fill:var(--ic-action-default-hover)}.ic-back-to-top-link:hover span{color:var(--ic-action-default-hover)}@media (forced-colors: active){.ic-back-to-top-icon{fill:currentColor}}";
10
+ const icBackToTopCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:absolute;right:0}button{position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);height:2.5rem;align-items:center;padding:var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);margin:0;gap:var(--ic-space-xs);display:flex;background-color:var(--ic-architectural-white);border:0.063rem solid var(--ic-action-default);outline-width:inherit;box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:5rem;text-decoration:none;visibility:hidden;opacity:0;transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);cursor:pointer;z-index:var(--ic-z-index-back-to-top)}button:hover{text-decoration:none;background-color:var(--ic-action-default-bg-hover-no-alpha);border:0.063rem solid var(--ic-action-default-hover)}button:active{text-decoration:none;background-color:var(--ic-action-default-bg-active-no-alpha);border:0.063rem solid var(--ic-action-default-active)}button:focus{box-shadow:var(--ic-border-focus)}.ic-back-to-top-link.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}.ic-back-to-top-link.by-footer{position:relative;right:var(--ic-space-md);bottom:3.5rem}.ic-back-to-top-link.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{fill:var(--ic-action-default);padding-left:var(--ic-space-xxs);padding-top:var(--ic-space-xxxs)}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md);display:inline-block}.ic-back-to-top-link span{color:var(--ic-action-default)}.ic-back-to-top-link:hover .ic-back-to-top-icon{fill:var(--ic-action-default-hover)}.ic-back-to-top-link:hover span{color:var(--ic-action-default-hover)}@media (forced-colors: active){.ic-back-to-top-icon{fill:currentcolor}}";
10
11
 
11
12
  const backToTopLabel = "Back to top";
12
13
  const BackToTop = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -19,7 +20,13 @@ const BackToTop = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
19
20
  this.targetElVisible = visible;
20
21
  };
21
22
  this.setFooterVisible = (visible) => {
22
- this.footerVisible = visible;
23
+ this.checkForClassificationBanner();
24
+ if (typeof window !== "undefined" && window.scrollY === 0) {
25
+ this.footerVisible = false;
26
+ }
27
+ else {
28
+ this.footerVisible = visible;
29
+ }
23
30
  };
24
31
  this.targetElObserverCallback = (entries) => {
25
32
  this.setTargetElVisible(entries[0].isIntersecting);
@@ -80,6 +87,11 @@ const BackToTop = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
80
87
  this.targetEl.scrollIntoView();
81
88
  }
82
89
  };
90
+ this.checkForClassificationBanner = () => {
91
+ //adjust position for classification banner at bottom
92
+ const banners = document.querySelectorAll("ic-classification-banner:not([inline='true'])");
93
+ this.bannerOffset = banners.length > 0;
94
+ };
83
95
  this.target = undefined;
84
96
  this.bannerOffset = false;
85
97
  this.targetElVisible = true;
@@ -93,13 +105,12 @@ const BackToTop = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
93
105
  }
94
106
  componentWillLoad() {
95
107
  this.createTopObserver(this.target);
96
- //adjust position for classification banner at bottom
97
- const banners = document.querySelectorAll("ic-classification-banner:not([inline='true'])");
98
- if (banners.length) {
99
- this.bannerOffset = true;
100
- }
108
+ this.checkForClassificationBanner();
101
109
  //observer for when footer scrolls into view
102
- const footers = document.querySelectorAll("footer");
110
+ let footers = document.querySelectorAll("ic-footer");
111
+ if (footers.length === 0) {
112
+ footers = document.querySelectorAll("footer");
113
+ }
103
114
  if (footers.length) {
104
115
  const footerEl = footers[footers.length - 1];
105
116
  const threshold = this.bannerOffset ? 0.15 : 0;
@@ -119,12 +130,13 @@ const BackToTop = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
119
130
  ["by-footer"]: footerVisible,
120
131
  }, "aria-label": backToTopLabel, onClick: this.handleClick }, h("span", { class: "ic-back-to-top-icon", innerHTML: ArrowUpward }), h("ic-typography", { variant: "subtitle-small" }, h("span", null, backToTopLabel))));
121
132
  }
133
+ static get delegatesFocus() { return true; }
122
134
  get el() { return this; }
123
135
  static get watchers() { return {
124
136
  "target": ["watchPropHandler"]
125
137
  }; }
126
138
  static get style() { return icBackToTopCss; }
127
- }, [1, "ic-back-to-top", {
139
+ }, [17, "ic-back-to-top", {
128
140
  "target": [1],
129
141
  "bannerOffset": [32],
130
142
  "targetElVisible": [32],
@@ -1 +1 @@
1
- {"file":"ic-back-to-top.js","mappings":"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","names":[],"sources":["./src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","./src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalise.css\";\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\nbutton {\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n height: 40px;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);\n margin: 0;\n gap: var(--ic-space-xs);\n display: flex;\n background-color: var(--ic-architectural-white);\n border: 1px solid var(--ic-action-default);\n outline-width: inherit;\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: 80px;\n text-decoration: none;\n visibility: hidden;\n opacity: 0;\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n cursor: pointer;\n z-index: var(--ic-z-index-overlay);\n}\n\nbutton:hover {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: 1px solid var(--ic-action-default-hover);\n}\n\nbutton:active {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: 1px solid var(--ic-action-default-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-back-to-top-link.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\n.ic-back-to-top-link.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 56px;\n}\n\n.ic-back-to-top-link.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n fill: var(--ic-action-default);\n padding-left: var(--ic-space-xxs);\n padding-top: var(--ic-space-xxxs);\n}\n\n.ic-back-to-top-link span {\n color: var(--ic-action-default);\n}\n\n.ic-back-to-top-link:hover .ic-back-to-top-icon {\n fill: var(--ic-action-default-hover);\n}\n\n.ic-back-to-top-link:hover span {\n color: var(--ic-action-default-hover);\n}\n\n@media (forced-colors: active) {\n .ic-back-to-top-icon {\n fill: currentColor;\n }\n}\n","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"],"version":3}
1
+ {"file":"ic-back-to-top.js","mappings":"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","names":[],"sources":["./src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","./src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n */\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\nbutton {\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n height: 2.5rem;\n align-items: center;\n padding: var(--ic-space-xs) var(--ic-space-md) var(--ic-space-xs)\n var(--ic-space-sm);\n margin: 0;\n gap: var(--ic-space-xs);\n display: flex;\n background-color: var(--ic-architectural-white);\n border: 0.063rem solid var(--ic-action-default);\n outline-width: inherit;\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n border-radius: 5rem;\n text-decoration: none;\n visibility: hidden;\n opacity: 0;\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n cursor: pointer;\n z-index: var(--ic-z-index-back-to-top);\n}\n\nbutton:hover {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: 0.063rem solid var(--ic-action-default-hover);\n}\n\nbutton:active {\n text-decoration: none;\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: 0.063rem solid var(--ic-action-default-active);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-back-to-top-link.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\n.ic-back-to-top-link.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\n.ic-back-to-top-link.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n fill: var(--ic-action-default);\n padding-left: var(--ic-space-xxs);\n padding-top: var(--ic-space-xxxs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n display: inline-block;\n}\n\n.ic-back-to-top-link span {\n color: var(--ic-action-default);\n}\n\n.ic-back-to-top-link:hover .ic-back-to-top-icon {\n fill: var(--ic-action-default-hover);\n}\n\n.ic-back-to-top-link:hover span {\n color: var(--ic-action-default-hover);\n}\n\n@media (forced-colors: active) {\n .ic-back-to-top-icon {\n fill: currentcolor;\n }\n}\n","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"],"version":3}
@@ -1 +1 @@
1
- {"file":"ic-breadcrumb-group.js","mappings":"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","names":[],"sources":["./src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","./src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","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"],"version":3}
1
+ {"file":"ic-breadcrumb-group.js","mappings":"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","names":[],"sources":["./src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","./src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","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"],"version":3}
@@ -3,12 +3,12 @@ import { c as chevronIcon } from './chevron-icon.js';
3
3
  import { i as isSlotUsed } from './helpers.js';
4
4
  import { d as defineCustomElement$1 } from './ic-link2.js';
5
5
 
6
- const backIcon = `<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
6
+ const backIcon = `<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
7
7
  <path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>
8
8
  </svg>
9
9
  `;
10
10
 
11
- const icBreadcrumbCss = ":host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-hyperlink)}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current=\"page\"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentColor}}";
11
+ const icBreadcrumbCss = ":host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg{color:var(--ic-architectural-400)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-hyperlink)}:host(.back){display:flex;align-items:center}:host(.back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current=\"page\"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-hyperlink);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-decoration-thickness: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}";
12
12
 
13
13
  const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
14
14
  constructor() {
@@ -41,6 +41,14 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
41
41
  this.current = false;
42
42
  this.showBackIcon = false;
43
43
  }
44
+ /**
45
+ * Sets focus on the breadcrumb.
46
+ */
47
+ async setFocus() {
48
+ if (this.el.shadowRoot.querySelector("ic-link")) {
49
+ this.el.shadowRoot.querySelector("ic-link").focus();
50
+ }
51
+ }
44
52
  componentWillRender() {
45
53
  this.setSlottedCurrentPageClass();
46
54
  }
@@ -53,13 +61,15 @@ const Breadcrumb = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
53
61
  back: this.showBackIcon,
54
62
  }, "aria-current": current && "page", role: "listitem" }, h("div", { class: "breadcrumb" }, h("span", { innerHTML: chevronIcon, class: "chevron", "aria-hidden": "true" }), this.showBackIcon && describedById && (h("span", { id: describedById, class: "hide" }, `Back to ${pageTitle}`)), hasPageTitle && hasHref ? (this.renderDefaultBreadcrumb(current, pageTitle, describedById, href)) : (h("slot", null)))));
55
63
  }
64
+ static get delegatesFocus() { return true; }
56
65
  get el() { return this; }
57
66
  static get style() { return icBreadcrumbCss; }
58
- }, [1, "ic-breadcrumb", {
67
+ }, [17, "ic-breadcrumb", {
59
68
  "pageTitle": [1, "page-title"],
60
69
  "href": [1],
61
70
  "current": [4],
62
- "showBackIcon": [516, "show-back-icon"]
71
+ "showBackIcon": [516, "show-back-icon"],
72
+ "setFocus": [64]
63
73
  }]);
64
74
  function defineCustomElement() {
65
75
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"ic-breadcrumb2.js","mappings":";;;;;;;;;;AAAA,MAAM,eAAe,GAAG,48CAA48C;;MCYv9C,UAAU;;;;;IAwBb,4BAAuB,GAAG,CAChC,OAAgB,EAChB,SAAiB,EACjB,aAAqB,EACrB,IAAY;MAEZ,MAAM,YAAY,GAChB,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,CAAC;MAEpE,IAAI,OAAO,IAAI,YAAY,EAAE;QAC3B,QACE,YACE,KAAK,EAAE;YACL,wBAAwB,EAAE,OAAO;WAClC,IAEA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,YAAM,IAAI,EAAC,MAAM,GAAQ,EACxD,SAAS,CACL,EACP;OACH;MAED,QACE,eACE,IAAI,EAAE,IAAI,EACV,KAAK,EAAC,iBAAiB,sBACL,IAAI,CAAC,YAAY,IAAI,aAAa,IAAI,aAAa,IAEpE,IAAI,CAAC,YAAY,KAChB,WAAK,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,QAAQ,GAAQ,CACnD,EACA,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,YAAM,IAAI,EAAC,MAAM,GAAQ,EACxD,SAAS,CACF,EACV;KACH,CAAC;IAEM,+BAA0B,GAAG;MACnC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;MAChD,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QACxC,IAAI,IAAI,CAAC,OAAO,EAAE;UAChB,MAAM,mBAAmB,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;UACtE,IAAI,CAAC,mBAAmB,EAAE;YACxB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;WACzD;SACF;OACF;KACF,CAAC;;;mBAvD0B,KAAK;wBAKgB,KAAK;;EAoDtD,mBAAmB;IACjB,IAAI,CAAC,0BAA0B,EAAE,CAAC;GACnC;EAED,MAAM;IACJ,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC1C,MAAM,aAAa,GAAG,GACpB,SAAS,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CACvD,cAAc,CAAC;IAEf,MAAM,YAAY,GAChB,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,CAAC;IACpE,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC;IAEnE,QACE,EAAC,IAAI,IACH,KAAK,EAAE;QACL,IAAI,EAAE,IAAI,CAAC,YAAY;OACxB,kBACa,OAAO,IAAI,MAAM,EAC/B,IAAI,EAAC,UAAU,IAEf,WAAK,KAAK,EAAC,YAAY,IACrB,YAAM,SAAS,EAAE,WAAW,EAAE,KAAK,EAAC,SAAS,iBAAa,MAAM,GAAG,EAClE,IAAI,CAAC,YAAY,IAAI,aAAa,KACjC,YACE,EAAE,EAAE,aAAa,EACjB,KAAK,EAAC,MAAM,IACZ,WAAW,SAAS,EAAE,CAAQ,CACjC,EACA,YAAY,IAAI,OAAO,IACtB,IAAI,CAAC,uBAAuB,CAC1B,OAAO,EACP,SAAS,EACT,aAAa,EACb,IAAI,CACL,KAED,eAAQ,CACT,CACG,CACD,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","./src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-hyperlink);\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentColor;\n }\n}\n","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"],"version":3}
1
+ {"file":"ic-breadcrumb2.js","mappings":"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","names":[],"sources":["./src/components/ic-breadcrumb/ic-breadcrumb.css?tag=ic-breadcrumb&encapsulation=shadow","./src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"sourcesContent":[":host {\n display: block;\n margin: var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n:host .breadcrumb {\n display: flex;\n align-items: center;\n white-space: nowrap;\n gap: var(--ic-space-xs);\n min-height: var(--ic-space-lg);\n}\n\n:host .chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host .chevron svg {\n color: var(--ic-architectural-400);\n}\n\n:host(:first-child) .chevron {\n display: none;\n}\n\n.back-icon svg {\n color: var(--ic-hyperlink);\n}\n\n:host(.back) {\n display: flex;\n align-items: center;\n}\n\n:host(.back) .chevron {\n display: none;\n}\n\nic-link {\n --breadcrumb-link-display: inline-flex;\n --breadcrumb-link-align-items: center;\n --breadcrumb-link-gap: var(--ic-space-xs);\n}\n\n:host([aria-current=\"page\"]) .current-page-container {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) {\n margin-right: var(--ic-space-xs) !important;\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb) {\n border: none;\n background-color: transparent;\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n cursor: pointer;\n}\n\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n outline: var(--ic-hc-focus-outline);\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.hide,\n:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide) {\n display: none;\n}\n\n@media (forced-colors: active) {\n .back-icon svg {\n color: currentcolor;\n }\n}\n\n@supports (text-decoration-thickness: 25%) {\n ic-link {\n --breadcrumb-link-display: flex;\n }\n\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),\n :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","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"],"version":3}
@@ -5,7 +5,7 @@ import { d as defineCustomElement$3 } from './ic-loading-indicator2.js';
5
5
  import { d as defineCustomElement$2 } from './ic-tooltip2.js';
6
6
  import { d as defineCustomElement$1 } from './ic-typography2.js';
7
7
 
8
- const icButtonCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:14px;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:100px;display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:var(--ic-hc-focus-outline)}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:1px solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:40px;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:6px}:host(.button-size-small.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:40px;width:40px;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center}ic-loading-indicator{--outer-color:transparent}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(svg){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:20px;--icon-width:20px}:host(.search-submit-button-small) ::slotted(svg){--icon-height:16px;--icon-width:16px}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:14px;--icon-width:14px}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}@media (forced-colors: active){.button{border:2px solid transparent}}";
8
+ const icButtonCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:0.875rem;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:6.25rem;display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:var(--ic-hc-focus-outline)}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:0.063rem solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:2.5rem;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--ic-space-xl);padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--ic-space-xxl);padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--ic-space-xl);width:var(--ic-space-xl);padding:0.375rem}:host(.button-size-small.button-variant-icon) .button{height:var(--ic-space-lg);width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:2.5rem;width:2.5rem;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center;width:100%}ic-loading-indicator{--outer-color:transparent}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(*){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:1.25rem;--icon-width:1.25rem}:host(.search-submit-button-small) ::slotted(svg){--icon-height:1rem;--icon-width:1rem}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:0.875rem;--icon-width:0.875rem}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}@media (forced-colors: active){.button{border:0.125rem solid transparent}}";
9
9
 
10
10
  var __rest = (undefined && undefined.__rest) || function (s, e) {
11
11
  var t = {};
@@ -27,8 +27,6 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
27
27
  this.__attachShadow();
28
28
  this.icFocus = createEvent(this, "icFocus", 7);
29
29
  this.icBlur = createEvent(this, "icBlur", 7);
30
- // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).
31
- this.calculatedWidth = 68;
32
30
  this.inheritedAttributes = {};
33
31
  this.hasTooltip = false;
34
32
  this.buttonIdNum = buttonIds++;
@@ -60,10 +58,6 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
60
58
  this.tooltipPlacement = "bottom";
61
59
  this.appearance = "default";
62
60
  }
63
- calculateWidth() {
64
- // Assume even padding on left and right
65
- this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;
66
- }
67
61
  handleHostClick(event) {
68
62
  if (this.disabled || this.loading) {
69
63
  event.stopImmediatePropagation();
@@ -74,7 +68,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
74
68
  this.updateTheme(theme.mode);
75
69
  }
76
70
  /**
77
- * Sets focus on the native `button`
71
+ * Sets focus on the native `button`.
78
72
  */
79
73
  async setFocus() {
80
74
  if (this.buttonEl) {
@@ -82,7 +76,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
82
76
  }
83
77
  }
84
78
  /**
85
- * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.
79
+ * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.
86
80
  */
87
81
  async updateAriaLabel(newValue) {
88
82
  if (this.hasTooltip) {
@@ -90,9 +84,6 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
90
84
  this.buttonEl.setAttribute("aria-label", newValue);
91
85
  }
92
86
  }
93
- getLoadingBarWidth() {
94
- return { width: `${this.calculatedWidth.toString()}px` };
95
- }
96
87
  hasIconSlot() {
97
88
  const iconEl = this.el.querySelector(`[slot="icon"]`);
98
89
  if (iconEl != null) {
@@ -120,12 +111,12 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
120
111
  "aria-expanded",
121
112
  "title",
122
113
  ]);
114
+ this.el.setAttribute("exportparts", "button");
123
115
  const id = this.el.id;
124
116
  this.id = id !== undefined ? id : null;
125
117
  this.hasTooltip = this.variant === "icon";
126
118
  }
127
119
  componentDidLoad() {
128
- this.calculateWidth();
129
120
  this.updateTheme();
130
121
  }
131
122
  render() {
@@ -162,7 +153,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
162
153
  describedBy = `ic-tooltip-${buttonId}`;
163
154
  }
164
155
  const ButtonContent = () => {
165
- return (h(TagType, Object.assign({ class: "button", "aria-disabled": this.loading || this.disabled ? "true" : null, "aria-label": this.loading ? "Loading" : ariaLabel }, buttonAttrs, restInheritedAttributes, titleAttr, { onFocus: this.onFocus, onBlur: this.onBlur, ref: (el) => (this.buttonEl = el), id: buttonId, "aria-describedby": describedBy }), this.hasIconSlot() && !this.loading && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), this.loading ? (h("div", { class: "loading-container", style: this.getLoadingBarWidth() }, h("ic-loading-indicator", { type: "linear", appearance: this.variant === "primary" ||
156
+ return (h(TagType, Object.assign({ class: "button", "aria-disabled": this.loading || this.disabled ? "true" : null, "aria-label": this.loading ? "Loading" : ariaLabel }, buttonAttrs, restInheritedAttributes, titleAttr, { onFocus: this.onFocus, onBlur: this.onBlur, ref: (el) => (this.buttonEl = el), id: buttonId, "aria-describedby": describedBy, part: "button" }), this.hasIconSlot() && !this.loading && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), this.loading ? (h("div", { class: "loading-container" }, h("ic-loading-indicator", { type: "linear", appearance: this.variant === "primary" ||
166
157
  this.variant === "destructive" ||
167
158
  this.appearance === IcThemeForegroundEnum.Dark ||
168
159
  this.appearance === IcThemeForegroundEnum.Light
@@ -177,14 +168,12 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
177
168
  ["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
178
169
  ["light"]: this.appearance === IcThemeForegroundEnum.Light,
179
170
  ["full-width"]: this.fullWidth,
180
- }, onClick: this.handleClick }, this.hasTooltip && (h("ic-tooltip", { class: { ["tooltip-disabled-button"]: this.disableTooltip }, ref: (el) => (this.tooltipEl = el), label: tooltipText, target: buttonId, placement: this.tooltipPlacement }, h(ButtonContent, null))), !this.hasTooltip && h(ButtonContent, null)));
171
+ }, onClick: this.handleClick }, this.hasTooltip && (h("ic-tooltip", { class: { ["tooltip-disabled"]: this.disableTooltip }, ref: (el) => (this.tooltipEl = el), label: tooltipText, target: buttonId, placement: this.tooltipPlacement }, h(ButtonContent, null))), !this.hasTooltip && h(ButtonContent, null)));
181
172
  }
173
+ static get delegatesFocus() { return true; }
182
174
  get el() { return this; }
183
- static get watchers() { return {
184
- "loading": ["calculateWidth"]
185
- }; }
186
175
  static get style() { return icButtonCss; }
187
- }, [1, "ic-button", {
176
+ }, [17, "ic-button", {
188
177
  "disabled": [4],
189
178
  "loading": [4],
190
179
  "type": [1],
@@ -202,7 +191,7 @@ const Button = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
202
191
  "appearance": [1025],
203
192
  "setFocus": [64],
204
193
  "updateAriaLabel": [64]
205
- }, [[2, "click", "handleHostClick"], [4, "icThemeChange", "themeChangeHandler"]]]);
194
+ }, [[2, "click", "handleHostClick"], [4, "themeChange", "themeChangeHandler"]]]);
206
195
  function defineCustomElement() {
207
196
  if (typeof customElements === "undefined") {
208
197
  return;