@ukic/web-components 2.10.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/dist/cjs/core.cjs.js +3 -3
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-3f91f63a.js → helpers-56e80cc9.js} +6 -6
  4. package/dist/cjs/{helpers-3f91f63a.js.map → helpers-56e80cc9.js.map} +1 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-alert.cjs.entry.js +3 -3
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +5 -9
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-button_3.cjs.entry.js +62 -33
  15. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-card.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  28. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-footer.cjs.entry.js +3 -3
  30. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +2 -2
  36. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -3
  39. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -9
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
  47. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-pagination.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-popover-menu.cjs.entry.js +11 -5
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -2
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-select.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-side-navigation.cjs.entry.js +39 -62
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-status-tag.cjs.entry.js +4 -3
  61. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  66. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  68. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-text-field.cjs.entry.js +49 -12
  70. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-toast.cjs.entry.js +13 -16
  74. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-toggle-button.cjs.entry.js +69 -0
  76. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -0
  77. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -3
  78. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  80. package/dist/cjs/{index-152d1fe5.js → index-f982899d.js} +6 -12
  81. package/dist/cjs/index-f982899d.js.map +1 -0
  82. package/dist/cjs/loader.cjs.js +2 -2
  83. package/dist/collection/collection-manifest.json +3 -2
  84. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  85. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  86. package/dist/collection/components/ic-alert/ic-alert.css +0 -1
  87. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -7
  88. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  89. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  90. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  91. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  92. package/dist/collection/components/ic-button/ic-button.css +11 -1
  93. package/dist/collection/components/ic-button/ic-button.js +28 -3
  94. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  95. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  96. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  97. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  98. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  99. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  100. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  101. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  102. package/dist/collection/components/ic-footer/ic-footer.js +1 -1
  103. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  104. package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -3
  105. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  106. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  107. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  108. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  109. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  110. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  111. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  112. package/dist/collection/components/ic-menu-item/ic-menu-item.css +16 -16
  113. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  114. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  115. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +4 -7
  116. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  117. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +28 -7
  118. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  119. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  120. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
  121. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  122. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  123. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +8 -1
  124. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  125. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +9 -3
  126. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  127. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +3 -0
  128. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  129. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  130. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  131. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  132. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js +8 -1
  133. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -1
  134. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  135. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  136. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +41 -61
  137. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  138. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  139. package/dist/collection/components/ic-status-tag/ic-status-tag.css +9 -0
  140. package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -0
  141. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  142. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  143. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  144. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  145. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  146. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  147. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  148. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  149. package/dist/collection/components/ic-text-field/ic-text-field.js +87 -11
  150. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  151. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +20 -0
  152. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  153. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  154. package/dist/collection/components/ic-toast/ic-toast.js +11 -14
  155. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  156. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  157. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +555 -0
  158. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +291 -0
  159. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -0
  160. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +116 -0
  161. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -0
  162. package/dist/collection/components/ic-tooltip/ic-tooltip.js +32 -27
  163. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  164. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +11 -0
  165. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  166. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +2 -1
  167. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  168. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  169. package/dist/collection/utils/helpers.js +5 -5
  170. package/dist/collection/utils/helpers.js.map +1 -1
  171. package/dist/components/helpers.js +5 -5
  172. package/dist/components/ic-alert2.js +1 -1
  173. package/dist/components/ic-alert2.js.map +1 -1
  174. package/dist/components/ic-back-to-top.js +3 -7
  175. package/dist/components/ic-back-to-top.js.map +1 -1
  176. package/dist/components/ic-button2.js +28 -4
  177. package/dist/components/ic-button2.js.map +1 -1
  178. package/dist/components/ic-footer-link.js +1 -1
  179. package/dist/components/ic-footer-link.js.map +1 -1
  180. package/dist/components/ic-footer.js +1 -1
  181. package/dist/components/ic-footer.js.map +1 -1
  182. package/dist/components/ic-menu-item2.js +1 -1
  183. package/dist/components/ic-menu-item2.js.map +1 -1
  184. package/dist/components/ic-menu2.js.map +1 -1
  185. package/dist/components/ic-navigation-group.js +4 -7
  186. package/dist/components/ic-navigation-group.js.map +1 -1
  187. package/dist/components/ic-navigation-item.js.map +1 -1
  188. package/dist/components/ic-page-header.js +1 -1
  189. package/dist/components/ic-page-header.js.map +1 -1
  190. package/dist/components/ic-popover-menu.js +9 -3
  191. package/dist/components/ic-popover-menu.js.map +1 -1
  192. package/dist/components/ic-side-navigation.js +40 -61
  193. package/dist/components/ic-side-navigation.js.map +1 -1
  194. package/dist/components/ic-status-tag.js +2 -1
  195. package/dist/components/ic-status-tag.js.map +1 -1
  196. package/dist/components/ic-text-field2.js +52 -10
  197. package/dist/components/ic-text-field2.js.map +1 -1
  198. package/dist/components/ic-toast.js +11 -14
  199. package/dist/components/ic-toast.js.map +1 -1
  200. package/dist/components/ic-toggle-button.d.ts +11 -0
  201. package/dist/components/ic-toggle-button.js +117 -0
  202. package/dist/components/ic-toggle-button.js.map +1 -0
  203. package/dist/components/ic-tooltip2.js +32 -27
  204. package/dist/components/ic-tooltip2.js.map +1 -1
  205. package/dist/components/ic-top-navigation.js +2 -1
  206. package/dist/components/ic-top-navigation.js.map +1 -1
  207. package/dist/core/core.esm.js +1 -1
  208. package/dist/core/core.esm.js.map +1 -1
  209. package/dist/core/{p-daebb58a.entry.js → p-003c44bd.entry.js} +2 -2
  210. package/dist/core/{p-b6a575c3.entry.js → p-049bf5e3.entry.js} +2 -2
  211. package/dist/core/p-0713230f.entry.js +2 -0
  212. package/dist/core/p-0713230f.entry.js.map +1 -0
  213. package/dist/core/{p-ea17e371.entry.js → p-0a0b748c.entry.js} +2 -2
  214. package/dist/core/{p-d18450f9.entry.js → p-0d2eb765.entry.js} +2 -2
  215. package/dist/core/{p-6d3f9501.entry.js → p-0ee13da0.entry.js} +2 -2
  216. package/dist/core/{p-15466b42.entry.js → p-1145e33c.entry.js} +2 -2
  217. package/dist/core/{p-056f8a67.entry.js → p-171e25c9.entry.js} +2 -2
  218. package/dist/core/{p-c2452388.entry.js → p-19c28c65.entry.js} +2 -2
  219. package/dist/core/p-19c28c65.entry.js.map +1 -0
  220. package/dist/core/{p-51f9f329.entry.js → p-1e809ecd.entry.js} +2 -2
  221. package/dist/core/p-1e809ecd.entry.js.map +1 -0
  222. package/dist/core/{p-85026377.entry.js → p-23980b58.entry.js} +2 -2
  223. package/dist/core/p-23980b58.entry.js.map +1 -0
  224. package/dist/core/{p-ad36a704.entry.js → p-26334b3a.entry.js} +2 -2
  225. package/dist/core/{p-dbb5b008.entry.js → p-29b812c0.entry.js} +2 -2
  226. package/dist/core/{p-b9736cf4.entry.js → p-2e7f22af.entry.js} +2 -2
  227. package/dist/core/{p-5f9d69ef.entry.js → p-32a480d5.entry.js} +2 -2
  228. package/dist/core/p-32a480d5.entry.js.map +1 -0
  229. package/dist/core/{p-94e88827.entry.js → p-330e1439.entry.js} +2 -2
  230. package/dist/core/p-330e1439.entry.js.map +1 -0
  231. package/dist/core/{p-aa0a9870.entry.js → p-357eaebe.entry.js} +2 -2
  232. package/dist/core/{p-9639e33f.entry.js → p-38bf02aa.entry.js} +2 -2
  233. package/dist/core/{p-b99f9e89.entry.js → p-3c752bca.entry.js} +2 -2
  234. package/dist/core/{p-3a0ef91e.entry.js → p-3cc52cbc.entry.js} +2 -2
  235. package/dist/core/{p-592c783e.entry.js → p-3ebe5fa3.entry.js} +2 -2
  236. package/dist/core/p-3ebe5fa3.entry.js.map +1 -0
  237. package/dist/core/{p-5c7e339f.entry.js → p-3f07c471.entry.js} +2 -2
  238. package/dist/core/p-3f07c471.entry.js.map +1 -0
  239. package/dist/core/{p-c770e7a2.entry.js → p-42c0e318.entry.js} +2 -2
  240. package/dist/core/{p-2b24b4bf.entry.js → p-4421203e.entry.js} +2 -2
  241. package/dist/core/{p-11736fbe.entry.js → p-4f1792a6.entry.js} +2 -2
  242. package/dist/core/{p-b39ecae2.entry.js → p-4f8b7aa3.entry.js} +2 -2
  243. package/dist/core/{p-8a83f391.entry.js → p-525323ab.entry.js} +2 -2
  244. package/dist/core/{p-e9738c74.entry.js → p-59c4bc0a.entry.js} +2 -2
  245. package/dist/core/{p-60c4604f.entry.js → p-5e6ad4a5.entry.js} +2 -2
  246. package/dist/core/{p-60c4604f.entry.js.map → p-5e6ad4a5.entry.js.map} +1 -1
  247. package/dist/core/{p-95a864bf.js → p-671b7cac.js} +1 -1
  248. package/dist/core/p-6b5e91e2.js +3 -0
  249. package/dist/core/p-6b5e91e2.js.map +1 -0
  250. package/dist/core/p-6bbe0550.entry.js +2 -0
  251. package/dist/core/p-6bbe0550.entry.js.map +1 -0
  252. package/dist/core/{p-fdb4b48f.entry.js → p-783c2ced.entry.js} +2 -2
  253. package/dist/core/{p-f2e6b9ef.entry.js → p-7b720034.entry.js} +2 -2
  254. package/dist/core/{p-22c024ee.entry.js → p-7c724f2c.entry.js} +2 -2
  255. package/dist/core/{p-335fc5e4.entry.js → p-8146336b.entry.js} +2 -2
  256. package/dist/core/{p-cd8de4c5.entry.js → p-8931210a.entry.js} +2 -2
  257. package/dist/core/{p-529d8955.entry.js → p-8a66cab4.entry.js} +2 -2
  258. package/dist/core/{p-ca48e97a.entry.js → p-8be3ec3d.entry.js} +2 -2
  259. package/dist/core/{p-180e36b1.entry.js → p-8c2322a9.entry.js} +2 -2
  260. package/dist/core/{p-31969be6.entry.js → p-8f97463f.entry.js} +2 -2
  261. package/dist/core/p-8f97463f.entry.js.map +1 -0
  262. package/dist/core/{p-edd29edc.entry.js → p-9184e385.entry.js} +2 -2
  263. package/dist/core/p-9808f7c9.entry.js +2 -0
  264. package/dist/core/p-9808f7c9.entry.js.map +1 -0
  265. package/dist/core/p-9e4c8a09.entry.js +2 -0
  266. package/dist/core/p-9e4c8a09.entry.js.map +1 -0
  267. package/dist/core/{p-366bcb17.entry.js → p-9ee138e7.entry.js} +2 -2
  268. package/dist/core/{p-15ef0674.entry.js → p-b74f92b6.entry.js} +2 -2
  269. package/dist/core/p-b74f92b6.entry.js.map +1 -0
  270. package/dist/core/{p-e5abfadd.entry.js → p-b7a2e604.entry.js} +2 -2
  271. package/dist/core/p-bb1a0018.entry.js +2 -0
  272. package/dist/core/p-bb1a0018.entry.js.map +1 -0
  273. package/dist/core/{p-b0088956.entry.js → p-bb41b637.entry.js} +2 -2
  274. package/dist/core/{p-a46130c8.entry.js → p-bf93455b.entry.js} +2 -2
  275. package/dist/core/{p-a46130c8.entry.js.map → p-bf93455b.entry.js.map} +1 -1
  276. package/dist/core/p-c1109ec7.entry.js +2 -0
  277. package/dist/core/p-c1109ec7.entry.js.map +1 -0
  278. package/dist/core/{p-cfc930f6.entry.js → p-c75d6022.entry.js} +2 -2
  279. package/dist/core/{p-f0809037.entry.js → p-c786d62f.entry.js} +2 -2
  280. package/dist/core/{p-edec0936.entry.js → p-c7a08024.entry.js} +2 -2
  281. package/dist/core/{p-6eb0421d.entry.js → p-cf798ea7.entry.js} +2 -2
  282. package/dist/core/{p-a908e7a9.entry.js → p-d3e54a29.entry.js} +2 -2
  283. package/dist/core/{p-287ab47c.entry.js → p-de87d585.entry.js} +2 -2
  284. package/dist/core/{p-15624e08.entry.js → p-e4d827d4.entry.js} +2 -2
  285. package/dist/core/{p-765bdd98.entry.js → p-e9723eaa.entry.js} +2 -2
  286. package/dist/core/{p-498eb7ad.entry.js → p-eb2d06c1.entry.js} +2 -2
  287. package/dist/esm/core.js +4 -4
  288. package/dist/esm/core.js.map +1 -1
  289. package/dist/esm/{helpers-c597f246.js → helpers-821dcdf2.js} +6 -6
  290. package/dist/esm/{helpers-c597f246.js.map → helpers-821dcdf2.js.map} +1 -1
  291. package/dist/esm/ic-accordion-group.entry.js +1 -1
  292. package/dist/esm/ic-accordion.entry.js +2 -2
  293. package/dist/esm/ic-alert.entry.js +3 -3
  294. package/dist/esm/ic-alert.entry.js.map +1 -1
  295. package/dist/esm/ic-back-to-top.entry.js +5 -9
  296. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  297. package/dist/esm/ic-badge.entry.js +2 -2
  298. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  299. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  300. package/dist/esm/ic-button_3.entry.js +62 -33
  301. package/dist/esm/ic-button_3.entry.js.map +1 -1
  302. package/dist/esm/ic-card.entry.js +2 -2
  303. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  304. package/dist/esm/ic-checkbox.entry.js +2 -2
  305. package/dist/esm/ic-chip.entry.js +2 -2
  306. package/dist/esm/ic-classification-banner.entry.js +1 -1
  307. package/dist/esm/ic-data-entity.entry.js +1 -1
  308. package/dist/esm/ic-data-row.entry.js +2 -2
  309. package/dist/esm/ic-dialog.entry.js +2 -2
  310. package/dist/esm/ic-divider.entry.js +2 -2
  311. package/dist/esm/ic-empty-state.entry.js +2 -2
  312. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  313. package/dist/esm/ic-footer-link.entry.js +3 -3
  314. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  315. package/dist/esm/ic-footer.entry.js +3 -3
  316. package/dist/esm/ic-footer.entry.js.map +1 -1
  317. package/dist/esm/ic-hero.entry.js +2 -2
  318. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  319. package/dist/esm/ic-input-component-container_3.entry.js +2 -2
  320. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  321. package/dist/esm/ic-input-label_2.entry.js +2 -2
  322. package/dist/esm/ic-link.entry.js +2 -2
  323. package/dist/esm/ic-menu-group.entry.js +2 -2
  324. package/dist/esm/ic-menu-item.entry.js +3 -3
  325. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  326. package/dist/esm/ic-navigation-button.entry.js +2 -2
  327. package/dist/esm/ic-navigation-group.entry.js +6 -9
  328. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  329. package/dist/esm/ic-navigation-item.entry.js +2 -2
  330. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  331. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  332. package/dist/esm/ic-page-header.entry.js +3 -3
  333. package/dist/esm/ic-page-header.entry.js.map +1 -1
  334. package/dist/esm/ic-pagination-item.entry.js +2 -2
  335. package/dist/esm/ic-pagination.entry.js +2 -2
  336. package/dist/esm/ic-popover-menu.entry.js +11 -5
  337. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  338. package/dist/esm/ic-radio-group.entry.js +2 -2
  339. package/dist/esm/ic-radio-option.entry.js +2 -2
  340. package/dist/esm/ic-search-bar.entry.js +2 -2
  341. package/dist/esm/ic-section-container.entry.js +1 -1
  342. package/dist/esm/ic-select.entry.js +2 -2
  343. package/dist/esm/ic-side-navigation.entry.js +39 -62
  344. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  345. package/dist/esm/ic-skeleton.entry.js +1 -1
  346. package/dist/esm/ic-status-tag.entry.js +4 -3
  347. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  348. package/dist/esm/ic-step.entry.js +2 -2
  349. package/dist/esm/ic-stepper.entry.js +2 -2
  350. package/dist/esm/ic-switch.entry.js +2 -2
  351. package/dist/esm/ic-tab-context.entry.js +1 -1
  352. package/dist/esm/ic-tab-group.entry.js +2 -2
  353. package/dist/esm/ic-tab-panel.entry.js +2 -2
  354. package/dist/esm/ic-tab.entry.js +2 -2
  355. package/dist/esm/ic-text-field.entry.js +49 -12
  356. package/dist/esm/ic-text-field.entry.js.map +1 -1
  357. package/dist/esm/ic-theme.entry.js +2 -2
  358. package/dist/esm/ic-toast-region.entry.js +1 -1
  359. package/dist/esm/ic-toast.entry.js +13 -16
  360. package/dist/esm/ic-toast.entry.js.map +1 -1
  361. package/dist/esm/ic-toggle-button.entry.js +65 -0
  362. package/dist/esm/ic-toggle-button.entry.js.map +1 -0
  363. package/dist/esm/ic-top-navigation.entry.js +4 -3
  364. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  365. package/dist/esm/ic-typography.entry.js +2 -2
  366. package/dist/esm/{index-05003e1c.js → index-d1d2c456.js} +6 -12
  367. package/dist/esm/index-d1d2c456.js.map +1 -0
  368. package/dist/esm/loader.js +3 -3
  369. package/dist/types/components/ic-button/ic-button.d.ts +3 -0
  370. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  371. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
  372. package/dist/types/components/ic-text-field/ic-text-field.d.ts +13 -0
  373. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +60 -0
  374. package/dist/types/components.d.ts +134 -2
  375. package/hydrate/index.d.ts +1 -1
  376. package/hydrate/index.js +311 -183
  377. package/package.json +23 -16
  378. package/vscode-data.json +100 -2
  379. package/dist/cjs/index-152d1fe5.js.map +0 -1
  380. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js +0 -21
  381. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +0 -1
  382. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js +0 -35
  383. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.js.map +0 -1
  384. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +0 -41
  385. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +0 -1
  386. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js +0 -11
  387. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +0 -1
  388. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +0 -198
  389. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +0 -1
  390. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js +0 -21
  391. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +0 -1
  392. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +0 -23
  393. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +0 -1
  394. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js +0 -16
  395. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +0 -1
  396. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +0 -201
  397. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +0 -1
  398. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js +0 -11
  399. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +0 -1
  400. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js +0 -11
  401. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +0 -1
  402. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +0 -28
  403. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +0 -1
  404. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +0 -288
  405. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +0 -1
  406. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +0 -38
  407. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +0 -1
  408. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -86
  409. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
  410. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +0 -23
  411. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +0 -1
  412. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +0 -50
  413. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +0 -1
  414. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js +0 -21
  415. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +0 -1
  416. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js +0 -21
  417. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +0 -1
  418. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js +0 -11
  419. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +0 -1
  420. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +0 -28
  421. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +0 -1
  422. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +0 -1825
  423. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +0 -1
  424. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js +0 -14
  425. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +0 -1
  426. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js +0 -582
  427. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.js.map +0 -1
  428. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +0 -475
  429. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +0 -1
  430. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +0 -32
  431. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +0 -1
  432. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +0 -61
  433. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +0 -1
  434. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +0 -244
  435. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +0 -1
  436. package/dist/core/p-1338c9df.entry.js +0 -2
  437. package/dist/core/p-1338c9df.entry.js.map +0 -1
  438. package/dist/core/p-15ef0674.entry.js.map +0 -1
  439. package/dist/core/p-31969be6.entry.js.map +0 -1
  440. package/dist/core/p-4d413a72.entry.js +0 -2
  441. package/dist/core/p-4d413a72.entry.js.map +0 -1
  442. package/dist/core/p-51f9f329.entry.js.map +0 -1
  443. package/dist/core/p-52e063d3.js +0 -3
  444. package/dist/core/p-52e063d3.js.map +0 -1
  445. package/dist/core/p-592c783e.entry.js.map +0 -1
  446. package/dist/core/p-5c7e339f.entry.js.map +0 -1
  447. package/dist/core/p-5f9d69ef.entry.js.map +0 -1
  448. package/dist/core/p-776232f4.entry.js +0 -2
  449. package/dist/core/p-776232f4.entry.js.map +0 -1
  450. package/dist/core/p-85026377.entry.js.map +0 -1
  451. package/dist/core/p-94e88827.entry.js.map +0 -1
  452. package/dist/core/p-96da1e85.entry.js +0 -2
  453. package/dist/core/p-96da1e85.entry.js.map +0 -1
  454. package/dist/core/p-9c30720d.entry.js +0 -2
  455. package/dist/core/p-9c30720d.entry.js.map +0 -1
  456. package/dist/core/p-c2452388.entry.js.map +0 -1
  457. package/dist/esm/index-05003e1c.js.map +0 -1
  458. package/dist/types/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.d.ts +0 -1
  459. package/dist/types/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group-test-examples.d.ts +0 -2
  460. package/dist/types/components/ic-button/test/a11y/ic-button.test.a11y.d.ts +0 -1
  461. package/dist/types/components/ic-card/test/a11y/ic-card.test.a11y.d.ts +0 -1
  462. package/dist/types/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.d.ts +0 -1
  463. package/dist/types/components/ic-chip/test/a11y/ic-chip.test.a11y.d.ts +0 -1
  464. package/dist/types/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.d.ts +0 -1
  465. package/dist/types/components/ic-dialog/test/a11y/ic-dialog.test.a11y.d.ts +0 -1
  466. package/dist/types/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.d.ts +0 -1
  467. package/dist/types/components/ic-footer/test/a11y/ic-footer.test.a11y.d.ts +0 -1
  468. package/dist/types/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.d.ts +0 -1
  469. package/dist/types/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.d.ts +0 -1
  470. package/dist/types/components/ic-link/test/a11y/ic-link.test.a11y.d.ts +0 -1
  471. package/dist/types/components/ic-select/test/a11y/ic-select.test.a11y.d.ts +0 -1
  472. package/dist/types/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.d.ts +0 -1
  473. package/dist/types/components/ic-side-navigation/test/basic/ic-side-navigation-test-examples.d.ts +0 -8
  474. package/dist/types/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.d.ts +0 -1
  475. /package/dist/core/{p-daebb58a.entry.js.map → p-003c44bd.entry.js.map} +0 -0
  476. /package/dist/core/{p-b6a575c3.entry.js.map → p-049bf5e3.entry.js.map} +0 -0
  477. /package/dist/core/{p-ea17e371.entry.js.map → p-0a0b748c.entry.js.map} +0 -0
  478. /package/dist/core/{p-d18450f9.entry.js.map → p-0d2eb765.entry.js.map} +0 -0
  479. /package/dist/core/{p-6d3f9501.entry.js.map → p-0ee13da0.entry.js.map} +0 -0
  480. /package/dist/core/{p-15466b42.entry.js.map → p-1145e33c.entry.js.map} +0 -0
  481. /package/dist/core/{p-056f8a67.entry.js.map → p-171e25c9.entry.js.map} +0 -0
  482. /package/dist/core/{p-ad36a704.entry.js.map → p-26334b3a.entry.js.map} +0 -0
  483. /package/dist/core/{p-dbb5b008.entry.js.map → p-29b812c0.entry.js.map} +0 -0
  484. /package/dist/core/{p-b9736cf4.entry.js.map → p-2e7f22af.entry.js.map} +0 -0
  485. /package/dist/core/{p-aa0a9870.entry.js.map → p-357eaebe.entry.js.map} +0 -0
  486. /package/dist/core/{p-9639e33f.entry.js.map → p-38bf02aa.entry.js.map} +0 -0
  487. /package/dist/core/{p-b99f9e89.entry.js.map → p-3c752bca.entry.js.map} +0 -0
  488. /package/dist/core/{p-3a0ef91e.entry.js.map → p-3cc52cbc.entry.js.map} +0 -0
  489. /package/dist/core/{p-c770e7a2.entry.js.map → p-42c0e318.entry.js.map} +0 -0
  490. /package/dist/core/{p-2b24b4bf.entry.js.map → p-4421203e.entry.js.map} +0 -0
  491. /package/dist/core/{p-11736fbe.entry.js.map → p-4f1792a6.entry.js.map} +0 -0
  492. /package/dist/core/{p-b39ecae2.entry.js.map → p-4f8b7aa3.entry.js.map} +0 -0
  493. /package/dist/core/{p-8a83f391.entry.js.map → p-525323ab.entry.js.map} +0 -0
  494. /package/dist/core/{p-e9738c74.entry.js.map → p-59c4bc0a.entry.js.map} +0 -0
  495. /package/dist/core/{p-95a864bf.js.map → p-671b7cac.js.map} +0 -0
  496. /package/dist/core/{p-fdb4b48f.entry.js.map → p-783c2ced.entry.js.map} +0 -0
  497. /package/dist/core/{p-f2e6b9ef.entry.js.map → p-7b720034.entry.js.map} +0 -0
  498. /package/dist/core/{p-22c024ee.entry.js.map → p-7c724f2c.entry.js.map} +0 -0
  499. /package/dist/core/{p-335fc5e4.entry.js.map → p-8146336b.entry.js.map} +0 -0
  500. /package/dist/core/{p-cd8de4c5.entry.js.map → p-8931210a.entry.js.map} +0 -0
  501. /package/dist/core/{p-529d8955.entry.js.map → p-8a66cab4.entry.js.map} +0 -0
  502. /package/dist/core/{p-ca48e97a.entry.js.map → p-8be3ec3d.entry.js.map} +0 -0
  503. /package/dist/core/{p-180e36b1.entry.js.map → p-8c2322a9.entry.js.map} +0 -0
  504. /package/dist/core/{p-edd29edc.entry.js.map → p-9184e385.entry.js.map} +0 -0
  505. /package/dist/core/{p-366bcb17.entry.js.map → p-9ee138e7.entry.js.map} +0 -0
  506. /package/dist/core/{p-e5abfadd.entry.js.map → p-b7a2e604.entry.js.map} +0 -0
  507. /package/dist/core/{p-b0088956.entry.js.map → p-bb41b637.entry.js.map} +0 -0
  508. /package/dist/core/{p-cfc930f6.entry.js.map → p-c75d6022.entry.js.map} +0 -0
  509. /package/dist/core/{p-f0809037.entry.js.map → p-c786d62f.entry.js.map} +0 -0
  510. /package/dist/core/{p-edec0936.entry.js.map → p-c7a08024.entry.js.map} +0 -0
  511. /package/dist/core/{p-6eb0421d.entry.js.map → p-cf798ea7.entry.js.map} +0 -0
  512. /package/dist/core/{p-a908e7a9.entry.js.map → p-d3e54a29.entry.js.map} +0 -0
  513. /package/dist/core/{p-287ab47c.entry.js.map → p-de87d585.entry.js.map} +0 -0
  514. /package/dist/core/{p-15624e08.entry.js.map → p-e4d827d4.entry.js.map} +0 -0
  515. /package/dist/core/{p-765bdd98.entry.js.map → p-e9723eaa.entry.js.map} +0 -0
  516. /package/dist/core/{p-498eb7ad.entry.js.map → p-eb2d06c1.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-stepper.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-stepper/test/basic/ic-stepper.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { resizeTo } from \"../../../../testspec.setup\";\nimport { Step } from \"../../../ic-step/ic-step\";\nimport { Stepper } from \"../../ic-stepper\";\n\ndescribe(\"default variant of ic-stepper component\", () => {\n it(\"should render a full-width stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step.classList.contains(\"aligned-full-width\")).toBeTruthy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a left-aligned stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper aligned=\"left\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n expect(page.rootInstance.aligned).toMatch(\"left\");\n expect(page.root.classList.contains(\"aligned-left\")).toBeTruthy();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper with hidden step info\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper hide-step-info>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance.hideStepInfo).toBeTruthy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitleArea = step.shadowRoot.querySelector(\n \".step > .step-title-area\"\n );\n\n expect(stepTitleArea.classList.contains(\"visually-hidden\")).toBeTruthy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper without step titles\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-type=\"completed\"></ic-step>\n <ic-step step-type=\"current\"></ic-step>\n <ic-step step-type=\"disabled\"></ic-step>\n <ic-step step-type=\"active\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.rootInstance.hideStepInfo).toBeFalsy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n\n expect(page.rootInstance[\"stepsWithStepTitles\"].length).toBeLessThan(\n page.rootInstance[\"steps\"].length\n );\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n\n steps.forEach((step) => {\n expect(step[\"stepTitle\"]).toBeUndefined();\n expect(step[\"stepSubtitle\"]).toBeUndefined();\n\n const stepTitleArea = step.shadowRoot.querySelector(\n \".step > .step-title-area\"\n );\n expect(stepTitleArea).toBeNull();\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n });\n\n it(\"should render a stepper with a custom connector width\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper aligned=\"left\" connector-width=\"150\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.root.classList.contains(\"aligned-left\")).toBeTruthy();\n });\n\n it(\"should ignore the connectorWidth prop if the stepper is set to be aligned full-width\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper connector-width=\"150\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.root.classList.contains(\"aligned-left\")).toBeFalsy();\n });\n\n it(\"should add 'disabled step' to the aria labels of all disabled steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-type=\"disabled\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const disabledSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"disabled\"]'\n );\n\n disabledSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Non-required step/i);\n });\n });\n\n it(\"should add the className 'last-step' to the last step in the stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step last-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n const lastStep = await page.root.querySelector(\"ic-step[last-step='']\");\n\n expect(lastStep.classList.contains(\"last-step\")).toBeTruthy();\n });\n});\n\ndescribe(\"resizeObserver for ic-stepper\", () => {\n it(\"shouldn't call the resizeObserver if the resizeObserver is null\", async () => {\n const page = await newSpecPage({\n components: [Stepper],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n await page.rootInstance.runResizeObserver();\n\n page.setContent(\"\");\n });\n\n it(\"should call the functions in the resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Stepper],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n await page.waitForChanges();\n\n await page.rootInstance.runResizeObserver();\n\n await page.rootInstance.getChildren();\n\n await page.rootInstance.checkStepTitles();\n\n await page.rootInstance.overrideVariant();\n\n await page.rootInstance.setStepperWidth();\n\n await page.rootInstance.initialiseStepStates();\n });\n});\n\ndescribe(\"compact variant of ic-stepper component\", () => {\n it(\"should render a compact step with no step status\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.rootInstance[\"variantOverride\"]).toBeFalsy();\n\n expect(page.rootInstance.hideStepInfo).toBeFalsy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitle = step.shadowRoot.querySelector(\n \".step > .step-title-area > .step-title\"\n );\n\n expect(stepTitle).not.toBeNull();\n expect(stepTitle.classList.contains(\"hide\")).toBeFalsy();\n });\n });\n\n it(\"should render a stepper with hidden step information\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper hide-step-info>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance.hideStepInfo).toBeTruthy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitle = step.shadowRoot.querySelector(\n \".step > .step-title-area > .step-title\"\n );\n\n expect(stepTitle).not.toBeNull();\n expect(stepTitle.classList.contains(\"visually-hidden\")).toBeFalsy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper without step titles\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper >\n <ic-step step-type=\"completed\"></ic-step>\n <ic-step step-type=\"current\"></ic-step>\n <ic-step step-type=\"disabled\"></ic-step>\n <ic-step step-type=\"active\" ></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n\n expect(page.rootInstance[\"stepsWithStepTitles\"].length).toBeLessThan(\n page.rootInstance[\"steps\"].length\n );\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n\n steps.forEach((step) => {\n const stepTitle = \"Step \" + step[\"stepNum\"];\n expect(step[\"stepTitle\"]).toMatch(stepTitle);\n expect(step[\"stepSubtitle\"]).toBeUndefined();\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(1);\n });\n\n it(\"should only show the current step\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n expect(currentStep.classList.contains(\"show\")).toBeTruthy;\n\n expect(currentStep.classList.contains(\"hide\")).toBeFalsy;\n\n const notCurrentStep = page.root.querySelector('ic-step:not([current=\"\"])');\n\n expect(notCurrentStep.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentStep.classList.contains(\"hide\")).toBeTruthy;\n\n notCurrentStep.classList.add(\"show\");\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(notCurrentStep.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentStep.classList.contains(\"hide\")).toBeTruthy;\n });\n\n it(\"shouldn't add the 'show' and 'hide' classes to default steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step.classList.contains(\"show\")).toBeFalsy();\n expect(step.classList.contains(\"hide\")).toBeFalsy();\n });\n });\n\n it(\"should only add the 'show' and 'hide' classes to compact steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n expect(currentStep.classList.contains(\"show\")).toBeTruthy;\n\n expect(currentStep.classList.contains(\"hide\")).toBeFalsy;\n\n const notCurrentSteps = page.root.querySelector(\n 'ic-step:not([current=\"\"])'\n );\n\n expect(notCurrentSteps.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentSteps.classList.contains(\"hide\")).toBeTruthy;\n });\n\n it(\"should render status icons next to all steps with a disabled stepType\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"required\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-type=\"disabled\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const notRequiredSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"disabled\"]'\n );\n\n notRequiredSteps.forEach((step) => {\n const textContent = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > ic-typography\"\n ).textContent;\n\n expect(textContent).toBe(\"Not required\");\n\n const statusIcon = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > .step-icon\"\n );\n\n expect(statusIcon).toEqualHtml(\n `<span class=\"warning-icon step-icon\" aria-hidden=\"true\">svg</span>`\n );\n\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Non-required step/i);\n });\n });\n\n it(\"should render status icons next to all steps with a completed stepType\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const completeSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"completed\"]'\n );\n\n completeSteps.forEach((step) => {\n const textContent = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > ic-typography\"\n ).textContent;\n\n expect(textContent).toBe(\"Completed\");\n\n const statusIcon = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > span.step-icon\"\n );\n\n expect(statusIcon).toEqualHtml(\n `<span class=\"check-icon step-icon\" aria-hidden=\"true\">svg</span>`\n );\n\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Completed step/i);\n });\n });\n\n it(\"should update the aria label of a step if its stepStatus is set to 'optional'\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"optional\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const optionalSteps = page.root.querySelectorAll(\n 'ic-step[step-status=\"optional\"]'\n );\n\n optionalSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Optional step/i);\n });\n });\n\n it(\"should update the aria label of a step if its stepStatus is set to 'required'\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"required\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const requiredSteps = page.root.querySelectorAll(\n 'ic-step[step-status=\"required\"]'\n );\n\n requiredSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Required step/i);\n });\n });\n\n it(\"should only show the title of the next step if it isn't the last step\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step[\"variant\"]).toMatch(\"compact\");\n });\n\n for (let i = 0; i < steps.length; i++) {\n if (steps[i] !== steps[steps.length - 1]) {\n expect(steps[i][\"nextStepTitle\"]).toBe(steps[i + 1][\"stepTitle\"]);\n } else {\n expect(steps[i][\"nextStepTitle\"]).toBeUndefined();\n }\n }\n });\n});\n\ndescribe(\"switch between the compact and default stepper depending on whether the stepper has a scroll\", () => {\n it(\"should change from the default variant to the compact variant if there's a scroll on the stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper >\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n });\n\n it(\"should change from the compact variant to the stepper variant if the stepper is greater than the min width for the default stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n resizeTo(window, 375, 812);\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n resizeTo(window, 1920, 1080);\n\n page.rootInstance.el.clientWidth = 1000;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n });\n});\n"]}
1
+ {"version":3,"file":"ic-stepper.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-stepper/test/basic/ic-stepper.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAC3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAElE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CACjD,0BAA0B,CAC3B,CAAC;YAEF,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;0DAI8C;SACrD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAClE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAClC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YAE7C,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CACjD,0BAA0B,CAC3B,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;oBA0BQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9C,+BAA+B,CAChC,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;KAOP;SACA,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAExE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE;;;;;;;KAOP;SACA,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE;;;;;;;KAOP;SACA,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAE5C,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;QAEtC,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAE1C,MAAM,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;IACvD,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;oBAuBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAEzD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC7C,wCAAwC,CACzC,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC7C,wCAAwC,CACzC,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;2DAI+C;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAE1D,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,CAClE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CAClC,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;oBAuBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAEnE,MAAM,CACJ,WAAW,CAAC,UAAU;aACnB,aAAa,CAAC,OAAO,CAAC;aACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAE5E,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5D,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAE7D,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5D,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;oBAuBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAEnE,MAAM,CACJ,WAAW,CAAC,UAAU;aACnB,aAAa,CAAC,OAAO,CAAC;aACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CACjC,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA2BQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAEnE,MAAM,CACJ,WAAW,CAAC,UAAU;aACnB,aAAa,CAAC,OAAO,CAAC;aACtB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CACjC,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;QAE1D,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAC7C,2BAA2B,CAC5B,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7D,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;oBAyBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACjD,+BAA+B,CAChC,CAAC;QAEF,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC/C,sEAAsE,CACvE,CAAC,WAAW,CAAC;YAEd,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9C,mEAAmE,CACpE,CAAC;YAEF,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAC5B,oEAAoE,CACrE,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;oBAwBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9C,gCAAgC,CACjC,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC/C,sEAAsE,CACvE,CAAC,WAAW,CAAC;YAEd,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEtC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9C,uEAAuE,CACxE,CAAC;YAEF,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,CAC5B,kEAAkE,CACnE,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;oBA0BQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9C,iCAAiC,CAClC,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;oBA0BQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9C,iCAAiC,CAClC,CAAC;QAEF,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;oBAqBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAEpD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,8FAA8F,EAAE,GAAG,EAAE;IAC5G,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;oBAsBQ;SACf,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oIAAoI,EAAE,KAAK,IAAI,EAAE;QAClJ,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;YAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC;YAC3B,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;oBAsBQ;SACf,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAE3B,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;QAExC,IAAI,CAAC,YAAY,CAAC,sBAAsB,EAAE,CAAC;QAE3C,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { resizeTo } from \"../../../../testspec.setup\";\nimport { Step } from \"../../../ic-step/ic-step\";\nimport { Stepper } from \"../../ic-stepper\";\n\ndescribe(\"default variant of ic-stepper component\", () => {\n it(\"should render a full-width stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step.classList.contains(\"aligned-full-width\")).toBeTruthy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a left-aligned stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper aligned=\"left\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n expect(page.rootInstance.aligned).toMatch(\"left\");\n expect(page.root.classList.contains(\"aligned-left\")).toBeTruthy();\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper with hidden step info\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper hide-step-info>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance.hideStepInfo).toBeTruthy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitleArea = step.shadowRoot.querySelector(\n \".step > .step-title-area\"\n );\n\n expect(stepTitleArea.classList.contains(\"visually-hidden\")).toBeTruthy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper without step titles\", async () => {\n jest.spyOn(console, \"error\").mockImplementation(jest.fn());\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-type=\"completed\"></ic-step>\n <ic-step step-type=\"current\"></ic-step>\n <ic-step step-type=\"disabled\"></ic-step>\n <ic-step step-type=\"active\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.rootInstance.hideStepInfo).toBeFalsy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n\n expect(page.rootInstance[\"stepsWithStepTitles\"].length).toBeLessThan(\n page.rootInstance[\"steps\"].length\n );\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n\n steps.forEach((step) => {\n expect(step[\"stepTitle\"]).toBeUndefined();\n expect(step[\"stepSubtitle\"]).toBeUndefined();\n\n const stepTitleArea = step.shadowRoot.querySelector(\n \".step > .step-title-area\"\n );\n expect(stepTitleArea).toBeNull();\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n });\n\n it(\"should render a stepper with a custom connector width\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper aligned=\"left\" connector-width=\"150\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.root.classList.contains(\"aligned-left\")).toBeTruthy();\n });\n\n it(\"should ignore the connectorWidth prop if the stepper is set to be aligned full-width\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper connector-width=\"150\">\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.root.classList.contains(\"aligned-left\")).toBeFalsy();\n });\n\n it(\"should add 'disabled step' to the aria labels of all disabled steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-type=\"disabled\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const disabledSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"disabled\"]'\n );\n\n disabledSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Non-required step/i);\n });\n });\n\n it(\"should add the className 'last-step' to the last step in the stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step last-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n const lastStep = await page.root.querySelector(\"ic-step[last-step='']\");\n\n expect(lastStep.classList.contains(\"last-step\")).toBeTruthy();\n });\n});\n\ndescribe(\"resizeObserver for ic-stepper\", () => {\n it(\"shouldn't call the resizeObserver if the resizeObserver is null\", async () => {\n const page = await newSpecPage({\n components: [Stepper],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n await page.rootInstance.runResizeObserver();\n\n page.setContent(\"\");\n });\n\n it(\"should call the functions in the resizeObserver\", async () => {\n const page = await newSpecPage({\n components: [Stepper],\n html: `\n <ic-stepper>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step>\n </ic-stepper>\n `,\n });\n\n await page.waitForChanges();\n\n await page.rootInstance.runResizeObserver();\n\n await page.rootInstance.getChildren();\n\n await page.rootInstance.checkStepTitles();\n\n await page.rootInstance.overrideVariant();\n\n await page.rootInstance.setStepperWidth();\n\n await page.rootInstance.initialiseStepStates();\n });\n});\n\ndescribe(\"compact variant of ic-stepper component\", () => {\n it(\"should render a compact step with no step status\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n expect(page.rootInstance[\"variantOverride\"]).toBeFalsy();\n\n expect(page.rootInstance.hideStepInfo).toBeFalsy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitle = step.shadowRoot.querySelector(\n \".step > .step-title-area > .step-title\"\n );\n\n expect(stepTitle).not.toBeNull();\n expect(stepTitle.classList.contains(\"hide\")).toBeFalsy();\n });\n });\n\n it(\"should render a stepper with hidden step information\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper hide-step-info>\n <ic-step step-title=\"Create\" step-type=\"completed\"></ic-step>\n <ic-step step-title=\"Read\" step-type=\"current\"></ic-step>\n <ic-step step-title=\"Update\"></ic-step>\n <ic-step step-title=\"Delete\"></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance.hideStepInfo).toBeTruthy();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n const stepTitle = step.shadowRoot.querySelector(\n \".step > .step-title-area > .step-title\"\n );\n\n expect(stepTitle).not.toBeNull();\n expect(stepTitle.classList.contains(\"visually-hidden\")).toBeFalsy();\n });\n\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render a stepper without step titles\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper >\n <ic-step step-type=\"completed\"></ic-step>\n <ic-step step-type=\"current\"></ic-step>\n <ic-step step-type=\"disabled\"></ic-step>\n <ic-step step-type=\"active\" ></ic-step></ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.root).toMatchSnapshot();\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n\n expect(page.rootInstance[\"stepsWithStepTitles\"].length).toBeLessThan(\n page.rootInstance[\"steps\"].length\n );\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(0);\n\n steps.forEach((step) => {\n const stepTitle = \"Step \" + step[\"stepNum\"];\n expect(step[\"stepTitle\"]).toMatch(stepTitle);\n expect(step[\"stepSubtitle\"]).toBeUndefined();\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance[\"noOfResizes\"]).toBe(1);\n });\n\n it(\"should only show the current step\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n expect(currentStep.classList.contains(\"show\")).toBeTruthy;\n\n expect(currentStep.classList.contains(\"hide\")).toBeFalsy;\n\n const notCurrentStep = page.root.querySelector('ic-step:not([current=\"\"])');\n\n expect(notCurrentStep.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentStep.classList.contains(\"hide\")).toBeTruthy;\n\n notCurrentStep.classList.add(\"show\");\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(notCurrentStep.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentStep.classList.contains(\"hide\")).toBeTruthy;\n });\n\n it(\"shouldn't add the 'show' and 'hide' classes to default steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step.classList.contains(\"show\")).toBeFalsy();\n expect(step.classList.contains(\"hide\")).toBeFalsy();\n });\n });\n\n it(\"should only add the 'show' and 'hide' classes to compact steps\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n step-type=\"completed\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const currentStep = page.root.querySelector('ic-step[current=\"\"]');\n\n expect(\n currentStep.shadowRoot\n .querySelector(\".step\")\n .classList.contains(\"current\")\n );\n\n expect(currentStep.classList.contains(\"show\")).toBeTruthy;\n\n expect(currentStep.classList.contains(\"hide\")).toBeFalsy;\n\n const notCurrentSteps = page.root.querySelector(\n 'ic-step:not([current=\"\"])'\n );\n\n expect(notCurrentSteps.classList.contains(\"show\")).toBeFalsy;\n\n expect(notCurrentSteps.classList.contains(\"hide\")).toBeTruthy;\n });\n\n it(\"should render status icons next to all steps with a disabled stepType\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"required\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-type=\"disabled\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const notRequiredSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"disabled\"]'\n );\n\n notRequiredSteps.forEach((step) => {\n const textContent = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > ic-typography\"\n ).textContent;\n\n expect(textContent).toBe(\"Not required\");\n\n const statusIcon = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > .step-icon\"\n );\n\n expect(statusIcon).toEqualHtml(\n `<span class=\"warning-icon step-icon\" aria-hidden=\"true\">svg</span>`\n );\n\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Non-required step/i);\n });\n });\n\n it(\"should render status icons next to all steps with a completed stepType\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const completeSteps = page.root.querySelectorAll(\n 'ic-step[step-type=\"completed\"]'\n );\n\n completeSteps.forEach((step) => {\n const textContent = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > ic-typography\"\n ).textContent;\n\n expect(textContent).toBe(\"Completed\");\n\n const statusIcon = step.shadowRoot.querySelector(\n \".step > .step-title-area > .info-line > .step-status > span.step-icon\"\n );\n\n expect(statusIcon).toEqualHtml(\n `<span class=\"check-icon step-icon\" aria-hidden=\"true\">svg</span>`\n );\n\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Completed step/i);\n });\n });\n\n it(\"should update the aria label of a step if its stepStatus is set to 'optional'\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"optional\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const optionalSteps = page.root.querySelectorAll(\n 'ic-step[step-status=\"optional\"]'\n );\n\n optionalSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Optional step/i);\n });\n });\n\n it(\"should update the aria label of a step if its stepStatus is set to 'required'\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step variant=\"compact\" step-title=\"First\"></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Third\"\n step-status=\"required\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n variant=\"compact\"\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n const requiredSteps = page.root.querySelectorAll(\n 'ic-step[step-status=\"required\"]'\n );\n\n requiredSteps.forEach((step) => {\n expect(step.getAttribute(\"aria-label\")).toMatch(/. Required step/i);\n });\n });\n\n it(\"should only show the title of the next step if it isn't the last step\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper variant=\"compact\" id=\"custom-stepper\">\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n const steps = page.root.querySelectorAll(\"ic-step\");\n\n steps.forEach((step) => {\n expect(step[\"variant\"]).toMatch(\"compact\");\n });\n\n for (let i = 0; i < steps.length; i++) {\n if (steps[i] !== steps[steps.length - 1]) {\n expect(steps[i][\"nextStepTitle\"]).toBe(steps[i + 1][\"stepTitle\"]);\n } else {\n expect(steps[i][\"nextStepTitle\"]).toBeUndefined();\n }\n }\n });\n});\n\ndescribe(\"switch between the compact and default stepper depending on whether the stepper has a scroll\", () => {\n it(\"should change from the default variant to the compact variant if there's a scroll on the stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper >\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n page.rootInstance.el.clientWidth = 50;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n });\n\n it(\"should change from the compact variant to the stepper variant if the stepper is greater than the min width for the default stepper\", async () => {\n const page = await newSpecPage({\n components: [Stepper, Step],\n html: `<ic-stepper>\n <ic-step step-title=\"First\"></ic-step>\n <ic-step\n step-title=\"Second With a Very Long Title\"\n step-subtitle=\"Optional subtitle that is long and should wrap\"\n current\n step-type=\"current\"\n ></ic-step>\n <ic-step\n step-title=\"Third\"\n step-type=\"disabled\"\n ></ic-step>\n <ic-step\n step-title=\"Fourth title that is long and should wrap\"\n step-subtitle=\"Optional Subtitle\"\n step-type=\"completed\"\n ></ic-step>\n <ic-step\n step-title=\"Fifth and final step\"\n step-subtitle=\"Optional Subtitle\"\n step-status=\"optional\"\n ></ic-step>\n </ic-stepper>`,\n });\n\n page.rootInstance.el.clientWidth = 50;\n\n resizeTo(window, 375, 812);\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"compact\");\n\n resizeTo(window, 1920, 1080);\n\n page.rootInstance.el.clientWidth = 1000;\n\n page.rootInstance.resizeObserverCallback();\n\n await page.waitForChanges();\n\n expect(page.rootInstance.variant).toMatch(\"default\");\n\n expect(page.rootInstance[\"variantOverride\"]).toBeTruthy();\n });\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\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\";\nimport { IcSizesNoLarge } from \"../../utils/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 @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\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 * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\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 size,\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 || size === \"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 || size === \"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 || size === \"small\" ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small || size === \"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 || size === \"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"]}
1
+ {"version":3,"file":"ic-switch.js","sourceRoot":"","sources":["../../../src/components/ic-switch/ic-switch.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\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\";\nimport { IcSizesNoLarge } from \"../../utils/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 @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\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 * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\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 size,\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 || size === \"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 || size === \"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 || size === \"small\" ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small || size === \"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 || size === \"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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tab.js","sourceRoot":"","sources":["../../../src/components/ic-tab/ic-tab.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { isSlotUsed, removeDisabledFalse } from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n * @slot badge - Badge component displayed inline with the tab.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n private focusFromClick: boolean = false;\n private focusTabId: string;\n private isInitialRender: boolean = true;\n\n @Element() el: HTMLIcTabElement;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /** @internal The unique context needed if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal If `true`, the tab will display with a selected indicator and tabIndex will be set. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition?: number;\n\n @Watch(\"disabled\")\n disabledWatchHandler(): void {\n this.tabEnabled.emit();\n }\n\n /**\n * @internal Emitted when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is dynamically created.\n */\n @Event() tabCreated: EventEmitter<HTMLIcTabElement>;\n\n /**\n * @internal Emitted when a tab's disabled prop changes\n */\n @Event() tabEnabled: EventEmitter<void>;\n\n /**\n * @internal Emitted when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is unmounted.\n */\n @Event() tabRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n const tabContext = document.querySelector(\n `ic-tab-context[context-id=${this.contextId}]`\n ) as HTMLIcTabContextElement;\n if (tabContext) {\n tabContext.tabRemovedHandler(!!this.focusTabId);\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n /**\n * Sets focus on the tab.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el) {\n this.el.focus();\n }\n }\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.focusTabId = this.tabId;\n\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a seperate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const { disabled, selected, appearance } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"selected\"]: selected,\n [\"disabled\"]: disabled,\n }}\n role=\"tab\"\n aria-selected={selected ? \"true\" : \"false\"}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n aria-disabled={disabled ? \"true\" : \"false\"}\n tabindex={this.selected ? 0 : -1}\n >\n {this.el.querySelector('[slot=\"icon\"]') && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-tab.js","sourceRoot":"","sources":["../../../src/components/ic-tab/ic-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,CAAC,EACD,MAAM,EACN,KAAK,GACN,MAAM,eAAe,CAAC;AAGvB,OAAO,EAEL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAEtE;;;GAGG;AAMH,MAAM,OAAO,GAAG;;QACN,mBAAc,GAAY,KAAK,CAAC;QAEhC,oBAAe,GAAY,IAAI,CAAC;QAqFhC,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;QAEM,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC;gBAE7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI,CAAC,WAAW;iBAC3B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,iDAAiD;YACjD,wFAAwF;YACxF,iFAAiF;YACjF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;0BAjHgD,MAAM;yBAGV,SAAS;wBAK1B,KAAK;wBAGY,KAAK;;;;IASnD,oBAAoB;QAClB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IA2BD,iBAAiB;QACf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB;QAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CACvC,6BAA6B,IAAI,CAAC,SAAS,GAAG,CACpB,CAAC;QAC7B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,iBAAiB;QACf,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAqCD,MAAM;QACJ,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAChD,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe;gBAC1C,CAAC,cAAc,CAAC,EAAE,UAAU,KAAK,qBAAqB,CAAC,KAAK;gBAC5D,CAAC,UAAU,CAAC,EAAE,QAAQ;gBACtB,CAAC,UAAU,CAAC,EAAE,QAAQ;aACvB,EACD,IAAI,EAAC,KAAK,mBACK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC1C,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,WAAW,EAAE,IAAI,CAAC,eAAe,mBAClB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAC1C,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,YAAM,IAAI,EAAC,MAAM,GAAQ;YACpE,qBAAe,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,OAAO;gBACjD;oBACE,eAAa,CACR,CACO;YACf,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,YAAM,IAAI,EAAC,OAAO,GAAQ,CACtD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { isSlotUsed, removeDisabledFalse } from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n * @slot badge - Badge component displayed inline with the tab.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n private focusFromClick: boolean = false;\n private focusTabId: string;\n private isInitialRender: boolean = true;\n\n @Element() el: HTMLIcTabElement;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /** @internal The unique context needed if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal If `true`, the tab will display with a selected indicator and tabIndex will be set. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition?: number;\n\n @Watch(\"disabled\")\n disabledWatchHandler(): void {\n this.tabEnabled.emit();\n }\n\n /**\n * @internal Emitted when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is dynamically created.\n */\n @Event() tabCreated: EventEmitter<HTMLIcTabElement>;\n\n /**\n * @internal Emitted when a tab's disabled prop changes\n */\n @Event() tabEnabled: EventEmitter<void>;\n\n /**\n * @internal Emitted when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is unmounted.\n */\n @Event() tabRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n const tabContext = document.querySelector(\n `ic-tab-context[context-id=${this.contextId}]`\n ) as HTMLIcTabContextElement;\n if (tabContext) {\n tabContext.tabRemovedHandler(!!this.focusTabId);\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n /**\n * Sets focus on the tab.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el) {\n this.el.focus();\n }\n }\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.focusTabId = this.tabId;\n\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a seperate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const { disabled, selected, appearance } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"selected\"]: selected,\n [\"disabled\"]: disabled,\n }}\n role=\"tab\"\n aria-selected={selected ? \"true\" : \"false\"}\n onClick={this.handleClick}\n onFocus={this.handleFocus}\n onMouseDown={this.handleMouseDown}\n aria-disabled={disabled ? \"true\" : \"false\"}\n tabindex={this.selected ? 0 : -1}\n >\n {this.el.querySelector('[slot=\"icon\"]') && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tab-context.js","sourceRoot":"","sources":["../../../src/components/ic-tab-context/ic-tab-context.tsx"],"names":[],"mappings":"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","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() el: 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.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.el.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"]}
1
+ {"version":3,"file":"ic-tab-context.js","sourceRoot":"","sources":["../../../src/components/ic-tab-context/ic-tab-context.tsx"],"names":[],"mappings":"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","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() el: 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.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.el.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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tab-panel.js","sourceRoot":"","sources":["../../../src/components/ic-tab-panel/ic-tab-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,CAAC,GACF,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,OAAO,QAAQ;;0BAM+B,MAAM;yBAMV,SAAS;;;;;IA2BvD,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB;QAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CACvC,6BAA6B,IAAI,CAAC,SAAS,GAAG,CACpB,CAAC;QAC7B,IAAI,UAAU,EAAE;YACd,UAAU,CAAC,iBAAiB,EAAE,CAAC;SAChC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAClD,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,oBAAoB,CAAC,EAAE,UAAU,KAAK,qBAAqB,CAAC,KAAK;aACnE,EACD,IAAI,EAAC,UAAU,EACf,MAAM,EACJ,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;gBAClD,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;gBAC5B,CAAC,CAAC,IAAI;YAGV;gBACE,eAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport {\n IcThemeForegroundEnum,\n IcThemeForegroundNoDefault,\n} from \"../../utils/types\";\nimport { isPropDefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() el: HTMLIcTabPanelElement;\n\n /**\n * @internal The appearance of the tabs, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * @deprecated This is no longer required.\n * The context id is passed down from `ic-tab-context`\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * @internal The shared ID that links the panel and tab.\n */\n @Prop({ reflect: true }) panelId?: string;\n\n /**\n * @internal The shared ID of the currently selected tab.\n */\n @Prop() selectedTab?: string;\n\n /**\n * @internal The position of the tab panel inside the tabs array in context.\n */\n @Prop({ reflect: true }) tabPosition?: number;\n\n /**\n * @internal Emitted when a tab panel is dynamically created.\n */\n @Event() tabPanelCreated: EventEmitter<HTMLIcTabPanelElement>;\n\n /**\n * @internal Emitted when a tab panel is unmounted.\n */\n @Event() tabPanelRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabPanelCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n const tabContext = document.querySelector(\n `ic-tab-context[context-id=${this.contextId}]`\n ) as HTMLIcTabContextElement;\n if (tabContext) {\n tabContext.tabRemovedHandler();\n }\n }\n\n render() {\n const { panelId, selectedTab, appearance } = this;\n return (\n <Host\n class={{\n [\"ic-tab-panel-light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n role=\"tabpanel\"\n hidden={\n isPropDefined(panelId) && isPropDefined(selectedTab)\n ? !(panelId === selectedTab)\n : true\n }\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-tab-panel.js","sourceRoot":"","sources":["../../../src/components/ic-tab-panel/ic-tab-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,IAAI,EACJ,CAAC,GACF,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,qBAAqB,GAEtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,OAAO,QAAQ;;0BAM+B,MAAM;yBAMV,SAAS;;;;;IA2BvD,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,oBAAoB;QAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CACvC,6BAA6B,IAAI,CAAC,SAAS,GAAG,CACpB,CAAC;QAC7B,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAClD,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE;gBACL,CAAC,oBAAoB,CAAC,EAAE,UAAU,KAAK,qBAAqB,CAAC,KAAK;aACnE,EACD,IAAI,EAAC,UAAU,EACf,MAAM,EACJ,aAAa,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,WAAW,CAAC;gBAClD,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC;gBAC5B,CAAC,CAAC,IAAI;YAGV;gBACE,eAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport {\n IcThemeForegroundEnum,\n IcThemeForegroundNoDefault,\n} from \"../../utils/types\";\nimport { isPropDefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() el: HTMLIcTabPanelElement;\n\n /**\n * @internal The appearance of the tabs, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * @deprecated This is no longer required.\n * The context id is passed down from `ic-tab-context`\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * @internal The shared ID that links the panel and tab.\n */\n @Prop({ reflect: true }) panelId?: string;\n\n /**\n * @internal The shared ID of the currently selected tab.\n */\n @Prop() selectedTab?: string;\n\n /**\n * @internal The position of the tab panel inside the tabs array in context.\n */\n @Prop({ reflect: true }) tabPosition?: number;\n\n /**\n * @internal Emitted when a tab panel is dynamically created.\n */\n @Event() tabPanelCreated: EventEmitter<HTMLIcTabPanelElement>;\n\n /**\n * @internal Emitted when a tab panel is unmounted.\n */\n @Event() tabPanelRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabPanelCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n const tabContext = document.querySelector(\n `ic-tab-context[context-id=${this.contextId}]`\n ) as HTMLIcTabContextElement;\n if (tabContext) {\n tabContext.tabRemovedHandler();\n }\n }\n\n render() {\n const { panelId, selectedTab, appearance } = this;\n return (\n <Host\n class={{\n [\"ic-tab-panel-light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n role=\"tabpanel\"\n hidden={\n isPropDefined(panelId) && isPropDefined(selectedTab)\n ? !(panelId === selectedTab)\n : true\n }\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}