@ukic/web-components 2.0.0-alpha.124 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (584) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-9d4961dc.js → helpers-60fda93f.js} +49 -21
  3. package/dist/cjs/helpers-60fda93f.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -2
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  8. package/dist/cjs/{ic-breadcrumbs.cjs.entry.js → ic-breadcrumb-group.cjs.entry.js} +7 -6
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -0
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -2
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +26 -30
  13. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card.cjs.entry.js +3 -2
  15. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -2
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -2
  19. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-data-entity.cjs.entry.js +6 -6
  21. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-data-row.cjs.entry.js +6 -5
  23. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-divider.cjs.entry.js +3 -2
  25. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -11
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +8 -7
  29. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-footer.cjs.entry.js +16 -15
  31. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-hero.cjs.entry.js +9 -8
  33. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +84 -29
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-link.cjs.entry.js +11 -10
  39. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-navigation-button.cjs.entry.js +8 -7
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -1
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -2
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -2
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-page-header.cjs.entry.js +6 -5
  49. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-radio-group.cjs.entry.js +3 -2
  51. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-option.cjs.entry.js +3 -2
  53. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +16 -19
  55. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-select.cjs.entry.js +219 -25
  57. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -3
  59. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-skeleton.cjs.entry.js +10 -10
  61. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-status-tag.cjs.entry.js +9 -8
  63. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-step.cjs.entry.js +2 -1
  65. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
  67. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-switch.cjs.entry.js +8 -7
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-context.cjs.entry.js +12 -11
  71. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-group.cjs.entry.js +146 -0
  73. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -0
  74. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -1
  75. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-tab.cjs.entry.js +5 -4
  77. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-text-field.cjs.entry.js +10 -10
  79. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-theme.cjs.entry.js +2 -1
  81. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-top-navigation.cjs.entry.js +7 -6
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-typography.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  86. package/dist/cjs/index-3ef30d9d.js +4 -4
  87. package/dist/cjs/loader.cjs.js +1 -1
  88. package/dist/cjs/types-3eb02246.js +16 -0
  89. package/dist/cjs/types-3eb02246.js.map +1 -0
  90. package/dist/collection/collection-manifest.json +2 -2
  91. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  92. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  93. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +1 -1
  94. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  95. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -2
  96. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs-test-examples.js → ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js} +7 -7
  97. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +1 -0
  98. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.css → ic-breadcrumb-group/ic-breadcrumb-group.css} +1 -0
  99. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.js → ic-breadcrumb-group/ic-breadcrumb-group.js} +5 -5
  100. package/dist/{core/p-ed1d8712.entry.js.map → collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map} +1 -1
  101. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.js → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js} +6 -6
  102. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +1 -0
  103. package/dist/collection/components/ic-button/ic-button.css +5 -11
  104. package/dist/collection/components/ic-button/ic-button.js +22 -52
  105. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  106. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  107. package/dist/collection/components/ic-card/ic-card.js +1 -1
  108. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  109. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -1
  110. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -4
  111. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  112. package/dist/collection/components/ic-data-entity/ic-data-entity.css +2 -2
  113. package/dist/collection/components/ic-data-entity/ic-data-entity.js +8 -8
  114. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  115. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  116. package/dist/collection/components/ic-data-row/ic-data-row.js +6 -6
  117. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  118. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  119. package/dist/collection/components/ic-footer/ic-footer.js +14 -14
  120. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  121. package/dist/collection/components/ic-footer/ic-footer.types.js.map +1 -1
  122. package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -2
  123. package/dist/collection/components/ic-footer-link/ic-footer-link.js +5 -5
  124. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  125. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +8 -8
  126. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +10 -10
  127. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  128. package/dist/collection/components/ic-hero/ic-hero.css +17 -12
  129. package/dist/collection/components/ic-hero/ic-hero.js +9 -9
  130. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +6 -5
  132. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +6 -6
  133. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  134. package/dist/collection/components/ic-link/ic-link.css +1 -1
  135. package/dist/collection/components/ic-link/ic-link.js +9 -9
  136. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  137. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +2 -2
  138. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +26 -25
  139. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  140. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  141. package/dist/collection/components/ic-menu/ic-menu.css +5 -4
  142. package/dist/collection/components/ic-menu/ic-menu.js +82 -25
  143. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  144. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  145. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +7 -7
  146. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  147. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +1 -1
  148. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  149. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
  150. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  151. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
  152. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  153. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  154. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  155. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  156. package/dist/collection/components/ic-radio-option/ic-radio-option.css +2 -2
  157. package/dist/collection/components/ic-search-bar/ic-search-bar.css +7 -1
  158. package/dist/collection/components/ic-search-bar/ic-search-bar.js +13 -35
  159. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  160. package/dist/collection/components/ic-select/ic-select.css +70 -9
  161. package/dist/collection/components/ic-select/ic-select.js +341 -28
  162. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  163. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +1 -1
  164. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  165. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -4
  166. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -14
  167. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  168. package/dist/collection/components/ic-skeleton/ic-skeleton.types.js.map +1 -1
  169. package/dist/collection/components/ic-status-tag/ic-status-tag.css +9 -9
  170. package/dist/collection/components/ic-status-tag/ic-status-tag.js +14 -14
  171. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  172. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  173. package/dist/collection/components/ic-switch/ic-switch.css +6 -6
  174. package/dist/collection/components/ic-switch/ic-switch.js +8 -8
  175. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  176. package/dist/collection/components/ic-tab/ic-tab.js +17 -11
  177. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  178. package/dist/collection/components/ic-tab-context/ic-tab-context.js +25 -19
  179. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  180. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +2 -2
  181. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
  182. package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/left-arrow.svg +0 -0
  183. package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/right-arrow.svg +0 -0
  184. package/dist/collection/components/{ic-tab-list/ic-tab-list.css → ic-tab-group/ic-tab-group.css} +2 -2
  185. package/dist/collection/components/{ic-tab-list/ic-tab-list.js → ic-tab-group/ic-tab-group.js} +37 -31
  186. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -0
  187. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -25
  188. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  189. package/dist/collection/components/ic-tooltip/ic-tooltip.css +4 -4
  190. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -6
  191. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  192. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js +1 -1
  193. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +1 -1
  194. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  195. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  196. package/dist/collection/components/ic-typography/ic-typography.css +17 -10
  197. package/dist/collection/components/ic-typography/ic-typography.js +6 -6
  198. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  199. package/dist/collection/utils/helpers.js +39 -1
  200. package/dist/collection/utils/helpers.js.map +1 -1
  201. package/dist/collection/utils/types.js.map +1 -1
  202. package/dist/components/helpers.js +41 -14
  203. package/dist/components/helpers.js.map +1 -1
  204. package/dist/components/ic-alert.js +3 -2
  205. package/dist/components/ic-alert.js.map +1 -1
  206. package/dist/components/ic-back-to-top.js +1 -1
  207. package/dist/components/ic-back-to-top.js.map +1 -1
  208. package/dist/components/{ic-breadcrumbs.d.ts → ic-breadcrumb-group.d.ts} +4 -4
  209. package/dist/components/{ic-breadcrumbs.js → ic-breadcrumb-group.js} +10 -10
  210. package/dist/{cjs/ic-breadcrumbs.cjs.entry.js.map → components/ic-breadcrumb-group.js.map} +1 -1
  211. package/dist/components/ic-breadcrumb2.js +1 -1
  212. package/dist/components/ic-breadcrumb2.js.map +1 -1
  213. package/dist/components/ic-button2.js +19 -25
  214. package/dist/components/ic-button2.js.map +1 -1
  215. package/dist/components/ic-card.js +1 -1
  216. package/dist/components/ic-card.js.map +1 -1
  217. package/dist/components/ic-checkbox-group.js +2 -2
  218. package/dist/components/ic-checkbox-group.js.map +1 -1
  219. package/dist/components/ic-checkbox.js +1 -1
  220. package/dist/components/ic-checkbox.js.map +1 -1
  221. package/dist/components/ic-data-entity.js +7 -7
  222. package/dist/components/ic-data-entity.js.map +1 -1
  223. package/dist/components/ic-data-row.js +5 -5
  224. package/dist/components/ic-data-row.js.map +1 -1
  225. package/dist/components/ic-divider2.js +2 -1
  226. package/dist/components/ic-divider2.js.map +1 -1
  227. package/dist/components/ic-footer-link-group.js +12 -12
  228. package/dist/components/ic-footer-link-group.js.map +1 -1
  229. package/dist/components/ic-footer-link.js +7 -7
  230. package/dist/components/ic-footer-link.js.map +1 -1
  231. package/dist/components/ic-footer.js +14 -13
  232. package/dist/components/ic-footer.js.map +1 -1
  233. package/dist/components/ic-hero.js +9 -8
  234. package/dist/components/ic-hero.js.map +1 -1
  235. package/dist/components/ic-input-component-container2.js +7 -6
  236. package/dist/components/ic-input-component-container2.js.map +1 -1
  237. package/dist/components/ic-input-label2.js +1 -1
  238. package/dist/components/ic-input-validation2.js +2 -1
  239. package/dist/components/ic-input-validation2.js.map +1 -1
  240. package/dist/components/ic-link2.js +10 -9
  241. package/dist/components/ic-link2.js.map +1 -1
  242. package/dist/components/ic-loading-indicator2.js +8 -7
  243. package/dist/components/ic-loading-indicator2.js.map +1 -1
  244. package/dist/components/ic-menu2.js +78 -24
  245. package/dist/components/ic-menu2.js.map +1 -1
  246. package/dist/components/ic-navigation-button.js +9 -8
  247. package/dist/components/ic-navigation-button.js.map +1 -1
  248. package/dist/components/ic-navigation-group.js +1 -1
  249. package/dist/components/ic-navigation-item.js +2 -2
  250. package/dist/components/ic-navigation-item.js.map +1 -1
  251. package/dist/components/ic-navigation-menu2.js +2 -2
  252. package/dist/components/ic-navigation-menu2.js.map +1 -1
  253. package/dist/components/ic-page-header.js +5 -5
  254. package/dist/components/ic-page-header.js.map +1 -1
  255. package/dist/components/ic-radio-group.js +2 -2
  256. package/dist/components/ic-radio-group.js.map +1 -1
  257. package/dist/components/ic-radio-option.js +2 -2
  258. package/dist/components/ic-radio-option.js.map +1 -1
  259. package/dist/components/ic-search-bar.js +13 -17
  260. package/dist/components/ic-search-bar.js.map +1 -1
  261. package/dist/components/ic-select.js +229 -25
  262. package/dist/components/ic-select.js.map +1 -1
  263. package/dist/components/ic-side-navigation.js +3 -2
  264. package/dist/components/ic-side-navigation.js.map +1 -1
  265. package/dist/components/ic-skeleton.js +11 -11
  266. package/dist/components/ic-skeleton.js.map +1 -1
  267. package/dist/components/ic-status-tag.js +9 -9
  268. package/dist/components/ic-status-tag.js.map +1 -1
  269. package/dist/components/ic-switch.js +7 -7
  270. package/dist/components/ic-switch.js.map +1 -1
  271. package/dist/components/ic-tab-context.js +13 -12
  272. package/dist/components/ic-tab-context.js.map +1 -1
  273. package/dist/components/{ic-tab-list.d.ts → ic-tab-group.d.ts} +4 -4
  274. package/dist/components/{ic-tab-list.js → ic-tab-group.js} +31 -30
  275. package/dist/components/ic-tab-group.js.map +1 -0
  276. package/dist/components/ic-tab.js +5 -4
  277. package/dist/components/ic-tab.js.map +1 -1
  278. package/dist/components/ic-text-field2.js +6 -7
  279. package/dist/components/ic-text-field2.js.map +1 -1
  280. package/dist/components/ic-theme.js +1 -1
  281. package/dist/components/ic-tooltip2.js +5 -5
  282. package/dist/components/ic-tooltip2.js.map +1 -1
  283. package/dist/components/ic-top-navigation.js +6 -5
  284. package/dist/components/ic-top-navigation.js.map +1 -1
  285. package/dist/components/ic-typography2.js +5 -5
  286. package/dist/components/ic-typography2.js.map +1 -1
  287. package/dist/components/index.d.ts +2 -2
  288. package/dist/components/index.js +2 -2
  289. package/dist/components/types.js +16 -0
  290. package/dist/components/types.js.map +1 -0
  291. package/dist/core/core.css +1 -1
  292. package/dist/core/core.esm.js +1 -1
  293. package/dist/core/core.esm.js.map +1 -1
  294. package/dist/core/p-0522eb9a.entry.js +2 -0
  295. package/dist/core/p-0522eb9a.entry.js.map +1 -0
  296. package/dist/core/{p-b9253509.entry.js → p-0992a2ee.entry.js} +2 -2
  297. package/dist/core/p-0992a2ee.entry.js.map +1 -0
  298. package/dist/core/p-14153fa0.entry.js +2 -0
  299. package/dist/core/p-14153fa0.entry.js.map +1 -0
  300. package/dist/core/p-1bec5ccb.entry.js +2 -0
  301. package/dist/core/p-1bec5ccb.entry.js.map +1 -0
  302. package/dist/core/p-21025b10.entry.js +2 -0
  303. package/dist/core/p-21025b10.entry.js.map +1 -0
  304. package/dist/core/p-27528d04.entry.js +2 -0
  305. package/dist/core/{p-44355e34.entry.js.map → p-27528d04.entry.js.map} +1 -1
  306. package/dist/core/p-3013158d.entry.js +2 -0
  307. package/dist/core/{p-016fcce8.entry.js.map → p-3013158d.entry.js.map} +1 -1
  308. package/dist/core/p-36b25af4.entry.js +2 -0
  309. package/dist/core/p-36b25af4.entry.js.map +1 -0
  310. package/dist/core/p-3d6902a3.entry.js +2 -0
  311. package/dist/core/{p-0d4ac3c9.entry.js.map → p-3d6902a3.entry.js.map} +1 -1
  312. package/dist/core/p-400b34b9.entry.js +2 -0
  313. package/dist/core/{p-3b9d4007.entry.js.map → p-400b34b9.entry.js.map} +1 -1
  314. package/dist/core/p-438e327e.entry.js +2 -0
  315. package/dist/core/{p-bbe0b521.entry.js.map → p-438e327e.entry.js.map} +1 -1
  316. package/dist/core/p-4aa8c1e1.entry.js +2 -0
  317. package/dist/core/{p-836c93b1.entry.js.map → p-4aa8c1e1.entry.js.map} +1 -1
  318. package/dist/core/p-4af4a9e7.entry.js +2 -0
  319. package/dist/core/p-4af4a9e7.entry.js.map +1 -0
  320. package/dist/core/p-4c1e1d04.entry.js +2 -0
  321. package/dist/core/p-4c1e1d04.entry.js.map +1 -0
  322. package/dist/core/p-4e498c03.entry.js +2 -0
  323. package/dist/core/{p-5e0b88fa.entry.js.map → p-4e498c03.entry.js.map} +1 -1
  324. package/dist/core/p-530b7fe0.entry.js +2 -0
  325. package/dist/core/p-530b7fe0.entry.js.map +1 -0
  326. package/dist/core/p-59a917d4.entry.js +2 -0
  327. package/dist/core/p-59a917d4.entry.js.map +1 -0
  328. package/dist/core/p-605e4270.entry.js +2 -0
  329. package/dist/core/p-605e4270.entry.js.map +1 -0
  330. package/dist/core/p-682686a6.entry.js +2 -0
  331. package/dist/core/p-682686a6.entry.js.map +1 -0
  332. package/dist/core/p-6ac7757f.entry.js +2 -0
  333. package/dist/core/{p-85a32ec7.entry.js.map → p-6ac7757f.entry.js.map} +1 -1
  334. package/dist/core/p-6d0eaaeb.entry.js +2 -0
  335. package/dist/core/p-6d0eaaeb.entry.js.map +1 -0
  336. package/dist/core/p-6f57b13c.js +2 -0
  337. package/dist/core/p-6f57b13c.js.map +1 -0
  338. package/dist/core/p-71282f37.entry.js +2 -0
  339. package/dist/core/{p-012dc33c.entry.js.map → p-71282f37.entry.js.map} +1 -1
  340. package/dist/core/p-73d41c36.entry.js +2 -0
  341. package/dist/core/{p-8af2a343.entry.js.map → p-73d41c36.entry.js.map} +1 -1
  342. package/dist/core/p-8bcadf55.entry.js +2 -0
  343. package/dist/core/p-8bcadf55.entry.js.map +1 -0
  344. package/dist/core/p-98e9eccc.entry.js +2 -0
  345. package/dist/core/p-98e9eccc.entry.js.map +1 -0
  346. package/dist/core/p-994111b7.entry.js +2 -0
  347. package/dist/core/{p-bdd2f166.entry.js.map → p-994111b7.entry.js.map} +1 -1
  348. package/dist/core/p-9bf3f413.entry.js +2 -0
  349. package/dist/core/p-9bf3f413.entry.js.map +1 -0
  350. package/dist/core/p-a301cf67.entry.js +2 -0
  351. package/dist/core/{p-7152788d.entry.js.map → p-a301cf67.entry.js.map} +1 -1
  352. package/dist/core/p-aebc7562.entry.js +2 -0
  353. package/dist/core/{p-85436343.entry.js.map → p-aebc7562.entry.js.map} +1 -1
  354. package/dist/core/p-be583c9b.entry.js +2 -0
  355. package/dist/core/{p-a968ff18.entry.js.map → p-be583c9b.entry.js.map} +1 -1
  356. package/dist/core/p-c15bb762.js +2 -0
  357. package/dist/core/p-c15bb762.js.map +1 -0
  358. package/dist/core/p-c817e46b.entry.js +2 -0
  359. package/dist/core/p-c817e46b.entry.js.map +1 -0
  360. package/dist/core/p-c8772106.entry.js +2 -0
  361. package/dist/core/p-c8772106.entry.js.map +1 -0
  362. package/dist/core/p-c96985bc.entry.js +2 -0
  363. package/dist/core/{p-d198ae1f.entry.js.map → p-c96985bc.entry.js.map} +1 -1
  364. package/dist/core/p-d4c6f4fb.entry.js +2 -0
  365. package/dist/core/{p-44af91df.entry.js.map → p-d4c6f4fb.entry.js.map} +1 -1
  366. package/dist/core/p-d78bded9.entry.js +2 -0
  367. package/dist/core/p-d78bded9.entry.js.map +1 -0
  368. package/dist/core/p-d8973266.entry.js +2 -0
  369. package/dist/core/p-d8973266.entry.js.map +1 -0
  370. package/dist/core/p-d8b6271d.entry.js +2 -0
  371. package/dist/core/{p-7f6ba60a.entry.js.map → p-d8b6271d.entry.js.map} +1 -1
  372. package/dist/core/p-da6f09cd.entry.js +2 -0
  373. package/dist/core/p-da6f09cd.entry.js.map +1 -0
  374. package/dist/core/{p-5316e421.entry.js → p-eb33ece2.entry.js} +2 -2
  375. package/dist/core/{p-5316e421.entry.js.map → p-eb33ece2.entry.js.map} +1 -1
  376. package/dist/core/p-f37a732a.entry.js +2 -0
  377. package/dist/core/{p-5d3dd182.entry.js.map → p-f37a732a.entry.js.map} +1 -1
  378. package/dist/core/p-fca84a85.entry.js +2 -0
  379. package/dist/core/p-fca84a85.entry.js.map +1 -0
  380. package/dist/esm/core.js +1 -1
  381. package/dist/esm/{helpers-db00eae1.js → helpers-8b43d0d4.js} +42 -15
  382. package/dist/esm/helpers-8b43d0d4.js.map +1 -0
  383. package/dist/esm/ic-alert.entry.js +3 -2
  384. package/dist/esm/ic-alert.entry.js.map +1 -1
  385. package/dist/esm/ic-back-to-top.entry.js +3 -2
  386. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  387. package/dist/esm/{ic-breadcrumbs.entry.js → ic-breadcrumb-group.entry.js} +7 -6
  388. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -0
  389. package/dist/esm/ic-breadcrumb.entry.js +3 -2
  390. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  391. package/dist/esm/ic-button_3.entry.js +25 -29
  392. package/dist/esm/ic-button_3.entry.js.map +1 -1
  393. package/dist/esm/ic-card.entry.js +3 -2
  394. package/dist/esm/ic-card.entry.js.map +1 -1
  395. package/dist/esm/ic-checkbox-group.entry.js +3 -2
  396. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  397. package/dist/esm/ic-checkbox.entry.js +3 -2
  398. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  399. package/dist/esm/ic-data-entity.entry.js +6 -6
  400. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  401. package/dist/esm/ic-data-row.entry.js +6 -5
  402. package/dist/esm/ic-data-row.entry.js.map +1 -1
  403. package/dist/esm/ic-divider.entry.js +2 -1
  404. package/dist/esm/ic-divider.entry.js.map +1 -1
  405. package/dist/esm/ic-footer-link-group.entry.js +12 -11
  406. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  407. package/dist/esm/ic-footer-link.entry.js +8 -7
  408. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  409. package/dist/esm/ic-footer.entry.js +14 -13
  410. package/dist/esm/ic-footer.entry.js.map +1 -1
  411. package/dist/esm/ic-hero.entry.js +8 -7
  412. package/dist/esm/ic-hero.entry.js.map +1 -1
  413. package/dist/esm/ic-input-component-container_3.entry.js +83 -28
  414. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  415. package/dist/esm/ic-input-label_2.entry.js +2 -1
  416. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  417. package/dist/esm/ic-link.entry.js +9 -8
  418. package/dist/esm/ic-link.entry.js.map +1 -1
  419. package/dist/esm/ic-navigation-button.entry.js +8 -7
  420. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  421. package/dist/esm/ic-navigation-group.entry.js +2 -1
  422. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  423. package/dist/esm/ic-navigation-item.entry.js +3 -2
  424. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  425. package/dist/esm/ic-navigation-menu.entry.js +3 -2
  426. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  427. package/dist/esm/ic-page-header.entry.js +6 -5
  428. package/dist/esm/ic-page-header.entry.js.map +1 -1
  429. package/dist/esm/ic-radio-group.entry.js +3 -2
  430. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  431. package/dist/esm/ic-radio-option.entry.js +3 -2
  432. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  433. package/dist/esm/ic-search-bar.entry.js +12 -15
  434. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  435. package/dist/esm/ic-select.entry.js +218 -24
  436. package/dist/esm/ic-select.entry.js.map +1 -1
  437. package/dist/esm/ic-side-navigation.entry.js +3 -2
  438. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  439. package/dist/esm/ic-skeleton.entry.js +10 -10
  440. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  441. package/dist/esm/ic-status-tag.entry.js +9 -8
  442. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  443. package/dist/esm/ic-step.entry.js +2 -1
  444. package/dist/esm/ic-step.entry.js.map +1 -1
  445. package/dist/esm/ic-stepper.entry.js +2 -1
  446. package/dist/esm/ic-stepper.entry.js.map +1 -1
  447. package/dist/esm/ic-switch.entry.js +8 -7
  448. package/dist/esm/ic-switch.entry.js.map +1 -1
  449. package/dist/esm/ic-tab-context.entry.js +12 -11
  450. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  451. package/dist/esm/ic-tab-group.entry.js +142 -0
  452. package/dist/esm/ic-tab-group.entry.js.map +1 -0
  453. package/dist/esm/ic-tab-panel.entry.js +2 -1
  454. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  455. package/dist/esm/ic-tab.entry.js +5 -4
  456. package/dist/esm/ic-tab.entry.js.map +1 -1
  457. package/dist/esm/ic-text-field.entry.js +5 -5
  458. package/dist/esm/ic-text-field.entry.js.map +1 -1
  459. package/dist/esm/ic-theme.entry.js +2 -1
  460. package/dist/esm/ic-theme.entry.js.map +1 -1
  461. package/dist/esm/ic-top-navigation.entry.js +6 -5
  462. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  463. package/dist/esm/ic-typography.entry.js +4 -4
  464. package/dist/esm/ic-typography.entry.js.map +1 -1
  465. package/dist/esm/index-1500de1f.js +4 -4
  466. package/dist/esm/loader.js +1 -1
  467. package/dist/esm/types-dd515332.js +16 -0
  468. package/dist/esm/types-dd515332.js.map +1 -0
  469. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.d.ts +2 -0
  470. package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.d.ts} +2 -2
  471. package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
  472. package/dist/types/components/ic-button/ic-button.d.ts +5 -11
  473. package/dist/types/components/ic-button/ic-button.types.d.ts +1 -2
  474. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +2 -2
  475. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  476. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  477. package/dist/types/components/ic-footer/ic-footer.d.ts +2 -2
  478. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
  479. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +1 -1
  480. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +2 -2
  481. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  482. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -2
  483. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  484. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +6 -5
  485. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +0 -1
  486. package/dist/types/components/ic-menu/ic-menu.d.ts +4 -2
  487. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -0
  488. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  489. package/dist/types/components/ic-page-header/ic-page-header.d.ts +2 -2
  490. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +2 -2
  491. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +2 -6
  492. package/dist/types/components/ic-select/ic-select.d.ts +46 -4
  493. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  494. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
  495. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +3 -3
  496. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +1 -1
  497. package/dist/types/components/ic-switch/ic-switch.d.ts +2 -2
  498. package/dist/types/components/ic-tab/ic-tab.d.ts +3 -2
  499. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -4
  500. package/dist/types/components/{ic-tab-list/ic-tab-list.d.ts → ic-tab-group/ic-tab-group.d.ts} +6 -5
  501. package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -6
  502. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +2 -2
  503. package/dist/types/components/ic-typography/ic-typography.d.ts +2 -2
  504. package/dist/types/components.d.ts +239 -215
  505. package/dist/types/utils/helpers.d.ts +11 -2
  506. package/dist/types/utils/types.d.ts +2 -0
  507. package/hydrate/index.js +558 -277
  508. package/package.json +4 -4
  509. package/dist/cjs/helpers-9d4961dc.js.map +0 -1
  510. package/dist/cjs/ic-tab-list.cjs.entry.js +0 -145
  511. package/dist/cjs/ic-tab-list.cjs.entry.js.map +0 -1
  512. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.js.map +0 -1
  513. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.js.map +0 -1
  514. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.js.map +0 -1
  515. package/dist/collection/components/ic-tab-list/ic-tab-list.js.map +0 -1
  516. package/dist/components/ic-breadcrumbs.js.map +0 -1
  517. package/dist/components/ic-tab-list.js.map +0 -1
  518. package/dist/core/p-012dc33c.entry.js +0 -2
  519. package/dist/core/p-016fcce8.entry.js +0 -2
  520. package/dist/core/p-0d4ac3c9.entry.js +0 -2
  521. package/dist/core/p-13854b65.entry.js +0 -2
  522. package/dist/core/p-13854b65.entry.js.map +0 -1
  523. package/dist/core/p-16a81e12.entry.js +0 -2
  524. package/dist/core/p-16a81e12.entry.js.map +0 -1
  525. package/dist/core/p-17420c90.entry.js +0 -2
  526. package/dist/core/p-17420c90.entry.js.map +0 -1
  527. package/dist/core/p-17f3a2bd.entry.js +0 -2
  528. package/dist/core/p-17f3a2bd.entry.js.map +0 -1
  529. package/dist/core/p-22eb7fc8.entry.js +0 -2
  530. package/dist/core/p-22eb7fc8.entry.js.map +0 -1
  531. package/dist/core/p-263018da.entry.js +0 -2
  532. package/dist/core/p-263018da.entry.js.map +0 -1
  533. package/dist/core/p-3b9d4007.entry.js +0 -2
  534. package/dist/core/p-44355e34.entry.js +0 -2
  535. package/dist/core/p-44af91df.entry.js +0 -2
  536. package/dist/core/p-4b1b46f5.entry.js +0 -2
  537. package/dist/core/p-4b1b46f5.entry.js.map +0 -1
  538. package/dist/core/p-4cf60a22.entry.js +0 -2
  539. package/dist/core/p-4cf60a22.entry.js.map +0 -1
  540. package/dist/core/p-4fba6cae.entry.js +0 -2
  541. package/dist/core/p-4fba6cae.entry.js.map +0 -1
  542. package/dist/core/p-5d3dd182.entry.js +0 -2
  543. package/dist/core/p-5e0b88fa.entry.js +0 -2
  544. package/dist/core/p-6238313f.entry.js +0 -2
  545. package/dist/core/p-6238313f.entry.js.map +0 -1
  546. package/dist/core/p-7152788d.entry.js +0 -2
  547. package/dist/core/p-7ed79493.entry.js +0 -2
  548. package/dist/core/p-7ed79493.entry.js.map +0 -1
  549. package/dist/core/p-7f6ba60a.entry.js +0 -2
  550. package/dist/core/p-836c93b1.entry.js +0 -2
  551. package/dist/core/p-85436343.entry.js +0 -2
  552. package/dist/core/p-856d9516.entry.js +0 -2
  553. package/dist/core/p-856d9516.entry.js.map +0 -1
  554. package/dist/core/p-85a32ec7.entry.js +0 -2
  555. package/dist/core/p-8a677ff1.entry.js +0 -2
  556. package/dist/core/p-8a677ff1.entry.js.map +0 -1
  557. package/dist/core/p-8af2a343.entry.js +0 -2
  558. package/dist/core/p-a3df537f.entry.js +0 -2
  559. package/dist/core/p-a3df537f.entry.js.map +0 -1
  560. package/dist/core/p-a968ff18.entry.js +0 -2
  561. package/dist/core/p-b858dc5a.entry.js +0 -2
  562. package/dist/core/p-b858dc5a.entry.js.map +0 -1
  563. package/dist/core/p-b9253509.entry.js.map +0 -1
  564. package/dist/core/p-bbe0b521.entry.js +0 -2
  565. package/dist/core/p-bdd2f166.entry.js +0 -2
  566. package/dist/core/p-bddb885a.entry.js +0 -2
  567. package/dist/core/p-bddb885a.entry.js.map +0 -1
  568. package/dist/core/p-c09e9589.entry.js +0 -2
  569. package/dist/core/p-c09e9589.entry.js.map +0 -1
  570. package/dist/core/p-d10ce0a7.entry.js +0 -2
  571. package/dist/core/p-d10ce0a7.entry.js.map +0 -1
  572. package/dist/core/p-d198ae1f.entry.js +0 -2
  573. package/dist/core/p-dc79694a.entry.js +0 -2
  574. package/dist/core/p-dc79694a.entry.js.map +0 -1
  575. package/dist/core/p-e5a09372.js +0 -2
  576. package/dist/core/p-e5a09372.js.map +0 -1
  577. package/dist/core/p-ea93611e.entry.js +0 -2
  578. package/dist/core/p-ea93611e.entry.js.map +0 -1
  579. package/dist/core/p-ed1d8712.entry.js +0 -2
  580. package/dist/esm/helpers-db00eae1.js.map +0 -1
  581. package/dist/esm/ic-breadcrumbs.entry.js.map +0 -1
  582. package/dist/esm/ic-tab-list.entry.js +0 -141
  583. package/dist/esm/ic-tab-list.entry.js.map +0 -1
  584. package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ic-status-tag.js","sourceRoot":"","sources":["../../../src/components/ic-status-tag/ic-status-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAWvE,MAAM,OAAO,SAAS;;;kBAQmB,SAAS;mBAIR,SAAS;iBAIvB,KAAK;;EAE/B,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,YAAY,CACb,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/C,OAAO,CACL,EAAC,IAAI,IAAC,IAAI,EAAC,QAAQ;MACjB,cACE,KAAK,EAAE;UACL,CAAC,KAAK,CAAC,EAAE,IAAI;UACb,CAAC,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI;UAC9B,CAAC,OAAO,CAAC,EAAE,KAAK;SACjB;QAED,qBAAe,OAAO,EAAC,iBAAiB,EAAC,OAAO,EAAE,KAAK;UACrD,gBAAO,KAAK,CAAQ,CACN,CACT,CACJ,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcStatusTagStatuses,\n IcStatusTagVariants,\n} from \"./ic-status-tag.types\";\n\n@Component({\n tag: \"ic-status-tag\",\n styleUrl: \"ic-status-tag.css\",\n shadow: true,\n})\nexport class StatusTag {\n /**\n * The content rendered within the status tag.\n */\n @Prop() label!: string;\n /**\n * The colour of the status tag.\n */\n @Prop() status?: IcStatusTagStatuses = \"neutral\";\n /**\n * The emphasis of the status tag.\n */\n @Prop() variant?: IcStatusTagVariants = \"primary\";\n /**\n * The size of the status tag.\n */\n @Prop() dense?: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Status Tag\"\n );\n }\n\n render() {\n const { label, status, variant, dense } = this;\n return (\n <Host role=\"status\">\n <strong\n class={{\n [\"tag\"]: true,\n [`${variant}-${status}`]: true,\n [\"dense\"]: dense,\n }}\n >\n <ic-typography variant=\"label-uppercase\" spacing={false}>\n <span>{label}</span>\n </ic-typography>\n </strong>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-status-tag.js","sourceRoot":"","sources":["../../../src/components/ic-status-tag/ic-status-tag.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAWvE,MAAM,OAAO,SAAS;;;kBAQmB,SAAS;sBAIH,QAAQ;iBAI3B,KAAK;;EAE/B,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,YAAY,CACb,CAAC;EACJ,CAAC;EAED,MAAM;IACJ,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAClD,OAAO,CACL,EAAC,IAAI,IAAC,IAAI,EAAC,QAAQ;MACjB,cACE,KAAK,EAAE;UACL,CAAC,KAAK,CAAC,EAAE,IAAI;UACb,CAAC,GAAG,UAAU,IAAI,MAAM,EAAE,CAAC,EAAE,IAAI;UACjC,CAAC,OAAO,CAAC,EAAE,KAAK;SACjB;QAED,qBACE,OAAO,EAAC,iBAAiB,4BACD,KAAK;UAE7B,gBAAO,KAAK,CAAQ,CACN,CACT,CACJ,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcStatusTagStatuses,\n IcStatusTagAppearance,\n} from \"./ic-status-tag.types\";\n\n@Component({\n tag: \"ic-status-tag\",\n styleUrl: \"ic-status-tag.css\",\n shadow: true,\n})\nexport class StatusTag {\n /**\n * The content rendered within the status tag.\n */\n @Prop() label!: string;\n /**\n * The colour of the status tag.\n */\n @Prop() status?: IcStatusTagStatuses = \"neutral\";\n /**\n * The emphasis of the status tag.\n */\n @Prop() appearance?: IcStatusTagAppearance = \"filled\";\n /**\n * The size of the status tag.\n */\n @Prop() small?: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Status Tag\"\n );\n }\n\n render() {\n const { label, status, appearance, small } = this;\n return (\n <Host role=\"status\">\n <strong\n class={{\n [\"tag\"]: true,\n [`${appearance}-${status}`]: true,\n [\"small\"]: small,\n }}\n >\n <ic-typography\n variant=\"label-uppercase\"\n apply-vertical-margins={false}\n >\n <span>{label}</span>\n </ic-typography>\n </strong>\n </Host>\n );\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ic-status-tag.types.js","sourceRoot":"","sources":["../../../src/components/ic-status-tag/ic-status-tag.types.ts"],"names":[],"mappings":"","sourcesContent":["export type IcStatusTagStatuses = \"neutral\" | \"success\" | \"warning\" | \"danger\";\n\nexport type IcStatusTagVariants = \"primary\" | \"secondary\";\n"]}
1
+ {"version":3,"file":"ic-status-tag.types.js","sourceRoot":"","sources":["../../../src/components/ic-status-tag/ic-status-tag.types.ts"],"names":[],"mappings":"","sourcesContent":["export type IcStatusTagStatuses = \"neutral\" | \"success\" | \"warning\" | \"danger\";\n\nexport type IcStatusTagAppearance = \"filled\" | \"outlined\";\n"]}
@@ -465,7 +465,7 @@ input {
465
465
  margin-bottom: var(--ic-space-sm);
466
466
  }
467
467
 
468
- .ic-switch-label-dense {
468
+ .ic-switch-label-small {
469
469
  margin-bottom: 10px;
470
470
  }
471
471
 
@@ -598,26 +598,26 @@ input {
598
598
  background-color: var(--ic-architectural-white);
599
599
  }
600
600
 
601
- .ic-switch-dense {
601
+ .ic-switch-small {
602
602
  gap: var(--ic-space-xxxs);
603
603
  }
604
604
 
605
- .ic-switch-dense .ic-switch-checked-status {
605
+ .ic-switch-small .ic-switch-checked-status {
606
606
  padding-left: 6px;
607
607
  }
608
608
 
609
- .ic-switch-dense .ic-switch-toggle {
609
+ .ic-switch-small .ic-switch-toggle {
610
610
  width: var(--ic-space-xxl);
611
611
  height: var(--ic-space-lg);
612
612
  }
613
613
 
614
- .ic-switch-dense .ic-switch-toggle::before {
614
+ .ic-switch-small .ic-switch-toggle::before {
615
615
  width: var(--ic-space-md);
616
616
  height: var(--ic-space-md);
617
617
  left: var(--ic-space-xxs);
618
618
  }
619
619
 
620
- .ic-switch-dense .ic-switch-input:checked + .ic-switch-toggle::before {
620
+ .ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {
621
621
  transform: translate(var(--ic-space-lg), -50%);
622
622
  }
623
623
 
@@ -24,7 +24,7 @@ export class Switch {
24
24
  this.hideLabel = false;
25
25
  this.helperText = "";
26
26
  this.checked = null;
27
- this.dense = false;
27
+ this.small = false;
28
28
  this.disabled = false;
29
29
  this.name = this.inputId;
30
30
  this.showState = false;
@@ -35,18 +35,18 @@ export class Switch {
35
35
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Switch");
36
36
  }
37
37
  render() {
38
- const { label, checked, checkedState, dense, disabled, name, showState, value, hideLabel, helperText, inputId, } = this;
38
+ const { label, checked, checkedState, small, disabled, name, showState, value, hideLabel, helperText, inputId, } = this;
39
39
  const internalChecked = checked == null ? checkedState : checked;
40
40
  renderHiddenInput(true, this.el, name, internalChecked ? value : "", disabled);
41
41
  const describedBy = getInputDescribedByText(inputId, helperText !== "", false);
42
42
  return (h(Host, null, h("label", { class: {
43
43
  ["ic-switch-container"]: true,
44
44
  ["ic-switch-disabled"]: disabled,
45
- ["ic-switch-dense"]: dense,
45
+ ["ic-switch-small"]: small,
46
46
  }, htmlFor: inputId }, !hideLabel && (h("ic-input-label", { for: inputId, label: label, helperText: helperText, readonly: true, disabled: disabled, class: {
47
47
  ["ic-switch-label"]: true,
48
- ["ic-switch-label-dense"]: dense,
49
- } })), !hideLabel && h("span", { class: "ic-switch-line-break" }), h("input", { checked: internalChecked, disabled: disabled, "aria-label": label, "aria-checked": internalChecked ? "true" : "false", "aria-describedby": describedBy, role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { class: "ic-switch-toggle" }, h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { class: "ic-switch-icon-line", x1: "9", y1: dense ? "2" : "1", x2: "9", y2: dense ? "8" : "9" })), h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: dense ? "3.335" : "4.445" }))), h("slot", { name: "right-adornment" }), showState && (h("ic-typography", { "aria-hidden": "true", variant: "label", class: "ic-switch-checked-status" }, internalChecked ? "On" : "Off")))));
48
+ ["ic-switch-label-small"]: small,
49
+ } })), !hideLabel && h("span", { class: "ic-switch-line-break" }), h("input", { checked: internalChecked, disabled: disabled, "aria-label": label, "aria-checked": internalChecked ? "true" : "false", "aria-describedby": describedBy, role: "switch", class: "ic-switch-input", type: "checkbox", name: "toggle", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h("span", { class: "ic-switch-toggle" }, h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("line", { class: "ic-switch-icon-line", x1: "9", y1: small ? "2" : "1", x2: "9", y2: small ? "8" : "9" })), h("svg", { class: "ic-switch-icon", "aria-hidden": "true", focusable: "false", viewBox: "0 0 10 10", xmlns: "http://www.w3.org/2000/svg" }, h("circle", { class: "ic-switch-icon-circle", fill: "none", cx: "5", cy: "5", r: small ? "3.335" : "4.445" }))), h("slot", { name: "right-adornment" }), showState && (h("ic-typography", { "aria-hidden": "true", variant: "label", class: "ic-switch-checked-status" }, internalChecked ? "On" : "Off")))));
50
50
  }
51
51
  static get is() { return "ic-switch"; }
52
52
  static get encapsulation() { return "shadow"; }
@@ -133,7 +133,7 @@ export class Switch {
133
133
  "reflect": false,
134
134
  "defaultValue": "null"
135
135
  },
136
- "dense": {
136
+ "small": {
137
137
  "type": "boolean",
138
138
  "mutable": false,
139
139
  "complexType": {
@@ -145,9 +145,9 @@ export class Switch {
145
145
  "optional": true,
146
146
  "docs": {
147
147
  "tags": [],
148
- "text": "If true, the component reduces in size to the dense state."
148
+ "text": "If true, the component reduces in size to the small state."
149
149
  },
150
- "attribute": "dense",
150
+ "attribute": "small",
151
151
  "reflect": false,
152
152
  "defaultValue": "false"
153
153
  },
@@ -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} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: true,\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * Applies an aria-label to the component, for when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If true, the component is checked, if null the components state will be uncontrolled.\n */\n @Prop() checked?: boolean | null = null;\n /**\n * If true, the component reduces in size to the dense state.\n */\n @Prop() dense?: boolean = false;\n /**\n * If true, the component is not interactive.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If true, the component will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n\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 componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n render() {\n const {\n label,\n checked,\n checkedState,\n dense,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n const internalChecked = checked == null ? checkedState : checked;\n\n renderHiddenInput(\n true,\n this.el,\n name,\n internalChecked ? value : \"\",\n disabled\n );\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-dense\"]: dense,\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-dense\"]: dense,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={internalChecked}\n disabled={disabled}\n aria-label={label}\n aria-checked={internalChecked ? \"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={dense ? \"2\" : \"1\"}\n x2=\"9\"\n y2={dense ? \"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={dense ? \"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 {internalChecked ? \"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} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: true,\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n /**\n * Applies an aria-label to the component, for when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n /**\n * If true, the component is checked, if null the components state will be uncontrolled.\n */\n @Prop() checked?: boolean | null = null;\n /**\n * If true, the component reduces in size to the small state.\n */\n @Prop() small?: boolean = false;\n /**\n * If true, the component is not interactive.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n /**\n * If true, the component will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @State() checkedState: boolean = false;\n\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 componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n render() {\n const {\n label,\n checked,\n checkedState,\n small,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n const internalChecked = checked == null ? checkedState : checked;\n\n renderHiddenInput(\n true,\n this.el,\n name,\n internalChecked ? value : \"\",\n disabled\n );\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small,\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small,\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={internalChecked}\n disabled={disabled}\n aria-label={label}\n aria-checked={internalChecked ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {internalChecked ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { Host, h, } from "@stencil/core";
2
2
  import { onComponentRequiredPropUndefined } from "../../utils/helpers";
3
+ import { IcThemeForegroundEnum, } from "../../utils/types";
3
4
  /**
4
5
  * @slot icon - Content will be rendered next to the tab label.
5
6
  */
@@ -42,7 +43,7 @@ export class Tab {
42
43
  this.selected = false;
43
44
  this.tabId = undefined;
44
45
  this.tabPosition = undefined;
45
- this.dark = false;
46
+ this.appearance = "light";
46
47
  }
47
48
  componentDidUpdate() {
48
49
  this.isInitialRender = false;
@@ -51,10 +52,10 @@ export class Tab {
51
52
  onComponentRequiredPropUndefined([{ prop: this.tabPosition, propName: "tab-position" }], "Tab");
52
53
  }
53
54
  render() {
54
- const { disabled, selected, dark } = this;
55
+ const { disabled, selected, appearance } = this;
55
56
  return (h(Host, { class: {
56
57
  ["with-transition"]: !this.isInitialRender,
57
- ["ic-tab-dark"]: dark,
58
+ ["ic-tab-dark"]: appearance === IcThemeForegroundEnum.Dark,
58
59
  }, role: "tab", "aria-selected": selected ? "true" : "false", onClick: this.handleClick, onFocus: this.handleFocus, onMouseDown: this.handleMouseDown, "aria-disabled": disabled ? "true" : "false", tabindex: this.selected ? 0 : -1 }, this.host.querySelector('[slot="icon"]') && h("slot", { name: "icon" }), h("ic-typography", { class: "ic-tab-label", variant: "label" }, h("span", null, h("slot", null)))));
59
60
  }
60
61
  static get is() { return "ic-tab"; }
@@ -171,26 +172,31 @@ export class Tab {
171
172
  "attribute": "tab-position",
172
173
  "reflect": false
173
174
  },
174
- "dark": {
175
- "type": "boolean",
175
+ "appearance": {
176
+ "type": "string",
176
177
  "mutable": false,
177
178
  "complexType": {
178
- "original": "boolean",
179
- "resolved": "boolean",
180
- "references": {}
179
+ "original": "IcThemeForegroundNoDefault",
180
+ "resolved": "\"dark\" | \"light\"",
181
+ "references": {
182
+ "IcThemeForegroundNoDefault": {
183
+ "location": "import",
184
+ "path": "../../utils/types"
185
+ }
186
+ }
181
187
  },
182
188
  "required": false,
183
189
  "optional": true,
184
190
  "docs": {
185
191
  "tags": [{
186
192
  "name": "internal",
187
- "text": "Determines whether the dark variant of the tabs should be displayed."
193
+ "text": "Determines whether the light or dark variant of the tabs should be displayed."
188
194
  }],
189
195
  "text": ""
190
196
  },
191
- "attribute": "dark",
197
+ "attribute": "appearance",
192
198
  "reflect": false,
193
- "defaultValue": "false"
199
+ "defaultValue": "\"light\""
194
200
  }
195
201
  };
196
202
  }
@@ -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} from \"@stencil/core\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n @Element() host: HTMLIcTabElement;\n\n /** @internal Provide a unique context 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 * Disables the tab.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal Will display a selected indicator and set tabIndex. */\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 /** @internal Determines whether the dark variant of the tabs should be displayed. */\n @Prop() dark?: boolean = false;\n\n /**\n * Called when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Called when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n private isInitialRender: boolean = true;\n private focusFromClick: boolean = false;\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.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 componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.tabPosition, propName: \"tab-position\" }],\n \"Tab\"\n );\n }\n\n render() {\n const { disabled, selected, dark } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-dark\"]: dark,\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.host.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 </Host>\n );\n }\n}\n"]}
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} from \"@stencil/core\";\n\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n @Element() host: HTMLIcTabElement;\n\n /** @internal Provide a unique context 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 * Disables the tab.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal Will display a selected indicator and set tabIndex. */\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 /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"light\";\n\n /**\n * Called when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Called when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n private isInitialRender: boolean = true;\n private focusFromClick: boolean = false;\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.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 componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.tabPosition, propName: \"tab-position\" }],\n \"Tab\"\n );\n }\n\n render() {\n const { disabled, selected, appearance } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-dark\"]: appearance === IcThemeForegroundEnum.Dark,\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.host.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 </Host>\n );\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { h, } from "@stencil/core";
2
+ import { IcThemeForegroundEnum, } from "../../utils/types";
2
3
  export class TabContext {
3
4
  constructor() {
4
5
  // Sets attributes to link tabs and tabpanels
@@ -16,30 +17,30 @@ export class TabContext {
16
17
  this.tabPanels[index].panelId = shared;
17
18
  this.tabPanels[index].tabPosition = index;
18
19
  this.tabPanels[index].setAttribute("aria-labelledby", tabId);
19
- if (this.dark) {
20
- tab.dark = true;
20
+ if (this.appearance === IcThemeForegroundEnum.Dark) {
21
+ tab.appearance = this.appearance;
21
22
  }
22
23
  });
23
- if (this.dark) {
24
- this.tabList.dark = true;
24
+ if (this.appearance === IcThemeForegroundEnum.Dark) {
25
+ this.tabGroup.appearance = this.appearance;
25
26
  }
26
27
  };
27
28
  // Gets tabs and tabpanels with the same context ID
28
29
  this.getChildren = () => {
29
- this.tabList = Array.from(this.host.querySelectorAll("ic-tab-list")).find((tabList) => tabList.contextId === this.contextId);
30
- this.tabs = Array.from(this.tabList.querySelectorAll("ic-tab")).filter((tab) => tab.contextId === this.contextId);
30
+ this.tabGroup = Array.from(this.host.querySelectorAll("ic-tab-group")).find((tabGroup) => tabGroup.contextId === this.contextId);
31
+ this.tabs = Array.from(this.tabGroup.querySelectorAll("ic-tab")).filter((tab) => tab.contextId === this.contextId);
31
32
  this.enabledTabs = this.getEnabledTabs();
32
33
  this.tabPanels = Array.from(this.host.querySelectorAll("ic-tab-panel"));
33
34
  };
34
35
  // Determines how keyboard navigation is to be handled based on the activation type
35
36
  this.attatchEventListeners = () => {
36
37
  if (this.activationType === "automatic") {
37
- this.tabList.addEventListener("keydown", (event) => {
38
+ this.tabGroup.addEventListener("keydown", (event) => {
38
39
  this.handleKeyBoardNavAutomatic(event);
39
40
  });
40
41
  }
41
42
  else {
42
- this.tabList.addEventListener("keydown", (event) => {
43
+ this.tabGroup.addEventListener("keydown", (event) => {
43
44
  this.handleKeyBoardNavManual(event);
44
45
  });
45
46
  }
@@ -171,7 +172,7 @@ export class TabContext {
171
172
  this.contextId = "default";
172
173
  this.activationType = "automatic";
173
174
  this.selectedTabIndex = undefined;
174
- this.dark = false;
175
+ this.appearance = "light";
175
176
  this.selectedTab = undefined;
176
177
  }
177
178
  updateSelectedTab(newValue) {
@@ -199,10 +200,10 @@ export class TabContext {
199
200
  }
200
201
  disconnectedCallback() {
201
202
  if (this.activationType === "manual") {
202
- this.tabList.removeEventListener("keydown", (event) => this.handleKeyBoardNavManual(event));
203
+ this.tabGroup.removeEventListener("keydown", (event) => this.handleKeyBoardNavManual(event));
203
204
  }
204
205
  else {
205
- this.tabList.removeEventListener("keydown", (event) => this.handleKeyBoardNavAutomatic(event));
206
+ this.tabGroup.removeEventListener("keydown", (event) => this.handleKeyBoardNavAutomatic(event));
206
207
  }
207
208
  }
208
209
  render() {
@@ -269,23 +270,28 @@ export class TabContext {
269
270
  "attribute": "selected-tab-index",
270
271
  "reflect": false
271
272
  },
272
- "dark": {
273
- "type": "boolean",
273
+ "appearance": {
274
+ "type": "string",
274
275
  "mutable": false,
275
276
  "complexType": {
276
- "original": "boolean",
277
- "resolved": "boolean",
278
- "references": {}
277
+ "original": "IcThemeForegroundNoDefault",
278
+ "resolved": "\"dark\" | \"light\"",
279
+ "references": {
280
+ "IcThemeForegroundNoDefault": {
281
+ "location": "import",
282
+ "path": "../../utils/types"
283
+ }
284
+ }
279
285
  },
280
286
  "required": false,
281
287
  "optional": true,
282
288
  "docs": {
283
289
  "tags": [],
284
- "text": "Determines whether the dark variant of the tabs should be displayed."
290
+ "text": "Determines whether the light or dark variant of the tabs should be displayed."
285
291
  },
286
- "attribute": "dark",
292
+ "attribute": "appearance",
287
293
  "reflect": false,
288
- "defaultValue": "false"
294
+ "defaultValue": "\"light\""
289
295
  }
290
296
  };
291
297
  }
@@ -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} from \"@stencil/core\";\nimport { IcActivationTypes } from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n @Element() host: HTMLIcTabContextElement;\n\n /**\n * Provide a unique context if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * Allows the user to control the selected tab. Must be used alongside the tabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n /**\n * Determines whether the dark variant of the tabs should be displayed.\n */\n @Prop() dark?: boolean = false;\n\n @State() selectedTab: number | null;\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() tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n }\n\n private controlledMode: boolean;\n private tabs: HTMLIcTabElement[];\n private enabledTabs: HTMLIcTabElement[];\n private tabPanels: HTMLIcTabPanelElement[];\n private tabList: HTMLIcTabListElement;\n private focusedTabIndex: number;\n\n // Sets attributes to link tabs and tabpanels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(\"context-id\", this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n\n if (this.dark) {\n tab.dark = true;\n }\n });\n\n if (this.dark) {\n this.tabList.dark = true;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n private getChildren = (): void => {\n this.tabList = Array.from(this.host.querySelectorAll(\"ic-tab-list\")).find(\n (tabList) => tabList.contextId === this.contextId\n );\n this.tabs = Array.from(this.tabList.querySelectorAll(\"ic-tab\")).filter(\n (tab) => tab.contextId === this.contextId\n );\n this.enabledTabs = this.getEnabledTabs();\n this.tabPanels = Array.from(this.host.querySelectorAll(\"ic-tab-panel\"));\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n if (this.activationType === \"automatic\") {\n this.tabList.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavAutomatic(event);\n });\n } else {\n this.tabList.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavManual(event);\n });\n }\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onTabSelect)\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.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n if (this.activationType === \"manual\") {\n this.tabList.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavManual(event)\n );\n } else {\n this.tabList.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavAutomatic(event)\n );\n }\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} from \"@stencil/core\";\nimport {\n IcActivationTypes,\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n @Element() host: HTMLIcTabContextElement;\n\n /**\n * Provide a unique context if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * Allows the user to control the selected tab. Must be used alongside the tabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n /**\n * Determines whether the light or dark variant of the tabs should be displayed.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"light\";\n\n @State() selectedTab: number | null;\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() tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n }\n\n private controlledMode: boolean;\n private tabs: HTMLIcTabElement[];\n private enabledTabs: HTMLIcTabElement[];\n private tabPanels: HTMLIcTabPanelElement[];\n private tabGroup: HTMLIcTabGroupElement;\n private focusedTabIndex: number;\n\n // Sets attributes to link tabs and tabpanels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(\"context-id\", this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n\n if (this.appearance === IcThemeForegroundEnum.Dark) {\n tab.appearance = this.appearance;\n }\n });\n\n if (this.appearance === IcThemeForegroundEnum.Dark) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n private getChildren = (): void => {\n this.tabGroup = Array.from(this.host.querySelectorAll(\"ic-tab-group\")).find(\n (tabGroup) => tabGroup.contextId === this.contextId\n );\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\")).filter(\n (tab) => tab.contextId === this.contextId\n );\n this.enabledTabs = this.getEnabledTabs();\n this.tabPanels = Array.from(this.host.querySelectorAll(\"ic-tab-panel\"));\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n if (this.activationType === \"automatic\") {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavAutomatic(event);\n });\n } else {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavManual(event);\n });\n }\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onTabSelect)\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.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n if (this.activationType === \"manual\") {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavManual(event)\n );\n } else {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavAutomatic(event)\n );\n }\n }\n\n render() {\n return <slot></slot>;\n }\n}\n"]}
@@ -3,11 +3,11 @@ import { axe } from "jest-axe";
3
3
  describe("ic-tab-context", () => {
4
4
  it("passes accessibility", async () => {
5
5
  const el = await fixture(`<ic-tab-context>
6
- <ic-tab-list>
6
+ <ic-tab-group>
7
7
  <ic-tab>One</ic-tab>
8
8
  <ic-tab>Two</ic-tab>
9
9
  <ic-tab>Three</ic-tab>
10
- </ic-tab-list>
10
+ </ic-tab-group>
11
11
  <ic-tab-panel> Tab One </ic-tab-panel>
12
12
  <ic-tab-panel> Tab Two </ic-tab-panel>
13
13
  <ic-tab-panel> Tab Three </ic-tab-panel>
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tab-context.test.a11y.js","sourceRoot":"","sources":["../../../src/components/ic-tab-context/ic-tab-context.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;;;;;;;;;oBAST,CAAC,CAAC;IAElB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\n\ndescribe(\"ic-tab-context\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(`<ic-tab-context>\n <ic-tab-list>\n <ic-tab>One</ic-tab>\n <ic-tab>Two</ic-tab>\n <ic-tab>Three</ic-tab>\n </ic-tab-list>\n <ic-tab-panel> Tab One </ic-tab-panel>\n <ic-tab-panel> Tab Two </ic-tab-panel>\n <ic-tab-panel> Tab Three </ic-tab-panel>\n </ic-tab-context>`);\n\n expect(el.getAttribute(\"context-id\")).toBe(\"default\");\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
1
+ {"version":3,"file":"ic-tab-context.test.a11y.js","sourceRoot":"","sources":["../../../src/components/ic-tab-context/ic-tab-context.test.a11y.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;EAC9B,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;;;;;;;;;oBAST,CAAC,CAAC;IAElB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;EAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { fixture } from \"@open-wc/testing-helpers\";\nimport { axe } from \"jest-axe\";\n\ndescribe(\"ic-tab-context\", () => {\n it(\"passes accessibility\", async () => {\n const el = await fixture(`<ic-tab-context>\n <ic-tab-group>\n <ic-tab>One</ic-tab>\n <ic-tab>Two</ic-tab>\n <ic-tab>Three</ic-tab>\n </ic-tab-group>\n <ic-tab-panel> Tab One </ic-tab-panel>\n <ic-tab-panel> Tab Two </ic-tab-panel>\n <ic-tab-panel> Tab Three </ic-tab-panel>\n </ic-tab-context>`);\n\n expect(el.getAttribute(\"context-id\")).toBe(\"default\");\n expect(await axe(el)).toHaveNoViolations();\n });\n});\n"]}
@@ -43,12 +43,12 @@
43
43
  display: none;
44
44
  }
45
45
 
46
- .ic-tab-list-container {
46
+ .ic-tab-group-container {
47
47
  display: flex;
48
48
  align-items: center;
49
49
  }
50
50
 
51
- :host(.dark.ic-tab-list-not-inline) {
51
+ :host(.dark.ic-tab-group-not-inline) {
52
52
  --border-bottom-color: var(--ic-architectural-white);
53
53
  }
54
54