@ukic/web-components 2.1.0-beta.9 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1175) hide show
  1. package/dist/cjs/OpenInNew-f9958725.js +7 -0
  2. package/dist/cjs/OpenInNew-f9958725.js.map +1 -0
  3. package/dist/cjs/chevron-icon-2bb3a907.js +10 -0
  4. package/dist/cjs/chevron-icon-2bb3a907.js.map +1 -0
  5. package/dist/cjs/core.cjs.js +10 -3
  6. package/dist/cjs/core.cjs.js.map +1 -1
  7. package/dist/cjs/{helpers-6eb26e7a.js → helpers-eb53c416.js} +27 -26
  8. package/dist/cjs/helpers-eb53c416.js.map +1 -0
  9. package/dist/cjs/ic-alert.cjs.entry.js +11 -11
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +5 -5
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +39 -33
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +14 -13
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +163 -93
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card.cjs.entry.js +46 -45
  20. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js +24 -23
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox.cjs.entry.js +41 -29
  24. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip.cjs.entry.js +18 -15
  26. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-row.cjs.entry.js +38 -24
  31. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-dialog.cjs.entry.js +295 -0
  33. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -0
  34. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  35. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer-link-group.cjs.entry.js +18 -18
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link.cjs.entry.js +23 -17
  39. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer.cjs.entry.js +23 -21
  41. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-hero.cjs.entry.js +23 -21
  43. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +45 -26
  45. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +299 -159
  47. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-input-label_2.cjs.entry.js +11 -11
  49. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-link.cjs.entry.js +22 -23
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +24 -0
  53. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -0
  54. package/dist/cjs/ic-menu-item.cjs.entry.js +122 -0
  55. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -0
  56. package/dist/cjs/ic-navigation-button.cjs.entry.js +18 -18
  57. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-group.cjs.entry.js +87 -58
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-item.cjs.entry.js +49 -42
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-menu.cjs.entry.js +28 -34
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-page-header.cjs.entry.js +24 -27
  65. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-pagination-item.cjs.entry.js +56 -0
  67. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -0
  68. package/dist/cjs/ic-pagination.cjs.entry.js +227 -0
  69. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -0
  70. package/dist/cjs/ic-popover-menu.cjs.entry.js +237 -0
  71. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -0
  72. package/dist/cjs/ic-radio-group.cjs.entry.js +43 -25
  73. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-radio-option.cjs.entry.js +39 -38
  75. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-search-bar.cjs.entry.js +178 -102
  77. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  79. package/dist/cjs/ic-select.cjs.entry.js +349 -190
  80. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-side-navigation.cjs.entry.js +116 -87
  82. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  84. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -6
  86. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-step.cjs.entry.js +10 -10
  88. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-stepper.cjs.entry.js +15 -15
  90. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-switch.cjs.entry.js +20 -19
  92. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-tab-context.cjs.entry.js +68 -32
  94. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-group.cjs.entry.js +5 -4
  96. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-panel.cjs.entry.js +15 -4
  98. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab.cjs.entry.js +32 -7
  100. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-text-field.cjs.entry.js +102 -72
  102. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  104. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-toast-region.cjs.entry.js +13 -13
  106. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-toast.cjs.entry.js +60 -56
  108. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-top-navigation.cjs.entry.js +49 -45
  110. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-typography.cjs.entry.js +97 -5
  112. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  113. package/dist/cjs/{index-f79a4e53.js → index-2a0c6769.js} +256 -43
  114. package/dist/cjs/index-2a0c6769.js.map +1 -0
  115. package/dist/cjs/loader.cjs.js +4 -3
  116. package/dist/cjs/loader.cjs.js.map +1 -1
  117. package/dist/cjs/{popper-11d5f714.js → popper-d7adcfc6.js} +10 -17
  118. package/dist/cjs/popper-d7adcfc6.js.map +1 -0
  119. package/dist/cjs/types-3eb02246.js.map +1 -1
  120. package/dist/collection/assets/pagination-first-last.svg +3 -0
  121. package/dist/collection/assets/pagination-next-previous.svg +3 -0
  122. package/dist/collection/collection-manifest.json +17 -11
  123. package/dist/collection/components/ic-alert/ic-alert.css +1 -1
  124. package/dist/collection/components/ic-alert/ic-alert.js +49 -49
  125. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  126. package/dist/collection/components/ic-alert/{ic-alert.test.a11y.js → test/a11y/ic-alert.test.a11y.js} +1 -1
  127. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -0
  128. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js +16 -0
  129. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -0
  130. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +182 -0
  131. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -0
  132. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  133. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +4 -4
  134. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  135. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -0
  136. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js +68 -0
  137. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -0
  138. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +123 -0
  139. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -0
  140. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +19 -4
  141. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +28 -27
  142. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  143. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +118 -0
  144. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -0
  145. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +37 -31
  146. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  147. package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.js → test/a11y/ic-breadcrumb-group.test.a11y.js} +1 -1
  148. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -0
  149. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +1 -0
  150. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +41 -0
  151. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -0
  152. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +181 -0
  153. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -0
  154. package/dist/collection/components/ic-button/ic-button.css +23 -8
  155. package/dist/collection/components/ic-button/ic-button.js +269 -114
  156. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  157. package/dist/collection/components/ic-button/{ic-button.test.a11y.js → test/a11y/ic-button.test.a11y.js} +1 -1
  158. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -0
  159. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +198 -0
  160. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -0
  161. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +256 -0
  162. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -0
  163. package/dist/collection/components/ic-card/ic-card.css +35 -10
  164. package/dist/collection/components/ic-card/ic-card.js +123 -122
  165. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  166. package/dist/collection/components/ic-card/{ic-card.test.a11y.js → test/a11y/ic-card.test.a11y.js} +1 -1
  167. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -0
  168. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +23 -0
  169. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -0
  170. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +152 -0
  171. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -0
  172. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -8
  173. package/dist/collection/components/ic-checkbox/ic-checkbox.js +107 -76
  174. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  175. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  176. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +64 -67
  177. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  178. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js.map +1 -1
  179. package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.js → test/a11y/ic-checkbox-group.test.a11y.js} +1 -1
  180. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -0
  181. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +201 -0
  182. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -0
  183. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +175 -0
  184. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -0
  185. package/dist/collection/components/ic-chip/ic-chip.css +11 -10
  186. package/dist/collection/components/ic-chip/ic-chip.js +55 -52
  187. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  188. package/dist/collection/components/ic-chip/{ic-chip.test.a11y.js → test/a11y/ic-chip.test.a11y.js} +1 -1
  189. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -0
  190. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +110 -0
  191. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -0
  192. package/dist/collection/components/ic-classification-banner/{ic-classification-banner.test.a11y.js → test/a11y/ic-classification-banner.test.a11y.js} +1 -1
  193. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -0
  194. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +140 -0
  195. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -0
  196. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  197. package/dist/collection/components/ic-data-entity/{ic-data-entity.test.a11y.js → test/a11y/ic-data-entity.test.a11y.js} +1 -1
  198. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -0
  199. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +161 -0
  200. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -0
  201. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  202. package/dist/collection/components/ic-data-row/ic-data-row.js +51 -37
  203. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  204. package/dist/collection/components/ic-data-row/{ic-data-row.test.a11y.js → test/a11y/ic-data-row.test.a11y.js} +1 -1
  205. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -0
  206. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +74 -0
  207. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -0
  208. package/dist/collection/components/ic-dialog/ic-dialog.css +592 -0
  209. package/dist/collection/components/ic-dialog/ic-dialog.js +640 -0
  210. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -0
  211. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +28 -0
  212. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -0
  213. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +207 -0
  214. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -0
  215. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +520 -0
  216. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -0
  217. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  218. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +24 -0
  219. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -0
  220. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  221. package/dist/collection/components/ic-footer/ic-footer.js +51 -49
  222. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  223. package/dist/collection/components/ic-footer/{ic-footer.test.a11y.js → test/a11y/ic-footer.test.a11y.js} +1 -1
  224. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -0
  225. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +50 -0
  226. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -0
  227. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +140 -0
  228. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -0
  229. package/dist/collection/components/ic-footer-link/ic-footer-link.css +36 -4
  230. package/dist/collection/components/ic-footer-link/ic-footer-link.js +111 -15
  231. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  232. package/dist/collection/components/ic-footer-link/{ic-footer-link.test.a11y.js → test/a11y/ic-footer-link.test.a11y.js} +1 -1
  233. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -0
  234. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +62 -0
  235. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -0
  236. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +18 -18
  237. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  238. package/dist/collection/components/ic-footer-link-group/{ic-footer-link-group.test.a11y.js → test/a11y/ic-footer-link-group.test.a11y.js} +1 -1
  239. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -0
  240. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +98 -0
  241. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -0
  242. package/dist/collection/components/ic-hero/ic-hero.css +23 -22
  243. package/dist/collection/components/ic-hero/ic-hero.js +97 -95
  244. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  245. package/dist/collection/components/ic-hero/{ic-hero.test.a11y.js → test/a11y/ic-hero.test.a11y.js} +1 -1
  246. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -0
  247. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +76 -0
  248. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -0
  249. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +4 -8
  250. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +44 -25
  251. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  252. package/dist/collection/components/ic-horizontal-scroll/{ic-horizontal-scroll.test.a11y.js → test/a11y/ic-horizontal-scroll.test.a11y.js} +1 -1
  253. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -0
  254. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +180 -0
  255. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -0
  256. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +38 -9
  257. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +45 -45
  258. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  259. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +117 -0
  260. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -0
  261. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +38 -0
  262. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -0
  263. package/dist/collection/components/ic-input-label/ic-input-label.css +0 -4
  264. package/dist/collection/components/ic-input-label/ic-input-label.js +51 -51
  265. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  266. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +98 -0
  267. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -0
  268. package/dist/collection/components/ic-input-validation/ic-input-validation.css +0 -8
  269. package/dist/collection/components/ic-input-validation/ic-input-validation.js +41 -41
  270. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  271. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +89 -0
  272. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -0
  273. package/dist/collection/components/ic-link/ic-link.css +16 -3
  274. package/dist/collection/components/ic-link/ic-link.js +55 -52
  275. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  276. package/dist/collection/components/ic-link/{ic-link.test.a11y.js → test/a11y/ic-link.test.a11y.js} +1 -1
  277. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -0
  278. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +203 -0
  279. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -0
  280. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -5
  281. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +97 -89
  282. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  283. package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.js → test/a11y/ic-loading-indicator.test.a11y.js} +1 -1
  284. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -0
  285. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js +34 -0
  286. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -0
  287. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +141 -0
  288. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -0
  289. package/dist/collection/components/ic-menu/ic-menu.css +47 -10
  290. package/dist/collection/components/ic-menu/ic-menu.js +521 -268
  291. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  292. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +657 -0
  293. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -0
  294. package/dist/collection/components/ic-menu-group/ic-menu-group.css +465 -0
  295. package/dist/collection/components/ic-menu-group/ic-menu-group.js +45 -0
  296. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -0
  297. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +94 -0
  298. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -0
  299. package/dist/collection/components/ic-menu-item/ic-menu-item.css +628 -0
  300. package/dist/collection/components/ic-menu-item/ic-menu-item.js +394 -0
  301. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -0
  302. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js +2 -0
  303. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js.map +1 -0
  304. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +108 -0
  305. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -0
  306. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  307. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +56 -56
  308. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  309. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +84 -0
  310. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -0
  311. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -10
  312. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +101 -72
  313. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  314. package/dist/collection/components/ic-navigation-group/{ic-navigation-group.test.a11y.js → test/a11y/ic-navigation-group.test.a11y.js} +1 -1
  315. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -0
  316. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +309 -0
  317. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -0
  318. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +59 -16
  319. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +180 -83
  320. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  321. package/dist/collection/components/ic-navigation-item/{ic-navigation-item.test.a11y.js → test/a11y/ic-navigation-item.test.a11y.js} +1 -1
  322. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -0
  323. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +118 -0
  324. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -0
  325. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +19 -18
  326. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +31 -37
  327. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  328. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +29 -0
  329. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -0
  330. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +176 -0
  331. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -0
  332. package/dist/collection/components/ic-page-header/ic-page-header.css +3 -1
  333. package/dist/collection/components/ic-page-header/ic-page-header.js +65 -68
  334. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  335. package/dist/collection/components/ic-page-header/{ic-page-header.test.a11y.js → test/a11y/ic-page-header.test.a11y.js} +1 -1
  336. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -0
  337. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +177 -0
  338. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -0
  339. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +284 -0
  340. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -0
  341. package/dist/collection/components/ic-pagination/ic-pagination.css +486 -0
  342. package/dist/collection/components/ic-pagination/ic-pagination.js +498 -0
  343. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -0
  344. package/dist/collection/components/ic-pagination/ic-pagination.types.js +2 -0
  345. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +1 -0
  346. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +11 -0
  347. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -0
  348. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +128 -0
  349. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -0
  350. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +335 -0
  351. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -0
  352. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +581 -0
  353. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +229 -0
  354. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -0
  355. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js +2 -0
  356. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js.map +1 -0
  357. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +536 -0
  358. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +433 -0
  359. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -0
  360. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +13 -0
  361. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -0
  362. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +30 -0
  363. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -0
  364. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +381 -0
  365. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -0
  366. package/dist/collection/components/ic-radio-group/ic-radio-group.css +4 -4
  367. package/dist/collection/components/ic-radio-group/ic-radio-group.js +104 -80
  368. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  369. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js +2 -0
  370. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js.map +1 -0
  371. package/dist/collection/components/ic-radio-group/{ic-radio-group.test.a11y.js → test/a11y/ic-radio-group.test.a11y.js} +1 -1
  372. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -0
  373. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +343 -0
  374. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -0
  375. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +303 -0
  376. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -0
  377. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -6
  378. package/dist/collection/components/ic-radio-option/ic-radio-option.js +111 -96
  379. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  380. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -10
  381. package/dist/collection/components/ic-search-bar/ic-search-bar.js +492 -299
  382. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  383. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  384. package/dist/collection/components/ic-search-bar/{ic-search-bar.test.a11y.js → test/a11y/ic-search-bar.test.a11y.js} +1 -1
  385. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -0
  386. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +1099 -0
  387. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -0
  388. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +584 -0
  389. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -0
  390. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +69 -0
  391. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -0
  392. package/dist/collection/components/ic-select/ic-select.css +17 -17
  393. package/dist/collection/components/ic-select/ic-select.js +630 -369
  394. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  395. package/dist/collection/components/ic-select/{ic-select.test.a11y.js → test/a11y/ic-select.test.a11y.js} +1 -1
  396. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  397. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1768 -0
  398. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -0
  399. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1296 -0
  400. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -0
  401. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +47 -44
  402. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +156 -127
  403. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  404. package/dist/collection/components/ic-side-navigation/{ic-side-navigation.test.a11y.js → test/a11y/ic-side-navigation.test.a11y.js} +1 -1
  405. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -0
  406. package/dist/collection/components/ic-side-navigation/{ic-side-navigation-test-examples.js → test/basic/ic-side-navigation-test-examples.js} +90 -0
  407. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +1 -0
  408. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +412 -0
  409. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -0
  410. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +470 -0
  411. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -0
  412. package/dist/collection/components/ic-skeleton/ic-skeleton.js +22 -22
  413. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  414. package/dist/collection/components/ic-skeleton/{ic-skeleton.test.a11y.js → test/a11y/ic-skeleton.test.a11y.js} +1 -1
  415. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -0
  416. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +89 -0
  417. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -0
  418. package/dist/collection/components/ic-status-tag/ic-status-tag.css +10 -13
  419. package/dist/collection/components/ic-status-tag/ic-status-tag.js +40 -40
  420. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  421. package/dist/collection/components/ic-status-tag/{ic-status-tag.test.a11y.js → test/a11y/ic-status-tag.test.a11y.js} +1 -1
  422. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -0
  423. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +43 -0
  424. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -0
  425. package/dist/collection/components/ic-step/ic-step.css +6 -6
  426. package/dist/collection/components/ic-step/ic-step.js +127 -127
  427. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  428. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +176 -0
  429. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -0
  430. package/dist/collection/components/ic-stepper/ic-stepper.js +41 -41
  431. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  432. package/dist/collection/components/ic-stepper/{ic-stepper.test.a11y.js → test/a11y/ic-stepper.test.a11y.js} +1 -1
  433. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -0
  434. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -0
  435. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +49 -0
  436. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -0
  437. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +706 -0
  438. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -0
  439. package/dist/collection/components/ic-switch/ic-switch.css +4 -4
  440. package/dist/collection/components/ic-switch/ic-switch.js +74 -73
  441. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  442. package/dist/collection/components/ic-switch/{ic-switch.test.a11y.js → test/a11y/ic-switch.test.a11y.js} +1 -1
  443. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -0
  444. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +104 -0
  445. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -0
  446. package/dist/collection/components/ic-tab/ic-tab.css +4 -4
  447. package/dist/collection/components/ic-tab/ic-tab.js +114 -31
  448. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  449. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +32 -0
  450. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -0
  451. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +159 -0
  452. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -0
  453. package/dist/collection/components/ic-tab-context/ic-tab-context.js +157 -77
  454. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  455. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -0
  456. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +317 -0
  457. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -0
  458. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +390 -0
  459. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -0
  460. package/dist/collection/components/ic-tab-group/ic-tab-group.css +3 -3
  461. package/dist/collection/components/ic-tab-group/ic-tab-group.js +33 -29
  462. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  463. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +0 -4
  464. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +89 -34
  465. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  466. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +65 -0
  467. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  468. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -10
  469. package/dist/collection/components/ic-text-field/ic-text-field.js +456 -345
  470. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  471. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -0
  472. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +98 -0
  473. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -0
  474. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +236 -0
  475. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -0
  476. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +310 -0
  477. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -0
  478. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  479. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +72 -0
  480. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -0
  481. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +77 -0
  482. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -0
  483. package/dist/collection/components/ic-toast/ic-toast.css +5 -0
  484. package/dist/collection/components/ic-toast/ic-toast.js +111 -107
  485. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  486. package/dist/collection/components/ic-toast/{ic-toast.test.a11y.js → test/a11y/ic-toast.test.a11y.js} +1 -1
  487. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -0
  488. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js +82 -0
  489. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -0
  490. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +278 -0
  491. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -0
  492. package/dist/collection/components/ic-toast-region/ic-toast-region.js +12 -12
  493. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  494. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +62 -0
  495. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -0
  496. package/dist/collection/components/ic-tooltip/ic-tooltip.css +22 -8
  497. package/dist/collection/components/ic-tooltip/ic-tooltip.js +116 -64
  498. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  499. package/dist/collection/components/ic-tooltip/{ic-tooltip.test.a11y.js → test/a11y/ic-tooltip.test.a11y.js} +1 -1
  500. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -0
  501. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +115 -0
  502. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -0
  503. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +128 -0
  504. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -0
  505. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +21 -15
  506. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +105 -83
  507. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  508. package/dist/collection/components/ic-top-navigation/{ic-top-navigation.test.a11y.js → test/a11y/ic-top-navigation.test.a11y.js} +8 -1
  509. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -0
  510. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +61 -0
  511. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -0
  512. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +242 -0
  513. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -0
  514. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +299 -0
  515. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -0
  516. package/dist/collection/components/ic-typography/ic-typography.css +58 -1
  517. package/dist/collection/components/ic-typography/ic-typography.js +140 -22
  518. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  519. package/dist/collection/components/ic-typography/{ic-typography.test.a11y.js → test/a11y/ic-typography.test.a11y.js} +1 -1
  520. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -0
  521. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +39 -0
  522. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -0
  523. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +296 -0
  524. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -0
  525. package/dist/collection/testspec.setup.js +21 -0
  526. package/dist/collection/testspec.setup.js.map +1 -1
  527. package/dist/collection/utils/helpers.js +24 -25
  528. package/dist/collection/utils/helpers.js.map +1 -1
  529. package/dist/collection/utils/types.js.map +1 -1
  530. package/dist/components/OpenInNew.js +5 -0
  531. package/dist/components/OpenInNew.js.map +1 -0
  532. package/dist/components/helpers.js +25 -26
  533. package/dist/components/helpers.js.map +1 -1
  534. package/dist/components/ic-alert.js +1 -113
  535. package/dist/components/ic-alert.js.map +1 -1
  536. package/dist/components/ic-alert2.js +117 -0
  537. package/dist/components/ic-alert2.js.map +1 -0
  538. package/dist/components/ic-back-to-top.js +7 -7
  539. package/dist/components/ic-back-to-top.js.map +1 -1
  540. package/dist/components/ic-breadcrumb-group.js +39 -33
  541. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  542. package/dist/components/ic-breadcrumb2.js +13 -12
  543. package/dist/components/ic-breadcrumb2.js.map +1 -1
  544. package/dist/components/ic-button2.js +99 -44
  545. package/dist/components/ic-button2.js.map +1 -1
  546. package/dist/components/ic-card.js +54 -53
  547. package/dist/components/ic-card.js.map +1 -1
  548. package/dist/components/ic-checkbox-group.js +28 -28
  549. package/dist/components/ic-checkbox-group.js.map +1 -1
  550. package/dist/components/ic-checkbox.js +47 -34
  551. package/dist/components/ic-checkbox.js.map +1 -1
  552. package/dist/components/ic-chip.js +22 -19
  553. package/dist/components/ic-chip.js.map +1 -1
  554. package/dist/components/ic-classification-banner.js +1 -1
  555. package/dist/components/ic-data-entity.js +2 -2
  556. package/dist/components/ic-data-entity.js.map +1 -1
  557. package/dist/components/ic-data-row.js +39 -25
  558. package/dist/components/ic-data-row.js.map +1 -1
  559. package/dist/components/ic-dialog.d.ts +11 -0
  560. package/dist/components/ic-dialog.js +356 -0
  561. package/dist/components/ic-dialog.js.map +1 -0
  562. package/dist/components/ic-divider2.js +3 -3
  563. package/dist/components/ic-divider2.js.map +1 -1
  564. package/dist/components/ic-footer-link-group.js +20 -20
  565. package/dist/components/ic-footer-link-group.js.map +1 -1
  566. package/dist/components/ic-footer-link.js +29 -18
  567. package/dist/components/ic-footer-link.js.map +1 -1
  568. package/dist/components/ic-footer.js +25 -23
  569. package/dist/components/ic-footer.js.map +1 -1
  570. package/dist/components/ic-hero.js +30 -28
  571. package/dist/components/ic-hero.js.map +1 -1
  572. package/dist/components/ic-horizontal-scroll2.js +46 -27
  573. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  574. package/dist/components/ic-input-component-container2.js +11 -11
  575. package/dist/components/ic-input-component-container2.js.map +1 -1
  576. package/dist/components/ic-input-container2.js +1 -1
  577. package/dist/components/ic-input-label2.js +11 -11
  578. package/dist/components/ic-input-label2.js.map +1 -1
  579. package/dist/components/ic-input-validation2.js +9 -9
  580. package/dist/components/ic-input-validation2.js.map +1 -1
  581. package/dist/components/ic-link2.js +24 -25
  582. package/dist/components/ic-link2.js.map +1 -1
  583. package/dist/components/ic-loading-indicator2.js +34 -26
  584. package/dist/components/ic-loading-indicator2.js.map +1 -1
  585. package/dist/components/ic-menu-group.d.ts +11 -0
  586. package/dist/components/ic-menu-group.js +46 -0
  587. package/dist/components/ic-menu-group.js.map +1 -0
  588. package/dist/components/ic-menu-item.d.ts +11 -0
  589. package/dist/components/ic-menu-item.js +8 -0
  590. package/dist/components/ic-menu-item.js.map +1 -0
  591. package/dist/components/ic-menu-item2.js +169 -0
  592. package/dist/components/ic-menu-item2.js.map +1 -0
  593. package/dist/components/ic-menu2.js +326 -169
  594. package/dist/components/ic-menu2.js.map +1 -1
  595. package/dist/components/ic-navigation-button.js +23 -23
  596. package/dist/components/ic-navigation-button.js.map +1 -1
  597. package/dist/components/ic-navigation-group.js +89 -60
  598. package/dist/components/ic-navigation-group.js.map +1 -1
  599. package/dist/components/ic-navigation-item.js +60 -48
  600. package/dist/components/ic-navigation-item.js.map +1 -1
  601. package/dist/components/ic-navigation-menu2.js +30 -36
  602. package/dist/components/ic-navigation-menu2.js.map +1 -1
  603. package/dist/components/ic-page-header.js +30 -33
  604. package/dist/components/ic-page-header.js.map +1 -1
  605. package/dist/components/ic-pagination-item.d.ts +11 -0
  606. package/dist/components/ic-pagination-item.js +8 -0
  607. package/dist/components/ic-pagination-item.js.map +1 -0
  608. package/dist/components/ic-pagination-item2.js +81 -0
  609. package/dist/components/ic-pagination-item2.js.map +1 -0
  610. package/dist/components/ic-pagination.d.ts +11 -0
  611. package/dist/components/ic-pagination.js +288 -0
  612. package/dist/components/ic-pagination.js.map +1 -0
  613. package/dist/components/ic-popover-menu.d.ts +11 -0
  614. package/dist/components/ic-popover-menu.js +290 -0
  615. package/dist/components/ic-popover-menu.js.map +1 -0
  616. package/dist/components/ic-radio-group.js +48 -30
  617. package/dist/components/ic-radio-group.js.map +1 -1
  618. package/dist/components/ic-radio-option.js +44 -43
  619. package/dist/components/ic-radio-option.js.map +1 -1
  620. package/dist/components/ic-search-bar.js +202 -122
  621. package/dist/components/ic-search-bar.js.map +1 -1
  622. package/dist/components/ic-section-container2.js +1 -1
  623. package/dist/components/ic-select.js +379 -212
  624. package/dist/components/ic-select.js.map +1 -1
  625. package/dist/components/ic-side-navigation.js +123 -94
  626. package/dist/components/ic-side-navigation.js.map +1 -1
  627. package/dist/components/ic-skeleton.js +6 -6
  628. package/dist/components/ic-skeleton.js.map +1 -1
  629. package/dist/components/ic-status-tag.js +9 -9
  630. package/dist/components/ic-status-tag.js.map +1 -1
  631. package/dist/components/ic-step.js +18 -18
  632. package/dist/components/ic-step.js.map +1 -1
  633. package/dist/components/ic-stepper.js +21 -21
  634. package/dist/components/ic-stepper.js.map +1 -1
  635. package/dist/components/ic-switch.js +24 -23
  636. package/dist/components/ic-switch.js.map +1 -1
  637. package/dist/components/ic-tab-context.js +73 -36
  638. package/dist/components/ic-tab-context.js.map +1 -1
  639. package/dist/components/ic-tab-group.js +7 -6
  640. package/dist/components/ic-tab-group.js.map +1 -1
  641. package/dist/components/ic-tab-panel.js +18 -7
  642. package/dist/components/ic-tab-panel.js.map +1 -1
  643. package/dist/components/ic-tab.js +33 -8
  644. package/dist/components/ic-tab.js.map +1 -1
  645. package/dist/components/ic-text-field2.js +132 -97
  646. package/dist/components/ic-text-field2.js.map +1 -1
  647. package/dist/components/ic-theme.js +2 -2
  648. package/dist/components/ic-theme.js.map +1 -1
  649. package/dist/components/ic-toast-region.js +13 -13
  650. package/dist/components/ic-toast-region.js.map +1 -1
  651. package/dist/components/ic-toast.js +65 -61
  652. package/dist/components/ic-toast.js.map +1 -1
  653. package/dist/components/ic-tooltip2.js +1854 -49
  654. package/dist/components/ic-tooltip2.js.map +1 -1
  655. package/dist/components/ic-top-navigation.js +59 -54
  656. package/dist/components/ic-top-navigation.js.map +1 -1
  657. package/dist/components/ic-typography2.js +101 -6
  658. package/dist/components/ic-typography2.js.map +1 -1
  659. package/dist/components/index.d.ts +9 -55
  660. package/dist/components/index.js +1 -53
  661. package/dist/components/index.js.map +1 -1
  662. package/dist/components/types.js.map +1 -1
  663. package/dist/core/core.css +47 -3
  664. package/dist/core/core.esm.js +1 -1
  665. package/dist/core/core.esm.js.map +1 -1
  666. package/dist/core/index.esm.js.map +1 -1
  667. package/dist/core/p-0330cb21.entry.js +2 -0
  668. package/dist/core/p-0330cb21.entry.js.map +1 -0
  669. package/dist/core/p-03d1a4a1.entry.js +2 -0
  670. package/dist/core/p-03d1a4a1.entry.js.map +1 -0
  671. package/dist/core/p-041604fc.entry.js +2 -0
  672. package/dist/core/p-041604fc.entry.js.map +1 -0
  673. package/dist/core/{p-24240e11.js → p-06321d19.js} +2 -2
  674. package/dist/core/p-06321d19.js.map +1 -0
  675. package/dist/core/p-1959ec8d.entry.js +2 -0
  676. package/dist/core/p-1959ec8d.entry.js.map +1 -0
  677. package/dist/core/p-1b9b8355.entry.js +2 -0
  678. package/dist/core/p-1b9b8355.entry.js.map +1 -0
  679. package/dist/core/p-26d5fd0f.entry.js +2 -0
  680. package/dist/core/p-26d5fd0f.entry.js.map +1 -0
  681. package/dist/core/p-27d42378.entry.js +2 -0
  682. package/dist/core/p-27d42378.entry.js.map +1 -0
  683. package/dist/core/p-2ae7687a.entry.js +2 -0
  684. package/dist/core/p-2ae7687a.entry.js.map +1 -0
  685. package/dist/core/p-332690f0.entry.js +2 -0
  686. package/dist/core/p-332690f0.entry.js.map +1 -0
  687. package/dist/core/p-39adc795.entry.js +2 -0
  688. package/dist/core/p-39adc795.entry.js.map +1 -0
  689. package/dist/core/{p-ad2477d8.entry.js → p-3adb1167.entry.js} +2 -2
  690. package/dist/core/p-3adb1167.entry.js.map +1 -0
  691. package/dist/core/p-429e4d24.entry.js +2 -0
  692. package/dist/core/p-429e4d24.entry.js.map +1 -0
  693. package/dist/core/{p-8ffa00c9.entry.js → p-441e7d98.entry.js} +2 -2
  694. package/dist/core/p-441e7d98.entry.js.map +1 -0
  695. package/dist/core/p-44512ebe.js.map +1 -1
  696. package/dist/core/p-48301eff.entry.js +2 -0
  697. package/dist/core/p-48301eff.entry.js.map +1 -0
  698. package/dist/core/p-5144e840.entry.js +2 -0
  699. package/dist/core/p-5144e840.entry.js.map +1 -0
  700. package/dist/core/p-5c846d0a.entry.js +2 -0
  701. package/dist/core/p-5c846d0a.entry.js.map +1 -0
  702. package/dist/core/p-5c9c940f.entry.js +2 -0
  703. package/dist/core/p-5c9c940f.entry.js.map +1 -0
  704. package/dist/core/p-5dd0b02e.js +2 -0
  705. package/dist/core/p-5dd0b02e.js.map +1 -0
  706. package/dist/core/{p-35a03442.entry.js → p-65750560.entry.js} +2 -2
  707. package/dist/core/p-65750560.entry.js.map +1 -0
  708. package/dist/core/p-6840589f.entry.js +2 -0
  709. package/dist/core/p-6840589f.entry.js.map +1 -0
  710. package/dist/core/p-69920d86.js +3 -0
  711. package/dist/core/p-69920d86.js.map +1 -0
  712. package/dist/core/p-6bad30aa.entry.js +2 -0
  713. package/dist/core/p-6bad30aa.entry.js.map +1 -0
  714. package/dist/core/p-6f57b13c.js.map +1 -1
  715. package/dist/core/p-7536dd31.entry.js +2 -0
  716. package/dist/core/p-7536dd31.entry.js.map +1 -0
  717. package/dist/core/p-7ae091ef.entry.js +2 -0
  718. package/dist/core/p-7ae091ef.entry.js.map +1 -0
  719. package/dist/core/p-7c0dcd00.js +2 -0
  720. package/dist/core/p-7c0dcd00.js.map +1 -0
  721. package/dist/core/p-7c46caf2.entry.js +2 -0
  722. package/dist/core/p-7c46caf2.entry.js.map +1 -0
  723. package/dist/core/{p-ba8d6c23.entry.js → p-83d5bcae.entry.js} +2 -2
  724. package/dist/core/p-83d5bcae.entry.js.map +1 -0
  725. package/dist/core/p-892d9d9f.entry.js +2 -0
  726. package/dist/core/p-892d9d9f.entry.js.map +1 -0
  727. package/dist/core/p-8991f656.entry.js +2 -0
  728. package/dist/core/p-8991f656.entry.js.map +1 -0
  729. package/dist/core/p-8c45ab61.entry.js +2 -0
  730. package/dist/core/p-8c45ab61.entry.js.map +1 -0
  731. package/dist/core/p-8c7f4343.js.map +1 -1
  732. package/dist/core/p-8ca80000.entry.js +2 -0
  733. package/dist/core/p-8ca80000.entry.js.map +1 -0
  734. package/dist/core/p-8d4f7027.js +2 -0
  735. package/dist/core/p-8d4f7027.js.map +1 -0
  736. package/dist/core/p-90d3a41b.entry.js +2 -0
  737. package/dist/core/p-90d3a41b.entry.js.map +1 -0
  738. package/dist/core/p-95992c98.entry.js +2 -0
  739. package/dist/core/p-95992c98.entry.js.map +1 -0
  740. package/dist/core/{p-41e239cb.entry.js → p-96b71172.entry.js} +2 -2
  741. package/dist/core/p-96b71172.entry.js.map +1 -0
  742. package/dist/core/{p-d2508752.entry.js → p-96bcd466.entry.js} +2 -2
  743. package/dist/core/p-96bcd466.entry.js.map +1 -0
  744. package/dist/core/p-9e551fe9.entry.js +2 -0
  745. package/dist/core/p-9e551fe9.entry.js.map +1 -0
  746. package/dist/core/{p-7fd50355.entry.js → p-a29fe0c6.entry.js} +2 -2
  747. package/dist/core/p-a29fe0c6.entry.js.map +1 -0
  748. package/dist/core/{p-c4a7c734.entry.js → p-a588886f.entry.js} +2 -2
  749. package/dist/core/p-a588886f.entry.js.map +1 -0
  750. package/dist/core/{p-284970bc.entry.js → p-a8b94619.entry.js} +2 -2
  751. package/dist/core/p-a8b94619.entry.js.map +1 -0
  752. package/dist/core/p-adceb0cf.entry.js +2 -0
  753. package/dist/core/p-adceb0cf.entry.js.map +1 -0
  754. package/dist/core/p-b698b8ad.entry.js +2 -0
  755. package/dist/core/p-b698b8ad.entry.js.map +1 -0
  756. package/dist/core/p-b6c538ea.entry.js +2 -0
  757. package/dist/core/p-b6c538ea.entry.js.map +1 -0
  758. package/dist/core/p-c012b867.entry.js +2 -0
  759. package/dist/core/p-c012b867.entry.js.map +1 -0
  760. package/dist/core/p-c5716cbc.entry.js +2 -0
  761. package/dist/core/p-c5716cbc.entry.js.map +1 -0
  762. package/dist/core/p-ca6d834e.entry.js +2 -0
  763. package/dist/core/p-ca6d834e.entry.js.map +1 -0
  764. package/dist/core/{p-7a9bc7f2.entry.js → p-cbbf4b05.entry.js} +2 -2
  765. package/dist/core/p-cbbf4b05.entry.js.map +1 -0
  766. package/dist/core/p-ce791694.entry.js +2 -0
  767. package/dist/core/p-ce791694.entry.js.map +1 -0
  768. package/dist/core/p-cef93d12.entry.js +2 -0
  769. package/dist/core/p-cef93d12.entry.js.map +1 -0
  770. package/dist/core/p-d2215b72.entry.js +2 -0
  771. package/dist/core/p-d2215b72.entry.js.map +1 -0
  772. package/dist/core/p-e0ee714a.entry.js +2 -0
  773. package/dist/core/p-e0ee714a.entry.js.map +1 -0
  774. package/dist/core/p-e6370b7e.entry.js +2 -0
  775. package/dist/core/p-e6370b7e.entry.js.map +1 -0
  776. package/dist/core/p-ee11e185.entry.js +2 -0
  777. package/dist/core/p-ee11e185.entry.js.map +1 -0
  778. package/dist/core/p-f24814b8.entry.js +2 -0
  779. package/dist/core/p-f24814b8.entry.js.map +1 -0
  780. package/dist/core/p-f665242d.entry.js +2 -0
  781. package/dist/core/p-f665242d.entry.js.map +1 -0
  782. package/dist/core/p-f7695299.entry.js +2 -0
  783. package/dist/core/p-f7695299.entry.js.map +1 -0
  784. package/dist/core/p-f923d11b.entry.js +2 -0
  785. package/dist/core/p-f923d11b.entry.js.map +1 -0
  786. package/dist/esm/OpenInNew-67a881e0.js +5 -0
  787. package/dist/esm/OpenInNew-67a881e0.js.map +1 -0
  788. package/dist/esm/chevron-icon-7927f709.js +8 -0
  789. package/dist/esm/chevron-icon-7927f709.js.map +1 -0
  790. package/dist/esm/core.js +7 -3
  791. package/dist/esm/core.js.map +1 -1
  792. package/dist/esm/{helpers-c332acf8.js → helpers-85903813.js} +26 -27
  793. package/dist/esm/helpers-85903813.js.map +1 -0
  794. package/dist/esm/ic-alert.entry.js +11 -11
  795. package/dist/esm/ic-alert.entry.js.map +1 -1
  796. package/dist/esm/ic-back-to-top.entry.js +5 -5
  797. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  798. package/dist/esm/ic-breadcrumb-group.entry.js +39 -33
  799. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  800. package/dist/esm/ic-breadcrumb.entry.js +14 -13
  801. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  802. package/dist/esm/ic-button_3.entry.js +163 -93
  803. package/dist/esm/ic-button_3.entry.js.map +1 -1
  804. package/dist/esm/ic-card.entry.js +46 -45
  805. package/dist/esm/ic-card.entry.js.map +1 -1
  806. package/dist/esm/ic-checkbox-group.entry.js +24 -23
  807. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  808. package/dist/esm/ic-checkbox.entry.js +41 -29
  809. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  810. package/dist/esm/ic-chip.entry.js +18 -15
  811. package/dist/esm/ic-chip.entry.js.map +1 -1
  812. package/dist/esm/ic-classification-banner.entry.js +1 -1
  813. package/dist/esm/ic-data-entity.entry.js +2 -2
  814. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  815. package/dist/esm/ic-data-row.entry.js +38 -24
  816. package/dist/esm/ic-data-row.entry.js.map +1 -1
  817. package/dist/esm/ic-dialog.entry.js +291 -0
  818. package/dist/esm/ic-dialog.entry.js.map +1 -0
  819. package/dist/esm/ic-divider.entry.js +3 -3
  820. package/dist/esm/ic-divider.entry.js.map +1 -1
  821. package/dist/esm/ic-footer-link-group.entry.js +18 -18
  822. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  823. package/dist/esm/ic-footer-link.entry.js +23 -17
  824. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  825. package/dist/esm/ic-footer.entry.js +23 -21
  826. package/dist/esm/ic-footer.entry.js.map +1 -1
  827. package/dist/esm/ic-hero.entry.js +23 -21
  828. package/dist/esm/ic-hero.entry.js.map +1 -1
  829. package/dist/esm/ic-horizontal-scroll.entry.js +45 -26
  830. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  831. package/dist/esm/ic-input-component-container_3.entry.js +299 -159
  832. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  833. package/dist/esm/ic-input-label_2.entry.js +11 -11
  834. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  835. package/dist/esm/ic-link.entry.js +22 -23
  836. package/dist/esm/ic-link.entry.js.map +1 -1
  837. package/dist/esm/ic-menu-group.entry.js +20 -0
  838. package/dist/esm/ic-menu-group.entry.js.map +1 -0
  839. package/dist/esm/ic-menu-item.entry.js +118 -0
  840. package/dist/esm/ic-menu-item.entry.js.map +1 -0
  841. package/dist/esm/ic-navigation-button.entry.js +18 -18
  842. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  843. package/dist/esm/ic-navigation-group.entry.js +87 -58
  844. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  845. package/dist/esm/ic-navigation-item.entry.js +49 -42
  846. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  847. package/dist/esm/ic-navigation-menu.entry.js +28 -34
  848. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  849. package/dist/esm/ic-page-header.entry.js +24 -27
  850. package/dist/esm/ic-page-header.entry.js.map +1 -1
  851. package/dist/esm/ic-pagination-item.entry.js +52 -0
  852. package/dist/esm/ic-pagination-item.entry.js.map +1 -0
  853. package/dist/esm/ic-pagination.entry.js +223 -0
  854. package/dist/esm/ic-pagination.entry.js.map +1 -0
  855. package/dist/esm/ic-popover-menu.entry.js +233 -0
  856. package/dist/esm/ic-popover-menu.entry.js.map +1 -0
  857. package/dist/esm/ic-radio-group.entry.js +43 -25
  858. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  859. package/dist/esm/ic-radio-option.entry.js +39 -38
  860. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  861. package/dist/esm/ic-search-bar.entry.js +178 -102
  862. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  863. package/dist/esm/ic-section-container.entry.js +1 -1
  864. package/dist/esm/ic-select.entry.js +349 -190
  865. package/dist/esm/ic-select.entry.js.map +1 -1
  866. package/dist/esm/ic-side-navigation.entry.js +116 -87
  867. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  868. package/dist/esm/ic-skeleton.entry.js +4 -4
  869. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  870. package/dist/esm/ic-status-tag.entry.js +6 -6
  871. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  872. package/dist/esm/ic-step.entry.js +10 -10
  873. package/dist/esm/ic-step.entry.js.map +1 -1
  874. package/dist/esm/ic-stepper.entry.js +15 -15
  875. package/dist/esm/ic-stepper.entry.js.map +1 -1
  876. package/dist/esm/ic-switch.entry.js +20 -19
  877. package/dist/esm/ic-switch.entry.js.map +1 -1
  878. package/dist/esm/ic-tab-context.entry.js +68 -32
  879. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  880. package/dist/esm/ic-tab-group.entry.js +5 -4
  881. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  882. package/dist/esm/ic-tab-panel.entry.js +15 -4
  883. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  884. package/dist/esm/ic-tab.entry.js +32 -7
  885. package/dist/esm/ic-tab.entry.js.map +1 -1
  886. package/dist/esm/ic-text-field.entry.js +102 -72
  887. package/dist/esm/ic-text-field.entry.js.map +1 -1
  888. package/dist/esm/ic-theme.entry.js +2 -2
  889. package/dist/esm/ic-theme.entry.js.map +1 -1
  890. package/dist/esm/ic-toast-region.entry.js +13 -13
  891. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  892. package/dist/esm/ic-toast.entry.js +60 -56
  893. package/dist/esm/ic-toast.entry.js.map +1 -1
  894. package/dist/esm/ic-top-navigation.entry.js +49 -45
  895. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  896. package/dist/esm/ic-typography.entry.js +97 -5
  897. package/dist/esm/ic-typography.entry.js.map +1 -1
  898. package/dist/esm/{index-90721b3c.js → index-fd30b77e.js} +255 -44
  899. package/dist/esm/index-fd30b77e.js.map +1 -0
  900. package/dist/esm/loader.js +4 -3
  901. package/dist/esm/loader.js.map +1 -1
  902. package/dist/esm/polyfills/css-shim.js +1 -1
  903. package/dist/{components/popper.js → esm/popper-15e448b4.js} +10 -17
  904. package/dist/esm/popper-15e448b4.js.map +1 -0
  905. package/dist/esm/types-dd515332.js.map +1 -1
  906. package/dist/types/components/ic-alert/ic-alert.d.ts +12 -12
  907. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +8 -8
  908. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +6 -6
  909. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.types.d.ts +1 -1
  910. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +16 -9
  911. package/dist/types/components/ic-button/ic-button.d.ts +62 -32
  912. package/dist/types/components/ic-button/ic-button.types.d.ts +4 -4
  913. package/dist/types/components/ic-card/ic-card.d.ts +32 -32
  914. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +29 -23
  915. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +14 -15
  916. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +5 -0
  917. package/dist/types/components/ic-chip/ic-chip.d.ts +16 -15
  918. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -2
  919. package/dist/types/components/ic-classification-banner/ic-classification-banner.types.d.ts +1 -1
  920. package/dist/types/components/ic-data-row/ic-data-row.d.ts +17 -11
  921. package/dist/types/components/ic-dialog/ic-dialog.d.ts +123 -0
  922. package/dist/types/components/ic-footer/ic-footer.d.ts +20 -20
  923. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
  924. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +26 -6
  925. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +8 -8
  926. package/dist/types/components/ic-hero/ic-hero.d.ts +24 -24
  927. package/dist/types/components/ic-hero/ic-hero.types.d.ts +1 -1
  928. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +15 -14
  929. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +15 -15
  930. package/dist/types/components/ic-input-label/ic-input-label.d.ts +14 -14
  931. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +8 -8
  932. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
  933. package/dist/types/components/ic-link/ic-link.d.ts +9 -9
  934. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +38 -36
  935. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -2
  936. package/dist/types/components/ic-menu/ic-menu.d.ts +89 -50
  937. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +8 -0
  938. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +74 -0
  939. package/dist/types/components/ic-menu-item/ic-menu-item.types.d.ts +1 -0
  940. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +21 -21
  941. package/dist/types/components/ic-navigation-button/ic-navigation-button.types.d.ts +1 -1
  942. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +21 -18
  943. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +47 -27
  944. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +14 -14
  945. package/dist/types/components/ic-page-header/ic-page-header.d.ts +19 -19
  946. package/dist/types/components/ic-pagination/ic-pagination.d.ts +82 -0
  947. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +4 -0
  948. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +47 -0
  949. package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -0
  950. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +59 -0
  951. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +22 -23
  952. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +7 -0
  953. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +32 -29
  954. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +120 -87
  955. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +2 -1
  956. package/dist/types/components/ic-select/ic-select.d.ts +116 -78
  957. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +30 -24
  958. package/dist/types/components/ic-side-navigation/{ic-side-navigation-test-examples.d.ts → test/basic/ic-side-navigation-test-examples.d.ts} +1 -0
  959. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -8
  960. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
  961. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -8
  962. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +2 -2
  963. package/dist/types/components/ic-step/ic-step.d.ts +24 -24
  964. package/dist/types/components/ic-step/ic-step.types.d.ts +3 -3
  965. package/dist/types/components/ic-stepper/ic-stepper.d.ts +17 -17
  966. package/dist/types/components/ic-stepper/ic-stepper.types.d.ts +1 -1
  967. package/dist/types/components/ic-switch/ic-switch.d.ts +23 -23
  968. package/dist/types/components/ic-tab/ic-tab.d.ts +25 -8
  969. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +29 -20
  970. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +6 -5
  971. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +27 -7
  972. package/dist/types/components/ic-text-field/ic-text-field.d.ts +110 -91
  973. package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +3 -3
  974. package/dist/types/components/ic-theme/ic-theme.d.ts +1 -1
  975. package/dist/types/components/ic-toast/ic-toast.d.ts +26 -26
  976. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -1
  977. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +3 -3
  978. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +22 -15
  979. package/dist/types/components/ic-tooltip/ic-tooltip.types.d.ts +1 -1
  980. package/dist/types/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.d.ts +1 -0
  981. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +36 -32
  982. package/dist/types/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.d.ts +1 -0
  983. package/dist/types/components/ic-typography/ic-typography.d.ts +31 -4
  984. package/dist/types/components/ic-typography/test/a11y/ic-typography.test.a11y.d.ts +1 -0
  985. package/dist/types/components.d.ts +826 -29
  986. package/dist/types/stencil-public-runtime.d.ts +74 -15
  987. package/dist/types/testspec.setup.d.ts +11 -0
  988. package/dist/types/utils/helpers.d.ts +1 -0
  989. package/dist/types/utils/types.d.ts +25 -22
  990. package/hydrate/index.d.ts +17 -16
  991. package/hydrate/index.js +3822 -1955
  992. package/loader/index.d.ts +9 -0
  993. package/package.json +7 -5
  994. package/dist/cjs/chevron-icon-2645d6b0.js +0 -10
  995. package/dist/cjs/chevron-icon-2645d6b0.js.map +0 -1
  996. package/dist/cjs/helpers-6eb26e7a.js.map +0 -1
  997. package/dist/cjs/index-f79a4e53.js.map +0 -1
  998. package/dist/cjs/popper-11d5f714.js.map +0 -1
  999. package/dist/collection/components/ic-alert/ic-alert.test.a11y.js.map +0 -1
  1000. package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js.map +0 -1
  1001. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +0 -1
  1002. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +0 -1
  1003. package/dist/collection/components/ic-button/ic-button.test.a11y.js.map +0 -1
  1004. package/dist/collection/components/ic-card/ic-card.test.a11y.js.map +0 -1
  1005. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +0 -1
  1006. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +0 -1
  1007. package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js.map +0 -1
  1008. package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js.map +0 -1
  1009. package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js.map +0 -1
  1010. package/dist/collection/components/ic-footer/ic-footer.test.a11y.js.map +0 -1
  1011. package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js.map +0 -1
  1012. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +0 -1
  1013. package/dist/collection/components/ic-hero/ic-hero.test.a11y.js.map +0 -1
  1014. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +0 -1
  1015. package/dist/collection/components/ic-link/ic-link.test.a11y.js.map +0 -1
  1016. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js.map +0 -1
  1017. package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js.map +0 -1
  1018. package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js.map +0 -1
  1019. package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js.map +0 -1
  1020. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +0 -1
  1021. package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js.map +0 -1
  1022. package/dist/collection/components/ic-select/ic-select.test.a11y.js.map +0 -1
  1023. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +0 -1
  1024. package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js.map +0 -1
  1025. package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js.map +0 -1
  1026. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +0 -1
  1027. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +0 -1
  1028. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +0 -1
  1029. package/dist/collection/components/ic-switch/ic-switch.test.a11y.js.map +0 -1
  1030. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +0 -1
  1031. package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js.map +0 -1
  1032. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +0 -1
  1033. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +0 -1
  1034. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +0 -1
  1035. package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +0 -1
  1036. package/dist/components/popper.js.map +0 -1
  1037. package/dist/core/p-1724000c.js +0 -2
  1038. package/dist/core/p-1724000c.js.map +0 -1
  1039. package/dist/core/p-17f91c94.entry.js +0 -2
  1040. package/dist/core/p-17f91c94.entry.js.map +0 -1
  1041. package/dist/core/p-18ae4b6d.entry.js +0 -2
  1042. package/dist/core/p-18ae4b6d.entry.js.map +0 -1
  1043. package/dist/core/p-18bf3cb0.entry.js +0 -2
  1044. package/dist/core/p-18bf3cb0.entry.js.map +0 -1
  1045. package/dist/core/p-24240e11.js.map +0 -1
  1046. package/dist/core/p-2642f880.entry.js +0 -2
  1047. package/dist/core/p-2642f880.entry.js.map +0 -1
  1048. package/dist/core/p-284970bc.entry.js.map +0 -1
  1049. package/dist/core/p-31a595c1.entry.js +0 -2
  1050. package/dist/core/p-31a595c1.entry.js.map +0 -1
  1051. package/dist/core/p-35a03442.entry.js.map +0 -1
  1052. package/dist/core/p-360adc51.entry.js +0 -2
  1053. package/dist/core/p-360adc51.entry.js.map +0 -1
  1054. package/dist/core/p-3dda76db.entry.js +0 -2
  1055. package/dist/core/p-3dda76db.entry.js.map +0 -1
  1056. package/dist/core/p-41e239cb.entry.js.map +0 -1
  1057. package/dist/core/p-44c9612c.entry.js +0 -2
  1058. package/dist/core/p-44c9612c.entry.js.map +0 -1
  1059. package/dist/core/p-521be4e2.entry.js +0 -2
  1060. package/dist/core/p-521be4e2.entry.js.map +0 -1
  1061. package/dist/core/p-5450cebf.js +0 -3
  1062. package/dist/core/p-5450cebf.js.map +0 -1
  1063. package/dist/core/p-55512a85.entry.js +0 -2
  1064. package/dist/core/p-55512a85.entry.js.map +0 -1
  1065. package/dist/core/p-560c06af.entry.js +0 -2
  1066. package/dist/core/p-560c06af.entry.js.map +0 -1
  1067. package/dist/core/p-57f2c81c.entry.js +0 -2
  1068. package/dist/core/p-57f2c81c.entry.js.map +0 -1
  1069. package/dist/core/p-5b083ce5.entry.js +0 -2
  1070. package/dist/core/p-5b083ce5.entry.js.map +0 -1
  1071. package/dist/core/p-62b3516e.entry.js +0 -2
  1072. package/dist/core/p-62b3516e.entry.js.map +0 -1
  1073. package/dist/core/p-691ea0f2.entry.js +0 -2
  1074. package/dist/core/p-691ea0f2.entry.js.map +0 -1
  1075. package/dist/core/p-7818d958.entry.js +0 -2
  1076. package/dist/core/p-7818d958.entry.js.map +0 -1
  1077. package/dist/core/p-7a0bf893.entry.js +0 -2
  1078. package/dist/core/p-7a0bf893.entry.js.map +0 -1
  1079. package/dist/core/p-7a9bc7f2.entry.js.map +0 -1
  1080. package/dist/core/p-7fd50355.entry.js.map +0 -1
  1081. package/dist/core/p-897e967a.entry.js +0 -2
  1082. package/dist/core/p-897e967a.entry.js.map +0 -1
  1083. package/dist/core/p-8f1176c6.entry.js +0 -2
  1084. package/dist/core/p-8f1176c6.entry.js.map +0 -1
  1085. package/dist/core/p-8ffa00c9.entry.js.map +0 -1
  1086. package/dist/core/p-91a8db51.entry.js +0 -2
  1087. package/dist/core/p-91a8db51.entry.js.map +0 -1
  1088. package/dist/core/p-a09d853e.entry.js +0 -2
  1089. package/dist/core/p-a09d853e.entry.js.map +0 -1
  1090. package/dist/core/p-a667e329.entry.js +0 -2
  1091. package/dist/core/p-a667e329.entry.js.map +0 -1
  1092. package/dist/core/p-ad2477d8.entry.js.map +0 -1
  1093. package/dist/core/p-b35ae170.entry.js +0 -2
  1094. package/dist/core/p-b35ae170.entry.js.map +0 -1
  1095. package/dist/core/p-b40bd77c.entry.js +0 -2
  1096. package/dist/core/p-b40bd77c.entry.js.map +0 -1
  1097. package/dist/core/p-b4234318.entry.js +0 -2
  1098. package/dist/core/p-b4234318.entry.js.map +0 -1
  1099. package/dist/core/p-ba8d6c23.entry.js.map +0 -1
  1100. package/dist/core/p-bd819f68.entry.js +0 -2
  1101. package/dist/core/p-bd819f68.entry.js.map +0 -1
  1102. package/dist/core/p-c4a7c734.entry.js.map +0 -1
  1103. package/dist/core/p-c72e4b75.entry.js +0 -2
  1104. package/dist/core/p-c72e4b75.entry.js.map +0 -1
  1105. package/dist/core/p-c7b86643.entry.js +0 -2
  1106. package/dist/core/p-c7b86643.entry.js.map +0 -1
  1107. package/dist/core/p-c8f07be6.entry.js +0 -2
  1108. package/dist/core/p-c8f07be6.entry.js.map +0 -1
  1109. package/dist/core/p-c9068822.entry.js +0 -2
  1110. package/dist/core/p-c9068822.entry.js.map +0 -1
  1111. package/dist/core/p-cccbf2bf.entry.js +0 -2
  1112. package/dist/core/p-cccbf2bf.entry.js.map +0 -1
  1113. package/dist/core/p-d2508752.entry.js.map +0 -1
  1114. package/dist/core/p-d7bbace4.entry.js +0 -2
  1115. package/dist/core/p-d7bbace4.entry.js.map +0 -1
  1116. package/dist/core/p-d86b0d0e.entry.js +0 -2
  1117. package/dist/core/p-d86b0d0e.entry.js.map +0 -1
  1118. package/dist/core/p-e0d88c31.entry.js +0 -2
  1119. package/dist/core/p-e0d88c31.entry.js.map +0 -1
  1120. package/dist/core/p-e9202767.entry.js +0 -2
  1121. package/dist/core/p-e9202767.entry.js.map +0 -1
  1122. package/dist/core/p-eba373bf.entry.js +0 -2
  1123. package/dist/core/p-eba373bf.entry.js.map +0 -1
  1124. package/dist/core/p-ec26fc38.js +0 -2
  1125. package/dist/core/p-ec26fc38.js.map +0 -1
  1126. package/dist/core/p-ed6cf9b9.entry.js +0 -2
  1127. package/dist/core/p-ed6cf9b9.entry.js.map +0 -1
  1128. package/dist/esm/chevron-icon-98c98242.js +0 -8
  1129. package/dist/esm/chevron-icon-98c98242.js.map +0 -1
  1130. package/dist/esm/helpers-c332acf8.js.map +0 -1
  1131. package/dist/esm/index-90721b3c.js.map +0 -1
  1132. package/dist/esm/popper-f860750c.js +0 -1801
  1133. package/dist/esm/popper-f860750c.js.map +0 -1
  1134. /package/dist/collection/{components/ic-link/assets → assets}/OpenInNew.svg +0 -0
  1135. /package/dist/collection/components/ic-back-to-top/{ic-back-to-top.test.a11y.js → test/a11y/ic-back-to-top.test.a11y.js} +0 -0
  1136. /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.js → test/basic/ic-breadcrumb-group-test-examples.js} +0 -0
  1137. /package/dist/collection/components/ic-stepper/{ic-stepper-test-examples.js → test/basic/ic-stepper-test-examples.js} +0 -0
  1138. /package/dist/collection/components/ic-tab-context/{ic-tab-context.test.a11y.js → test/a11y/ic-tab-context.test.a11y.js} +0 -0
  1139. /package/dist/collection/components/ic-text-field/{ic-text-field.test.a11y.js → test/a11y/ic-text-field.test.a11y.js} +0 -0
  1140. /package/dist/types/components/ic-alert/{ic-alert.test.a11y.d.ts → test/a11y/ic-alert.test.a11y.d.ts} +0 -0
  1141. /package/dist/types/components/ic-back-to-top/{ic-back-to-top.test.a11y.d.ts → test/a11y/ic-back-to-top.test.a11y.d.ts} +0 -0
  1142. /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.d.ts → test/a11y/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
  1143. /package/dist/types/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.d.ts → test/basic/ic-breadcrumb-group-test-examples.d.ts} +0 -0
  1144. /package/dist/types/components/ic-button/{ic-button.test.a11y.d.ts → test/a11y/ic-button.test.a11y.d.ts} +0 -0
  1145. /package/dist/types/components/ic-card/{ic-card.test.a11y.d.ts → test/a11y/ic-card.test.a11y.d.ts} +0 -0
  1146. /package/dist/types/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.d.ts → test/a11y/ic-checkbox-group.test.a11y.d.ts} +0 -0
  1147. /package/dist/types/components/ic-chip/{ic-chip.test.a11y.d.ts → test/a11y/ic-chip.test.a11y.d.ts} +0 -0
  1148. /package/dist/types/components/ic-classification-banner/{ic-classification-banner.test.a11y.d.ts → test/a11y/ic-classification-banner.test.a11y.d.ts} +0 -0
  1149. /package/dist/types/components/ic-data-entity/{ic-data-entity.test.a11y.d.ts → test/a11y/ic-data-entity.test.a11y.d.ts} +0 -0
  1150. /package/dist/types/components/ic-data-row/{ic-data-row.test.a11y.d.ts → test/a11y/ic-data-row.test.a11y.d.ts} +0 -0
  1151. /package/dist/types/components/{ic-footer-link-group/ic-footer-link-group.test.a11y.d.ts → ic-dialog/test/a11y/ic-dialog.test.a11y.d.ts} +0 -0
  1152. /package/dist/types/components/{ic-hero/ic-hero.test.a11y.d.ts → ic-footer/test/a11y/ic-footer.test.a11y.d.ts} +0 -0
  1153. /package/dist/types/components/{ic-footer/ic-footer.test.a11y.d.ts → ic-footer-link/test/a11y/ic-footer-link.test.a11y.d.ts} +0 -0
  1154. /package/dist/types/components/{ic-footer-link/ic-footer-link.test.a11y.d.ts → ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.d.ts} +0 -0
  1155. /package/dist/types/components/{ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts → ic-hero/test/a11y/ic-hero.test.a11y.d.ts} +0 -0
  1156. /package/dist/types/components/{ic-link/ic-link.test.a11y.d.ts → ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.d.ts} +0 -0
  1157. /package/dist/types/components/{ic-loading-indicator/ic-loading-indicator.test.a11y.d.ts → ic-link/test/a11y/ic-link.test.a11y.d.ts} +0 -0
  1158. /package/dist/types/components/{ic-navigation-group/ic-navigation-group.test.a11y.d.ts → ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.d.ts} +0 -0
  1159. /package/dist/types/components/{ic-navigation-item/ic-navigation-item.test.a11y.d.ts → ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.d.ts} +0 -0
  1160. /package/dist/types/components/{ic-page-header/ic-page-header.test.a11y.d.ts → ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.d.ts} +0 -0
  1161. /package/dist/types/components/{ic-radio-group/ic-radio-group.test.a11y.d.ts → ic-page-header/test/a11y/ic-page-header.test.a11y.d.ts} +0 -0
  1162. /package/dist/types/components/{ic-search-bar/ic-search-bar.test.a11y.d.ts → ic-pagination/test/a11y/ic-pagination.test.a11y.d.ts} +0 -0
  1163. /package/dist/types/components/{ic-select/ic-select.test.a11y.d.ts → ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.d.ts} +0 -0
  1164. /package/dist/types/components/{ic-side-navigation/ic-side-navigation.test.a11y.d.ts → ic-radio-group/test/a11y/ic-radio-group.test.a11y.d.ts} +0 -0
  1165. /package/dist/types/components/{ic-skeleton/ic-skeleton.test.a11y.d.ts → ic-search-bar/test/a11y/ic-search-bar.test.a11y.d.ts} +0 -0
  1166. /package/dist/types/components/{ic-status-tag/ic-status-tag.test.a11y.d.ts → ic-select/test/a11y/ic-select.test.a11y.d.ts} +0 -0
  1167. /package/dist/types/components/{ic-stepper/ic-stepper.test.a11y.d.ts → ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.d.ts} +0 -0
  1168. /package/dist/types/components/{ic-switch/ic-switch.test.a11y.d.ts → ic-skeleton/test/a11y/ic-skeleton.test.a11y.d.ts} +0 -0
  1169. /package/dist/types/components/{ic-tab-context/ic-tab-context.test.a11y.d.ts → ic-status-tag/test/a11y/ic-status-tag.test.a11y.d.ts} +0 -0
  1170. /package/dist/types/components/{ic-text-field/ic-text-field.test.a11y.d.ts → ic-stepper/test/a11y/ic-stepper.test.a11y.d.ts} +0 -0
  1171. /package/dist/types/components/ic-stepper/{ic-stepper-test-examples.d.ts → test/basic/ic-stepper-test-examples.d.ts} +0 -0
  1172. /package/dist/types/components/{ic-toast/ic-toast.test.a11y.d.ts → ic-switch/test/a11y/ic-switch.test.a11y.d.ts} +0 -0
  1173. /package/dist/types/components/{ic-tooltip/ic-tooltip.test.a11y.d.ts → ic-tab-context/test/a11y/ic-tab-context.test.a11y.d.ts} +0 -0
  1174. /package/dist/types/components/{ic-top-navigation/ic-top-navigation.test.a11y.d.ts → ic-text-field/test/a11y/ic-text-field.test.a11y.d.ts} +0 -0
  1175. /package/dist/types/components/{ic-typography/ic-typography.test.a11y.d.ts → ic-toast/test/a11y/ic-toast.test.a11y.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-back-to-top.js","sourceRoot":"","sources":["../../../src/components/ic-back-to-top/ic-back-to-top.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\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"]}
1
+ {"version":3,"file":"ic-back-to-top.js","sourceRoot":"","sources":["../../../src/components/ic-back-to-top/ic-back-to-top.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BackToTop {\n private isTargetElNull: boolean;\n private targetEl: Element;\n private topObserver: IntersectionObserver = null;\n\n @Element() el: HTMLIcBackToTopElement;\n\n @State() bannerOffset: boolean = false;\n @State() footerVisible: boolean = false;\n @State() targetElVisible: boolean = true;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n private 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 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"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-back-to-top.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,UAAU,CAAC,GAAG,EAAE;EACd,2DAA2D;EAC3D,MAAM,wBAAwB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;EAC3C,wBAAwB,CAAC,eAAe,CAAC;IACvC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACxC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC1C,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;GAC5C,CAAC,CAAC;EACH,MAAM,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;;;;;;;aAOhB,CAAC,CAAC;IACX,MAAM,SAAS,GAAG,EAAE,CAAC,gBAA2B,CAAC;IACjD,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\n\nbeforeEach(() => {\n // IntersectionObserver isn't available in test environment\n const mockIntersectionObserver = jest.fn();\n mockIntersectionObserver.mockReturnValue({\n observe: jest.fn().mockReturnValue(null),\n unobserve: jest.fn().mockReturnValue(null),\n disconnect: jest.fn().mockReturnValue(null),\n });\n window.IntersectionObserver = mockIntersectionObserver;\n});\n\ndescribe(\"ic-back-to-top\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(`\n <div>\n <div id=\"topEl\" style=\"margin-top:-20px;\">\n <ic-typography variant=\"h2\">Top of the page</ic-typography>\n </div>\n <div style=\"height:1000px;\"></div>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n </div>`);\n const backToTop = el.lastElementChild as Element;\n expect(backToTop.shadowRoot.innerHTML).not.toBe(\"\");\n expect(await axe(backToTop)).toHaveNoViolations();\n });\n});\n"]}
@@ -0,0 +1,68 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe("ic-back-to-top", () => {
3
+ it("should be hidden", async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent(`<div id="topEl" style="height:1200px"></div>
6
+ <ic-back-to-top target="topEl"></ic-back-to-top>
7
+ `);
8
+ await page.waitForChanges();
9
+ const backToTop = await page.find("ic-back-to-top >>> .ic-back-to-top-link");
10
+ expect(await backToTop.isVisible()).toBe(false);
11
+ });
12
+ it("should have correct text", async () => {
13
+ const page = await newE2EPage();
14
+ await page.setContent(`<div id="topEl"></div>
15
+ <ic-back-to-top target="topEl"></ic-back-to-top>
16
+ `);
17
+ await page.waitForChanges();
18
+ const backToTop = await page.find("ic-back-to-top >>> ic-typography");
19
+ const text = await backToTop.innerText;
20
+ expect(text).toBe("Back to top");
21
+ });
22
+ it("should appear when top is off screen", async () => {
23
+ const page = await newE2EPage();
24
+ await page.setContent(`<div id="topEl" style="margin-top:-20px;">
25
+ <ic-typography variant="h2">Top of the page</ic-typography>
26
+ </div>
27
+ <div style="height:1200px;"></div>
28
+ <ic-back-to-top target="topEl"></ic-back-to-top>
29
+ `);
30
+ await page.waitForChanges();
31
+ const backToTop = await page.find("ic-back-to-top >>> .ic-back-to-top-link");
32
+ expect(await backToTop.isVisible()).toBe(true);
33
+ });
34
+ it("should appear when page scrolled", async () => {
35
+ const page = await newE2EPage();
36
+ await page.setContent(`<div id="topEl">
37
+ <ic-typography variant="h2">Top of the page</ic-typography>
38
+ </div>
39
+ <div style="height:1200px;"></div>
40
+ <button style="bottom:0px; left:0px">Test Button</button>
41
+ <ic-back-to-top target="topEl"></ic-back-to-top>
42
+ `);
43
+ await page.waitForChanges();
44
+ const backToTop = await page.find("ic-back-to-top >>> .ic-back-to-top-link");
45
+ const button = await page.find("button");
46
+ expect(await backToTop.isVisible()).toBe(false);
47
+ await button.focus();
48
+ expect(await backToTop.isVisible()).toBe(true);
49
+ });
50
+ it("should hide and scroll page to top when clicked", async () => {
51
+ const page = await newE2EPage();
52
+ await page.setContent(`<div id="topEl">
53
+ <ic-typography variant="h2">Top of the page</ic-typography>
54
+ </div>
55
+ <div style="height:1200px;"></div>
56
+ <button style="bottom:0px; left:0px">Test Button</button>
57
+ <ic-back-to-top target="topEl"></ic-back-to-top>
58
+ `);
59
+ await page.waitForChanges();
60
+ const backToTop = await page.find("ic-back-to-top >>> .ic-back-to-top-link");
61
+ const button = await page.find("button");
62
+ await button.focus();
63
+ await backToTop.click();
64
+ await page.waitForTimeout(300);
65
+ expect(await backToTop.isVisible()).toBe(false);
66
+ });
67
+ });
68
+ //# sourceMappingURL=ic-back-to-top.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-back-to-top.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-back-to-top\", () => {\n it(\"should be hidden\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<div id=\"topEl\" style=\"height:1200px\"></div>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n `\n );\n await page.waitForChanges();\n const backToTop = await page.find(\n \"ic-back-to-top >>> .ic-back-to-top-link\"\n );\n\n expect(await backToTop.isVisible()).toBe(false);\n });\n\n it(\"should have correct text\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<div id=\"topEl\"></div>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n `\n );\n await page.waitForChanges();\n const backToTop = await page.find(\"ic-back-to-top >>> ic-typography\");\n const text = await backToTop.innerText;\n\n expect(text).toBe(\"Back to top\");\n });\n\n it(\"should appear when top is off screen\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<div id=\"topEl\" style=\"margin-top:-20px;\">\n <ic-typography variant=\"h2\">Top of the page</ic-typography>\n </div>\n <div style=\"height:1200px;\"></div>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n `\n );\n await page.waitForChanges();\n const backToTop = await page.find(\n \"ic-back-to-top >>> .ic-back-to-top-link\"\n );\n\n expect(await backToTop.isVisible()).toBe(true);\n });\n\n it(\"should appear when page scrolled\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<div id=\"topEl\">\n <ic-typography variant=\"h2\">Top of the page</ic-typography>\n </div>\n <div style=\"height:1200px;\"></div>\n <button style=\"bottom:0px; left:0px\">Test Button</button>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n `\n );\n await page.waitForChanges();\n\n const backToTop = await page.find(\n \"ic-back-to-top >>> .ic-back-to-top-link\"\n );\n const button = await page.find(\"button\");\n\n expect(await backToTop.isVisible()).toBe(false);\n\n await button.focus();\n\n expect(await backToTop.isVisible()).toBe(true);\n });\n\n it(\"should hide and scroll page to top when clicked\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<div id=\"topEl\">\n <ic-typography variant=\"h2\">Top of the page</ic-typography>\n </div>\n <div style=\"height:1200px;\"></div>\n <button style=\"bottom:0px; left:0px\">Test Button</button>\n <ic-back-to-top target=\"topEl\"></ic-back-to-top>\n `\n );\n await page.waitForChanges();\n\n const backToTop = await page.find(\n \"ic-back-to-top >>> .ic-back-to-top-link\"\n );\n const button = await page.find(\"button\");\n\n await button.focus();\n await backToTop.click();\n await page.waitForTimeout(300);\n\n expect(await backToTop.isVisible()).toBe(false);\n });\n});\n"]}
@@ -0,0 +1,123 @@
1
+ import { newSpecPage } from "@stencil/core/testing";
2
+ import { ClassificationBanner } from "../../../ic-classification-banner/ic-classification-banner";
3
+ import { Footer } from "../../../ic-footer/ic-footer";
4
+ import { BackToTop } from "../../ic-back-to-top";
5
+ beforeAll(() => {
6
+ // IntersectionObserver isn't available in test environment
7
+ const mockIntersectionObserver = jest.fn();
8
+ mockIntersectionObserver.mockReturnValue({
9
+ observe: jest.fn().mockReturnValue(null),
10
+ unobserve: jest.fn().mockReturnValue(null),
11
+ disconnect: jest.fn().mockReturnValue(null),
12
+ });
13
+ Object.defineProperty(global, "IntersectionObserver", {
14
+ value: mockIntersectionObserver,
15
+ });
16
+ });
17
+ describe("ic-back-to-top", () => {
18
+ it("should render", async () => {
19
+ const page = await newSpecPage({
20
+ components: [BackToTop],
21
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
22
+ });
23
+ expect(page.root).toMatchSnapshot("should render");
24
+ });
25
+ it("should render with footer", async () => {
26
+ const page = await newSpecPage({
27
+ components: [BackToTop, Footer],
28
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div><ic-footer></ic-footer>`,
29
+ });
30
+ expect(page.root).toMatchSnapshot("should render with footer");
31
+ });
32
+ it("should render with no targetId set", async () => {
33
+ jest.spyOn(console, "error").mockImplementation(jest.fn());
34
+ const page = await newSpecPage({
35
+ components: [BackToTop],
36
+ html: `<ic-back-to-top></ic-back-to-top>`,
37
+ });
38
+ expect(page.root).toMatchSnapshot("should render with no targetId set");
39
+ });
40
+ it("should render when target starts with #", async () => {
41
+ const page = await newSpecPage({
42
+ components: [BackToTop],
43
+ html: `<div id="topEl"><ic-back-to-top target="#topEl"></ic-back-to-top></div>`,
44
+ });
45
+ expect(page.root).toMatchSnapshot("should render when target starts with #");
46
+ });
47
+ it("should offset due to classification banner", async () => {
48
+ const page = await newSpecPage({
49
+ components: [BackToTop, ClassificationBanner],
50
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top><ic-classification-banner></ic-classification-banner></div>`,
51
+ });
52
+ expect(page.rootInstance.bannerOffset).toBe(true);
53
+ });
54
+ it("should scroll to 0,0 if target is null", async () => {
55
+ jest.spyOn(console, "error").mockImplementation(jest.fn());
56
+ const page = await newSpecPage({
57
+ components: [BackToTop],
58
+ html: `<div id="topEl"><ic-back-to-top></ic-back-to-top></div>`,
59
+ });
60
+ expect(page.rootInstance.isTargetElNull).toBe(true);
61
+ page.root.shadowRoot.querySelector("button").click();
62
+ expect(page.win.screenX).toBe(0);
63
+ expect(page.win.screenY).toBe(0);
64
+ });
65
+ it("should scroll targetEl into view", async () => {
66
+ const page = await newSpecPage({
67
+ components: [BackToTop],
68
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
69
+ });
70
+ page.root.shadowRoot.querySelector("button").click();
71
+ expect(page.rootInstance.targetElVisible).toBe(true);
72
+ });
73
+ it("should return null targetElement when there's no target matching that given in back to top", async () => {
74
+ jest.spyOn(console, "error").mockImplementation(jest.fn());
75
+ const page = await newSpecPage({
76
+ components: [BackToTop],
77
+ html: `<div><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
78
+ });
79
+ const findTarget = page.rootInstance.findTargetEl("topEl");
80
+ expect(findTarget).toBeNull();
81
+ });
82
+ it("should stop observing observedEl when topObserver exists", async () => {
83
+ const page = await newSpecPage({
84
+ components: [BackToTop],
85
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
86
+ });
87
+ page.rootInstance.watchPropHandler(undefined, "topEl");
88
+ page.rootInstance.createTopObserver("topEl");
89
+ expect(page.rootInstance.topObserver).not.toBeNull();
90
+ });
91
+ it("should set footerVisible", async () => {
92
+ const page = await newSpecPage({
93
+ components: [BackToTop],
94
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
95
+ });
96
+ page.rootInstance.footerObserverCallback([{ isIntersecting: true }]);
97
+ //value is false as scrollY is always 0
98
+ expect(page.rootInstance.footerVisible).toBe(false);
99
+ page.rootInstance.footerObserverCallback([{ isIntersecting: false }]);
100
+ expect(page.rootInstance.footerVisible).toBe(false);
101
+ });
102
+ it("should set targetElVisible", async () => {
103
+ const page = await newSpecPage({
104
+ components: [BackToTop],
105
+ html: `<div id="topEl"><ic-back-to-top target="topEl"></ic-back-to-top></div>`,
106
+ });
107
+ page.rootInstance.targetElObserverCallback([{ isIntersecting: true }]);
108
+ expect(page.rootInstance.targetElVisible).toBe(true);
109
+ page.rootInstance.targetElObserverCallback([{ isIntersecting: false }]);
110
+ expect(page.rootInstance.targetElVisible).toBe(false);
111
+ });
112
+ it("should test update of target from undefined to value", async () => {
113
+ jest.spyOn(console, "error").mockImplementation(jest.fn());
114
+ const page = await newSpecPage({
115
+ components: [BackToTop],
116
+ html: `<div id="topEl"><ic-back-to-top></ic-back-to-top></div>`,
117
+ });
118
+ page.root.target = "topEl";
119
+ await page.waitForChanges();
120
+ expect(page.rootInstance.target).toBe("topEl");
121
+ });
122
+ });
123
+ //# sourceMappingURL=ic-back-to-top.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-back-to-top.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-back-to-top/test/basic/ic-back-to-top.spec.tsx"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { ClassificationBanner } from \"../../../ic-classification-banner/ic-classification-banner\";\nimport { Footer } from \"../../../ic-footer/ic-footer\";\nimport { BackToTop } from \"../../ic-back-to-top\";\n\nbeforeAll(() => {\n // IntersectionObserver isn't available in test environment\n const mockIntersectionObserver = jest.fn();\n mockIntersectionObserver.mockReturnValue({\n observe: jest.fn().mockReturnValue(null),\n unobserve: jest.fn().mockReturnValue(null),\n disconnect: jest.fn().mockReturnValue(null),\n });\n\n Object.defineProperty(global, \"IntersectionObserver\", {\n value: mockIntersectionObserver,\n });\n});\n\ndescribe(\"ic-back-to-top\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n expect(page.root).toMatchSnapshot(\"should render\");\n });\n\n it(\"should render with footer\", async () => {\n const page = await newSpecPage({\n components: [BackToTop, Footer],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div><ic-footer></ic-footer>`,\n });\n\n expect(page.root).toMatchSnapshot(\"should render with footer\");\n });\n\n it(\"should render with no targetId set\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<ic-back-to-top></ic-back-to-top>`,\n });\n\n expect(page.root).toMatchSnapshot(\"should render with no targetId set\");\n });\n\n it(\"should render when target starts with #\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"#topEl\"></ic-back-to-top></div>`,\n });\n\n expect(page.root).toMatchSnapshot(\n \"should render when target starts with #\"\n );\n });\n\n it(\"should offset due to classification banner\", async () => {\n const page = await newSpecPage({\n components: [BackToTop, ClassificationBanner],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top><ic-classification-banner></ic-classification-banner></div>`,\n });\n\n expect(page.rootInstance.bannerOffset).toBe(true);\n });\n\n it(\"should scroll to 0,0 if target is null\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top></ic-back-to-top></div>`,\n });\n\n expect(page.rootInstance.isTargetElNull).toBe(true);\n\n page.root.shadowRoot.querySelector(\"button\").click();\n expect(page.win.screenX).toBe(0);\n expect(page.win.screenY).toBe(0);\n });\n\n it(\"should scroll targetEl into view\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n page.root.shadowRoot.querySelector(\"button\").click();\n expect(page.rootInstance.targetElVisible).toBe(true);\n });\n\n it(\"should return null targetElement when there's no target matching that given in back to top\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n const findTarget = page.rootInstance.findTargetEl(\"topEl\");\n\n expect(findTarget).toBeNull();\n });\n\n it(\"should stop observing observedEl when topObserver exists\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n page.rootInstance.watchPropHandler(undefined, \"topEl\");\n page.rootInstance.createTopObserver(\"topEl\");\n expect(page.rootInstance.topObserver).not.toBeNull();\n });\n\n it(\"should set footerVisible\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n page.rootInstance.footerObserverCallback([{ isIntersecting: true }]);\n //value is false as scrollY is always 0\n expect(page.rootInstance.footerVisible).toBe(false);\n\n page.rootInstance.footerObserverCallback([{ isIntersecting: false }]);\n expect(page.rootInstance.footerVisible).toBe(false);\n });\n\n it(\"should set targetElVisible\", async () => {\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top target=\"topEl\"></ic-back-to-top></div>`,\n });\n\n page.rootInstance.targetElObserverCallback([{ isIntersecting: true }]);\n expect(page.rootInstance.targetElVisible).toBe(true);\n\n page.rootInstance.targetElObserverCallback([{ isIntersecting: false }]);\n expect(page.rootInstance.targetElVisible).toBe(false);\n });\n\n it(\"should test update of target from undefined to value\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [BackToTop],\n html: `<div id=\"topEl\"><ic-back-to-top></ic-back-to-top></div>`,\n });\n\n page.root.target = \"topEl\";\n await page.waitForChanges();\n\n expect(page.rootInstance.target).toBe(\"topEl\");\n });\n});\n"]}
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  ic-link {
41
- --breadcrumb-link-display: flex;
41
+ --breadcrumb-link-display: inline-flex;
42
42
  --breadcrumb-link-align-items: center;
43
43
  --breadcrumb-link-gap: var(--ic-space-xs);
44
44
  }
@@ -68,9 +68,9 @@ ic-link {
68
68
  :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),
69
69
  :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {
70
70
  outline: var(--ic-hc-focus-outline);
71
- text-decoration-line: underline;
72
- text-decoration-thickness: 25%;
73
- text-underline-offset: 25%;
71
+ border-bottom: 0.25rem solid !important;
72
+ margin-bottom: -0.25rem !important;
73
+ text-decoration: none;
74
74
  }
75
75
 
76
76
  .hide,
@@ -83,3 +83,18 @@ ic-link {
83
83
  color: currentcolor;
84
84
  }
85
85
  }
86
+
87
+ @supports (text-decoration-thickness: 25%) {
88
+ ic-link {
89
+ --breadcrumb-link-display: flex;
90
+ }
91
+
92
+ :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),
93
+ :host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus) {
94
+ text-decoration-line: underline;
95
+ text-decoration-thickness: 25%;
96
+ text-underline-offset: 25%;
97
+ border-bottom: 0 !important;
98
+ margin-bottom: 0 !important;
99
+ }
100
+ }
@@ -15,21 +15,25 @@ export class Breadcrumb {
15
15
  };
16
16
  this.setSlottedCurrentPageClass = () => {
17
17
  const icLink = this.el.querySelector("ic-link");
18
+ const currentPage = "current-page";
18
19
  if (icLink) {
19
- icLink.classList.remove("current-page");
20
+ icLink.classList.remove(currentPage);
20
21
  if (this.current) {
21
- const hasCurrentPageClass = icLink.classList.contains("current-page");
22
+ const hasCurrentPageClass = icLink.classList.contains(currentPage);
22
23
  if (!hasCurrentPageClass) {
23
- icLink.classList.add("breadcrumb-link", "current-page");
24
+ icLink.classList.add("breadcrumb-link", currentPage);
24
25
  }
25
26
  }
26
27
  }
27
28
  };
28
- this.pageTitle = undefined;
29
- this.href = undefined;
30
29
  this.current = false;
30
+ this.href = undefined;
31
+ this.pageTitle = undefined;
31
32
  this.showBackIcon = false;
32
33
  }
34
+ componentWillRender() {
35
+ this.setSlottedCurrentPageClass();
36
+ }
33
37
  /**
34
38
  * Sets focus on the breadcrumb.
35
39
  */
@@ -38,9 +42,6 @@ export class Breadcrumb {
38
42
  this.el.shadowRoot.querySelector("ic-link").focus();
39
43
  }
40
44
  }
41
- componentWillRender() {
42
- this.setSlottedCurrentPageClass();
43
- }
44
45
  render() {
45
46
  const { current, href, pageTitle } = this;
46
47
  const describedById = `${pageTitle && pageTitle.toLowerCase().replace(" ", "-")}-describedby`;
@@ -65,22 +66,23 @@ export class Breadcrumb {
65
66
  }
66
67
  static get properties() {
67
68
  return {
68
- "pageTitle": {
69
- "type": "string",
69
+ "current": {
70
+ "type": "boolean",
70
71
  "mutable": false,
71
72
  "complexType": {
72
- "original": "string",
73
- "resolved": "string",
73
+ "original": "boolean",
74
+ "resolved": "boolean",
74
75
  "references": {}
75
76
  },
76
- "required": true,
77
- "optional": false,
77
+ "required": false,
78
+ "optional": true,
78
79
  "docs": {
79
80
  "tags": [],
80
- "text": "The title of the breadcrumb."
81
+ "text": "If `true`, aria-current will be set on the breadcrumb."
81
82
  },
82
- "attribute": "page-title",
83
- "reflect": false
83
+ "attribute": "current",
84
+ "reflect": false,
85
+ "defaultValue": "false"
84
86
  },
85
87
  "href": {
86
88
  "type": "string",
@@ -99,23 +101,22 @@ export class Breadcrumb {
99
101
  "attribute": "href",
100
102
  "reflect": false
101
103
  },
102
- "current": {
103
- "type": "boolean",
104
+ "pageTitle": {
105
+ "type": "string",
104
106
  "mutable": false,
105
107
  "complexType": {
106
- "original": "boolean",
107
- "resolved": "boolean",
108
+ "original": "string",
109
+ "resolved": "string",
108
110
  "references": {}
109
111
  },
110
- "required": false,
111
- "optional": true,
112
+ "required": true,
113
+ "optional": false,
112
114
  "docs": {
113
115
  "tags": [],
114
- "text": "If `true`, aria-current will be set on the breadcrumb."
116
+ "text": "The title of the breadcrumb."
115
117
  },
116
- "attribute": "current",
117
- "reflect": false,
118
- "defaultValue": "false"
118
+ "attribute": "page-title",
119
+ "reflect": false
119
120
  },
120
121
  "showBackIcon": {
121
122
  "type": "boolean",
@@ -1 +1 @@
1
- {"version":3,"file":"ic-breadcrumb.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element, 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"]}
1
+ {"version":3,"file":"ic-breadcrumb.js","sourceRoot":"","sources":["../../../src/components/ic-breadcrumb/ic-breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, h, Element, Method } from \"@stencil/core\";\nimport { IcBreadcrumbDefault } from \"./ic-breadcrumb.types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport backIcon from \"../../assets/back-icon.svg\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb\",\n styleUrl: \"ic-breadcrumb.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Breadcrumb {\n @Element() el: HTMLIcBreadcrumbElement;\n\n /**\n * @slot icon - Content will be rendered to the left of the breadcrumb page title.\n */\n\n /**\n * If `true`, aria-current will be set on the breadcrumb.\n */\n @Prop() current?: boolean = false;\n\n /**\n * The URL that the breadcrumb link points to.\n */\n @Prop() href?: string;\n\n /**\n * The title of the breadcrumb.\n */\n @Prop() pageTitle!: string;\n\n /**\n * @internal If `true`, back icon will be displayed.\n */\n @Prop({ reflect: true }) showBackIcon: boolean = false;\n\n componentWillRender(): void {\n this.setSlottedCurrentPageClass();\n }\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 const currentPage = \"current-page\";\n if (icLink) {\n icLink.classList.remove(currentPage);\n if (this.current) {\n const hasCurrentPageClass = icLink.classList.contains(currentPage);\n if (!hasCurrentPageClass) {\n icLink.classList.add(\"breadcrumb-link\", currentPage);\n }\n }\n }\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"]}
@@ -0,0 +1,118 @@
1
+ import { Breadcrumb } from "../../ic-breadcrumb";
2
+ import { newSpecPage } from "@stencil/core/testing";
3
+ describe("ic-breadcrumb", () => {
4
+ it("renders", async () => {
5
+ const page = await newSpecPage({
6
+ components: [Breadcrumb],
7
+ html: `<ic-breadcrumb></ic-breadcrumb>`,
8
+ });
9
+ expect(page.root).toEqualHtml(`
10
+ <ic-breadcrumb role="listitem">
11
+ <mock:shadow-root>
12
+ <div class="breadcrumb">
13
+ <span aria-hidden="true" class="chevron">
14
+ svg
15
+ </span>
16
+ <slot></slot>
17
+ </div>
18
+ </mock:shadow-root>
19
+ </ic-breadcrumb>
20
+ `);
21
+ });
22
+ it("renders with page-title and href", async () => {
23
+ const page = await newSpecPage({
24
+ components: [Breadcrumb],
25
+ html: `<ic-breadcrumb page-title="foo" href="/"></ic-breadcrumb>`,
26
+ });
27
+ expect(page.root).toEqualHtml(`
28
+ <ic-breadcrumb href="/" page-title="foo" role="listitem">
29
+ <mock:shadow-root>
30
+ <div class="breadcrumb">
31
+ <span aria-hidden="true" class="chevron">
32
+ svg
33
+ </span>
34
+ <ic-link class="breadcrumb-link" href="/">
35
+ foo
36
+ </ic-link>
37
+ </div>
38
+ </mock:shadow-root>
39
+ </ic-breadcrumb>
40
+ `);
41
+ });
42
+ it("renders with page-title, href, current", async () => {
43
+ const page = await newSpecPage({
44
+ components: [Breadcrumb],
45
+ html: `<ic-breadcrumb page-title="foo" href="/" current="true"></ic-breadcrumb>`,
46
+ });
47
+ expect(page.root).toEqualHtml(`
48
+ <ic-breadcrumb current="true" href="/" page-title="foo" role="listitem" aria-current="page">
49
+ <mock:shadow-root>
50
+ <div class="breadcrumb">
51
+ <span aria-hidden="true" class="chevron">
52
+ svg
53
+ </span>
54
+ <span class="current-page-container">
55
+ foo
56
+ </span>
57
+ </div>
58
+ </mock:shadow-root>
59
+ </ic-breadcrumb>
60
+ `);
61
+ });
62
+ it("renders with icon", async () => {
63
+ const page = await newSpecPage({
64
+ components: [Breadcrumb],
65
+ html: `
66
+ <ic-breadcrumb page-title="foo" href="/" current="true">
67
+ <svg
68
+ slot="icon"
69
+ width="24"
70
+ height="24"
71
+ viewBox="0 0 24 24"
72
+ fill="none"
73
+ xmlns="http://www.w3.org/2000/svg"
74
+ >
75
+ <path
76
+ d="M12 6.19L17 10.69V18.5H15V12.5H9V18.5H7V10.69L12 6.19ZM12 3.5L2 12.5H5V20.5H11V14.5H13V20.5H19V12.5H22L12 3.5Z"
77
+ fill="currentColor"
78
+ ></path>
79
+ </svg>
80
+ </ic-breadcrumb>`,
81
+ });
82
+ expect(page.root).toEqualHtml(`
83
+ <ic-breadcrumb current="true" href="/" page-title="foo" aria-current="page" role="listitem">
84
+ <mock:shadow-root>
85
+ <div class="breadcrumb">
86
+ <span aria-hidden="true" class="chevron">
87
+ svg
88
+ </span>
89
+ <span class="current-page-container">
90
+ <slot name="icon"></slot>
91
+ foo
92
+ </span>
93
+ </div>
94
+ </mock:shadow-root>
95
+ <svg fill="none" height="24" slot="icon" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">
96
+ <path d="M12 6.19L17 10.69V18.5H15V12.5H9V18.5H7V10.69L12 6.19ZM12 3.5L2 12.5H5V20.5H11V14.5H13V20.5H19V12.5H22L12 3.5Z" fill="currentColor"></path>
97
+ </svg>
98
+ </ic-breadcrumb>
99
+ `);
100
+ });
101
+ it("should add the 'current-page' class when current prop is true", async () => {
102
+ const page = await newSpecPage({
103
+ components: [Breadcrumb],
104
+ html: "<ic-breadcrumb id='ic-breadcrumb' current=true><ic-link href='/'>Link</ic-link></ic-breadcrumb>",
105
+ });
106
+ await page.rootInstance.setSlottedCurrentPageClass();
107
+ expect(document.querySelector("ic-breadcrumb").classList.contains("current-page")).toBeTruthy;
108
+ });
109
+ it("should call 'setFocus' when breadcrumb is focused", async () => {
110
+ const page = await newSpecPage({
111
+ components: [Breadcrumb],
112
+ html: `<ic-breadcrumb></ic-breadcrumb>`,
113
+ });
114
+ //Can't expect anything in this test - this is to increase code coverage only
115
+ await page.rootInstance.setFocus().toHaveBeenCalled;
116
+ });
117
+ });
118
+ //# sourceMappingURL=ic-breadcrumb.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-breadcrumb.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;EAC7B,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IACvB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,iCAAiC;KACxC,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;KAW7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,2DAA2D;KAClE,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;KAa7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,0EAA0E;KACjF,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;KAa7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE;;;;;;;;;;;;;;;uBAeW;KAClB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC;;;;;;;;;;;;;;;;;KAiB7B,CAAC,CAAC;EACL,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,iGAAiG;KACxG,CAAC,CAAC;IAEH,MAAM,IAAI,CAAC,YAAY,CAAC,0BAA0B,EAAE,CAAC;IAErD,MAAM,CACJ,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAC3E,CAAC,UAAU,CAAC;EACf,CAAC,CAAC,CAAC;EAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACjE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;MAC7B,UAAU,EAAE,CAAC,UAAU,CAAC;MACxB,IAAI,EAAE,iCAAiC;KACxC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,gBAAgB,CAAC;EACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { Breadcrumb } from \"../../ic-breadcrumb\";\nimport { newSpecPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-breadcrumb\", () => {\n it(\"renders\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: `<ic-breadcrumb></ic-breadcrumb>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-breadcrumb role=\"listitem\">\n <mock:shadow-root>\n <div class=\"breadcrumb\">\n <span aria-hidden=\"true\" class=\"chevron\">\n svg\n </span>\n <slot></slot>\n </div>\n </mock:shadow-root>\n </ic-breadcrumb>\n `);\n });\n\n it(\"renders with page-title and href\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: `<ic-breadcrumb page-title=\"foo\" href=\"/\"></ic-breadcrumb>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-breadcrumb href=\"/\" page-title=\"foo\" role=\"listitem\">\n <mock:shadow-root>\n <div class=\"breadcrumb\">\n <span aria-hidden=\"true\" class=\"chevron\">\n svg\n </span>\n <ic-link class=\"breadcrumb-link\" href=\"/\">\n foo\n </ic-link>\n </div>\n </mock:shadow-root>\n </ic-breadcrumb>\n `);\n });\n\n it(\"renders with page-title, href, current\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: `<ic-breadcrumb page-title=\"foo\" href=\"/\" current=\"true\"></ic-breadcrumb>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-breadcrumb current=\"true\" href=\"/\" page-title=\"foo\" role=\"listitem\" aria-current=\"page\">\n <mock:shadow-root>\n <div class=\"breadcrumb\">\n <span aria-hidden=\"true\" class=\"chevron\">\n svg\n </span>\n <span class=\"current-page-container\">\n foo\n </span>\n </div>\n </mock:shadow-root>\n </ic-breadcrumb>\n `);\n });\n\n it(\"renders with icon\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: `\n <ic-breadcrumb page-title=\"foo\" href=\"/\" current=\"true\">\n <svg\n slot=\"icon\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12 6.19L17 10.69V18.5H15V12.5H9V18.5H7V10.69L12 6.19ZM12 3.5L2 12.5H5V20.5H11V14.5H13V20.5H19V12.5H22L12 3.5Z\"\n fill=\"currentColor\"\n ></path>\n </svg>\n </ic-breadcrumb>`,\n });\n\n expect(page.root).toEqualHtml(`\n <ic-breadcrumb current=\"true\" href=\"/\" page-title=\"foo\" aria-current=\"page\" role=\"listitem\">\n <mock:shadow-root>\n <div class=\"breadcrumb\">\n <span aria-hidden=\"true\" class=\"chevron\">\n svg\n </span>\n <span class=\"current-page-container\">\n <slot name=\"icon\"></slot>\n foo\n </span>\n </div>\n </mock:shadow-root>\n <svg fill=\"none\" height=\"24\" slot=\"icon\" viewBox=\"0 0 24 24\" width=\"24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 6.19L17 10.69V18.5H15V12.5H9V18.5H7V10.69L12 6.19ZM12 3.5L2 12.5H5V20.5H11V14.5H13V20.5H19V12.5H22L12 3.5Z\" fill=\"currentColor\"></path>\n </svg>\n </ic-breadcrumb>\n `);\n });\n\n it(\"should add the 'current-page' class when current prop is true\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: \"<ic-breadcrumb id='ic-breadcrumb' current=true><ic-link href='/'>Link</ic-link></ic-breadcrumb>\",\n });\n\n await page.rootInstance.setSlottedCurrentPageClass();\n\n expect(\n document.querySelector(\"ic-breadcrumb\").classList.contains(\"current-page\")\n ).toBeTruthy;\n });\n\n it(\"should call 'setFocus' when breadcrumb is focused\", async () => {\n const page = await newSpecPage({\n components: [Breadcrumb],\n html: `<ic-breadcrumb></ic-breadcrumb>`,\n });\n\n //Can't expect anything in this test - this is to increase code coverage only\n await page.rootInstance.setFocus().toHaveBeenCalled;\n });\n});\n"]}