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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1215) 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-5f391578.js → helpers-eb53c416.js} +96 -27
  8. package/dist/cjs/helpers-eb53c416.js.map +1 -0
  9. package/dist/cjs/ic-alert.cjs.entry.js +12 -35
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +6 -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 +16 -14
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +179 -104
  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 +42 -29
  24. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip.cjs.entry.js +19 -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-classification-banner.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +38 -24
  32. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-dialog.cjs.entry.js +295 -0
  34. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -0
  35. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  36. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js +19 -18
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer-link.cjs.entry.js +24 -17
  40. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer.cjs.entry.js +23 -21
  42. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-hero.cjs.entry.js +23 -21
  44. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +177 -0
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -0
  47. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +300 -161
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-input-label_2.cjs.entry.js +14 -16
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-link.cjs.entry.js +23 -23
  52. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-menu-group.cjs.entry.js +24 -0
  54. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -0
  55. package/dist/cjs/ic-menu-item.cjs.entry.js +122 -0
  56. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -0
  57. package/dist/cjs/ic-navigation-button.cjs.entry.js +20 -19
  58. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js +88 -58
  60. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js +50 -42
  62. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js +31 -37
  64. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-page-header.cjs.entry.js +25 -28
  66. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-pagination-item.cjs.entry.js +56 -0
  68. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -0
  69. package/dist/cjs/ic-pagination.cjs.entry.js +227 -0
  70. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -0
  71. package/dist/cjs/ic-popover-menu.cjs.entry.js +237 -0
  72. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -0
  73. package/dist/cjs/ic-radio-group.cjs.entry.js +43 -25
  74. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-radio-option.cjs.entry.js +40 -38
  76. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-search-bar.cjs.entry.js +181 -101
  78. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  80. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-select.cjs.entry.js +360 -177
  82. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-side-navigation.cjs.entry.js +116 -87
  84. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  86. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -6
  88. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-step.cjs.entry.js +10 -10
  90. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-stepper.cjs.entry.js +15 -15
  92. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-switch.cjs.entry.js +21 -19
  94. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-tab-context.cjs.entry.js +68 -32
  96. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-group.cjs.entry.js +10 -118
  98. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-panel.cjs.entry.js +15 -4
  100. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab.cjs.entry.js +32 -7
  102. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-text-field.cjs.entry.js +102 -72
  104. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  106. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-toast-region.cjs.entry.js +48 -0
  108. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -0
  109. package/dist/cjs/ic-toast.cjs.entry.js +169 -0
  110. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -0
  111. package/dist/cjs/ic-top-navigation.cjs.entry.js +52 -48
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-typography.cjs.entry.js +97 -5
  114. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  115. package/dist/cjs/{index-3ef30d9d.js → index-2a0c6769.js} +272 -44
  116. package/dist/cjs/index-2a0c6769.js.map +1 -0
  117. package/dist/cjs/loader.cjs.js +4 -3
  118. package/dist/cjs/loader.cjs.js.map +1 -1
  119. package/dist/cjs/{popper-11d5f714.js → popper-d7adcfc6.js} +10 -17
  120. package/dist/cjs/popper-d7adcfc6.js.map +1 -0
  121. package/dist/cjs/types-3eb02246.js.map +1 -1
  122. package/dist/collection/assets/error-icon.svg +2 -2
  123. package/dist/collection/assets/info-icon.svg +2 -2
  124. package/dist/collection/assets/neutral-icon.svg +2 -2
  125. package/dist/collection/assets/pagination-first-last.svg +3 -0
  126. package/dist/collection/assets/pagination-next-previous.svg +3 -0
  127. package/dist/collection/assets/success-icon.svg +2 -2
  128. package/dist/collection/assets/warning-icon.svg +2 -2
  129. package/dist/collection/collection-manifest.json +20 -11
  130. package/dist/collection/components/ic-alert/ic-alert.css +1 -1
  131. package/dist/collection/components/ic-alert/ic-alert.js +51 -62
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-alert/{ic-alert.test.a11y.js → test/a11y/ic-alert.test.a11y.js} +1 -1
  134. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -0
  135. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js +16 -0
  136. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -0
  137. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +182 -0
  138. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -0
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +8 -4
  140. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +5 -4
  141. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  142. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -0
  143. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js +68 -0
  144. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -0
  145. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +123 -0
  146. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -0
  147. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +19 -4
  148. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +30 -28
  149. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  150. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +118 -0
  151. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -0
  152. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +37 -31
  153. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group.test.a11y.js → test/a11y/ic-breadcrumb-group.test.a11y.js} +1 -1
  155. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -0
  156. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +1 -0
  157. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +41 -0
  158. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -0
  159. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +181 -0
  160. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -0
  161. package/dist/collection/components/ic-button/ic-button.css +23 -8
  162. package/dist/collection/components/ic-button/ic-button.js +270 -114
  163. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  164. package/dist/collection/components/ic-button/{ic-button.test.a11y.js → test/a11y/ic-button.test.a11y.js} +1 -1
  165. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -0
  166. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +198 -0
  167. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -0
  168. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +256 -0
  169. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -0
  170. package/dist/collection/components/ic-card/ic-card.css +35 -10
  171. package/dist/collection/components/ic-card/ic-card.js +123 -122
  172. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  173. package/dist/collection/components/ic-card/{ic-card.test.a11y.js → test/a11y/ic-card.test.a11y.js} +1 -1
  174. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -0
  175. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +23 -0
  176. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -0
  177. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +152 -0
  178. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -0
  179. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -8
  180. package/dist/collection/components/ic-checkbox/ic-checkbox.js +108 -76
  181. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  182. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  183. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +64 -67
  184. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  185. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.types.js.map +1 -1
  186. package/dist/collection/components/ic-checkbox-group/{ic-checkbox-group.test.a11y.js → test/a11y/ic-checkbox-group.test.a11y.js} +1 -1
  187. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -0
  188. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +201 -0
  189. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -0
  190. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +175 -0
  191. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -0
  192. package/dist/collection/components/ic-chip/ic-chip.css +11 -10
  193. package/dist/collection/components/ic-chip/ic-chip.js +56 -52
  194. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  195. package/dist/collection/components/ic-chip/{ic-chip.test.a11y.js → test/a11y/ic-chip.test.a11y.js} +1 -1
  196. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -0
  197. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +110 -0
  198. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -0
  199. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +4 -0
  200. package/dist/collection/components/ic-classification-banner/{ic-classification-banner.test.a11y.js → test/a11y/ic-classification-banner.test.a11y.js} +1 -1
  201. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -0
  202. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +140 -0
  203. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -0
  204. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  205. package/dist/collection/components/ic-data-entity/{ic-data-entity.test.a11y.js → test/a11y/ic-data-entity.test.a11y.js} +1 -1
  206. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -0
  207. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +161 -0
  208. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -0
  209. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  210. package/dist/collection/components/ic-data-row/ic-data-row.js +51 -37
  211. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  212. package/dist/collection/components/ic-data-row/{ic-data-row.test.a11y.js → test/a11y/ic-data-row.test.a11y.js} +1 -1
  213. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -0
  214. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +74 -0
  215. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -0
  216. package/dist/collection/components/ic-dialog/ic-dialog.css +592 -0
  217. package/dist/collection/components/ic-dialog/ic-dialog.js +640 -0
  218. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -0
  219. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +28 -0
  220. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -0
  221. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +207 -0
  222. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -0
  223. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +520 -0
  224. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -0
  225. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  226. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +24 -0
  227. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -0
  228. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  229. package/dist/collection/components/ic-footer/ic-footer.js +51 -49
  230. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  231. package/dist/collection/components/ic-footer/{ic-footer.test.a11y.js → test/a11y/ic-footer.test.a11y.js} +1 -1
  232. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -0
  233. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +50 -0
  234. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -0
  235. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +140 -0
  236. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -0
  237. package/dist/collection/components/ic-footer-link/ic-footer-link.css +36 -4
  238. package/dist/collection/components/ic-footer-link/ic-footer-link.js +112 -15
  239. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  240. package/dist/collection/components/ic-footer-link/{ic-footer-link.test.a11y.js → test/a11y/ic-footer-link.test.a11y.js} +1 -1
  241. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -0
  242. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +62 -0
  243. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -0
  244. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +19 -18
  245. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  246. 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
  247. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -0
  248. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +98 -0
  249. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -0
  250. package/dist/collection/components/ic-hero/ic-hero.css +23 -22
  251. package/dist/collection/components/ic-hero/ic-hero.js +97 -95
  252. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  253. package/dist/collection/components/ic-hero/{ic-hero.test.a11y.js → test/a11y/ic-hero.test.a11y.js} +1 -1
  254. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -0
  255. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +76 -0
  256. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -0
  257. package/dist/collection/components/ic-horizontal-scroll/assets/left-arrow.svg +3 -0
  258. package/dist/collection/components/ic-horizontal-scroll/assets/right-arrow.svg +3 -0
  259. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +535 -0
  260. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +232 -0
  261. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -0
  262. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +34 -0
  263. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -0
  264. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +180 -0
  265. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -0
  266. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +38 -9
  267. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +45 -45
  268. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  269. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +117 -0
  270. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -0
  271. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +38 -0
  272. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -0
  273. package/dist/collection/components/ic-input-label/ic-input-label.css +0 -4
  274. package/dist/collection/components/ic-input-label/ic-input-label.js +51 -51
  275. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  276. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +98 -0
  277. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -0
  278. package/dist/collection/components/ic-input-validation/ic-input-validation.css +0 -8
  279. package/dist/collection/components/ic-input-validation/ic-input-validation.js +41 -41
  280. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  281. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +89 -0
  282. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -0
  283. package/dist/collection/components/ic-link/ic-link.css +16 -3
  284. package/dist/collection/components/ic-link/ic-link.js +56 -52
  285. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  286. package/dist/collection/components/ic-link/{ic-link.test.a11y.js → test/a11y/ic-link.test.a11y.js} +1 -1
  287. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -0
  288. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +203 -0
  289. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -0
  290. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -5
  291. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +112 -101
  292. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  293. package/dist/collection/components/ic-loading-indicator/{ic-loading-indicator.test.a11y.js → test/a11y/ic-loading-indicator.test.a11y.js} +1 -1
  294. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -0
  295. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js +34 -0
  296. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -0
  297. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +141 -0
  298. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -0
  299. package/dist/collection/components/ic-menu/ic-menu.css +52 -11
  300. package/dist/collection/components/ic-menu/ic-menu.js +521 -268
  301. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  302. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +657 -0
  303. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -0
  304. package/dist/collection/components/ic-menu-group/ic-menu-group.css +465 -0
  305. package/dist/collection/components/ic-menu-group/ic-menu-group.js +45 -0
  306. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -0
  307. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +94 -0
  308. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -0
  309. package/dist/collection/components/ic-menu-item/ic-menu-item.css +628 -0
  310. package/dist/collection/components/ic-menu-item/ic-menu-item.js +394 -0
  311. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -0
  312. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js +2 -0
  313. package/dist/collection/components/ic-menu-item/ic-menu-item.types.js.map +1 -0
  314. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +108 -0
  315. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -0
  316. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  317. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +58 -57
  318. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  319. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +84 -0
  320. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -0
  321. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +8 -11
  322. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +102 -72
  323. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  324. package/dist/collection/components/ic-navigation-group/{ic-navigation-group.test.a11y.js → test/a11y/ic-navigation-group.test.a11y.js} +1 -1
  325. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -0
  326. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +309 -0
  327. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -0
  328. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +70 -20
  329. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +181 -83
  330. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  331. package/dist/collection/components/ic-navigation-item/{ic-navigation-item.test.a11y.js → test/a11y/ic-navigation-item.test.a11y.js} +1 -1
  332. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -0
  333. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +118 -0
  334. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -0
  335. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +23 -18
  336. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +34 -40
  337. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  338. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +29 -0
  339. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -0
  340. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +176 -0
  341. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -0
  342. package/dist/collection/components/ic-page-header/ic-page-header.css +12 -1
  343. package/dist/collection/components/ic-page-header/ic-page-header.js +66 -69
  344. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  345. package/dist/collection/components/ic-page-header/{ic-page-header.test.a11y.js → test/a11y/ic-page-header.test.a11y.js} +1 -1
  346. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -0
  347. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +177 -0
  348. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -0
  349. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +284 -0
  350. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -0
  351. package/dist/collection/components/ic-pagination/ic-pagination.css +486 -0
  352. package/dist/collection/components/ic-pagination/ic-pagination.js +498 -0
  353. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -0
  354. package/dist/collection/components/ic-pagination/ic-pagination.types.js +2 -0
  355. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +1 -0
  356. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +11 -0
  357. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -0
  358. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +128 -0
  359. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -0
  360. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +335 -0
  361. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -0
  362. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +581 -0
  363. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +229 -0
  364. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -0
  365. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js +2 -0
  366. package/dist/collection/components/ic-pagination-item/ic-pagination-item.types.js.map +1 -0
  367. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +536 -0
  368. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +433 -0
  369. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -0
  370. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +13 -0
  371. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -0
  372. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +30 -0
  373. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -0
  374. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +381 -0
  375. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -0
  376. package/dist/collection/components/ic-radio-group/ic-radio-group.css +4 -4
  377. package/dist/collection/components/ic-radio-group/ic-radio-group.js +104 -80
  378. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  379. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js +2 -0
  380. package/dist/collection/components/ic-radio-group/ic-radio-group.types.js.map +1 -0
  381. package/dist/collection/components/ic-radio-group/{ic-radio-group.test.a11y.js → test/a11y/ic-radio-group.test.a11y.js} +1 -1
  382. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -0
  383. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +343 -0
  384. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -0
  385. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +303 -0
  386. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -0
  387. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -6
  388. package/dist/collection/components/ic-radio-option/ic-radio-option.js +112 -96
  389. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  390. package/dist/collection/components/ic-search-bar/ic-search-bar.css +18 -14
  391. package/dist/collection/components/ic-search-bar/ic-search-bar.js +496 -299
  392. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  393. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  394. package/dist/collection/components/ic-search-bar/{ic-search-bar.test.a11y.js → test/a11y/ic-search-bar.test.a11y.js} +1 -1
  395. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -0
  396. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +1099 -0
  397. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -0
  398. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +584 -0
  399. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -0
  400. package/dist/collection/components/ic-section-container/ic-section-container.css +1 -0
  401. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +69 -0
  402. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -0
  403. package/dist/collection/components/ic-select/ic-select.css +20 -19
  404. package/dist/collection/components/ic-select/ic-select.js +641 -356
  405. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  406. package/dist/collection/components/ic-select/{ic-select.test.a11y.js → test/a11y/ic-select.test.a11y.js} +1 -1
  407. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -0
  408. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1768 -0
  409. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -0
  410. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1296 -0
  411. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -0
  412. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +55 -46
  413. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +156 -127
  414. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  415. package/dist/collection/components/ic-side-navigation/{ic-side-navigation.test.a11y.js → test/a11y/ic-side-navigation.test.a11y.js} +1 -1
  416. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -0
  417. package/dist/collection/components/ic-side-navigation/{ic-side-navigation-test-examples.js → test/basic/ic-side-navigation-test-examples.js} +90 -0
  418. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +1 -0
  419. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +412 -0
  420. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -0
  421. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +470 -0
  422. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -0
  423. package/dist/collection/components/ic-skeleton/ic-skeleton.js +22 -22
  424. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  425. package/dist/collection/components/ic-skeleton/{ic-skeleton.test.a11y.js → test/a11y/ic-skeleton.test.a11y.js} +1 -1
  426. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -0
  427. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +89 -0
  428. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -0
  429. package/dist/collection/components/ic-status-tag/ic-status-tag.css +10 -13
  430. package/dist/collection/components/ic-status-tag/ic-status-tag.js +40 -40
  431. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  432. package/dist/collection/components/ic-status-tag/{ic-status-tag.test.a11y.js → test/a11y/ic-status-tag.test.a11y.js} +1 -1
  433. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -0
  434. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +43 -0
  435. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -0
  436. package/dist/collection/components/ic-step/ic-step.css +6 -6
  437. package/dist/collection/components/ic-step/ic-step.js +127 -127
  438. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  439. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +176 -0
  440. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -0
  441. package/dist/collection/components/ic-stepper/ic-stepper.js +41 -41
  442. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  443. package/dist/collection/components/ic-stepper/{ic-stepper.test.a11y.js → test/a11y/ic-stepper.test.a11y.js} +1 -1
  444. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -0
  445. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -0
  446. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +49 -0
  447. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -0
  448. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +706 -0
  449. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -0
  450. package/dist/collection/components/ic-switch/ic-switch.css +4 -4
  451. package/dist/collection/components/ic-switch/ic-switch.js +75 -73
  452. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  453. package/dist/collection/components/ic-switch/{ic-switch.test.a11y.js → test/a11y/ic-switch.test.a11y.js} +1 -1
  454. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -0
  455. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +104 -0
  456. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -0
  457. package/dist/collection/components/ic-tab/ic-tab.css +4 -4
  458. package/dist/collection/components/ic-tab/ic-tab.js +114 -31
  459. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  460. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +32 -0
  461. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -0
  462. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +159 -0
  463. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -0
  464. package/dist/collection/components/ic-tab-context/ic-tab-context.js +157 -77
  465. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  466. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -0
  467. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +317 -0
  468. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -0
  469. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +390 -0
  470. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -0
  471. package/dist/collection/components/ic-tab-group/ic-tab-group.css +6 -120
  472. package/dist/collection/components/ic-tab-group/ic-tab-group.js +40 -180
  473. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  474. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +0 -4
  475. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +89 -34
  476. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  477. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +65 -0
  478. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  479. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -10
  480. package/dist/collection/components/ic-text-field/ic-text-field.js +456 -345
  481. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  482. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -0
  483. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +98 -0
  484. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -0
  485. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +236 -0
  486. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -0
  487. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +310 -0
  488. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -0
  489. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  490. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +72 -0
  491. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -0
  492. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +77 -0
  493. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -0
  494. package/dist/collection/components/ic-toast/ic-toast.css +602 -0
  495. package/dist/collection/components/ic-toast/ic-toast.js +386 -0
  496. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -0
  497. package/dist/collection/components/ic-toast/ic-toast.types.js +2 -0
  498. package/dist/collection/components/ic-toast/ic-toast.types.js.map +1 -0
  499. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js +16 -0
  500. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -0
  501. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js +82 -0
  502. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -0
  503. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +278 -0
  504. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -0
  505. package/dist/collection/components/ic-toast-region/ic-toast-region.js +81 -0
  506. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -0
  507. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +62 -0
  508. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -0
  509. package/dist/collection/components/ic-tooltip/ic-tooltip.css +27 -15
  510. package/dist/collection/components/ic-tooltip/ic-tooltip.js +116 -64
  511. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  512. package/dist/collection/components/ic-tooltip/{ic-tooltip.test.a11y.js → test/a11y/ic-tooltip.test.a11y.js} +1 -1
  513. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -0
  514. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +115 -0
  515. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -0
  516. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +128 -0
  517. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -0
  518. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +25 -48
  519. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +108 -86
  520. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  521. package/dist/collection/components/ic-top-navigation/{ic-top-navigation.test.a11y.js → test/a11y/ic-top-navigation.test.a11y.js} +8 -1
  522. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -0
  523. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +61 -0
  524. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -0
  525. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +242 -0
  526. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -0
  527. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +299 -0
  528. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -0
  529. package/dist/collection/components/ic-typography/ic-typography.css +58 -1
  530. package/dist/collection/components/ic-typography/ic-typography.js +140 -22
  531. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  532. package/dist/collection/components/ic-typography/{ic-typography.test.a11y.js → test/a11y/ic-typography.test.a11y.js} +1 -1
  533. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -0
  534. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +39 -0
  535. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -0
  536. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +296 -0
  537. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -0
  538. package/dist/collection/testspec.setup.js +21 -0
  539. package/dist/collection/testspec.setup.js.map +1 -1
  540. package/dist/collection/utils/constants.js +28 -0
  541. package/dist/collection/utils/constants.js.map +1 -1
  542. package/dist/collection/utils/helpers.js +31 -27
  543. package/dist/collection/utils/helpers.js.map +1 -1
  544. package/dist/collection/utils/types.js.map +1 -1
  545. package/dist/components/OpenInNew.js +5 -0
  546. package/dist/components/OpenInNew.js.map +1 -0
  547. package/dist/components/helpers.js +89 -27
  548. package/dist/components/helpers.js.map +1 -1
  549. package/dist/components/ic-alert.js +1 -136
  550. package/dist/components/ic-alert.js.map +1 -1
  551. package/dist/components/ic-alert2.js +117 -0
  552. package/dist/components/ic-alert2.js.map +1 -0
  553. package/dist/components/ic-back-to-top.js +9 -8
  554. package/dist/components/ic-back-to-top.js.map +1 -1
  555. package/dist/components/ic-breadcrumb-group.js +39 -33
  556. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  557. package/dist/components/ic-breadcrumb2.js +16 -14
  558. package/dist/components/ic-breadcrumb2.js.map +1 -1
  559. package/dist/components/ic-button2.js +101 -45
  560. package/dist/components/ic-button2.js.map +1 -1
  561. package/dist/components/ic-card.js +54 -53
  562. package/dist/components/ic-card.js.map +1 -1
  563. package/dist/components/ic-checkbox-group.js +28 -28
  564. package/dist/components/ic-checkbox-group.js.map +1 -1
  565. package/dist/components/ic-checkbox.js +49 -35
  566. package/dist/components/ic-checkbox.js.map +1 -1
  567. package/dist/components/ic-chip.js +24 -20
  568. package/dist/components/ic-chip.js.map +1 -1
  569. package/dist/components/ic-classification-banner.js +1 -1
  570. package/dist/components/ic-classification-banner.js.map +1 -1
  571. package/dist/components/ic-data-entity.js +2 -2
  572. package/dist/components/ic-data-entity.js.map +1 -1
  573. package/dist/components/ic-data-row.js +39 -25
  574. package/dist/components/ic-data-row.js.map +1 -1
  575. package/dist/components/ic-dialog.d.ts +11 -0
  576. package/dist/components/ic-dialog.js +356 -0
  577. package/dist/components/ic-dialog.js.map +1 -0
  578. package/dist/components/ic-divider2.js +3 -3
  579. package/dist/components/ic-divider2.js.map +1 -1
  580. package/dist/components/ic-footer-link-group.js +22 -21
  581. package/dist/components/ic-footer-link-group.js.map +1 -1
  582. package/dist/components/ic-footer-link.js +31 -19
  583. package/dist/components/ic-footer-link.js.map +1 -1
  584. package/dist/components/ic-footer.js +25 -23
  585. package/dist/components/ic-footer.js.map +1 -1
  586. package/dist/components/ic-hero.js +30 -28
  587. package/dist/components/ic-hero.js.map +1 -1
  588. package/dist/components/ic-horizontal-scroll.d.ts +11 -0
  589. package/dist/components/ic-horizontal-scroll.js +8 -0
  590. package/dist/components/ic-horizontal-scroll.js.map +1 -0
  591. package/dist/components/ic-horizontal-scroll2.js +218 -0
  592. package/dist/components/ic-horizontal-scroll2.js.map +1 -0
  593. package/dist/components/ic-input-component-container2.js +11 -12
  594. package/dist/components/ic-input-component-container2.js.map +1 -1
  595. package/dist/components/ic-input-container2.js +1 -1
  596. package/dist/components/ic-input-label2.js +11 -11
  597. package/dist/components/ic-input-label2.js.map +1 -1
  598. package/dist/components/ic-input-validation2.js +9 -11
  599. package/dist/components/ic-input-validation2.js.map +1 -1
  600. package/dist/components/ic-link2.js +26 -26
  601. package/dist/components/ic-link2.js.map +1 -1
  602. package/dist/components/ic-loading-indicator2.js +49 -38
  603. package/dist/components/ic-loading-indicator2.js.map +1 -1
  604. package/dist/components/ic-menu-group.d.ts +11 -0
  605. package/dist/components/ic-menu-group.js +46 -0
  606. package/dist/components/ic-menu-group.js.map +1 -0
  607. package/dist/components/ic-menu-item.d.ts +11 -0
  608. package/dist/components/ic-menu-item.js +8 -0
  609. package/dist/components/ic-menu-item.js.map +1 -0
  610. package/dist/components/ic-menu-item2.js +169 -0
  611. package/dist/components/ic-menu-item2.js.map +1 -0
  612. package/dist/components/ic-menu2.js +326 -169
  613. package/dist/components/ic-menu2.js.map +1 -1
  614. package/dist/components/ic-navigation-button.js +26 -25
  615. package/dist/components/ic-navigation-button.js.map +1 -1
  616. package/dist/components/ic-navigation-group.js +91 -61
  617. package/dist/components/ic-navigation-group.js.map +1 -1
  618. package/dist/components/ic-navigation-item.js +62 -49
  619. package/dist/components/ic-navigation-item.js.map +1 -1
  620. package/dist/components/ic-navigation-menu2.js +33 -39
  621. package/dist/components/ic-navigation-menu2.js.map +1 -1
  622. package/dist/components/ic-page-header.js +57 -36
  623. package/dist/components/ic-page-header.js.map +1 -1
  624. package/dist/components/ic-pagination-item.d.ts +11 -0
  625. package/dist/components/ic-pagination-item.js +8 -0
  626. package/dist/components/ic-pagination-item.js.map +1 -0
  627. package/dist/components/ic-pagination-item2.js +81 -0
  628. package/dist/components/ic-pagination-item2.js.map +1 -0
  629. package/dist/components/ic-pagination.d.ts +11 -0
  630. package/dist/components/ic-pagination.js +288 -0
  631. package/dist/components/ic-pagination.js.map +1 -0
  632. package/dist/components/ic-popover-menu.d.ts +11 -0
  633. package/dist/components/ic-popover-menu.js +290 -0
  634. package/dist/components/ic-popover-menu.js.map +1 -0
  635. package/dist/components/ic-radio-group.js +48 -30
  636. package/dist/components/ic-radio-group.js.map +1 -1
  637. package/dist/components/ic-radio-option.js +46 -44
  638. package/dist/components/ic-radio-option.js.map +1 -1
  639. package/dist/components/ic-search-bar.js +206 -122
  640. package/dist/components/ic-search-bar.js.map +1 -1
  641. package/dist/components/ic-section-container2.js +2 -2
  642. package/dist/components/ic-section-container2.js.map +1 -1
  643. package/dist/components/ic-select.js +391 -200
  644. package/dist/components/ic-select.js.map +1 -1
  645. package/dist/components/ic-side-navigation.js +123 -94
  646. package/dist/components/ic-side-navigation.js.map +1 -1
  647. package/dist/components/ic-skeleton.js +6 -6
  648. package/dist/components/ic-skeleton.js.map +1 -1
  649. package/dist/components/ic-status-tag.js +9 -9
  650. package/dist/components/ic-status-tag.js.map +1 -1
  651. package/dist/components/ic-step.js +18 -18
  652. package/dist/components/ic-step.js.map +1 -1
  653. package/dist/components/ic-stepper.js +21 -21
  654. package/dist/components/ic-stepper.js.map +1 -1
  655. package/dist/components/ic-switch.js +26 -24
  656. package/dist/components/ic-switch.js.map +1 -1
  657. package/dist/components/ic-tab-context.js +73 -36
  658. package/dist/components/ic-tab-context.js.map +1 -1
  659. package/dist/components/ic-tab-group.js +33 -127
  660. package/dist/components/ic-tab-group.js.map +1 -1
  661. package/dist/components/ic-tab-panel.js +18 -7
  662. package/dist/components/ic-tab-panel.js.map +1 -1
  663. package/dist/components/ic-tab.js +33 -8
  664. package/dist/components/ic-tab.js.map +1 -1
  665. package/dist/components/ic-text-field2.js +132 -97
  666. package/dist/components/ic-text-field2.js.map +1 -1
  667. package/dist/components/ic-theme.js +2 -2
  668. package/dist/components/ic-theme.js.map +1 -1
  669. package/dist/components/ic-toast-region.d.ts +11 -0
  670. package/dist/components/ic-toast-region.js +63 -0
  671. package/dist/components/ic-toast-region.js.map +1 -0
  672. package/dist/components/ic-toast.d.ts +11 -0
  673. package/dist/components/ic-toast.js +218 -0
  674. package/dist/components/ic-toast.js.map +1 -0
  675. package/dist/components/ic-tooltip2.js +1854 -49
  676. package/dist/components/ic-tooltip2.js.map +1 -1
  677. package/dist/components/ic-top-navigation.js +70 -59
  678. package/dist/components/ic-top-navigation.js.map +1 -1
  679. package/dist/components/ic-typography2.js +101 -6
  680. package/dist/components/ic-typography2.js.map +1 -1
  681. package/dist/components/index.d.ts +9 -52
  682. package/dist/components/index.js +1 -50
  683. package/dist/components/index.js.map +1 -1
  684. package/dist/components/types.js.map +1 -1
  685. package/dist/core/core.css +47 -3
  686. package/dist/core/core.esm.js +1 -1
  687. package/dist/core/core.esm.js.map +1 -1
  688. package/dist/core/index.esm.js.map +1 -1
  689. package/dist/core/p-0330cb21.entry.js +2 -0
  690. package/dist/core/p-0330cb21.entry.js.map +1 -0
  691. package/dist/core/p-03d1a4a1.entry.js +2 -0
  692. package/dist/core/p-03d1a4a1.entry.js.map +1 -0
  693. package/dist/core/p-041604fc.entry.js +2 -0
  694. package/dist/core/p-041604fc.entry.js.map +1 -0
  695. package/dist/core/{p-24240e11.js → p-06321d19.js} +2 -2
  696. package/dist/core/p-06321d19.js.map +1 -0
  697. package/dist/core/p-1959ec8d.entry.js +2 -0
  698. package/dist/core/p-1959ec8d.entry.js.map +1 -0
  699. package/dist/core/p-1b9b8355.entry.js +2 -0
  700. package/dist/core/p-1b9b8355.entry.js.map +1 -0
  701. package/dist/core/p-26d5fd0f.entry.js +2 -0
  702. package/dist/core/p-26d5fd0f.entry.js.map +1 -0
  703. package/dist/core/p-27d42378.entry.js +2 -0
  704. package/dist/core/p-27d42378.entry.js.map +1 -0
  705. package/dist/core/p-2ae7687a.entry.js +2 -0
  706. package/dist/core/p-2ae7687a.entry.js.map +1 -0
  707. package/dist/core/p-332690f0.entry.js +2 -0
  708. package/dist/core/p-332690f0.entry.js.map +1 -0
  709. package/dist/core/p-39adc795.entry.js +2 -0
  710. package/dist/core/p-39adc795.entry.js.map +1 -0
  711. package/dist/core/{p-6be5e06b.entry.js → p-3adb1167.entry.js} +2 -2
  712. package/dist/core/p-3adb1167.entry.js.map +1 -0
  713. package/dist/core/p-429e4d24.entry.js +2 -0
  714. package/dist/core/p-429e4d24.entry.js.map +1 -0
  715. package/dist/core/{p-ccd078a6.entry.js → p-441e7d98.entry.js} +2 -2
  716. package/dist/core/p-441e7d98.entry.js.map +1 -0
  717. package/dist/core/p-44512ebe.js.map +1 -1
  718. package/dist/core/p-48301eff.entry.js +2 -0
  719. package/dist/core/p-48301eff.entry.js.map +1 -0
  720. package/dist/core/p-5144e840.entry.js +2 -0
  721. package/dist/core/p-5144e840.entry.js.map +1 -0
  722. package/dist/core/p-5c846d0a.entry.js +2 -0
  723. package/dist/core/p-5c846d0a.entry.js.map +1 -0
  724. package/dist/core/p-5c9c940f.entry.js +2 -0
  725. package/dist/core/p-5c9c940f.entry.js.map +1 -0
  726. package/dist/core/p-5dd0b02e.js +2 -0
  727. package/dist/core/p-5dd0b02e.js.map +1 -0
  728. package/dist/core/{p-c2710b13.entry.js → p-65750560.entry.js} +2 -2
  729. package/dist/core/p-65750560.entry.js.map +1 -0
  730. package/dist/core/p-6840589f.entry.js +2 -0
  731. package/dist/core/p-6840589f.entry.js.map +1 -0
  732. package/dist/core/p-69920d86.js +3 -0
  733. package/dist/core/p-69920d86.js.map +1 -0
  734. package/dist/core/p-6bad30aa.entry.js +2 -0
  735. package/dist/core/p-6bad30aa.entry.js.map +1 -0
  736. package/dist/core/p-6f57b13c.js.map +1 -1
  737. package/dist/core/p-7536dd31.entry.js +2 -0
  738. package/dist/core/p-7536dd31.entry.js.map +1 -0
  739. package/dist/core/p-7ae091ef.entry.js +2 -0
  740. package/dist/core/p-7ae091ef.entry.js.map +1 -0
  741. package/dist/core/p-7c0dcd00.js +2 -0
  742. package/dist/core/p-7c0dcd00.js.map +1 -0
  743. package/dist/core/p-7c46caf2.entry.js +2 -0
  744. package/dist/core/p-7c46caf2.entry.js.map +1 -0
  745. package/dist/core/{p-dd194ba9.entry.js → p-83d5bcae.entry.js} +2 -2
  746. package/dist/core/p-83d5bcae.entry.js.map +1 -0
  747. package/dist/core/p-892d9d9f.entry.js +2 -0
  748. package/dist/core/p-892d9d9f.entry.js.map +1 -0
  749. package/dist/core/p-8991f656.entry.js +2 -0
  750. package/dist/core/p-8991f656.entry.js.map +1 -0
  751. package/dist/core/p-8c45ab61.entry.js +2 -0
  752. package/dist/core/p-8c45ab61.entry.js.map +1 -0
  753. package/dist/core/p-8c7f4343.js.map +1 -1
  754. package/dist/core/p-8ca80000.entry.js +2 -0
  755. package/dist/core/p-8ca80000.entry.js.map +1 -0
  756. package/dist/core/p-8d4f7027.js +2 -0
  757. package/dist/core/p-8d4f7027.js.map +1 -0
  758. package/dist/core/p-90d3a41b.entry.js +2 -0
  759. package/dist/core/p-90d3a41b.entry.js.map +1 -0
  760. package/dist/core/p-95992c98.entry.js +2 -0
  761. package/dist/core/p-95992c98.entry.js.map +1 -0
  762. package/dist/core/p-96b71172.entry.js +2 -0
  763. package/dist/core/p-96b71172.entry.js.map +1 -0
  764. package/dist/core/{p-a2d3e955.entry.js → p-96bcd466.entry.js} +2 -2
  765. package/dist/core/p-96bcd466.entry.js.map +1 -0
  766. package/dist/core/p-9e551fe9.entry.js +2 -0
  767. package/dist/core/p-9e551fe9.entry.js.map +1 -0
  768. package/dist/core/{p-0672c783.entry.js → p-a29fe0c6.entry.js} +2 -2
  769. package/dist/core/p-a29fe0c6.entry.js.map +1 -0
  770. package/dist/core/{p-eaf714a3.entry.js → p-a588886f.entry.js} +2 -2
  771. package/dist/core/p-a588886f.entry.js.map +1 -0
  772. package/dist/core/{p-0f773f37.entry.js → p-a8b94619.entry.js} +2 -2
  773. package/dist/core/p-a8b94619.entry.js.map +1 -0
  774. package/dist/core/p-adceb0cf.entry.js +2 -0
  775. package/dist/core/p-adceb0cf.entry.js.map +1 -0
  776. package/dist/core/p-b698b8ad.entry.js +2 -0
  777. package/dist/core/p-b698b8ad.entry.js.map +1 -0
  778. package/dist/core/p-b6c538ea.entry.js +2 -0
  779. package/dist/core/p-b6c538ea.entry.js.map +1 -0
  780. package/dist/core/p-c012b867.entry.js +2 -0
  781. package/dist/core/p-c012b867.entry.js.map +1 -0
  782. package/dist/core/p-c5716cbc.entry.js +2 -0
  783. package/dist/core/p-c5716cbc.entry.js.map +1 -0
  784. package/dist/core/p-ca6d834e.entry.js +2 -0
  785. package/dist/core/p-ca6d834e.entry.js.map +1 -0
  786. package/dist/core/{p-97d4b6cd.entry.js → p-cbbf4b05.entry.js} +2 -2
  787. package/dist/core/p-cbbf4b05.entry.js.map +1 -0
  788. package/dist/core/p-ce791694.entry.js +2 -0
  789. package/dist/core/p-ce791694.entry.js.map +1 -0
  790. package/dist/core/p-cef93d12.entry.js +2 -0
  791. package/dist/core/p-cef93d12.entry.js.map +1 -0
  792. package/dist/core/p-d2215b72.entry.js +2 -0
  793. package/dist/core/p-d2215b72.entry.js.map +1 -0
  794. package/dist/core/p-e0ee714a.entry.js +2 -0
  795. package/dist/core/p-e0ee714a.entry.js.map +1 -0
  796. package/dist/core/p-e6370b7e.entry.js +2 -0
  797. package/dist/core/p-e6370b7e.entry.js.map +1 -0
  798. package/dist/core/p-ee11e185.entry.js +2 -0
  799. package/dist/core/p-ee11e185.entry.js.map +1 -0
  800. package/dist/core/p-f24814b8.entry.js +2 -0
  801. package/dist/core/p-f24814b8.entry.js.map +1 -0
  802. package/dist/core/p-f665242d.entry.js +2 -0
  803. package/dist/core/p-f665242d.entry.js.map +1 -0
  804. package/dist/core/p-f7695299.entry.js +2 -0
  805. package/dist/core/p-f7695299.entry.js.map +1 -0
  806. package/dist/core/p-f923d11b.entry.js +2 -0
  807. package/dist/core/p-f923d11b.entry.js.map +1 -0
  808. package/dist/esm/OpenInNew-67a881e0.js +5 -0
  809. package/dist/esm/OpenInNew-67a881e0.js.map +1 -0
  810. package/dist/esm/chevron-icon-7927f709.js +8 -0
  811. package/dist/esm/chevron-icon-7927f709.js.map +1 -0
  812. package/dist/esm/core.js +7 -3
  813. package/dist/esm/core.js.map +1 -1
  814. package/dist/esm/{helpers-3aa2f5a5.js → helpers-85903813.js} +90 -28
  815. package/dist/esm/helpers-85903813.js.map +1 -0
  816. package/dist/esm/ic-alert.entry.js +12 -35
  817. package/dist/esm/ic-alert.entry.js.map +1 -1
  818. package/dist/esm/ic-back-to-top.entry.js +6 -5
  819. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  820. package/dist/esm/ic-breadcrumb-group.entry.js +39 -33
  821. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  822. package/dist/esm/ic-breadcrumb.entry.js +16 -14
  823. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  824. package/dist/esm/ic-button_3.entry.js +179 -104
  825. package/dist/esm/ic-button_3.entry.js.map +1 -1
  826. package/dist/esm/ic-card.entry.js +46 -45
  827. package/dist/esm/ic-card.entry.js.map +1 -1
  828. package/dist/esm/ic-checkbox-group.entry.js +24 -23
  829. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  830. package/dist/esm/ic-checkbox.entry.js +42 -29
  831. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  832. package/dist/esm/ic-chip.entry.js +19 -15
  833. package/dist/esm/ic-chip.entry.js.map +1 -1
  834. package/dist/esm/ic-classification-banner.entry.js +1 -1
  835. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  836. package/dist/esm/ic-data-entity.entry.js +2 -2
  837. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  838. package/dist/esm/ic-data-row.entry.js +38 -24
  839. package/dist/esm/ic-data-row.entry.js.map +1 -1
  840. package/dist/esm/ic-dialog.entry.js +291 -0
  841. package/dist/esm/ic-dialog.entry.js.map +1 -0
  842. package/dist/esm/ic-divider.entry.js +3 -3
  843. package/dist/esm/ic-divider.entry.js.map +1 -1
  844. package/dist/esm/ic-footer-link-group.entry.js +19 -18
  845. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  846. package/dist/esm/ic-footer-link.entry.js +24 -17
  847. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  848. package/dist/esm/ic-footer.entry.js +23 -21
  849. package/dist/esm/ic-footer.entry.js.map +1 -1
  850. package/dist/esm/ic-hero.entry.js +23 -21
  851. package/dist/esm/ic-hero.entry.js.map +1 -1
  852. package/dist/esm/ic-horizontal-scroll.entry.js +173 -0
  853. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -0
  854. package/dist/esm/ic-input-component-container_3.entry.js +299 -160
  855. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  856. package/dist/esm/ic-input-label_2.entry.js +11 -13
  857. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  858. package/dist/esm/ic-link.entry.js +23 -23
  859. package/dist/esm/ic-link.entry.js.map +1 -1
  860. package/dist/esm/ic-menu-group.entry.js +20 -0
  861. package/dist/esm/ic-menu-group.entry.js.map +1 -0
  862. package/dist/esm/ic-menu-item.entry.js +118 -0
  863. package/dist/esm/ic-menu-item.entry.js.map +1 -0
  864. package/dist/esm/ic-navigation-button.entry.js +20 -19
  865. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  866. package/dist/esm/ic-navigation-group.entry.js +88 -58
  867. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  868. package/dist/esm/ic-navigation-item.entry.js +50 -42
  869. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  870. package/dist/esm/ic-navigation-menu.entry.js +31 -37
  871. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  872. package/dist/esm/ic-page-header.entry.js +25 -28
  873. package/dist/esm/ic-page-header.entry.js.map +1 -1
  874. package/dist/esm/ic-pagination-item.entry.js +52 -0
  875. package/dist/esm/ic-pagination-item.entry.js.map +1 -0
  876. package/dist/esm/ic-pagination.entry.js +223 -0
  877. package/dist/esm/ic-pagination.entry.js.map +1 -0
  878. package/dist/esm/ic-popover-menu.entry.js +233 -0
  879. package/dist/esm/ic-popover-menu.entry.js.map +1 -0
  880. package/dist/esm/ic-radio-group.entry.js +43 -25
  881. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  882. package/dist/esm/ic-radio-option.entry.js +40 -38
  883. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  884. package/dist/esm/ic-search-bar.entry.js +181 -101
  885. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  886. package/dist/esm/ic-section-container.entry.js +2 -2
  887. package/dist/esm/ic-section-container.entry.js.map +1 -1
  888. package/dist/esm/ic-select.entry.js +360 -177
  889. package/dist/esm/ic-select.entry.js.map +1 -1
  890. package/dist/esm/ic-side-navigation.entry.js +116 -87
  891. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  892. package/dist/esm/ic-skeleton.entry.js +4 -4
  893. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  894. package/dist/esm/ic-status-tag.entry.js +6 -6
  895. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  896. package/dist/esm/ic-step.entry.js +10 -10
  897. package/dist/esm/ic-step.entry.js.map +1 -1
  898. package/dist/esm/ic-stepper.entry.js +15 -15
  899. package/dist/esm/ic-stepper.entry.js.map +1 -1
  900. package/dist/esm/ic-switch.entry.js +21 -19
  901. package/dist/esm/ic-switch.entry.js.map +1 -1
  902. package/dist/esm/ic-tab-context.entry.js +68 -32
  903. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  904. package/dist/esm/ic-tab-group.entry.js +10 -118
  905. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  906. package/dist/esm/ic-tab-panel.entry.js +15 -4
  907. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  908. package/dist/esm/ic-tab.entry.js +32 -7
  909. package/dist/esm/ic-tab.entry.js.map +1 -1
  910. package/dist/esm/ic-text-field.entry.js +102 -72
  911. package/dist/esm/ic-text-field.entry.js.map +1 -1
  912. package/dist/esm/ic-theme.entry.js +2 -2
  913. package/dist/esm/ic-theme.entry.js.map +1 -1
  914. package/dist/esm/ic-toast-region.entry.js +44 -0
  915. package/dist/esm/ic-toast-region.entry.js.map +1 -0
  916. package/dist/esm/ic-toast.entry.js +165 -0
  917. package/dist/esm/ic-toast.entry.js.map +1 -0
  918. package/dist/esm/ic-top-navigation.entry.js +52 -48
  919. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  920. package/dist/esm/ic-typography.entry.js +97 -5
  921. package/dist/esm/ic-typography.entry.js.map +1 -1
  922. package/dist/esm/{index-1500de1f.js → index-fd30b77e.js} +271 -45
  923. package/dist/esm/index-fd30b77e.js.map +1 -0
  924. package/dist/esm/loader.js +4 -3
  925. package/dist/esm/loader.js.map +1 -1
  926. package/dist/esm/polyfills/css-shim.js +1 -1
  927. package/dist/{components/popper.js → esm/popper-15e448b4.js} +10 -17
  928. package/dist/esm/popper-15e448b4.js.map +1 -0
  929. package/dist/esm/types-dd515332.js.map +1 -1
  930. package/dist/types/components/ic-alert/ic-alert.d.ts +13 -13
  931. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +8 -8
  932. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +6 -6
  933. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.types.d.ts +1 -1
  934. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +16 -9
  935. package/dist/types/components/ic-button/ic-button.d.ts +62 -32
  936. package/dist/types/components/ic-button/ic-button.types.d.ts +4 -4
  937. package/dist/types/components/ic-card/ic-card.d.ts +32 -32
  938. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +29 -23
  939. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +14 -15
  940. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +5 -0
  941. package/dist/types/components/ic-chip/ic-chip.d.ts +16 -15
  942. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -2
  943. package/dist/types/components/ic-classification-banner/ic-classification-banner.types.d.ts +1 -1
  944. package/dist/types/components/ic-data-row/ic-data-row.d.ts +17 -11
  945. package/dist/types/components/ic-dialog/ic-dialog.d.ts +123 -0
  946. package/dist/types/components/ic-footer/ic-footer.d.ts +20 -20
  947. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
  948. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +26 -6
  949. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +8 -8
  950. package/dist/types/components/ic-hero/ic-hero.d.ts +24 -24
  951. package/dist/types/components/ic-hero/ic-hero.types.d.ts +1 -1
  952. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +40 -0
  953. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +15 -15
  954. package/dist/types/components/ic-input-label/ic-input-label.d.ts +14 -14
  955. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +8 -8
  956. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +1 -1
  957. package/dist/types/components/ic-link/ic-link.d.ts +9 -9
  958. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +38 -37
  959. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -2
  960. package/dist/types/components/ic-menu/ic-menu.d.ts +89 -50
  961. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +8 -0
  962. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +74 -0
  963. package/dist/types/components/ic-menu-item/ic-menu-item.types.d.ts +1 -0
  964. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +21 -21
  965. package/dist/types/components/ic-navigation-button/ic-navigation-button.types.d.ts +1 -1
  966. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +21 -18
  967. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +47 -27
  968. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +14 -14
  969. package/dist/types/components/ic-page-header/ic-page-header.d.ts +19 -19
  970. package/dist/types/components/ic-pagination/ic-pagination.d.ts +82 -0
  971. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +4 -0
  972. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +47 -0
  973. package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -0
  974. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +59 -0
  975. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +22 -23
  976. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +7 -0
  977. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +32 -29
  978. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +120 -86
  979. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +2 -1
  980. package/dist/types/components/ic-select/ic-select.d.ts +117 -73
  981. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +30 -24
  982. 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
  983. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -8
  984. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
  985. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -8
  986. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +2 -2
  987. package/dist/types/components/ic-step/ic-step.d.ts +24 -24
  988. package/dist/types/components/ic-step/ic-step.types.d.ts +3 -3
  989. package/dist/types/components/ic-stepper/ic-stepper.d.ts +17 -17
  990. package/dist/types/components/ic-stepper/ic-stepper.types.d.ts +1 -1
  991. package/dist/types/components/ic-switch/ic-switch.d.ts +23 -23
  992. package/dist/types/components/ic-tab/ic-tab.d.ts +25 -8
  993. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +29 -20
  994. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +6 -33
  995. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +27 -7
  996. package/dist/types/components/ic-text-field/ic-text-field.d.ts +110 -91
  997. package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +3 -3
  998. package/dist/types/components/ic-text-field/test/a11y/ic-text-field.test.a11y.d.ts +1 -0
  999. package/dist/types/components/ic-theme/ic-theme.d.ts +1 -1
  1000. package/dist/types/components/ic-toast/ic-toast.d.ts +66 -0
  1001. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -0
  1002. package/dist/types/components/ic-toast/test/a11y/ic-toast.test.a11y.d.ts +1 -0
  1003. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +12 -0
  1004. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +22 -15
  1005. package/dist/types/components/ic-tooltip/ic-tooltip.types.d.ts +1 -1
  1006. package/dist/types/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.d.ts +1 -0
  1007. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +36 -32
  1008. package/dist/types/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.d.ts +1 -0
  1009. package/dist/types/components/ic-typography/ic-typography.d.ts +31 -4
  1010. package/dist/types/components/ic-typography/test/a11y/ic-typography.test.a11y.d.ts +1 -0
  1011. package/dist/types/components.d.ts +954 -37
  1012. package/dist/types/interface.d.ts +0 -1
  1013. package/dist/types/stencil-public-runtime.d.ts +74 -15
  1014. package/dist/types/testspec.setup.d.ts +11 -0
  1015. package/dist/types/utils/constants.d.ts +22 -0
  1016. package/dist/types/utils/helpers.d.ts +2 -0
  1017. package/dist/types/utils/types.d.ts +25 -20
  1018. package/hydrate/index.d.ts +17 -16
  1019. package/hydrate/index.js +4258 -2050
  1020. package/loader/index.d.ts +9 -0
  1021. package/package.json +9 -7
  1022. package/dist/cjs/chevron-icon-2645d6b0.js +0 -10
  1023. package/dist/cjs/chevron-icon-2645d6b0.js.map +0 -1
  1024. package/dist/cjs/error-icon-9af90abc.js +0 -20
  1025. package/dist/cjs/error-icon-9af90abc.js.map +0 -1
  1026. package/dist/cjs/helpers-5f391578.js.map +0 -1
  1027. package/dist/cjs/index-3ef30d9d.js.map +0 -1
  1028. package/dist/cjs/popper-11d5f714.js.map +0 -1
  1029. package/dist/cjs/success-icon-c8fec63d.js +0 -12
  1030. package/dist/cjs/success-icon-c8fec63d.js.map +0 -1
  1031. package/dist/collection/components/ic-alert/ic-alert.test.a11y.js.map +0 -1
  1032. package/dist/collection/components/ic-alert/ic-alert.types.js +0 -2
  1033. package/dist/collection/components/ic-alert/ic-alert.types.js.map +0 -1
  1034. package/dist/collection/components/ic-back-to-top/ic-back-to-top.test.a11y.js.map +0 -1
  1035. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +0 -1
  1036. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +0 -1
  1037. package/dist/collection/components/ic-button/ic-button.test.a11y.js.map +0 -1
  1038. package/dist/collection/components/ic-card/ic-card.test.a11y.js.map +0 -1
  1039. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +0 -1
  1040. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +0 -1
  1041. package/dist/collection/components/ic-classification-banner/ic-classification-banner.test.a11y.js.map +0 -1
  1042. package/dist/collection/components/ic-data-entity/ic-data-entity.test.a11y.js.map +0 -1
  1043. package/dist/collection/components/ic-data-row/ic-data-row.test.a11y.js.map +0 -1
  1044. package/dist/collection/components/ic-footer/ic-footer.test.a11y.js.map +0 -1
  1045. package/dist/collection/components/ic-footer-link/ic-footer-link.test.a11y.js.map +0 -1
  1046. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +0 -1
  1047. package/dist/collection/components/ic-hero/ic-hero.test.a11y.js.map +0 -1
  1048. package/dist/collection/components/ic-link/ic-link.test.a11y.js.map +0 -1
  1049. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.test.a11y.js.map +0 -1
  1050. package/dist/collection/components/ic-navigation-group/ic-navigation-group.test.a11y.js.map +0 -1
  1051. package/dist/collection/components/ic-navigation-item/ic-navigation-item.test.a11y.js.map +0 -1
  1052. package/dist/collection/components/ic-page-header/ic-page-header.test.a11y.js.map +0 -1
  1053. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +0 -1
  1054. package/dist/collection/components/ic-search-bar/ic-search-bar.test.a11y.js.map +0 -1
  1055. package/dist/collection/components/ic-select/ic-select.test.a11y.js.map +0 -1
  1056. package/dist/collection/components/ic-side-navigation/ic-side-navigation-test-examples.js.map +0 -1
  1057. package/dist/collection/components/ic-side-navigation/ic-side-navigation.test.a11y.js.map +0 -1
  1058. package/dist/collection/components/ic-skeleton/ic-skeleton.test.a11y.js.map +0 -1
  1059. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +0 -1
  1060. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +0 -1
  1061. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +0 -1
  1062. package/dist/collection/components/ic-switch/ic-switch.test.a11y.js.map +0 -1
  1063. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +0 -1
  1064. package/dist/collection/components/ic-tab-group/assets/left-arrow.svg +0 -3
  1065. package/dist/collection/components/ic-tab-group/assets/right-arrow.svg +0 -3
  1066. package/dist/collection/components/ic-text-field/ic-text-field.test.a11y.js.map +0 -1
  1067. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +0 -1
  1068. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +0 -1
  1069. package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +0 -1
  1070. package/dist/components/error-icon.js +0 -17
  1071. package/dist/components/error-icon.js.map +0 -1
  1072. package/dist/components/popper.js.map +0 -1
  1073. package/dist/components/success-icon.js +0 -10
  1074. package/dist/components/success-icon.js.map +0 -1
  1075. package/dist/core/p-01ebd24d.entry.js +0 -2
  1076. package/dist/core/p-01ebd24d.entry.js.map +0 -1
  1077. package/dist/core/p-02a6562c.entry.js +0 -2
  1078. package/dist/core/p-02a6562c.entry.js.map +0 -1
  1079. package/dist/core/p-03a4d9dc.entry.js +0 -2
  1080. package/dist/core/p-03a4d9dc.entry.js.map +0 -1
  1081. package/dist/core/p-04cf6fab.entry.js +0 -2
  1082. package/dist/core/p-04cf6fab.entry.js.map +0 -1
  1083. package/dist/core/p-0672c783.entry.js.map +0 -1
  1084. package/dist/core/p-0f773f37.entry.js.map +0 -1
  1085. package/dist/core/p-0fc9d5c8.entry.js +0 -2
  1086. package/dist/core/p-0fc9d5c8.entry.js.map +0 -1
  1087. package/dist/core/p-10a672d4.entry.js +0 -2
  1088. package/dist/core/p-10a672d4.entry.js.map +0 -1
  1089. package/dist/core/p-24240e11.js.map +0 -1
  1090. package/dist/core/p-26fd7d7c.entry.js +0 -2
  1091. package/dist/core/p-26fd7d7c.entry.js.map +0 -1
  1092. package/dist/core/p-2961c45f.entry.js +0 -2
  1093. package/dist/core/p-2961c45f.entry.js.map +0 -1
  1094. package/dist/core/p-2a40f189.entry.js +0 -2
  1095. package/dist/core/p-2a40f189.entry.js.map +0 -1
  1096. package/dist/core/p-2e318c95.entry.js +0 -2
  1097. package/dist/core/p-2e318c95.entry.js.map +0 -1
  1098. package/dist/core/p-2ed06031.entry.js +0 -2
  1099. package/dist/core/p-2ed06031.entry.js.map +0 -1
  1100. package/dist/core/p-30ff49be.entry.js +0 -2
  1101. package/dist/core/p-30ff49be.entry.js.map +0 -1
  1102. package/dist/core/p-3c75ed36.js +0 -2
  1103. package/dist/core/p-3c75ed36.js.map +0 -1
  1104. package/dist/core/p-3f0232f6.entry.js +0 -2
  1105. package/dist/core/p-3f0232f6.entry.js.map +0 -1
  1106. package/dist/core/p-3f0ac826.entry.js +0 -2
  1107. package/dist/core/p-3f0ac826.entry.js.map +0 -1
  1108. package/dist/core/p-454a7f3d.entry.js +0 -2
  1109. package/dist/core/p-454a7f3d.entry.js.map +0 -1
  1110. package/dist/core/p-48f99591.entry.js +0 -2
  1111. package/dist/core/p-48f99591.entry.js.map +0 -1
  1112. package/dist/core/p-4a8c0c58.entry.js +0 -2
  1113. package/dist/core/p-4a8c0c58.entry.js.map +0 -1
  1114. package/dist/core/p-5368bcff.entry.js +0 -2
  1115. package/dist/core/p-5368bcff.entry.js.map +0 -1
  1116. package/dist/core/p-662d5b43.entry.js +0 -2
  1117. package/dist/core/p-662d5b43.entry.js.map +0 -1
  1118. package/dist/core/p-69512d85.entry.js +0 -2
  1119. package/dist/core/p-69512d85.entry.js.map +0 -1
  1120. package/dist/core/p-6bbc0cf5.entry.js +0 -2
  1121. package/dist/core/p-6bbc0cf5.entry.js.map +0 -1
  1122. package/dist/core/p-6be5e06b.entry.js.map +0 -1
  1123. package/dist/core/p-6d0eaaeb.entry.js +0 -2
  1124. package/dist/core/p-6d0eaaeb.entry.js.map +0 -1
  1125. package/dist/core/p-86098b7e.entry.js +0 -2
  1126. package/dist/core/p-86098b7e.entry.js.map +0 -1
  1127. package/dist/core/p-8b383c23.entry.js +0 -2
  1128. package/dist/core/p-8b383c23.entry.js.map +0 -1
  1129. package/dist/core/p-97d4b6cd.entry.js.map +0 -1
  1130. package/dist/core/p-9e684c58.entry.js +0 -2
  1131. package/dist/core/p-9e684c58.entry.js.map +0 -1
  1132. package/dist/core/p-a2d3e955.entry.js.map +0 -1
  1133. package/dist/core/p-a472db51.entry.js +0 -2
  1134. package/dist/core/p-a472db51.entry.js.map +0 -1
  1135. package/dist/core/p-a6a77e5c.js +0 -2
  1136. package/dist/core/p-a6a77e5c.js.map +0 -1
  1137. package/dist/core/p-add01f10.entry.js +0 -2
  1138. package/dist/core/p-add01f10.entry.js.map +0 -1
  1139. package/dist/core/p-b29f210b.entry.js +0 -2
  1140. package/dist/core/p-b29f210b.entry.js.map +0 -1
  1141. package/dist/core/p-c2710b13.entry.js.map +0 -1
  1142. package/dist/core/p-c6764827.entry.js +0 -2
  1143. package/dist/core/p-c6764827.entry.js.map +0 -1
  1144. package/dist/core/p-ccd078a6.entry.js.map +0 -1
  1145. package/dist/core/p-d4f7a3e4.entry.js +0 -2
  1146. package/dist/core/p-d4f7a3e4.entry.js.map +0 -1
  1147. package/dist/core/p-d5e0c02a.js +0 -2
  1148. package/dist/core/p-d5e0c02a.js.map +0 -1
  1149. package/dist/core/p-d77f57d9.entry.js +0 -2
  1150. package/dist/core/p-d77f57d9.entry.js.map +0 -1
  1151. package/dist/core/p-dd194ba9.entry.js.map +0 -1
  1152. package/dist/core/p-de19fed4.entry.js +0 -2
  1153. package/dist/core/p-de19fed4.entry.js.map +0 -1
  1154. package/dist/core/p-e5e885b1.entry.js +0 -2
  1155. package/dist/core/p-e5e885b1.entry.js.map +0 -1
  1156. package/dist/core/p-e94dfa43.entry.js +0 -2
  1157. package/dist/core/p-e94dfa43.entry.js.map +0 -1
  1158. package/dist/core/p-eaf714a3.entry.js.map +0 -1
  1159. package/dist/core/p-ec26fc38.js +0 -2
  1160. package/dist/core/p-ec26fc38.js.map +0 -1
  1161. package/dist/core/p-f51f4d34.entry.js +0 -2
  1162. package/dist/core/p-f51f4d34.entry.js.map +0 -1
  1163. package/dist/core/p-f9370be6.js +0 -3
  1164. package/dist/core/p-f9370be6.js.map +0 -1
  1165. package/dist/esm/chevron-icon-98c98242.js +0 -8
  1166. package/dist/esm/chevron-icon-98c98242.js.map +0 -1
  1167. package/dist/esm/error-icon-1dc70ca0.js +0 -17
  1168. package/dist/esm/error-icon-1dc70ca0.js.map +0 -1
  1169. package/dist/esm/helpers-3aa2f5a5.js.map +0 -1
  1170. package/dist/esm/index-1500de1f.js.map +0 -1
  1171. package/dist/esm/popper-f860750c.js +0 -1801
  1172. package/dist/esm/popper-f860750c.js.map +0 -1
  1173. package/dist/esm/success-icon-75b04341.js +0 -10
  1174. package/dist/esm/success-icon-75b04341.js.map +0 -1
  1175. package/dist/types/components/ic-alert/ic-alert.types.d.ts +0 -1
  1176. /package/dist/collection/{components/ic-link/assets → assets}/OpenInNew.svg +0 -0
  1177. /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
  1178. /package/dist/collection/components/ic-breadcrumb-group/{ic-breadcrumb-group-test-examples.js → test/basic/ic-breadcrumb-group-test-examples.js} +0 -0
  1179. /package/dist/collection/components/ic-stepper/{ic-stepper-test-examples.js → test/basic/ic-stepper-test-examples.js} +0 -0
  1180. /package/dist/collection/components/ic-tab-context/{ic-tab-context.test.a11y.js → test/a11y/ic-tab-context.test.a11y.js} +0 -0
  1181. /package/dist/collection/components/ic-text-field/{ic-text-field.test.a11y.js → test/a11y/ic-text-field.test.a11y.js} +0 -0
  1182. /package/dist/types/components/ic-alert/{ic-alert.test.a11y.d.ts → test/a11y/ic-alert.test.a11y.d.ts} +0 -0
  1183. /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
  1184. /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
  1185. /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
  1186. /package/dist/types/components/ic-button/{ic-button.test.a11y.d.ts → test/a11y/ic-button.test.a11y.d.ts} +0 -0
  1187. /package/dist/types/components/ic-card/{ic-card.test.a11y.d.ts → test/a11y/ic-card.test.a11y.d.ts} +0 -0
  1188. /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
  1189. /package/dist/types/components/ic-chip/{ic-chip.test.a11y.d.ts → test/a11y/ic-chip.test.a11y.d.ts} +0 -0
  1190. /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
  1191. /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
  1192. /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
  1193. /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
  1194. /package/dist/types/components/{ic-hero/ic-hero.test.a11y.d.ts → ic-footer/test/a11y/ic-footer.test.a11y.d.ts} +0 -0
  1195. /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
  1196. /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
  1197. /package/dist/types/components/{ic-link/ic-link.test.a11y.d.ts → ic-hero/test/a11y/ic-hero.test.a11y.d.ts} +0 -0
  1198. /package/dist/types/components/{ic-loading-indicator/ic-loading-indicator.test.a11y.d.ts → ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.d.ts} +0 -0
  1199. /package/dist/types/components/{ic-navigation-group/ic-navigation-group.test.a11y.d.ts → ic-link/test/a11y/ic-link.test.a11y.d.ts} +0 -0
  1200. /package/dist/types/components/{ic-navigation-item/ic-navigation-item.test.a11y.d.ts → ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.d.ts} +0 -0
  1201. /package/dist/types/components/{ic-page-header/ic-page-header.test.a11y.d.ts → ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.d.ts} +0 -0
  1202. /package/dist/types/components/{ic-radio-group/ic-radio-group.test.a11y.d.ts → ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.d.ts} +0 -0
  1203. /package/dist/types/components/{ic-search-bar/ic-search-bar.test.a11y.d.ts → ic-page-header/test/a11y/ic-page-header.test.a11y.d.ts} +0 -0
  1204. /package/dist/types/components/{ic-select/ic-select.test.a11y.d.ts → ic-pagination/test/a11y/ic-pagination.test.a11y.d.ts} +0 -0
  1205. /package/dist/types/components/{ic-side-navigation/ic-side-navigation.test.a11y.d.ts → ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.d.ts} +0 -0
  1206. /package/dist/types/components/{ic-skeleton/ic-skeleton.test.a11y.d.ts → ic-radio-group/test/a11y/ic-radio-group.test.a11y.d.ts} +0 -0
  1207. /package/dist/types/components/{ic-status-tag/ic-status-tag.test.a11y.d.ts → ic-search-bar/test/a11y/ic-search-bar.test.a11y.d.ts} +0 -0
  1208. /package/dist/types/components/{ic-stepper/ic-stepper.test.a11y.d.ts → ic-select/test/a11y/ic-select.test.a11y.d.ts} +0 -0
  1209. /package/dist/types/components/{ic-switch/ic-switch.test.a11y.d.ts → ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.d.ts} +0 -0
  1210. /package/dist/types/components/{ic-tab-context/ic-tab-context.test.a11y.d.ts → ic-skeleton/test/a11y/ic-skeleton.test.a11y.d.ts} +0 -0
  1211. /package/dist/types/components/{ic-text-field/ic-text-field.test.a11y.d.ts → ic-status-tag/test/a11y/ic-status-tag.test.a11y.d.ts} +0 -0
  1212. /package/dist/types/components/{ic-tooltip/ic-tooltip.test.a11y.d.ts → ic-stepper/test/a11y/ic-stepper.test.a11y.d.ts} +0 -0
  1213. /package/dist/types/components/ic-stepper/{ic-stepper-test-examples.d.ts → test/basic/ic-stepper-test-examples.d.ts} +0 -0
  1214. /package/dist/types/components/{ic-top-navigation/ic-top-navigation.test.a11y.d.ts → ic-switch/test/a11y/ic-switch.test.a11y.d.ts} +0 -0
  1215. /package/dist/types/components/{ic-typography/ic-typography.test.a11y.d.ts → ic-tab-context/test/a11y/ic-tab-context.test.a11y.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n h,\n} from \"@stencil/core\";\n\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: true,\n})\nexport class Button {\n @Element() el: HTMLIcButtonElement;\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading?: boolean = false;\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n /**\n * The appearance of the button, e.g. dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n private buttonEl: HTMLElement;\n private hasTooltip: boolean = false;\n private buttonIdNum = buttonIds++;\n private tooltipEl: HTMLIcTooltipElement;\n private id: string;\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\";\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n }\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? { type: this.type, disabled: this.disabled }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\n\nimport {\n getThemeFromContext,\n inheritAttributes,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Button {\n private buttonEl: HTMLElement;\n private buttonIdNum = buttonIds++;\n private hasTooltip: boolean = false;\n private id: string;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private tooltipEl: HTMLIcTooltipElement;\n private describedByEl: HTMLElement = null;\n private describedById: string = null;\n private mutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() describedByContent: string = null;\n\n /**\n * The appearance of the button, e.g. dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The <form> element to associate the button with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the button. It overrides the action attribute of the button's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the button's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading?: boolean = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.mutationObserver !== null && this.mutationObserver !== undefined) {\n this.mutationObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\" && this.disableTooltip === false;\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\n \"aria-describedby\"\n ] as string;\n if (describedById !== undefined) {\n this.describedById = describedById;\n const el = this.el.parentElement.querySelector(\n `#${describedById}`\n ) as HTMLElement;\n this.describedByContent = el.innerText;\n this.describedByEl = el;\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (this.describedById) {\n this.mutationObserver = new MutationObserver(this.mutationCallback);\n this.mutationObserver.observe(this.describedByEl, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n // triggered when text content of sibling element in light DOM changes\n private mutationCallback = (): void => {\n this.describedByContent = this.describedByEl.innerText;\n };\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type: this.type,\n disabled: this.disabled,\n form: this.form,\n formaction: this.formaction,\n formenctype: this.formenctype,\n formmethod: this.formmethod,\n formnovalidate: this.formnovalidate,\n formtarget: this.formtarget,\n }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n } else {\n describedBy = this.describedById;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n part=\"button\"\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"loading-with-icon\"]: this.loading && this.hasIconSlot(),\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n {this.describedByContent && (\n <span id={describedBy} class=\"ic-button-describedby\">\n {this.describedByContent}\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { fixture } from "@open-wc/testing-helpers";
2
2
  import { axe } from "jest-axe";
3
- import { checkShadowElementRendersCorrectly } from "../../utils/testa11y.helpers";
3
+ import { checkShadowElementRendersCorrectly } from "../../../../utils/testa11y.helpers";
4
4
  describe("button component", () => {
5
5
  it("passes accessibility", async () => {
6
6
  const el = await fixture("<ic-button>Button</ic-button>");
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-button.test.a11y.js","sourceRoot":"","sources":["../../../../../src/components/ic-button/test/a11y/ic-button.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kCAAkC,EAAE,MAAM,oCAAoC,CAAC;AAExF,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;EAChC,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC1D,kCAAkC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\nimport { checkShadowElementRendersCorrectly } from \"../../../../utils/testa11y.helpers\";\n\ndescribe(\"button component\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(\"<ic-button>Button</ic-button>\");\n checkShadowElementRendersCorrectly(el);\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
@@ -0,0 +1,198 @@
1
+ import { newE2EPage } from "@stencil/core/testing";
2
+ describe("ic-button component", () => {
3
+ it("Should have the correct text", async () => {
4
+ const page = await newE2EPage();
5
+ await page.setContent(`<ic-button>Button</ic-button>`);
6
+ await page.waitForChanges();
7
+ const button = await page.find("ic-button");
8
+ const text = button.innerText;
9
+ expect(text).toBe("Button");
10
+ });
11
+ it("Should have loading bar when loading", async () => {
12
+ const page = await newE2EPage();
13
+ await page.setContent(`<ic-button loading>Button</ic-button>`);
14
+ await page.waitForChanges();
15
+ const loadingBar = await page.find("ic-button >>> ic-loading-indicator");
16
+ expect(loadingBar).not.toBeNull();
17
+ });
18
+ it("Should be clickable with onclick", async () => {
19
+ const page = await newE2EPage();
20
+ await page.setContent(`
21
+ <ic-button id='ic-button' onclick='change()'>Button</ic-button>
22
+ <script>
23
+ function change() {
24
+ document.getElementById("ic-button").innerText = 'Test';
25
+ }
26
+ </script>
27
+ `);
28
+ const button = await page.find("#ic-button");
29
+ await button.click();
30
+ expect(button.innerText).toBe("Test");
31
+ });
32
+ it("Should not be clickable when disabled", async () => {
33
+ const page = await newE2EPage();
34
+ await page.setContent(`
35
+ <ic-button id='ic-button' onclick='change()' disabled>Button</ic-button>
36
+ <script>
37
+ function change() {
38
+ document.getElementById("ic-button").innerText = 'Test';
39
+ }
40
+ </script>
41
+ `);
42
+ const button = await page.find("#ic-button");
43
+ await button.click();
44
+ expect(button.innerText).toBe("Button");
45
+ });
46
+ it("Should not be clickable when loading", async () => {
47
+ const page = await newE2EPage();
48
+ await page.setContent(`
49
+ <ic-button id='ic-button' onclick='change()' loading>Button</ic-button>
50
+ <script>
51
+ function change() {
52
+ document.getElementById("ic-button").innerText = 'Test';
53
+ }
54
+ </script>
55
+ `);
56
+ const button = await page.find("#ic-button");
57
+ await button.click();
58
+ expect(button.innerText).toBe("Button");
59
+ });
60
+ it("should pass onclick method", async () => {
61
+ const page = await newE2EPage();
62
+ await page.setContent(`
63
+ <ic-button id='ic-button' onclick='updateText()'>Button</ic-button>
64
+ <p id="text"></p>
65
+ <script>
66
+ function updateText() {
67
+ document.getElementById('text').innerText = "Demo"
68
+ }
69
+ </script>
70
+ `);
71
+ const p = await page.find("#text");
72
+ const button = await page.find("#ic-button");
73
+ await button.click();
74
+ expect(p.innerText).toBe("Demo");
75
+ });
76
+ it("should clear text field value when reset button inside form tag", async () => {
77
+ const page = await newE2EPage();
78
+ await page.setContent(`
79
+ <form>
80
+ <input type="text" id="name" />
81
+ <ic-button id='ic-button' type="reset">Reset</ic-button>
82
+ </form>
83
+ `);
84
+ const textfield = await page.find("#name");
85
+ const button = await page.find("#ic-button");
86
+ await textfield.press("f");
87
+ await textfield.press("o");
88
+ await textfield.press("o");
89
+ expect(await textfield.getProperty("value")).toBe("foo");
90
+ await button.click();
91
+ expect(await textfield.getProperty("value")).toBe("");
92
+ });
93
+ it("should not clear text field value if reset button outside of form tag", async () => {
94
+ const page = await newE2EPage();
95
+ await page.setContent(`
96
+ <div>
97
+ <form>
98
+ <input type="text" id="name" />
99
+ </form>
100
+ <ic-button id='ic-button' type="reset">Reset</ic-button>
101
+ </div>
102
+ `);
103
+ const textfield = await page.find("#name");
104
+ const button = await page.find("#ic-button");
105
+ await textfield.press("f");
106
+ await textfield.press("o");
107
+ await textfield.press("o");
108
+ await button.click();
109
+ expect(await textfield.getProperty("value")).toBe("foo");
110
+ });
111
+ it("should submit form on submit button click if submit button inside form tag", async () => {
112
+ const page = await newE2EPage();
113
+ await page.setContent(`
114
+ <form>
115
+ <input type="text" id="name" />
116
+ <ic-button id='ic-button' type="submit">Submit</ic-button>
117
+ </form>
118
+ <p id="text"></p>
119
+ <script>
120
+ document.addEventListener('submit', (ev) => {
121
+ ev.preventDefault();
122
+ document.getElementById('text').innerText = 'submitted';
123
+ })
124
+ </script>
125
+ `);
126
+ const button = await page.find("#ic-button");
127
+ const p = await page.find("#text");
128
+ await button.click();
129
+ expect(p.innerText).toBe("submitted");
130
+ });
131
+ it("should not submit form on submit button click outside of form tag", async () => {
132
+ const page = await newE2EPage();
133
+ await page.setContent(`
134
+ <form>
135
+ <input type="text" id="name" />
136
+ </form>
137
+ <ic-button id='ic-button' type="submit">Submit</ic-button>
138
+ <p id="text">idle</p>
139
+ <script>
140
+ document.addEventListener('submit', (ev) => {
141
+ ev.preventDefault();
142
+ document.getElementById('text').innerText = 'submitted';
143
+ })
144
+ </script>
145
+ `);
146
+ const button = await page.find("#ic-button");
147
+ const p = await page.find("#text");
148
+ await button.click();
149
+ expect(p.innerText).toBe("idle");
150
+ });
151
+ it("should emit icFocus on focus event", async () => {
152
+ const page = await newE2EPage();
153
+ await page.setContent(`<ic-button>Button</ic-button>`);
154
+ const button = await page.find("ic-button");
155
+ const spy = await page.spyOnEvent("icFocus");
156
+ await button.callMethod("setFocus");
157
+ await page.waitForChanges();
158
+ expect(spy).toHaveReceivedEvent();
159
+ });
160
+ it("should emit icBlur on blur event", async () => {
161
+ const page = await newE2EPage();
162
+ await page.setContent(`<ic-button>Button</ic-button>
163
+ <button id="secondary-button">Secondary</button>`);
164
+ const button = await page.find("ic-button");
165
+ const secButton = await page.find("#secondary-button");
166
+ const spy = await page.spyOnEvent("icBlur");
167
+ await button.callMethod("setFocus");
168
+ await secButton.click();
169
+ await page.waitForChanges();
170
+ expect(spy).toHaveReceivedEvent();
171
+ });
172
+ it("should test aria-describedby being updated", async () => {
173
+ const page = await newE2EPage();
174
+ await page.setContent(`
175
+ <script>
176
+ function btnClick(){
177
+ var descEl = document.querySelector("#button-description");
178
+ descEl.innerText = "See, I told you it was amazing!";
179
+ }
180
+ </script>
181
+ <div>
182
+ <span id="button-description">This button does something amazing</span>
183
+ <br />
184
+ <ic-button variant="primary" onclick="btnClick()" aria-describedby="button-description"
185
+ >Button</ic-button
186
+ >
187
+ </div>
188
+ `);
189
+ const button = await page.find("ic-button");
190
+ let hiddenDescribedBy = await page.find("ic-button >>> #button-description");
191
+ expect(hiddenDescribedBy.innerText).toBe("This button does something amazing");
192
+ await button.click();
193
+ await page.waitForChanges();
194
+ hiddenDescribedBy = await page.find("ic-button >>> #button-description");
195
+ expect(hiddenDescribedBy.innerText).toBe("See, I told you it was amazing!");
196
+ });
197
+ });
198
+ //# sourceMappingURL=ic-button.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-button.e2e.js","sourceRoot":"","sources":["../../../../../src/components/ic-button/test/basic/ic-button.e2e.ts"],"names":[],"mappings":"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","sourcesContent":["import { newE2EPage } from \"@stencil/core/testing\";\n\ndescribe(\"ic-button component\", () => {\n it(\"Should have the correct text\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-button>Button</ic-button>`);\n await page.waitForChanges();\n\n const button = await page.find(\"ic-button\");\n const text = button.innerText;\n\n expect(text).toBe(\"Button\");\n });\n\n it(\"Should have loading bar when loading\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-button loading>Button</ic-button>`);\n await page.waitForChanges();\n\n const loadingBar = await page.find(\"ic-button >>> ic-loading-indicator\");\n\n expect(loadingBar).not.toBeNull();\n });\n\n it(\"Should be clickable with onclick\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <ic-button id='ic-button' onclick='change()'>Button</ic-button>\n <script>\n function change() {\n document.getElementById(\"ic-button\").innerText = 'Test';\n }\n </script>\n `\n );\n const button = await page.find(\"#ic-button\");\n\n await button.click();\n\n expect(button.innerText).toBe(\"Test\");\n });\n\n it(\"Should not be clickable when disabled\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <ic-button id='ic-button' onclick='change()' disabled>Button</ic-button>\n <script>\n function change() {\n document.getElementById(\"ic-button\").innerText = 'Test';\n }\n </script>\n `\n );\n const button = await page.find(\"#ic-button\");\n\n await button.click();\n\n expect(button.innerText).toBe(\"Button\");\n });\n\n it(\"Should not be clickable when loading\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <ic-button id='ic-button' onclick='change()' loading>Button</ic-button>\n <script>\n function change() {\n document.getElementById(\"ic-button\").innerText = 'Test';\n }\n </script>\n `\n );\n const button = await page.find(\"#ic-button\");\n\n await button.click();\n\n expect(button.innerText).toBe(\"Button\");\n });\n\n it(\"should pass onclick method\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <ic-button id='ic-button' onclick='updateText()'>Button</ic-button>\n <p id=\"text\"></p>\n <script>\n function updateText() {\n document.getElementById('text').innerText = \"Demo\"\n }\n </script>\n `\n );\n\n const p = await page.find(\"#text\");\n const button = await page.find(\"#ic-button\");\n\n await button.click();\n\n expect(p.innerText).toBe(\"Demo\");\n });\n\n it(\"should clear text field value when reset button inside form tag\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <form>\n <input type=\"text\" id=\"name\" />\n <ic-button id='ic-button' type=\"reset\">Reset</ic-button>\n </form>\n `\n );\n\n const textfield = await page.find(\"#name\");\n const button = await page.find(\"#ic-button\");\n\n await textfield.press(\"f\");\n await textfield.press(\"o\");\n await textfield.press(\"o\");\n\n expect(await textfield.getProperty(\"value\")).toBe(\"foo\");\n\n await button.click();\n\n expect(await textfield.getProperty(\"value\")).toBe(\"\");\n });\n\n it(\"should not clear text field value if reset button outside of form tag\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <div>\n <form>\n <input type=\"text\" id=\"name\" />\n </form>\n <ic-button id='ic-button' type=\"reset\">Reset</ic-button>\n </div>\n `\n );\n\n const textfield = await page.find(\"#name\");\n const button = await page.find(\"#ic-button\");\n\n await textfield.press(\"f\");\n await textfield.press(\"o\");\n await textfield.press(\"o\");\n\n await button.click();\n\n expect(await textfield.getProperty(\"value\")).toBe(\"foo\");\n });\n\n it(\"should submit form on submit button click if submit button inside form tag\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <form>\n <input type=\"text\" id=\"name\" />\n <ic-button id='ic-button' type=\"submit\">Submit</ic-button>\n </form>\n <p id=\"text\"></p>\n <script>\n document.addEventListener('submit', (ev) => {\n ev.preventDefault();\n document.getElementById('text').innerText = 'submitted';\n })\n </script>\n `\n );\n\n const button = await page.find(\"#ic-button\");\n const p = await page.find(\"#text\");\n\n await button.click();\n\n expect(p.innerText).toBe(\"submitted\");\n });\n\n it(\"should not submit form on submit button click outside of form tag\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <form>\n <input type=\"text\" id=\"name\" />\n </form>\n <ic-button id='ic-button' type=\"submit\">Submit</ic-button>\n <p id=\"text\">idle</p>\n <script>\n document.addEventListener('submit', (ev) => {\n ev.preventDefault();\n document.getElementById('text').innerText = 'submitted';\n })\n </script>\n `\n );\n\n const button = await page.find(\"#ic-button\");\n const p = await page.find(\"#text\");\n\n await button.click();\n\n expect(p.innerText).toBe(\"idle\");\n });\n\n it(\"should emit icFocus on focus event\", async () => {\n const page = await newE2EPage();\n await page.setContent(`<ic-button>Button</ic-button>`);\n\n const button = await page.find(\"ic-button\");\n const spy = await page.spyOnEvent(\"icFocus\");\n\n await button.callMethod(\"setFocus\");\n await page.waitForChanges();\n\n expect(spy).toHaveReceivedEvent();\n });\n\n it(\"should emit icBlur on blur event\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `<ic-button>Button</ic-button>\n <button id=\"secondary-button\">Secondary</button>`\n );\n\n const button = await page.find(\"ic-button\");\n const secButton = await page.find(\"#secondary-button\");\n const spy = await page.spyOnEvent(\"icBlur\");\n\n await button.callMethod(\"setFocus\");\n await secButton.click();\n await page.waitForChanges();\n\n expect(spy).toHaveReceivedEvent();\n });\n\n it(\"should test aria-describedby being updated\", async () => {\n const page = await newE2EPage();\n await page.setContent(\n `\n <script>\n function btnClick(){\n var descEl = document.querySelector(\"#button-description\");\n descEl.innerText = \"See, I told you it was amazing!\";\n }\n </script>\n <div>\n <span id=\"button-description\">This button does something amazing</span>\n <br />\n <ic-button variant=\"primary\" onclick=\"btnClick()\" aria-describedby=\"button-description\"\n >Button</ic-button\n >\n </div>\n `\n );\n\n const button = await page.find(\"ic-button\");\n let hiddenDescribedBy = await page.find(\n \"ic-button >>> #button-description\"\n );\n expect(hiddenDescribedBy.innerText).toBe(\n \"This button does something amazing\"\n );\n\n await button.click();\n await page.waitForChanges();\n\n hiddenDescribedBy = await page.find(\"ic-button >>> #button-description\");\n expect(hiddenDescribedBy.innerText).toBe(\"See, I told you it was amazing!\");\n });\n});\n"]}
@@ -0,0 +1,256 @@
1
+ import { Button } from "../../ic-button";
2
+ import { newSpecPage } from "@stencil/core/testing";
3
+ import * as helpers from "../../../../utils/helpers";
4
+ beforeAll(() => {
5
+ jest.spyOn(console, "warn").mockImplementation(jest.fn());
6
+ });
7
+ //mocked as getThemeFromContext is always default when run in test context
8
+ const mockGetThemeFromContext = () => {
9
+ const func = jest.fn(() => {
10
+ return "light";
11
+ });
12
+ Object.defineProperty(helpers, "getThemeFromContext", {
13
+ value: func,
14
+ });
15
+ };
16
+ describe("button component", () => {
17
+ it("should correctly render with text", async () => {
18
+ const page = await newSpecPage({
19
+ components: [Button],
20
+ html: "<ic-button>Button</ic-button>",
21
+ supportsShadowDom: true,
22
+ });
23
+ expect(page.root).toMatchSnapshot();
24
+ });
25
+ it("should correctly render with custom text", async () => {
26
+ const page = await newSpecPage({
27
+ components: [Button],
28
+ html: "<ic-button>Click Me</ic-button>",
29
+ });
30
+ expect(page.root).toMatchSnapshot();
31
+ });
32
+ it("should render correct HTML for secondary variant", async () => {
33
+ const page = await newSpecPage({
34
+ components: [Button],
35
+ html: "<ic-button variant='secondary'>Button</ic-button>",
36
+ });
37
+ expect(page.root).toMatchSnapshot();
38
+ });
39
+ it("should render correct HTML for tertiary variant", async () => {
40
+ const page = await newSpecPage({
41
+ components: [Button],
42
+ html: "<ic-button variant='tertiary'>Button</ic-button>",
43
+ });
44
+ expect(page.root).toMatchSnapshot();
45
+ });
46
+ it("should render correct HTML for destructive variant", async () => {
47
+ const page = await newSpecPage({
48
+ components: [Button],
49
+ html: "<ic-button variant='destructive'>Button</ic-button>",
50
+ });
51
+ expect(page.root).toMatchSnapshot();
52
+ });
53
+ it("should render correct HTML with Icon", async () => {
54
+ const page = await newSpecPage({
55
+ components: [Button],
56
+ html: `
57
+ <ic-button>
58
+ <svg slot='icon' xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000">
59
+ <path d="M0 0h24v24H0V0z" fill="none"/>
60
+ <path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/>
61
+ </svg>
62
+ Button
63
+ </ic-button>
64
+ `,
65
+ });
66
+ expect(page.root).toMatchSnapshot();
67
+ });
68
+ it("should render correct HTML when loading", async () => {
69
+ const page = await newSpecPage({
70
+ components: [Button],
71
+ html: `
72
+ <ic-button loading>Button</ic-button>
73
+ `,
74
+ });
75
+ expect(page.root).toMatchSnapshot();
76
+ });
77
+ it("should render correct HTML when loading - secondary", async () => {
78
+ const page = await newSpecPage({
79
+ components: [Button],
80
+ html: `
81
+ <ic-button loading variant="secondary">Button</ic-button>
82
+ `,
83
+ });
84
+ expect(page.root).toMatchSnapshot();
85
+ });
86
+ it("should render correct HTML when loading - tertiary", async () => {
87
+ const page = await newSpecPage({
88
+ components: [Button],
89
+ html: `
90
+ <ic-button loading variant="tertiary">Button</ic-button>
91
+ `,
92
+ });
93
+ expect(page.root).toMatchSnapshot();
94
+ });
95
+ it("should render correct HTML when loading - destructive", async () => {
96
+ const page = await newSpecPage({
97
+ components: [Button],
98
+ html: `
99
+ <ic-button loading variant="destructive">Button</ic-button>
100
+ `,
101
+ });
102
+ expect(page.root).toMatchSnapshot();
103
+ });
104
+ it("should render correct HTML when loading - appearance light", async () => {
105
+ const page = await newSpecPage({
106
+ components: [Button],
107
+ html: `
108
+ <ic-button loading appearance="light">Button</ic-button>
109
+ `,
110
+ });
111
+ expect(page.root).toMatchSnapshot();
112
+ });
113
+ it("render with correct button type when defined", async () => {
114
+ const page = await newSpecPage({
115
+ components: [Button],
116
+ html: `
117
+ <ic-button type='reset'>Button</ic-button>
118
+ `,
119
+ });
120
+ expect(page.root).toMatchSnapshot();
121
+ });
122
+ it('should render with "a" tag when href is passed', async () => {
123
+ const page = await newSpecPage({
124
+ components: [Button],
125
+ html: `
126
+ <ic-button href = '#'>Button</ic-button>
127
+ `,
128
+ });
129
+ expect(page.root).toMatchSnapshot();
130
+ });
131
+ it('should render with defined "a" tag props', async () => {
132
+ const page = await newSpecPage({
133
+ components: [Button],
134
+ html: `
135
+ <ic-button href = '#' download rel="nofollow" target="_blank">Button</ic-button>
136
+ `,
137
+ });
138
+ expect(page.root).toMatchSnapshot();
139
+ });
140
+ it("should render icon variant with a tooltip", async () => {
141
+ const page = await newSpecPage({
142
+ components: [Button],
143
+ html: "<ic-button variant='icon' id='test-button'>Button</ic-button>",
144
+ });
145
+ expect(page.root).toMatchSnapshot();
146
+ });
147
+ it("should render icon variant with a tooltip based on title", async () => {
148
+ const page = await newSpecPage({
149
+ components: [Button],
150
+ html: "<ic-button variant='icon' id='test-button' title='Tooltip text'>Button</ic-button>",
151
+ });
152
+ expect(page.root).toMatchSnapshot();
153
+ });
154
+ it("should render icon variant with a tooltip based on aria-label", async () => {
155
+ const page = await newSpecPage({
156
+ components: [Button],
157
+ html: "<ic-button variant='icon' id='test-button' aria-label='Tooltip text' tooltip-placement='top'>Button</ic-button>",
158
+ });
159
+ expect(page.root).toMatchSnapshot();
160
+ });
161
+ it("should disable tooltip when prop set", async () => {
162
+ const page = await newSpecPage({
163
+ components: [Button],
164
+ html: "<ic-button variant='icon' aria-label='Tooltip text' id='test-button' disable-tooltip>Button</ic-button>",
165
+ });
166
+ expect(page.root).toMatchSnapshot();
167
+ });
168
+ it("should update when method called", async () => {
169
+ const page = await newSpecPage({
170
+ components: [Button],
171
+ html: "<ic-button variant='icon' aria-label='Tooltip text' id='test-button'>Button</ic-button>",
172
+ });
173
+ expect(page.root).toMatchSnapshot();
174
+ await page.root.updateAriaLabel("New tooltip text");
175
+ await page.waitForChanges();
176
+ expect(page.root).toMatchSnapshot();
177
+ });
178
+ it("should stop immediate propagation of a click event when disabled", async () => {
179
+ const page = await newSpecPage({
180
+ components: [Button],
181
+ html: "<ic-button id='test-button' disabled=true onclick='alert('test')'>Button</ic-button>",
182
+ });
183
+ jest.spyOn(window, "alert").mockImplementation();
184
+ const element = document.getElementById("test-button");
185
+ element.click();
186
+ await page.waitForChanges();
187
+ expect(window.alert).not.toHaveBeenCalled;
188
+ });
189
+ it("should call 'setFocus' when button is focussed", async () => {
190
+ const page = await newSpecPage({
191
+ components: [Button],
192
+ html: "<ic-button id='ic-button'>Button</ic-button>",
193
+ });
194
+ //Can't expect anything in this test - this is to increase code coverage only
195
+ await page.rootInstance.setFocus().toHaveBeenCalled;
196
+ });
197
+ it("should test theme change", async () => {
198
+ mockGetThemeFromContext();
199
+ const page = await newSpecPage({
200
+ components: [Button],
201
+ html: `<ic-button id='ic-button'>Button</ic-button>`,
202
+ });
203
+ await page.rootInstance.themeChangeHandler({
204
+ detail: { mode: "light" },
205
+ });
206
+ await page.waitForChanges();
207
+ expect(page.rootInstance.appearance).toEqual("light");
208
+ });
209
+ it("should test button as submit button on form", async () => {
210
+ const page = await newSpecPage({
211
+ components: [Button],
212
+ html: `<form id="new-form"><form><ic-button id='ic-button' type="submit" form="new-form">Button</ic-button>`,
213
+ });
214
+ const btn = document.getElementById("ic-button");
215
+ btn.click();
216
+ expect(page.root).toMatchSnapshot();
217
+ });
218
+ it("should test aria-describedby is set", async () => {
219
+ const page = await newSpecPage({
220
+ components: [Button],
221
+ html: `<span id="button-description">
222
+ This is the button description
223
+ </span>
224
+ <ic-button id='ic-button' aria-describedby="button-description">Button</ic-button>
225
+ `,
226
+ });
227
+ expect(page.root).toMatchSnapshot();
228
+ });
229
+ it("should test aria-describedby is updated", async () => {
230
+ const page = await newSpecPage({
231
+ components: [Button],
232
+ html: `<span id="button-description">
233
+ This is the button description
234
+ </span>
235
+ <ic-button id='ic-button' aria-describedby="button-description">Button</ic-button>
236
+ `,
237
+ });
238
+ document.querySelector("#button-description").innerText =
239
+ "This is the new description";
240
+ page.rootInstance.mutationCallback();
241
+ await page.waitForChanges();
242
+ expect(page.root).toMatchSnapshot();
243
+ });
244
+ it("should test blur handler", async () => {
245
+ const page = await newSpecPage({
246
+ components: [Button],
247
+ html: `<ic-button id='ic-button'>Button</ic-button>`,
248
+ });
249
+ const eventSpy = jest.fn();
250
+ page.win.addEventListener("icBlur", eventSpy);
251
+ await page.rootInstance.onBlur();
252
+ await page.waitForChanges();
253
+ expect(eventSpy).toHaveBeenCalled();
254
+ });
255
+ });
256
+ //# sourceMappingURL=ic-button.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ic-button.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-button/test/basic/ic-button.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { Button } from \"../../ic-button\";\nimport { newSpecPage } from \"@stencil/core/testing\";\nimport * as helpers from \"../../../../utils/helpers\";\n\nbeforeAll(() => {\n jest.spyOn(console, \"warn\").mockImplementation(jest.fn());\n});\n\n//mocked as getThemeFromContext is always default when run in test context\nconst mockGetThemeFromContext = () => {\n const func = jest.fn(() => {\n return \"light\";\n });\n\n Object.defineProperty(helpers, \"getThemeFromContext\", {\n value: func,\n });\n};\n\ndescribe(\"button component\", () => {\n it(\"should correctly render with text\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button>Button</ic-button>\",\n supportsShadowDom: true,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should correctly render with custom text\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button>Click Me</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML for secondary variant\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='secondary'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML for tertiary variant\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='tertiary'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML for destructive variant\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='destructive'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML with Icon\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button>\n <svg slot='icon' xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 0 24 24\" width=\"24px\" fill=\"#000000\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n <path d=\"M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z\"/>\n </svg>\n Button\n </ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML when loading\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button loading>Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML when loading - secondary\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button loading variant=\"secondary\">Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML when loading - tertiary\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button loading variant=\"tertiary\">Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML when loading - destructive\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button loading variant=\"destructive\">Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render correct HTML when loading - appearance light\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button loading appearance=\"light\">Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"render with correct button type when defined\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button type='reset'>Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it('should render with \"a\" tag when href is passed', async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button href = '#'>Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it('should render with defined \"a\" tag props', async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `\n <ic-button href = '#' download rel=\"nofollow\" target=\"_blank\">Button</ic-button>\n `,\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render icon variant with a tooltip\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='icon' id='test-button'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render icon variant with a tooltip based on title\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='icon' id='test-button' title='Tooltip text'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render icon variant with a tooltip based on aria-label\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='icon' id='test-button' aria-label='Tooltip text' tooltip-placement='top'>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should disable tooltip when prop set\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='icon' aria-label='Tooltip text' id='test-button' disable-tooltip>Button</ic-button>\",\n });\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should update when method called\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button variant='icon' aria-label='Tooltip text' id='test-button'>Button</ic-button>\",\n });\n\n expect(page.root).toMatchSnapshot();\n\n await page.root.updateAriaLabel(\"New tooltip text\");\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should stop immediate propagation of a click event when disabled\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button id='test-button' disabled=true onclick='alert('test')'>Button</ic-button>\",\n });\n\n jest.spyOn(window, \"alert\").mockImplementation();\n\n const element = document.getElementById(\"test-button\");\n\n element.click();\n\n await page.waitForChanges();\n\n expect(window.alert).not.toHaveBeenCalled;\n });\n\n it(\"should call 'setFocus' when button is focussed\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: \"<ic-button id='ic-button'>Button</ic-button>\",\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 it(\"should test theme change\", async () => {\n mockGetThemeFromContext();\n\n const page = await newSpecPage({\n components: [Button],\n html: `<ic-button id='ic-button'>Button</ic-button>`,\n });\n\n await page.rootInstance.themeChangeHandler({\n detail: { mode: \"light\" },\n });\n await page.waitForChanges();\n\n expect(page.rootInstance.appearance).toEqual(\"light\");\n });\n\n it(\"should test button as submit button on form\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `<form id=\"new-form\"><form><ic-button id='ic-button' type=\"submit\" form=\"new-form\">Button</ic-button>`,\n });\n\n const btn = document.getElementById(\"ic-button\");\n btn.click();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test aria-describedby is set\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `<span id=\"button-description\">\n This is the button description\n </span>\n <ic-button id='ic-button' aria-describedby=\"button-description\">Button</ic-button>\n `,\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test aria-describedby is updated\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `<span id=\"button-description\">\n This is the button description\n </span>\n <ic-button id='ic-button' aria-describedby=\"button-description\">Button</ic-button>\n `,\n });\n\n (document.querySelector(\"#button-description\") as HTMLElement).innerText =\n \"This is the new description\";\n page.rootInstance.mutationCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should test blur handler\", async () => {\n const page = await newSpecPage({\n components: [Button],\n html: `<ic-button id='ic-button'>Button</ic-button>`,\n });\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icBlur\", eventSpy);\n\n await page.rootInstance.onBlur();\n await page.waitForChanges();\n expect(eventSpy).toHaveBeenCalled();\n });\n});\n"]}