@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,5 +1,5 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-1500de1f.js';
2
- import { z as pxToRem, c as checkResizeObserver } from './helpers-3aa2f5a5.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-fd30b77e.js';
2
+ import { B as pxToRem, c as checkResizeObserver } from './helpers-85903813.js';
3
3
  import './types-dd515332.js';
4
4
 
5
5
  const icStepperCss = ":host{display:flex;width:100%}.step-item-list{display:flex;margin:0;padding:0}:host(.default:not(.aligned-left)) .step-item-list{flex:auto}:host(.compact) ul ::slotted(ic-step){display:none}:host(.compact) ul ::slotted(ic-step.show){display:flex}:host(.compact) ul ::slotted(ic-step.hide){display:none;opacity:0;visibility:hidden}";
@@ -174,19 +174,24 @@ const Stepper = class {
174
174
  });
175
175
  this.resizeObserver.observe(this.el);
176
176
  };
177
- this.aligned = "full-width";
178
- this.variant = "default";
179
- this.connectorWidth = 100;
180
- this.hideStepInfo = false;
177
+ this.alignedFullWidth = true;
178
+ this.autoSetStepTitles = true;
179
+ this.lastStepWidth = 0;
180
+ this.noOfResizes = 0;
181
181
  this.stepperWidth = document
182
182
  .querySelector("ic-stepper")
183
183
  .getBoundingClientRect().width;
184
- this.lastStepWidth = 0;
185
184
  this.stepTypes = [];
186
- this.alignedFullWidth = true;
187
- this.autoSetStepTitles = true;
188
185
  this.variantOverride = this.variant !== "compact";
189
- this.noOfResizes = 0;
186
+ this.aligned = "full-width";
187
+ this.connectorWidth = 100;
188
+ this.hideStepInfo = false;
189
+ this.variant = "default";
190
+ }
191
+ disconnectedCallback() {
192
+ if (this.resizeObserver !== null) {
193
+ this.resizeObserver.disconnect();
194
+ }
190
195
  }
191
196
  componentWillLoad() {
192
197
  this.setStepTypes();
@@ -197,11 +202,6 @@ const Stepper = class {
197
202
  componentDidLoad() {
198
203
  checkResizeObserver(this.runResizeObserver);
199
204
  }
200
- disconnectedCallback() {
201
- if (this.resizeObserver !== null) {
202
- this.resizeObserver.disconnect();
203
- }
204
- }
205
205
  render() {
206
206
  return (h(Host, { class: {
207
207
  [`${this.variant}`]: true,
@@ -1 +1 @@
1
- {"file":"ic-stepper.entry.js","mappings":"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","names":[],"sources":["./src/components/ic-stepper/ic-stepper.css?tag=ic-stepper&encapsulation=shadow","./src/components/ic-stepper/ic-stepper.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n.step-item-list {\n display: flex;\n margin: 0;\n padding: 0;\n}\n\n:host(.default:not(.aligned-left)) .step-item-list {\n flex: auto;\n}\n\n:host(.compact) ul ::slotted(ic-step) {\n display: none;\n}\n\n:host(.compact) ul ::slotted(ic-step.show) {\n display: flex;\n}\n\n:host(.compact) ul ::slotted(ic-step.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n","import { Component, Element, Host, Prop, h, State } from \"@stencil/core\";\nimport { checkResizeObserver, pxToRem } from \"../../utils/helpers\";\nimport { IcStepperAlignment } from \"./ic-stepper.types\";\nimport { IcStepTypes, IcStepVariants } from \"../ic-step/ic-step.types\";\n\n@Component({\n tag: \"ic-stepper\",\n styleUrl: \"ic-stepper.css\",\n shadow: true,\n})\nexport class Stepper {\n @Element() el: HTMLIcStepperElement;\n\n /**\n * The alignment of the default stepper within its container.\n */\n @Prop() aligned?: IcStepperAlignment = \"full-width\";\n\n /**\n * The variant of the stepper.\n */\n @Prop({ mutable: true }) variant?: IcStepVariants = \"default\";\n\n /**\n * The length of the connnector between each step in pixels. Minimum length is 100px.\n */\n @Prop() connectorWidth?: number = 100;\n\n /**\n * If `true`, the information about each step, i.e. step title, step subtitle and step status, will be hidden on all default steps. The information about each step will still be visible in the compact variant of the stepper.\n */\n @Prop() hideStepInfo?: boolean = false;\n\n @State() stepperWidth: number = document\n .querySelector(\"ic-stepper\")\n .getBoundingClientRect().width;\n\n @State() lastStepWidth: number = 0;\n\n @State() stepTypes: IcStepTypes[] = [];\n\n @State() alignedFullWidth: boolean = true;\n\n @State() autoSetStepTitles: boolean = true;\n\n @State() variantOverride?: boolean = this.variant !== \"compact\";\n\n @State() noOfResizes?: number = 0;\n\n private steps: HTMLIcStepElement[];\n\n private stepsWithStepTitles: HTMLIcStepElement[];\n\n private resizeObserver: ResizeObserver = null;\n\n // Get all steps currently within this stepper\n private getChildren = (): void => {\n this.steps = Array.from(this.el.querySelectorAll(\"ic-step\"));\n\n this.stepsWithStepTitles = Array.from(\n this.el.querySelectorAll(\"ic-step[step-title]\")\n );\n };\n\n // Inform the user that stepTitles are required on all steps in a compact stepper\n private checkStepTitles = (): void => {\n if (\n this.stepsWithStepTitles.length < this.steps.length &&\n this.variantOverride &&\n this.variant === \"compact\"\n ) {\n this.noOfResizes = this.noOfResizes + 1;\n if (this.noOfResizes === 1) {\n console.error(\n `The prop 'step-title' (web components) / 'stepTitle' (react) is required for all steps of the Stepper component (compact variant)`\n );\n }\n }\n };\n\n private setStepTypes = (): void => {\n this.getChildren();\n this.stepTypes = [];\n for (let i = 0; i < this.steps.length; i++) {\n this.stepTypes.push(\"active\");\n }\n };\n\n private setStepperWidth = (): void => {\n this.alignedFullWidth =\n this.variant === \"default\" && this.aligned === \"full-width\";\n\n const lastStep = this.steps[this.steps.length - 1];\n lastStep.style.maxWidth = \"none\";\n\n if (this.alignedFullWidth) {\n this.stepperWidth = this.el.offsetWidth;\n lastStep.style.maxWidth = pxToRem(\n `${this.stepperWidth / this.steps.length}px`\n );\n this.lastStepWidth = lastStep.offsetWidth;\n }\n };\n\n private initialiseStepStates = (): void => {\n this.steps.forEach((step, index) => {\n // Set variant\n step.variant = this.variant;\n // Assign stepNum to each step\n step.stepNum = index + 1;\n // Assign lastStep to final step\n step.lastStep = index === this.steps.length - 1;\n step.lastStepNum = this.steps.length;\n\n if (step.stepType !== \"current\") {\n step.current = false;\n this.stepTypes[index] = step.stepType;\n } else {\n step.current = true;\n }\n\n const stepTitleArea =\n step.shadowRoot &&\n step.shadowRoot.querySelector(\".step > .step-title-area\");\n\n if (this.stepsWithStepTitles.length == 0 && this.variantOverride) {\n if (this.variant === \"compact\") {\n this.autoSetStepTitles = true;\n if (this.autoSetStepTitles) {\n step.stepTitle = \"Step \" + step.stepNum;\n stepTitleArea &&\n stepTitleArea\n .querySelector(\".step-title\")\n .setAttribute(\"aria-hidden\", \"true\");\n }\n }\n if (this.variant === \"default\") {\n this.autoSetStepTitles = false;\n if (!this.autoSetStepTitles) {\n step.stepTitle = undefined;\n stepTitleArea &&\n stepTitleArea\n .querySelector(\".step-title\")\n .removeAttribute(\"aria-hidden\");\n }\n }\n }\n\n if (this.variant === \"compact\") {\n if (step.current === true || step.stepType === \"current\") {\n step.classList.remove(\"hide\");\n step.classList.add(\"show\");\n } else if (step.classList.contains(\"show\")) {\n step.classList.remove(\"show\");\n step.classList.add(\"hide\");\n }\n\n if (!step.lastStep) {\n step.nextStepTitle = this.steps[index + 1].stepTitle;\n step.progress = (step.stepNum / this.steps.length) * 100;\n } else if (step.lastStep && this.stepTypes[index] !== \"completed\") {\n step.progress = 95;\n } else {\n step.progress = 100;\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.remove(\"visually-hidden\");\n }\n\n step.compactStepStyling = this.stepTypes[index];\n }\n\n if (this.variant === \"default\") {\n if (!step.lastStep) {\n if (this.alignedFullWidth) {\n step.style.width = pxToRem(\n `${\n (this.stepperWidth - this.lastStepWidth) /\n (this.steps.length - 1)\n }px`\n );\n step.style.minWidth = pxToRem(\"148px\");\n }\n } else if (step.lastStep) {\n step.classList.add(\"last-step\");\n if (this.alignedFullWidth) {\n step.style.maxWidth = `${this.lastStepWidth}px`;\n } else {\n step.style.maxWidth =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n }\n }\n\n if (this.aligned === \"left\") {\n step.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n const stepConnect = step.shadowRoot.querySelector(\n \".step > .step-top > .step-connect\"\n ) as HTMLElement;\n\n if (stepConnect) {\n stepConnect.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth}px`)\n : pxToRem(\"100px\");\n }\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.add(\"visually-hidden\");\n }\n }\n });\n };\n\n private overrideVariant = () => {\n let minDefaultStepperWidth = 148 * this.steps.length;\n\n if (this.aligned === \"left\" && this.connectorWidth > 100) {\n minDefaultStepperWidth = (this.connectorWidth + 48) * this.steps.length;\n }\n\n if (this.variantOverride) {\n if (this.el.clientWidth < minDefaultStepperWidth) {\n this.variant = \"compact\";\n this.getChildren();\n } else {\n this.variant = \"default\";\n this.getChildren();\n }\n }\n };\n\n private resizeObserverCallback = () => {\n this.getChildren();\n this.checkStepTitles();\n this.overrideVariant();\n this.setStepperWidth();\n this.initialiseStepStates();\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n componentWillLoad(): void {\n this.setStepTypes();\n if (this.variant === \"compact\") {\n this.variantOverride = false;\n }\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n return (\n <Host\n class={{\n [`${this.variant}`]: true,\n [\"aligned-left\"]:\n this.variant === \"default\" && this.aligned === \"left\",\n }}\n >\n <ul class=\"step-item-list\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-stepper.entry.js","mappings":"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","names":[],"sources":["./src/components/ic-stepper/ic-stepper.css?tag=ic-stepper&encapsulation=shadow","./src/components/ic-stepper/ic-stepper.tsx"],"sourcesContent":[":host {\n display: flex;\n width: 100%;\n}\n\n.step-item-list {\n display: flex;\n margin: 0;\n padding: 0;\n}\n\n:host(.default:not(.aligned-left)) .step-item-list {\n flex: auto;\n}\n\n:host(.compact) ul ::slotted(ic-step) {\n display: none;\n}\n\n:host(.compact) ul ::slotted(ic-step.show) {\n display: flex;\n}\n\n:host(.compact) ul ::slotted(ic-step.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n","import { Component, Element, Host, Prop, h, State } from \"@stencil/core\";\nimport { checkResizeObserver, pxToRem } from \"../../utils/helpers\";\nimport { IcStepperAlignment } from \"./ic-stepper.types\";\nimport { IcStepTypes, IcStepVariants } from \"../ic-step/ic-step.types\";\n\n@Component({\n tag: \"ic-stepper\",\n styleUrl: \"ic-stepper.css\",\n shadow: true,\n})\nexport class Stepper {\n private resizeObserver: ResizeObserver = null;\n private steps: HTMLIcStepElement[];\n private stepsWithStepTitles: HTMLIcStepElement[];\n\n @Element() el: HTMLIcStepperElement;\n\n @State() alignedFullWidth: boolean = true;\n @State() autoSetStepTitles: boolean = true;\n @State() lastStepWidth: number = 0;\n @State() noOfResizes?: number = 0;\n @State() stepperWidth: number = document\n .querySelector(\"ic-stepper\")\n .getBoundingClientRect().width;\n @State() stepTypes: IcStepTypes[] = [];\n @State() variantOverride?: boolean = this.variant !== \"compact\";\n\n /**\n * The alignment of the default stepper within its container.\n */\n @Prop() aligned?: IcStepperAlignment = \"full-width\";\n\n /**\n * The length of the connnector between each step in pixels. Minimum length is 100px.\n */\n @Prop() connectorWidth?: number = 100;\n\n /**\n * If `true`, the information about each step, i.e. step title, step subtitle and step status, will be hidden on all default steps. The information about each step will still be visible in the compact variant of the stepper.\n */\n @Prop() hideStepInfo?: boolean = false;\n\n /**\n * The variant of the stepper.\n */\n @Prop({ mutable: true }) variant?: IcStepVariants = \"default\";\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.setStepTypes();\n if (this.variant === \"compact\") {\n this.variantOverride = false;\n }\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n // Get all steps currently within this stepper\n private getChildren = (): void => {\n this.steps = Array.from(this.el.querySelectorAll(\"ic-step\"));\n\n this.stepsWithStepTitles = Array.from(\n this.el.querySelectorAll(\"ic-step[step-title]\")\n );\n };\n\n // Inform the user that stepTitles are required on all steps in a compact stepper\n private checkStepTitles = (): void => {\n if (\n this.stepsWithStepTitles.length < this.steps.length &&\n this.variantOverride &&\n this.variant === \"compact\"\n ) {\n this.noOfResizes = this.noOfResizes + 1;\n if (this.noOfResizes === 1) {\n console.error(\n `The prop 'step-title' (web components) / 'stepTitle' (react) is required for all steps of the Stepper component (compact variant)`\n );\n }\n }\n };\n\n private setStepTypes = (): void => {\n this.getChildren();\n this.stepTypes = [];\n for (let i = 0; i < this.steps.length; i++) {\n this.stepTypes.push(\"active\");\n }\n };\n\n private setStepperWidth = (): void => {\n this.alignedFullWidth =\n this.variant === \"default\" && this.aligned === \"full-width\";\n\n const lastStep = this.steps[this.steps.length - 1];\n lastStep.style.maxWidth = \"none\";\n\n if (this.alignedFullWidth) {\n this.stepperWidth = this.el.offsetWidth;\n lastStep.style.maxWidth = pxToRem(\n `${this.stepperWidth / this.steps.length}px`\n );\n this.lastStepWidth = lastStep.offsetWidth;\n }\n };\n\n private initialiseStepStates = (): void => {\n this.steps.forEach((step, index) => {\n // Set variant\n step.variant = this.variant;\n // Assign stepNum to each step\n step.stepNum = index + 1;\n // Assign lastStep to final step\n step.lastStep = index === this.steps.length - 1;\n step.lastStepNum = this.steps.length;\n\n if (step.stepType !== \"current\") {\n step.current = false;\n this.stepTypes[index] = step.stepType;\n } else {\n step.current = true;\n }\n\n const stepTitleArea =\n step.shadowRoot &&\n step.shadowRoot.querySelector(\".step > .step-title-area\");\n\n if (this.stepsWithStepTitles.length == 0 && this.variantOverride) {\n if (this.variant === \"compact\") {\n this.autoSetStepTitles = true;\n if (this.autoSetStepTitles) {\n step.stepTitle = \"Step \" + step.stepNum;\n stepTitleArea &&\n stepTitleArea\n .querySelector(\".step-title\")\n .setAttribute(\"aria-hidden\", \"true\");\n }\n }\n if (this.variant === \"default\") {\n this.autoSetStepTitles = false;\n if (!this.autoSetStepTitles) {\n step.stepTitle = undefined;\n stepTitleArea &&\n stepTitleArea\n .querySelector(\".step-title\")\n .removeAttribute(\"aria-hidden\");\n }\n }\n }\n\n if (this.variant === \"compact\") {\n if (step.current === true || step.stepType === \"current\") {\n step.classList.remove(\"hide\");\n step.classList.add(\"show\");\n } else if (step.classList.contains(\"show\")) {\n step.classList.remove(\"show\");\n step.classList.add(\"hide\");\n }\n\n if (!step.lastStep) {\n step.nextStepTitle = this.steps[index + 1].stepTitle;\n step.progress = (step.stepNum / this.steps.length) * 100;\n } else if (step.lastStep && this.stepTypes[index] !== \"completed\") {\n step.progress = 95;\n } else {\n step.progress = 100;\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.remove(\"visually-hidden\");\n }\n\n step.compactStepStyling = this.stepTypes[index];\n }\n\n if (this.variant === \"default\") {\n if (!step.lastStep) {\n if (this.alignedFullWidth) {\n step.style.width = pxToRem(\n `${\n (this.stepperWidth - this.lastStepWidth) /\n (this.steps.length - 1)\n }px`\n );\n step.style.minWidth = pxToRem(\"148px\");\n }\n } else if (step.lastStep) {\n step.classList.add(\"last-step\");\n if (this.alignedFullWidth) {\n step.style.maxWidth = `${this.lastStepWidth}px`;\n } else {\n step.style.maxWidth =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n }\n }\n\n if (this.aligned === \"left\") {\n step.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth + 48}px`)\n : pxToRem(\"148px\");\n const stepConnect = step.shadowRoot.querySelector(\n \".step > .step-top > .step-connect\"\n ) as HTMLElement;\n\n if (stepConnect) {\n stepConnect.style.width =\n this.connectorWidth > 100\n ? pxToRem(`${this.connectorWidth}px`)\n : pxToRem(\"100px\");\n }\n }\n\n if (this.hideStepInfo && stepTitleArea !== null) {\n stepTitleArea.classList.add(\"visually-hidden\");\n }\n }\n });\n };\n\n private overrideVariant = () => {\n let minDefaultStepperWidth = 148 * this.steps.length;\n\n if (this.aligned === \"left\" && this.connectorWidth > 100) {\n minDefaultStepperWidth = (this.connectorWidth + 48) * this.steps.length;\n }\n\n if (this.variantOverride) {\n if (this.el.clientWidth < minDefaultStepperWidth) {\n this.variant = \"compact\";\n this.getChildren();\n } else {\n this.variant = \"default\";\n this.getChildren();\n }\n }\n };\n\n private resizeObserverCallback = () => {\n this.getChildren();\n this.checkStepTitles();\n this.overrideVariant();\n this.setStepperWidth();\n this.initialiseStepStates();\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n [`${this.variant}`]: true,\n [\"aligned-left\"]:\n this.variant === \"default\" && this.aligned === \"left\",\n }}\n >\n <ul class=\"step-item-list\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,16 +1,16 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-1500de1f.js';
2
- import { d as addFormResetListener, a as onComponentRequiredPropUndefined, r as removeFormResetListener, e as renderHiddenInput, h as getInputDescribedByText } from './helpers-3aa2f5a5.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-fd30b77e.js';
2
+ import { e as removeFormResetListener, d as addFormResetListener, r as removeDisabledFalse, a as onComponentRequiredPropUndefined, f as renderHiddenInput, j as getInputDescribedByText } from './helpers-85903813.js';
3
3
  import './types-dd515332.js';
4
4
 
5
- const icSwitchCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block}input{overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ic-switch-container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ic-space-xxs);cursor:pointer}.ic-switch-label{margin-left:var(--ic-space-xxs);margin-bottom:var(--ic-space-sm)}.ic-switch-label-small{margin-bottom:0.625rem}.ic-switch-toggle{display:flex;align-items:center;justify-content:space-around;width:4rem;height:var(--ic-space-xl);position:relative;border-radius:100vw;background-color:var(--ic-architectural-200);border:0.063rem solid var(--ic-architectural-700);box-sizing:border-box;transition:var(--ic-transition-duration-fast)}.ic-switch-line-break{flex:1 0 100%}.ic-switch-checked-status{padding-left:var(--ic-space-xxs)}.ic-switch-toggle::before{content:\"\";width:1.333rem;height:1.333rem;border-radius:50%;position:absolute;z-index:2;top:50%;left:0.333rem;transform:translate(0, -50%);background-color:var(--ic-architectural-700);transition:var(--ic-transition-duration-slow)}.ic-switch-icon{display:inline-block;vertical-align:middle;width:0.625rem;height:0.625rem}.ic-switch-icon-circle,.ic-switch-icon-line{stroke-width:1}.ic-switch-icon-circle{stroke:var(--ic-architectural-700)}.ic-switch-icon-line{stroke:var(--ic-architectural-white)}@media (prefers-reduced-motion: reduce){.ic-switch-toggle::before{transition-duration:0ms}}.ic-switch-input:checked+.ic-switch-toggle{background-color:var(--ic-action-default);border:none}.ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(var(--ic-space-xl), -50%);background-color:var(--ic-architectural-white)}.ic-switch-input:not([disabled])+.ic-switch-toggle:hover::before{box-shadow:0 0 0 0.75rem var(--ic-action-dark-bg-hover)}.ic-switch-input:not([disabled])+.ic-switch-toggle:active::before{box-shadow:0 0 0 0.75rem var(--ic-action-dark-bg-active)}.ic-switch-input:not([disabled]):checked+.ic-switch-toggle:hover::before{box-shadow:0 0 0 0.75rem var(--ic-action-default-bg-hover)}.ic-switch-input:not([disabled]):checked+.ic-switch-toggle:active::before{box-shadow:0 0 0 0.75rem var(--ic-action-default-bg-active)}.ic-switch-input:focus:not([disabled])+.ic-switch-toggle,.ic-switch-input:focus-visible:not([disabled])+.ic-switch-toggle{box-shadow:0 0 0 0.063rem var(--ic-architectural-white),\n 0 0 0 0.188rem var(--ic-action-default),\n 0 0 0 0.5rem var(--ic-action-default-active-alpha)}.ic-switch-disabled{cursor:default}.ic-switch-disabled .ic-switch-icon-circle{stroke:var(--ic-architectural-300)}.ic-switch-disabled .ic-switch-icon-line{stroke:var(--ic-action-default-bg-active)}.ic-switch-input:disabled+.ic-switch-toggle{background-color:var(--ic-architectural-80);border:0.063rem dashed var(--ic-architectural-300)}.ic-switch-input:disabled~.ic-switch-checked-status{color:var(--ic-architectural-300)}.ic-switch-input:disabled+.ic-switch-toggle::before{background-color:var(--ic-architectural-300)}.ic-switch-input:disabled:checked+.ic-switch-toggle{background-color:var(--ic-status-info-background);border:0.063rem dashed #98c9f5}.ic-switch-input:disabled:checked+.ic-switch-toggle::before{background-color:var(--ic-architectural-white)}.ic-switch-small{gap:var(--ic-space-xxxs)}.ic-switch-small .ic-switch-checked-status{padding-left:0.375rem}.ic-switch-small .ic-switch-toggle{width:var(--ic-space-xxl);height:var(--ic-space-lg)}.ic-switch-small .ic-switch-toggle::before{width:var(--ic-space-md);height:var(--ic-space-md);left:var(--ic-space-xxs)}.ic-switch-small .ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(var(--ic-space-lg), -50%)}::slotted(*){margin-left:var(--ic-space-sm)}::slotted(svg){fill:currentcolor}@media (forced-colors: active){.ic-switch-toggle::before,.ic-switch-input:checked+.ic-switch-toggle{border:var(--ic-hc-border)}.ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(calc(var(--ic-space-xl) - 0.125rem), -50%)}.ic-switch-input:disabled+.ic-switch-toggle,.ic-switch-input:disabled:checked+.ic-switch-toggle,.ic-switch-input:disabled+.ic-switch-toggle::before{border-color:GrayText}.ic-switch-input:disabled~.ic-switch-checked-status{color:GrayText}.ic-switch-disabled .ic-switch-icon-circle,.ic-switch-disabled .ic-switch-icon-line{stroke:GrayText}}";
5
+ const icSwitchCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:inline-block}input{overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ic-switch-container{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ic-space-xxs);cursor:pointer}.ic-switch-label{margin-left:var(--ic-space-xxs);margin-bottom:var(--ic-space-sm)}.ic-switch-label-small{margin-bottom:0.625rem}.ic-switch-toggle{display:flex;align-items:center;justify-content:space-around;width:4rem;height:var(--ic-space-xl);position:relative;border-radius:100vw;background-color:var(--ic-architectural-200);border:var(--ic-space-1px) solid var(--ic-architectural-700);box-sizing:border-box;transition:var(--ic-transition-duration-fast)}.ic-switch-line-break{flex:1 0 100%}.ic-switch-checked-status{padding-left:var(--ic-space-xxs)}.ic-switch-toggle::before{content:\"\";width:1.333rem;height:1.333rem;border-radius:50%;position:absolute;z-index:2;top:50%;left:0.333rem;transform:translate(0, -50%);background-color:var(--ic-architectural-700);transition:var(--ic-transition-duration-slow)}.ic-switch-icon{display:inline-block;vertical-align:middle;width:0.625rem;height:0.625rem}.ic-switch-icon-circle,.ic-switch-icon-line{stroke-width:1}.ic-switch-icon-circle{stroke:var(--ic-architectural-700)}.ic-switch-icon-line{stroke:var(--ic-architectural-white)}@media (prefers-reduced-motion: reduce){.ic-switch-toggle::before{transition-duration:0ms}}.ic-switch-input:checked+.ic-switch-toggle{background-color:var(--ic-action-default);border:none}.ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(var(--ic-space-xl), -50%);background-color:var(--ic-architectural-white)}.ic-switch-input:not([disabled])+.ic-switch-toggle:hover::before{box-shadow:0 0 0 0.75rem var(--ic-action-dark-bg-hover)}.ic-switch-input:not([disabled])+.ic-switch-toggle:active::before{box-shadow:0 0 0 0.75rem var(--ic-action-dark-bg-active)}.ic-switch-input:not([disabled]):checked+.ic-switch-toggle:hover::before{box-shadow:0 0 0 0.75rem var(--ic-action-default-bg-hover)}.ic-switch-input:not([disabled]):checked+.ic-switch-toggle:active::before{box-shadow:0 0 0 0.75rem var(--ic-action-default-bg-active)}.ic-switch-input:focus:not([disabled])+.ic-switch-toggle,.ic-switch-input:focus-visible:not([disabled])+.ic-switch-toggle{box-shadow:0 0 0 var(--ic-space-1px) var(--ic-architectural-white),\n 0 0 0 0.188rem var(--ic-action-default),\n 0 0 0 0.5rem var(--ic-action-default-active-alpha)}.ic-switch-disabled{cursor:default}.ic-switch-disabled .ic-switch-icon-circle{stroke:var(--ic-architectural-300)}.ic-switch-disabled .ic-switch-icon-line{stroke:var(--ic-action-default-bg-active)}.ic-switch-input:disabled+.ic-switch-toggle{background-color:var(--ic-architectural-80);border:var(--ic-border-disabled)}.ic-switch-input:disabled~.ic-switch-checked-status{color:var(--ic-architectural-300)}.ic-switch-input:disabled+.ic-switch-toggle::before{background-color:var(--ic-architectural-300)}.ic-switch-input:disabled:checked+.ic-switch-toggle{background-color:var(--ic-status-info-background);border:var(--ic-space-1px) dashed #98c9f5}.ic-switch-input:disabled:checked+.ic-switch-toggle::before{background-color:var(--ic-architectural-white)}.ic-switch-small{gap:var(--ic-space-xxxs)}.ic-switch-small .ic-switch-checked-status{padding-left:0.375rem}.ic-switch-small .ic-switch-toggle{width:var(--ic-space-xxl);height:var(--ic-space-lg)}.ic-switch-small .ic-switch-toggle::before{width:var(--ic-space-md);height:var(--ic-space-md);left:var(--ic-space-xxs)}.ic-switch-small .ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(var(--ic-space-lg), -50%)}::slotted(*){margin-left:var(--ic-space-sm)}::slotted(svg){fill:currentcolor}@media (forced-colors: active){.ic-switch-toggle::before,.ic-switch-input:checked+.ic-switch-toggle{border:var(--ic-hc-border)}.ic-switch-input:checked+.ic-switch-toggle::before{transform:translate(calc(var(--ic-space-xl) - 0.125rem), -50%)}.ic-switch-input:disabled+.ic-switch-toggle,.ic-switch-input:disabled:checked+.ic-switch-toggle,.ic-switch-input:disabled+.ic-switch-toggle::before{border-color:GrayText}.ic-switch-input:disabled~.ic-switch-checked-status{color:GrayText}.ic-switch-disabled .ic-switch-icon-circle,.ic-switch-disabled .ic-switch-icon-line{stroke:GrayText}}";
6
6
 
7
7
  let inputIds = 0;
8
8
  const Switch = class {
9
9
  constructor(hostRef) {
10
10
  registerInstance(this, hostRef);
11
+ this.icBlur = createEvent(this, "icBlur", 7);
11
12
  this.icChange = createEvent(this, "icChange", 7);
12
13
  this.icFocus = createEvent(this, "icFocus", 7);
13
- this.icBlur = createEvent(this, "icBlur", 7);
14
14
  this.inputId = `ic-switch-input-${inputIds++}`;
15
15
  this.handleChange = () => {
16
16
  this.checkedState = !this.checkedState;
@@ -28,35 +28,36 @@ const Switch = class {
28
28
  this.handleFormReset = () => {
29
29
  this.checkedState = this.initiallyChecked;
30
30
  };
31
- this.label = undefined;
32
- this.hideLabel = false;
33
- this.helperText = "";
31
+ this.checkedState = false;
32
+ this.initiallyChecked = this.checked;
34
33
  this.checked = false;
35
- this.small = false;
36
34
  this.disabled = false;
35
+ this.helperText = "";
36
+ this.hideLabel = false;
37
+ this.label = undefined;
37
38
  this.name = this.inputId;
38
39
  this.showState = false;
40
+ this.small = false;
39
41
  this.value = "on";
40
- this.checkedState = false;
41
- this.initiallyChecked = this.checked;
42
42
  }
43
- /**
44
- * Sets focus on the switch.
45
- */
46
- async setFocus() {
47
- if (this.el.shadowRoot.querySelector("input")) {
48
- this.el.shadowRoot.querySelector("input").focus();
49
- }
43
+ disconnectedCallback() {
44
+ removeFormResetListener(this.el, this.handleFormReset);
50
45
  }
51
46
  componentWillLoad() {
52
47
  this.checkedState = this.checked;
53
48
  addFormResetListener(this.el, this.handleFormReset);
49
+ removeDisabledFalse(this.disabled, this.el);
54
50
  }
55
51
  componentDidLoad() {
56
52
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Switch");
57
53
  }
58
- disconnectedCallback() {
59
- removeFormResetListener(this.el, this.handleFormReset);
54
+ /**
55
+ * Sets focus on the switch.
56
+ */
57
+ async setFocus() {
58
+ if (this.el.shadowRoot.querySelector("input")) {
59
+ this.el.shadowRoot.querySelector("input").focus();
60
+ }
60
61
  }
61
62
  render() {
62
63
  const { label, checkedState, small, disabled, name, showState, value, hideLabel, helperText, inputId, } = this;
@@ -71,6 +72,7 @@ const Switch = class {
71
72
  ["ic-switch-label-small"]: small,
72
73
  } })), !hideLabel && h("span", { class: "ic-switch-line-break" }), h("input", { checked: checkedState, disabled: disabled, "aria-label": label, "aria-checked": checkedState ? "true" : "false", "aria-describedby": describedBy, role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { class: "ic-switch-toggle" }, h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { class: "ic-switch-icon-line", x1: "9", y1: small ? "2" : "1", x2: "9", y2: small ? "8" : "9" })), h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: small ? "3.335" : "4.445" }))), h("slot", { name: "right-adornment" }), showState && (h("ic-typography", { "aria-hidden": "true", variant: "label", class: "ic-switch-checked-status" }, checkedState ? "On" : "Off")))));
73
74
  }
75
+ static get delegatesFocus() { return true; }
74
76
  get el() { return getElement(this); }
75
77
  };
76
78
  Switch.style = icSwitchCss;
@@ -1 +1 @@
1
- {"file":"ic-switch.entry.js","mappings":"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","names":[],"sources":["./src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","./src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: 0.063rem solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: 0 0 0 0.063rem var(--ic-architectural-white),\n 0 0 0 0.188rem var(--ic-action-default),\n 0 0 0 0.5rem var(--ic-action-default-active-alpha);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: 0.063rem dashed var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-background);\n border: 0.063rem dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-hc-border);\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: true,\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n /**\n * If `true`, the small styling will be applied to the switch.\n */\n @Prop() small?: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-switch.entry.js","mappings":";;;;AAAA,MAAM,WAAW,GAAG,oiNAAoiN;;ACqBxjN,IAAI,QAAQ,GAAG,CAAC,CAAC;MAYJ,MAAM;;;;;;IACT,YAAO,GAAG,mBAAmB,QAAQ,EAAE,EAAE,CAAC;IAkG1C,iBAAY,GAAG;MACrB,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;MACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjB,OAAO,EAAE,IAAI,CAAC,YAAY;QAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;OAClB,CAAC,CAAC;KACJ,CAAC;IAEM,YAAO,GAAG;MAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB,CAAC;IAEM,WAAM,GAAG;MACf,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB,CAAC;IAEM,oBAAe,GAAG;MACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;KAC3C,CAAC;wBAhH+B,KAAK;4BACV,IAAI,CAAC,OAAO;mBAKZ,KAAK;oBAKJ,KAAK;sBAKJ,EAAE;qBAKF,KAAK;;gBAUX,IAAI,CAAC,OAAO;qBAKN,KAAK;iBAKT,KAAK;iBASC,IAAI;;EAiBpC,oBAAoB;IAClB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;GACxD;EAED,iBAAiB;IACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;IACjC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;GAC7C;EAED,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,QAAQ,CACT,CAAC;GACH;;;;EAMD,MAAM,QAAQ;IACZ,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;MAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;KACnD;GACF;EAsBD,MAAM;IACJ,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,KAAK,EACL,SAAS,EACT,UAAU,EACV,OAAO,GACR,GAAG,IAAI,CAAC;IAET,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,KAAK,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IAE5E,MAAM,WAAW,GAAG,uBAAuB,CACzC,OAAO,EACP,UAAU,KAAK,EAAE,EACjB,KAAK,CACN,CAAC;IAEF,QACE,EAAC,IAAI,QACH,aACE,KAAK,EAAE;QACL,CAAC,qBAAqB,GAAG,IAAI;QAC7B,CAAC,oBAAoB,GAAG,QAAQ;QAChC,CAAC,iBAAiB,GAAG,KAAK;OAC3B,EACD,OAAO,EAAE,OAAO,IAEf,CAAC,SAAS,KACT,sBACE,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,IAAI,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE;QACL,CAAC,iBAAiB,GAAG,IAAI;QACzB,CAAC,uBAAuB,GAAG,KAAK;OACjC,GACe,CACnB,EACA,CAAC,SAAS,IAAI,YAAM,KAAK,EAAC,sBAAsB,GAAQ,EACzD,aACE,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,gBACN,KAAK,kBACH,YAAY,GAAG,MAAM,GAAG,OAAO,sBAC3B,WAAW,EAC7B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,iBAAiB,EACvB,IAAI,EAAC,UAAU,EACf,IAAI,EAAC,QAAQ,EACb,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,YAAY,GAC3B,EACF,YAAM,KAAK,EAAC,kBAAkB,IAC5B,WACE,KAAK,EAAC,gBAAgB,iBACV,MAAM,EAClB,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,IAElC,YACE,KAAK,EAAC,qBAAqB,EAC3B,EAAE,EAAC,GAAG,EACN,EAAE,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,EACrB,EAAE,EAAC,GAAG,EACN,EAAE,EAAE,KAAK,GAAG,GAAG,GAAG,GAAG,GACrB,CACE,EACN,WACE,KAAK,EAAC,gBAAgB,iBACV,MAAM,EAClB,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,IAElC,cACE,KAAK,EAAC,uBAAuB,EAC7B,IAAI,EAAC,MAAM,EACX,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,OAAO,GAC5B,CACE,CACD,EACP,YAAM,IAAI,EAAC,iBAAiB,GAAQ,EACnC,SAAS,KACR,oCACc,MAAM,EAClB,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,0BAA0B,IAE/B,YAAY,GAAG,IAAI,GAAG,KAAK,CACd,CACjB,CACK,CACH,EACP;GACH;;;;;;;;","names":[],"sources":["./src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","./src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: var(--ic-space-1px) solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: 0 0 0 var(--ic-space-1px) var(--ic-architectural-white),\n 0 0 0 0.188rem var(--ic-action-default),\n 0 0 0 0.5rem var(--ic-action-default-active-alpha);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: var(--ic-border-disabled);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-background);\n border: var(--ic-space-1px) dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-hc-border);\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the switch.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n render() {\n const {\n label,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,26 +1,31 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-1500de1f.js';
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-fd30b77e.js';
2
2
  import { I as IcThemeForegroundEnum } from './types-dd515332.js';
3
3
 
4
4
  const TabContext = class {
5
5
  constructor(hostRef) {
6
6
  registerInstance(this, hostRef);
7
- this.tabSelect = createEvent(this, "tabSelect", 7);
8
- this.icTabSelect = createEvent(this, "icTabSelect", 7);
9
- // Sets attributes to link tabs and tabpanels
7
+ this.icTabSelect = createEvent(this, "icTabSelect", 3);
8
+ this.tabSelect = createEvent(this, "tabSelect", 3);
9
+ this.newTabPanels = [];
10
+ this.newTabs = [];
11
+ // Sets attributes to link tab-group, tabs and tab-panels
10
12
  this.linkTabs = () => {
11
13
  this.tabs.forEach((tab, index) => {
12
14
  const tabId = `ic-tab-${index}-context-${this.contextId}`;
13
15
  const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;
14
16
  const shared = `ic-tab--${index}-context-${this.contextId}`;
17
+ const contextIdAttr = "context-id";
15
18
  tab.setAttribute("id", tabId);
16
19
  tab.tabId = shared;
17
20
  tab.tabPosition = index;
18
21
  tab.setAttribute("aria-controls", tabPanelId);
19
- tab.setAttribute("context-id", this.contextId);
22
+ tab.setAttribute(contextIdAttr, this.contextId);
23
+ this.tabGroup.setAttribute(contextIdAttr, this.contextId);
20
24
  this.tabPanels[index].setAttribute("id", tabPanelId);
21
25
  this.tabPanels[index].panelId = shared;
22
26
  this.tabPanels[index].tabPosition = index;
23
27
  this.tabPanels[index].setAttribute("aria-labelledby", tabId);
28
+ this.tabPanels[index].setAttribute(contextIdAttr, this.contextId);
24
29
  if (this.appearance === IcThemeForegroundEnum.Light) {
25
30
  tab.appearance = this.appearance;
26
31
  this.tabPanels[index].appearance = this.appearance;
@@ -31,25 +36,25 @@ const TabContext = class {
31
36
  }
32
37
  };
33
38
  // Gets tabs and tabpanels with the same context ID
39
+ // Using querySelector to selector the children in relation to the host
34
40
  this.getChildren = () => {
35
- this.tabGroup = Array.from(this.host.querySelectorAll("ic-tab-group")).find((tabGroup) => tabGroup.contextId === this.contextId);
36
- this.tabs = Array.from(this.tabGroup.querySelectorAll("ic-tab")).filter((tab) => tab.contextId === this.contextId);
41
+ this.tabGroup = this.host.querySelector("ic-tab-group");
42
+ this.tabs = Array.from(this.tabGroup.querySelectorAll("ic-tab"));
43
+ this.tabPanels = Array.from(this.host.children).filter((child) => child.tagName === "IC-TAB-PANEL");
37
44
  this.enabledTabs = this.getEnabledTabs();
38
- this.tabPanels = Array.from(this.host.querySelectorAll("ic-tab-panel"));
39
45
  };
40
- // Determines how keyboard navigation is to be handled based on the activation type
41
- this.attatchEventListeners = () => {
46
+ this.keydownHandler = (event) => {
42
47
  if (this.activationType === "automatic") {
43
- this.tabGroup.addEventListener("keydown", (event) => {
44
- this.handleKeyBoardNavAutomatic(event);
45
- });
48
+ this.handleKeyBoardNavAutomatic(event);
46
49
  }
47
50
  else {
48
- this.tabGroup.addEventListener("keydown", (event) => {
49
- this.handleKeyBoardNavManual(event);
50
- });
51
+ this.handleKeyBoardNavManual(event);
51
52
  }
52
53
  };
54
+ // Determines how keyboard navigation is to be handled based on the activation type
55
+ this.attatchEventListeners = () => {
56
+ this.tabGroup.addEventListener("keydown", this.keydownHandler);
57
+ };
53
58
  // Determines whether the selected tab is being controlled within the component
54
59
  // or by the user (via selectedTabIndex and onIcTabSelect)
55
60
  this.setControlledMode = () => {
@@ -175,15 +180,29 @@ const TabContext = class {
175
180
  if (preventDefault)
176
181
  event.preventDefault();
177
182
  };
178
- this.contextId = "default";
183
+ this.selectedTab = undefined;
179
184
  this.activationType = "automatic";
180
- this.selectedTabIndex = undefined;
181
185
  this.appearance = "dark";
182
- this.selectedTab = undefined;
186
+ this.contextId = "default";
187
+ this.selectedTabIndex = undefined;
183
188
  }
184
189
  updateSelectedTab(newValue) {
185
190
  this.selectedTab = newValue;
186
191
  }
192
+ componentDidLoad() {
193
+ this.setControlledMode();
194
+ this.getChildren();
195
+ this.linkTabs();
196
+ this.attatchEventListeners();
197
+ this.setInitialTab();
198
+ this.configureTabs();
199
+ }
200
+ componentWillUpdate() {
201
+ this.configureTabs();
202
+ }
203
+ disconnectedCallback() {
204
+ this.tabGroup.removeEventListener("keydown", this.keydownHandler);
205
+ }
187
206
  tabClickHandler(event) {
188
207
  if (this.selectedTabIndex === undefined &&
189
208
  event.detail.contextId === this.contextId) {
@@ -195,24 +214,41 @@ const TabContext = class {
195
214
  this.tabSelect.emit({
196
215
  tabIndex: event.detail.position,
197
216
  });
217
+ event.stopImmediatePropagation();
198
218
  }
199
- componentDidLoad() {
200
- this.setControlledMode();
201
- this.getChildren();
202
- this.linkTabs();
203
- this.attatchEventListeners();
204
- this.setInitialTab();
205
- this.configureTabs();
219
+ tabCreatedHandler(ev) {
220
+ if (this.tabs && this.tabPanels) {
221
+ (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);
222
+ if (this.newTabs.length === this.newTabPanels.length) {
223
+ this.tabs.push(...this.newTabs);
224
+ this.tabPanels.push(...this.newTabPanels);
225
+ this.enabledTabs = this.getEnabledTabs();
226
+ this.linkTabs();
227
+ this.newTabs = [];
228
+ this.newTabPanels = [];
229
+ }
230
+ }
206
231
  }
207
- componentWillUpdate() {
208
- this.configureTabs();
232
+ tabEnabledHandler() {
233
+ this.enabledTabs = this.getEnabledTabs();
209
234
  }
210
- disconnectedCallback() {
211
- if (this.activationType === "manual") {
212
- this.tabGroup.removeEventListener("keydown", (event) => this.handleKeyBoardNavManual(event));
235
+ /**
236
+ * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed
237
+ */
238
+ async tabRemovedHandler(hadFocus) {
239
+ this.getChildren();
240
+ this.enabledTabs = this.getEnabledTabs();
241
+ this.linkTabs();
242
+ if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {
243
+ this.tabs[this.selectedTab].selected = true;
244
+ this.tabPanels[this.selectedTab].selectedTab =
245
+ this.tabs[this.selectedTab].tabId;
213
246
  }
214
247
  else {
215
- this.tabGroup.removeEventListener("keydown", (event) => this.handleKeyBoardNavAutomatic(event));
248
+ this.setInitialTab();
249
+ }
250
+ if (hadFocus) {
251
+ this.tabs[this.selectedTab].setFocus();
216
252
  }
217
253
  }
218
254
  render() {
@@ -1 +1 @@
1
- {"file":"ic-tab-context.entry.js","mappings":";;;MAyBa,UAAU;;;;;;IAgEb,aAAQ,GAAG;MACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK;QAC3B,MAAM,KAAK,GAAG,UAAU,KAAK,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,gBAAgB,KAAK,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;QACrE,MAAM,MAAM,GAAG,WAAW,KAAK,YAAY,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5D,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;QACnB,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QACxB,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC9C,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAE7D,IAAI,IAAI,CAAC,UAAU,KAAK,qBAAqB,CAAC,KAAK,EAAE;UACnD,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;UACjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;SACpD;OACF,CAAC,CAAC;MAEH,IAAI,IAAI,CAAC,UAAU,KAAK,qBAAqB,CAAC,KAAK,EAAE;QACnD,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;OAC5C;KACF,CAAC;;IAGM,gBAAW,GAAG;MACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CACzE,CAAC,QAAQ,KAAK,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CACpD,CAAC;MACF,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CACrE,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,CAC1C,CAAC;MACF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;MACzC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;KACzE,CAAC;;IAGM,0BAAqB,GAAG;MAC9B,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW,EAAE;QACvC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK;UAC9C,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;SACxC,CAAC,CAAC;OACJ;WAAM;QACL,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK;UAC9C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;SACrC,CAAC,CAAC;OACJ;KACF,CAAC;;;IAIM,sBAAiB,GAAG;MAC1B,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE;QACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;OAC1C;KACF,CAAC;;IAGM,kBAAa,GAAG;MACtB,IAAI,IAAI,CAAC,cAAc,EAAE;QACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;OAC9C;WAAM;QACL,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAC9C,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CACjD,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,oBAAoB,CAAC;OAC7C;KACF,CAAC;;IAGM,kBAAa,GAAG;MACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG;QAC3B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC;OACrD,CAAC,CAAC;MACH,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ;QAC9B,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC;OAC1D,CAAC,CAAC;KACJ,CAAC;IAEM,mBAAc,GAAG;MACvB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;KACjE,CAAC;IAEM,yBAAoB,GAAG,CAAC,YAAoB;MAClD,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAC/B,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CACrD,CAAC;KACH,CAAC;;IAGM,sBAAiB,GAAG,CAAC,eAAuB;MAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAClC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,CAC/D,CAAC;MACF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;MAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;QACxB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;OAC7B;WAAM;QACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;OAC7C;KACF,CAAC;;IAGM,qBAAgB,GAAG,CAAC,eAAuB;MACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAClC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,CAC/D,CAAC;MACF,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;MAC1C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;KACjC,CAAC;IAEM,+BAA0B,GAAG,CAAC,KAAoB;MACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;MACtB,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;MACpE,IAAI,cAAc,GAAG,IAAI,CAAC;MAC1B,QAAQ,GAAG;QACT,KAAK,MAAM;UACT,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;UAC1B,MAAM;QACR,KAAK,KAAK;UACR,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;UACpD,MAAM;QACR,KAAK,YAAY;UACf,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;WAC7C;eAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;WAC3B;UACD,MAAM;QACR,KAAK,WAAW;UACd,IAAI,eAAe,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,iBAAiB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;WAC7C;eAAM;YACL,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;WACrD;UACD,MAAM;QACR;UACE,cAAc,GAAG,KAAK,CAAC;OAC1B;MACD,IAAI,cAAc;QAAE,KAAK,CAAC,cAAc,EAAE,CAAC;KAC5C,CAAC;IAEM,4BAAuB,GAAG,CAAC,KAAoB;MACrD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;MACtB,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;MACxE,IAAI,cAAc,GAAG,IAAI,CAAC;MAC1B,QAAQ,GAAG;QACT,KAAK,MAAM;UACT,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;UACzB,MAAM;QACR,KAAK,KAAK;UACR,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;UACnD,MAAM;QACR,KAAK,YAAY;UACf,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACjD,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;WAC5C;eAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;WAC1B;UACD,MAAM;QACR,KAAK,WAAW;UACd,IAAI,eAAe,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;WAC5C;eAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;WACpD;UACD,MAAM;QACR,KAAK,OAAO;UACV,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;UAC7C,MAAM;QACR,KAAK,GAAG;UACN,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;UAC7C,MAAM;QACR;UACE,cAAc,GAAG,KAAK,CAAC;OAC1B;MACD,IAAI,cAAc;QAAE,KAAK,CAAC,cAAc,EAAE,CAAC;KAC5C,CAAC;qBAjP4C,SAAS;0BAKV,WAAW;;sBAUN,MAAM;;;EAKxD,iBAAiB,CAAC,QAAgB;IAChC,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;GAC7B;EAaD,eAAe,CAAC,KAAyC;IACvD,IACE,IAAI,CAAC,gBAAgB,KAAK,SAAS;MACnC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,SAAS,EACzC;MACA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;KAC1C;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;MACpB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;KAChC,CAAC,CAAC;IACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;MAClB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;KAChC,CAAC,CAAC;GACJ;EAmMD,gBAAgB;IACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACzB,IAAI,CAAC,WAAW,EAAE,CAAC;IACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;IACrB,IAAI,CAAC,aAAa,EAAE,CAAC;GACtB;EAED,mBAAmB;IACjB,IAAI,CAAC,aAAa,EAAE,CAAC;GACtB;EAED,oBAAoB;IAClB,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;MACpC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,KACjD,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CACpC,CAAC;KACH;SAAM;MACL,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,KACjD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CACvC,CAAC;KACH;GACF;EAED,MAAM;IACJ,OAAO,eAAa,CAAC;GACtB;;;;;;;;;","names":[],"sources":["./src/components/ic-tab-context/ic-tab-context.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcActivationTypes,\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n @Element() host: HTMLIcTabContextElement;\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n /**\n * The appearance of the tab context, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() selectedTab: number | null;\n\n @Watch(\"selectedTabIndex\")\n updateSelectedTab(newValue: number): void {\n this.selectedTab = newValue;\n }\n\n /**\n * @deprecated This event should not be used anymore. Use icTabSelect instead.\n */\n @Event() tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event() icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n });\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n }\n\n private controlledMode: boolean;\n private tabs: HTMLIcTabElement[];\n private enabledTabs: HTMLIcTabElement[];\n private tabPanels: HTMLIcTabPanelElement[];\n private tabGroup: HTMLIcTabGroupElement;\n private focusedTabIndex: number;\n\n // Sets attributes to link tabs and tabpanels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(\"context-id\", this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n }\n });\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n private getChildren = (): void => {\n this.tabGroup = Array.from(this.host.querySelectorAll(\"ic-tab-group\")).find(\n (tabGroup) => tabGroup.contextId === this.contextId\n );\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\")).filter(\n (tab) => tab.contextId === this.contextId\n );\n this.enabledTabs = this.getEnabledTabs();\n this.tabPanels = Array.from(this.host.querySelectorAll(\"ic-tab-panel\"));\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n if (this.activationType === \"automatic\") {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavAutomatic(event);\n });\n } else {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavManual(event);\n });\n }\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onIcTabSelect)\n private setControlledMode = (): void => {\n if (this.selectedTabIndex !== undefined) {\n this.controlledMode = true;\n this.selectedTab = this.selectedTabIndex;\n }\n };\n\n // Sets the tab that is selected on initial render\n private setInitialTab = (): void => {\n if (this.controlledMode) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n } else {\n const firstEnabledTabIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[0].tabId\n );\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n\n // Passes the selected tab to the tab and tab panel components\n private configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel) => {\n tabPanel.selectedTab = this.tabs[this.selectedTab].tabId;\n });\n };\n\n private getEnabledTabs = () => {\n return Array.from(this.tabs).filter((child) => !child.disabled);\n };\n\n private getIndexOfEnabledTab = (allTabsIndex: number) => {\n return this.enabledTabs.findIndex(\n (tab) => tab.tabId === this.tabs[allTabsIndex].tabId\n );\n };\n\n // Sets focus on tab and selects it\n private keyboardSelectTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n if (!this.controlledMode) {\n this.selectedTab = newIndex;\n } else {\n this.icTabSelect.emit({ tabIndex: newIndex });\n this.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n if (this.activationType === \"manual\") {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavManual(event)\n );\n } else {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavAutomatic(event)\n );\n }\n }\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}
1
+ {"file":"ic-tab-context.entry.js","mappings":"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","names":[],"sources":["./src/components/ic-tab-context/ic-tab-context.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport {\n IcActivationTypes,\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n private controlledMode: boolean;\n private enabledTabs: HTMLIcTabElement[];\n private focusedTabIndex: number;\n private newTabPanels: HTMLIcTabPanelElement[] = [];\n private newTabs: HTMLIcTabElement[] = [];\n private tabs: HTMLIcTabElement[];\n private tabGroup: HTMLIcTabGroupElement;\n private tabPanels: HTMLIcTabPanelElement[];\n\n @Element() host: HTMLIcTabContextElement;\n\n @State() selectedTab: number | null;\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The appearance of the tab context, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n @Watch(\"selectedTabIndex\")\n updateSelectedTab(newValue: number): void {\n this.selectedTab = newValue;\n }\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event({ bubbles: false }) icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n /**\n * @deprecated This event should not be used anymore. Use icTabSelect instead.\n */\n @Event({ bubbles: false }) tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n this.tabGroup.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n });\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n event.stopImmediatePropagation();\n }\n\n @Listen(\"tabCreated\")\n @Listen(\"tabPanelCreated\")\n tabCreatedHandler(ev: CustomEvent): void {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n\n @Listen(\"tabEnabled\")\n tabEnabledHandler(): void {\n this.enabledTabs = this.getEnabledTabs();\n }\n\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n @Method()\n async tabRemovedHandler(hadFocus?: boolean): Promise<void> {\n this.getChildren();\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].selectedTab =\n this.tabs[this.selectedTab].tabId;\n } else {\n this.setInitialTab();\n }\n\n if (hadFocus) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n\n // Sets attributes to link tab-group, tabs and tab-panels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n const contextIdAttr = \"context-id\";\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(contextIdAttr, this.contextId);\n this.tabGroup.setAttribute(contextIdAttr, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(contextIdAttr, this.contextId);\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n }\n });\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n // Using querySelector to selector the children in relation to the host\n private getChildren = (): void => {\n this.tabGroup = this.host.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.host.children).filter(\n (child) => child.tagName === \"IC-TAB-PANEL\"\n ) as HTMLIcTabPanelElement[];\n this.enabledTabs = this.getEnabledTabs();\n };\n\n private keydownHandler = (event: KeyboardEvent) => {\n if (this.activationType === \"automatic\") {\n this.handleKeyBoardNavAutomatic(event);\n } else {\n this.handleKeyBoardNavManual(event);\n }\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onIcTabSelect)\n private setControlledMode = (): void => {\n if (this.selectedTabIndex !== undefined) {\n this.controlledMode = true;\n this.selectedTab = this.selectedTabIndex;\n }\n };\n\n // Sets the tab that is selected on initial render\n private setInitialTab = (): void => {\n if (this.controlledMode) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n } else {\n const firstEnabledTabIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[0].tabId\n );\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n\n // Passes the selected tab to the tab and tab panel components\n private configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel) => {\n tabPanel.selectedTab = this.tabs[this.selectedTab].tabId;\n });\n };\n\n private getEnabledTabs = () => {\n return Array.from(this.tabs).filter((child) => !child.disabled);\n };\n\n private getIndexOfEnabledTab = (allTabsIndex: number) => {\n return this.enabledTabs.findIndex(\n (tab) => tab.tabId === this.tabs[allTabsIndex].tabId\n );\n };\n\n // Sets focus on tab and selects it\n private keyboardSelectTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n if (!this.controlledMode) {\n this.selectedTab = newIndex;\n } else {\n this.icTabSelect.emit({ tabIndex: newIndex });\n this.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}