@ukic/web-components 3.0.0-alpha.1 → 3.0.0-alpha.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (632) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-f1cf5156.js → helpers-69219f14.js} +24 -1
  3. package/dist/cjs/helpers-69219f14.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +17 -16
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  22. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-chip.cjs.entry.js +21 -14
  24. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +447 -165
  42. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-input-label_2.cjs.entry.js +9 -7
  44. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  59. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-popover-menu.cjs.entry.js +27 -21
  64. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-radio-group.cjs.entry.js +20 -10
  66. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-radio-option.cjs.entry.js +27 -22
  68. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -25
  70. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-select.cjs.entry.js +148 -38
  72. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  76. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  80. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  82. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-switch.cjs.entry.js +7 -4
  84. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-tab-context.cjs.entry.js +58 -122
  86. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab.cjs.entry.js +6 -7
  91. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-text-field.cjs.entry.js +3 -3
  93. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  95. package/dist/cjs/ic-toast.cjs.entry.js +3 -3
  96. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  98. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  100. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  102. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  103. package/dist/cjs/loader.cjs.js +1 -1
  104. package/dist/collection/components/ic-accordion/ic-accordion.css +3 -3
  105. package/dist/collection/components/ic-alert/ic-alert.css +19 -12
  106. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  107. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  108. package/dist/collection/components/ic-badge/ic-badge.css +2 -2
  109. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -1
  110. package/dist/collection/components/ic-button/ic-button.css +30 -33
  111. package/dist/collection/components/ic-button/ic-button.js +5 -6
  112. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  113. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +9 -9
  114. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -4
  115. package/dist/collection/components/ic-checkbox/ic-checkbox.js +1 -1
  116. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  117. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +2 -2
  118. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +1 -1
  119. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  120. package/dist/collection/components/ic-chip/ic-chip.css +64 -49
  121. package/dist/collection/components/ic-chip/ic-chip.js +41 -15
  122. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  123. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +16 -0
  124. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  125. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +25 -9
  126. package/dist/collection/components/ic-divider/ic-divider.css +2 -2
  127. package/dist/collection/components/ic-footer/ic-footer.css +3 -3
  128. package/dist/collection/components/ic-footer-link/ic-footer-link.css +4 -4
  129. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +4 -4
  130. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +3 -3
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -9
  132. package/dist/collection/components/ic-input-label/ic-input-label.css +6 -5
  133. package/dist/collection/components/ic-input-label/ic-input-label.js +45 -4
  134. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  135. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +35 -49
  136. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  137. package/dist/collection/components/ic-input-validation/ic-input-validation.css +3 -3
  138. package/dist/collection/components/ic-link/ic-link.css +1 -1
  139. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +15 -10
  140. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +50 -31
  141. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  142. package/dist/collection/components/ic-menu/ic-menu.css +79 -19
  143. package/dist/collection/components/ic-menu/ic-menu.js +485 -192
  144. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  145. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +381 -33
  146. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  147. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -2
  148. package/dist/collection/components/ic-menu-item/ic-menu-item.css +32 -28
  149. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +3 -3
  150. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +8 -8
  151. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  152. package/dist/collection/components/ic-page-header/ic-page-header.css +5 -2
  153. package/dist/collection/components/ic-page-header/ic-page-header.js +3 -3
  154. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  155. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +5 -5
  156. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +5 -5
  157. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +76 -19
  158. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  159. package/dist/collection/components/ic-radio-group/ic-radio-group.css +1 -1
  160. package/dist/collection/components/ic-radio-group/ic-radio-group.js +18 -8
  161. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  162. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +2 -2
  163. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  164. package/dist/collection/components/ic-radio-option/ic-radio-option.css +4 -3
  165. package/dist/collection/components/ic-radio-option/ic-radio-option.js +26 -21
  166. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  167. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -5
  168. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -23
  169. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  170. package/dist/collection/components/ic-select/ic-select.css +45 -25
  171. package/dist/collection/components/ic-select/ic-select.js +192 -44
  172. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  173. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +160 -1
  174. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  175. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +8 -8
  176. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  177. package/dist/collection/components/ic-skeleton/ic-skeleton.js +16 -10
  178. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  179. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -1
  180. package/dist/collection/components/ic-step/ic-step.css +65 -98
  181. package/dist/collection/components/ic-step/ic-step.js +29 -3
  182. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  183. package/dist/collection/components/ic-stepper/ic-stepper.js +37 -19
  184. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  185. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +4 -4
  186. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  187. package/dist/collection/components/ic-switch/ic-switch.css +28 -31
  188. package/dist/collection/components/ic-switch/ic-switch.js +29 -2
  189. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  190. package/dist/collection/components/ic-tab/ic-tab.js +5 -6
  191. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  192. package/dist/collection/components/ic-tab-context/ic-tab-context.js +58 -122
  193. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  194. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
  195. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  196. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +1 -1
  197. package/dist/collection/components/ic-text-field/ic-text-field.css +7 -6
  198. package/dist/collection/components/ic-text-field/ic-text-field.js +1 -1
  199. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  200. package/dist/collection/components/ic-toast/ic-toast.css +9 -4
  201. package/dist/collection/components/ic-toast/ic-toast.js +1 -1
  202. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  203. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +1 -1
  204. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  205. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +8 -8
  206. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  207. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +6 -6
  208. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  209. package/dist/collection/components/ic-typography/ic-typography.css +3 -3
  210. package/dist/collection/components/ic-typography/ic-typography.js +3 -1
  211. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  212. package/dist/collection/utils/helpers.js +20 -0
  213. package/dist/collection/utils/helpers.js.map +1 -1
  214. package/dist/collection/utils/types.js.map +1 -1
  215. package/dist/components/helpers.js +22 -1
  216. package/dist/components/helpers.js.map +1 -1
  217. package/dist/components/ic-accordion.js +1 -1
  218. package/dist/components/ic-accordion.js.map +1 -1
  219. package/dist/components/ic-alert.js +1 -1
  220. package/dist/components/ic-alert.js.map +1 -1
  221. package/dist/components/ic-badge.js +1 -1
  222. package/dist/components/ic-badge.js.map +1 -1
  223. package/dist/components/ic-breadcrumb2.js +1 -1
  224. package/dist/components/ic-breadcrumb2.js.map +1 -1
  225. package/dist/components/ic-button2.js +6 -7
  226. package/dist/components/ic-button2.js.map +1 -1
  227. package/dist/components/ic-card-vertical.js +1 -1
  228. package/dist/components/ic-card-vertical.js.map +1 -1
  229. package/dist/components/ic-checkbox-group.js +2 -2
  230. package/dist/components/ic-checkbox-group.js.map +1 -1
  231. package/dist/components/ic-checkbox.js +2 -2
  232. package/dist/components/ic-checkbox.js.map +1 -1
  233. package/dist/components/ic-chip.js +23 -14
  234. package/dist/components/ic-chip.js.map +1 -1
  235. package/dist/components/ic-classification-banner.js +1 -1
  236. package/dist/components/ic-classification-banner.js.map +1 -1
  237. package/dist/components/ic-divider2.js +1 -1
  238. package/dist/components/ic-divider2.js.map +1 -1
  239. package/dist/components/ic-footer-link-group.js +1 -1
  240. package/dist/components/ic-footer-link-group.js.map +1 -1
  241. package/dist/components/ic-footer-link.js +1 -1
  242. package/dist/components/ic-footer-link.js.map +1 -1
  243. package/dist/components/ic-footer.js +1 -1
  244. package/dist/components/ic-footer.js.map +1 -1
  245. package/dist/components/ic-horizontal-scroll2.js +1 -1
  246. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  247. package/dist/components/ic-input-component-container2.js +1 -1
  248. package/dist/components/ic-input-component-container2.js.map +1 -1
  249. package/dist/components/ic-input-label2.js +10 -6
  250. package/dist/components/ic-input-label2.js.map +1 -1
  251. package/dist/components/ic-input-validation2.js +1 -1
  252. package/dist/components/ic-input-validation2.js.map +1 -1
  253. package/dist/components/ic-link2.js +1 -1
  254. package/dist/components/ic-link2.js.map +1 -1
  255. package/dist/components/ic-loading-indicator2.js +11 -9
  256. package/dist/components/ic-loading-indicator2.js.map +1 -1
  257. package/dist/components/ic-menu-group.js +1 -1
  258. package/dist/components/ic-menu-group.js.map +1 -1
  259. package/dist/components/ic-menu-item2.js +1 -1
  260. package/dist/components/ic-menu-item2.js.map +1 -1
  261. package/dist/components/ic-menu2.js +450 -167
  262. package/dist/components/ic-menu2.js.map +1 -1
  263. package/dist/components/ic-navigation-group.js +2 -2
  264. package/dist/components/ic-navigation-group.js.map +1 -1
  265. package/dist/components/ic-navigation-item.js +2 -2
  266. package/dist/components/ic-navigation-item.js.map +1 -1
  267. package/dist/components/ic-navigation-menu2.js +2 -2
  268. package/dist/components/ic-navigation-menu2.js.map +1 -1
  269. package/dist/components/ic-page-header.js +4 -4
  270. package/dist/components/ic-page-header.js.map +1 -1
  271. package/dist/components/ic-pagination-item2.js +2 -2
  272. package/dist/components/ic-pagination-item2.js.map +1 -1
  273. package/dist/components/ic-popover-menu.js +29 -21
  274. package/dist/components/ic-popover-menu.js.map +1 -1
  275. package/dist/components/ic-radio-group.js +19 -9
  276. package/dist/components/ic-radio-group.js.map +1 -1
  277. package/dist/components/ic-radio-option.js +27 -22
  278. package/dist/components/ic-radio-option.js.map +1 -1
  279. package/dist/components/ic-search-bar.js +12 -25
  280. package/dist/components/ic-search-bar.js.map +1 -1
  281. package/dist/components/ic-select.js +149 -38
  282. package/dist/components/ic-select.js.map +1 -1
  283. package/dist/components/ic-side-navigation.js +2 -2
  284. package/dist/components/ic-side-navigation.js.map +1 -1
  285. package/dist/components/ic-skeleton.js +5 -5
  286. package/dist/components/ic-skeleton.js.map +1 -1
  287. package/dist/components/ic-status-tag.js +1 -1
  288. package/dist/components/ic-status-tag.js.map +1 -1
  289. package/dist/components/ic-step.js +4 -4
  290. package/dist/components/ic-step.js.map +1 -1
  291. package/dist/components/ic-stepper.js +14 -3
  292. package/dist/components/ic-stepper.js.map +1 -1
  293. package/dist/components/ic-switch.js +7 -3
  294. package/dist/components/ic-switch.js.map +1 -1
  295. package/dist/components/ic-tab-context.js +58 -122
  296. package/dist/components/ic-tab-context.js.map +1 -1
  297. package/dist/components/ic-tab-panel.js +1 -1
  298. package/dist/components/ic-tab-panel.js.map +1 -1
  299. package/dist/components/ic-tab.js +5 -6
  300. package/dist/components/ic-tab.js.map +1 -1
  301. package/dist/components/ic-text-field2.js +3 -3
  302. package/dist/components/ic-text-field2.js.map +1 -1
  303. package/dist/components/ic-theme.js +1 -1
  304. package/dist/components/ic-toast.js +3 -3
  305. package/dist/components/ic-toast.js.map +1 -1
  306. package/dist/components/ic-toggle-button.js +1 -1
  307. package/dist/components/ic-toggle-button.js.map +1 -1
  308. package/dist/components/ic-tooltip2.js +1 -1
  309. package/dist/components/ic-tooltip2.js.map +1 -1
  310. package/dist/components/ic-top-navigation.js +2 -2
  311. package/dist/components/ic-top-navigation.js.map +1 -1
  312. package/dist/components/ic-typography2.js +4 -2
  313. package/dist/components/ic-typography2.js.map +1 -1
  314. package/dist/core/core.css +661 -37
  315. package/dist/core/core.esm.js +1 -1
  316. package/dist/core/core.esm.js.map +1 -1
  317. package/dist/core/{p-d2f89cb5.entry.js → p-0395442c.entry.js} +2 -2
  318. package/dist/core/p-0d233b0c.entry.js +2 -0
  319. package/dist/core/p-0d233b0c.entry.js.map +1 -0
  320. package/dist/core/p-134def81.entry.js +2 -0
  321. package/dist/core/p-134def81.entry.js.map +1 -0
  322. package/dist/core/p-14dfd8db.entry.js +2 -0
  323. package/dist/core/p-14dfd8db.entry.js.map +1 -0
  324. package/dist/core/p-1b116dd1.entry.js +2 -0
  325. package/dist/core/p-1b116dd1.entry.js.map +1 -0
  326. package/dist/core/p-21cc87c0.entry.js +2 -0
  327. package/dist/core/p-21cc87c0.entry.js.map +1 -0
  328. package/dist/core/{p-54238d16.entry.js → p-27274ca8.entry.js} +2 -2
  329. package/dist/core/p-27274ca8.entry.js.map +1 -0
  330. package/dist/core/p-2eae9b27.entry.js +2 -0
  331. package/dist/core/p-2eae9b27.entry.js.map +1 -0
  332. package/dist/core/p-3618ac34.entry.js +2 -0
  333. package/dist/core/p-3618ac34.entry.js.map +1 -0
  334. package/dist/core/{p-355acffa.entry.js → p-37dea10d.entry.js} +2 -2
  335. package/dist/core/p-384d454d.entry.js +2 -0
  336. package/dist/core/p-384d454d.entry.js.map +1 -0
  337. package/dist/core/p-3d417eff.entry.js +2 -0
  338. package/dist/core/p-3d417eff.entry.js.map +1 -0
  339. package/dist/core/p-3d9726a3.entry.js +2 -0
  340. package/dist/core/p-3d9726a3.entry.js.map +1 -0
  341. package/dist/core/p-43256b7c.entry.js +2 -0
  342. package/dist/core/p-43256b7c.entry.js.map +1 -0
  343. package/dist/core/{p-46ee459b.entry.js → p-4a3b1f06.entry.js} +2 -2
  344. package/dist/core/{p-46ee459b.entry.js.map → p-4a3b1f06.entry.js.map} +1 -1
  345. package/dist/core/p-50ead56c.entry.js +2 -0
  346. package/dist/core/p-50ead56c.entry.js.map +1 -0
  347. package/dist/core/{p-5a2630fb.entry.js → p-5cd016e1.entry.js} +2 -2
  348. package/dist/core/{p-5a2630fb.entry.js.map → p-5cd016e1.entry.js.map} +1 -1
  349. package/dist/core/{p-78ce4920.entry.js → p-5ef8e106.entry.js} +2 -2
  350. package/dist/core/{p-78ce4920.entry.js.map → p-5ef8e106.entry.js.map} +1 -1
  351. package/dist/core/{p-c81109da.entry.js → p-690c5e80.entry.js} +2 -2
  352. package/dist/core/p-690c5e80.entry.js.map +1 -0
  353. package/dist/core/{p-43f9a711.entry.js → p-6d3e4bb1.entry.js} +2 -2
  354. package/dist/core/{p-1e802eeb.entry.js → p-726673ee.entry.js} +2 -2
  355. package/dist/core/p-726673ee.entry.js.map +1 -0
  356. package/dist/core/p-72d30c8a.entry.js +2 -0
  357. package/dist/core/p-72d30c8a.entry.js.map +1 -0
  358. package/dist/core/{p-f30f3a3e.entry.js → p-76263187.entry.js} +2 -2
  359. package/dist/core/p-7827b5cb.entry.js +2 -0
  360. package/dist/core/p-7827b5cb.entry.js.map +1 -0
  361. package/dist/core/p-79d0be03.entry.js +2 -0
  362. package/dist/core/p-79d0be03.entry.js.map +1 -0
  363. package/dist/core/{p-bf4c61cb.entry.js → p-7b35de65.entry.js} +2 -2
  364. package/dist/core/{p-bf4c61cb.entry.js.map → p-7b35de65.entry.js.map} +1 -1
  365. package/dist/core/p-7fbf2d3e.entry.js +2 -0
  366. package/dist/core/p-7fbf2d3e.entry.js.map +1 -0
  367. package/dist/core/p-91cf9b2b.entry.js +2 -0
  368. package/dist/core/p-91cf9b2b.entry.js.map +1 -0
  369. package/dist/core/p-922984cb.entry.js +2 -0
  370. package/dist/core/p-922984cb.entry.js.map +1 -0
  371. package/dist/core/{p-e861a2b3.entry.js → p-95f603dd.entry.js} +2 -2
  372. package/dist/core/p-95f603dd.entry.js.map +1 -0
  373. package/dist/core/{p-e4b276b5.entry.js → p-97fb2bdf.entry.js} +2 -2
  374. package/dist/core/p-ac4b7329.entry.js +2 -0
  375. package/dist/core/p-ac4b7329.entry.js.map +1 -0
  376. package/dist/core/p-acbd15ab.entry.js +2 -0
  377. package/dist/core/p-acbd15ab.entry.js.map +1 -0
  378. package/dist/core/{p-e597da0e.entry.js → p-b01ffa55.entry.js} +2 -2
  379. package/dist/core/p-b01ffa55.entry.js.map +1 -0
  380. package/dist/core/p-b17c94b7.entry.js +2 -0
  381. package/dist/core/p-b17c94b7.entry.js.map +1 -0
  382. package/dist/core/p-b78f8b8c.entry.js +2 -0
  383. package/dist/core/p-b78f8b8c.entry.js.map +1 -0
  384. package/dist/core/{p-312cacae.js → p-b7eb8ef9.js} +2 -2
  385. package/dist/core/p-b7eb8ef9.js.map +1 -0
  386. package/dist/core/{p-363d6e88.entry.js → p-b95a72a3.entry.js} +2 -2
  387. package/dist/core/{p-21e5dd29.entry.js → p-b997064c.entry.js} +2 -2
  388. package/dist/core/{p-56d1828c.entry.js → p-ba6ecc15.entry.js} +2 -2
  389. package/dist/core/{p-56d1828c.entry.js.map → p-ba6ecc15.entry.js.map} +1 -1
  390. package/dist/core/p-c0fc3d02.entry.js +2 -0
  391. package/dist/core/p-c0fc3d02.entry.js.map +1 -0
  392. package/dist/core/p-c396bd4d.entry.js +2 -0
  393. package/dist/core/p-c396bd4d.entry.js.map +1 -0
  394. package/dist/core/{p-a3b6a02d.entry.js → p-c9cf932c.entry.js} +2 -2
  395. package/dist/core/{p-a3b6a02d.entry.js.map → p-c9cf932c.entry.js.map} +1 -1
  396. package/dist/core/p-cf7db84a.entry.js +2 -0
  397. package/dist/core/p-cf7db84a.entry.js.map +1 -0
  398. package/dist/core/{p-a765ad17.entry.js → p-dd36bf1b.entry.js} +2 -2
  399. package/dist/core/p-dd36bf1b.entry.js.map +1 -0
  400. package/dist/core/p-e488de54.entry.js +2 -0
  401. package/dist/core/p-e488de54.entry.js.map +1 -0
  402. package/dist/core/p-e4d1839e.entry.js +2 -0
  403. package/dist/core/p-e4d1839e.entry.js.map +1 -0
  404. package/dist/core/p-eb3b4935.entry.js +2 -0
  405. package/dist/core/p-eb3b4935.entry.js.map +1 -0
  406. package/dist/core/{p-60efd7fa.entry.js → p-ebafab37.entry.js} +2 -2
  407. package/dist/core/{p-82375dca.entry.js → p-ee6dd94c.entry.js} +2 -2
  408. package/dist/core/p-f0fc1bf0.entry.js +2 -0
  409. package/dist/core/p-f0fc1bf0.entry.js.map +1 -0
  410. package/dist/core/p-f24984c5.entry.js +2 -0
  411. package/dist/core/p-f24984c5.entry.js.map +1 -0
  412. package/dist/core/{p-d8870804.entry.js → p-f5b2b26d.entry.js} +2 -2
  413. package/dist/core/p-f60dbd0e.entry.js +2 -0
  414. package/dist/core/p-f60dbd0e.entry.js.map +1 -0
  415. package/dist/core/{p-40e9e76a.entry.js → p-f71c00ce.entry.js} +2 -2
  416. package/dist/core/{p-69f3ce5a.entry.js → p-ff4298b1.entry.js} +2 -2
  417. package/dist/core/p-ff4298b1.entry.js.map +1 -0
  418. package/dist/esm/core.js +1 -1
  419. package/dist/esm/{helpers-1c9151ef.js → helpers-e8797e8d.js} +23 -2
  420. package/dist/esm/helpers-e8797e8d.js.map +1 -0
  421. package/dist/esm/ic-accordion-group.entry.js +1 -1
  422. package/dist/esm/ic-accordion.entry.js +2 -2
  423. package/dist/esm/ic-accordion.entry.js.map +1 -1
  424. package/dist/esm/ic-alert.entry.js +2 -2
  425. package/dist/esm/ic-alert.entry.js.map +1 -1
  426. package/dist/esm/ic-back-to-top.entry.js +1 -1
  427. package/dist/esm/ic-badge.entry.js +2 -2
  428. package/dist/esm/ic-badge.entry.js.map +1 -1
  429. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  430. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  431. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  432. package/dist/esm/ic-button_3.entry.js +17 -16
  433. package/dist/esm/ic-button_3.entry.js.map +1 -1
  434. package/dist/esm/ic-card-vertical.entry.js +2 -2
  435. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  436. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  437. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  438. package/dist/esm/ic-checkbox.entry.js +3 -3
  439. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  440. package/dist/esm/ic-chip.entry.js +22 -15
  441. package/dist/esm/ic-chip.entry.js.map +1 -1
  442. package/dist/esm/ic-classification-banner.entry.js +1 -1
  443. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  444. package/dist/esm/ic-data-row.entry.js +1 -1
  445. package/dist/esm/ic-dialog.entry.js +1 -1
  446. package/dist/esm/ic-divider.entry.js +2 -2
  447. package/dist/esm/ic-divider.entry.js.map +1 -1
  448. package/dist/esm/ic-empty-state.entry.js +1 -1
  449. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  450. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  451. package/dist/esm/ic-footer-link.entry.js +2 -2
  452. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  453. package/dist/esm/ic-footer.entry.js +2 -2
  454. package/dist/esm/ic-footer.entry.js.map +1 -1
  455. package/dist/esm/ic-hero.entry.js +1 -1
  456. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  457. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  458. package/dist/esm/ic-input-component-container_3.entry.js +447 -165
  459. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  460. package/dist/esm/ic-input-label_2.entry.js +9 -7
  461. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  462. package/dist/esm/ic-link.entry.js +2 -2
  463. package/dist/esm/ic-link.entry.js.map +1 -1
  464. package/dist/esm/ic-menu-group.entry.js +2 -2
  465. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  466. package/dist/esm/ic-menu-item.entry.js +2 -2
  467. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  468. package/dist/esm/ic-navigation-button.entry.js +1 -1
  469. package/dist/esm/ic-navigation-group.entry.js +2 -2
  470. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  471. package/dist/esm/ic-navigation-item.entry.js +2 -2
  472. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  473. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  474. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  475. package/dist/esm/ic-page-header.entry.js +5 -5
  476. package/dist/esm/ic-page-header.entry.js.map +1 -1
  477. package/dist/esm/ic-pagination-item.entry.js +2 -2
  478. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  479. package/dist/esm/ic-pagination.entry.js +1 -1
  480. package/dist/esm/ic-popover-menu.entry.js +27 -21
  481. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  482. package/dist/esm/ic-radio-group.entry.js +20 -10
  483. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  484. package/dist/esm/ic-radio-option.entry.js +27 -22
  485. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  486. package/dist/esm/ic-search-bar.entry.js +12 -25
  487. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  488. package/dist/esm/ic-select.entry.js +148 -38
  489. package/dist/esm/ic-select.entry.js.map +1 -1
  490. package/dist/esm/ic-side-navigation.entry.js +2 -2
  491. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  492. package/dist/esm/ic-skeleton.entry.js +4 -4
  493. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  494. package/dist/esm/ic-status-tag.entry.js +2 -2
  495. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  496. package/dist/esm/ic-step.entry.js +4 -5
  497. package/dist/esm/ic-step.entry.js.map +1 -1
  498. package/dist/esm/ic-stepper.entry.js +12 -2
  499. package/dist/esm/ic-stepper.entry.js.map +1 -1
  500. package/dist/esm/ic-switch.entry.js +7 -4
  501. package/dist/esm/ic-switch.entry.js.map +1 -1
  502. package/dist/esm/ic-tab-context.entry.js +58 -122
  503. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  504. package/dist/esm/ic-tab-group.entry.js +1 -1
  505. package/dist/esm/ic-tab-panel.entry.js +2 -2
  506. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  507. package/dist/esm/ic-tab.entry.js +6 -7
  508. package/dist/esm/ic-tab.entry.js.map +1 -1
  509. package/dist/esm/ic-text-field.entry.js +3 -3
  510. package/dist/esm/ic-text-field.entry.js.map +1 -1
  511. package/dist/esm/ic-theme.entry.js +1 -1
  512. package/dist/esm/ic-toast.entry.js +3 -3
  513. package/dist/esm/ic-toast.entry.js.map +1 -1
  514. package/dist/esm/ic-toggle-button.entry.js +2 -2
  515. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  516. package/dist/esm/ic-top-navigation.entry.js +2 -2
  517. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  518. package/dist/esm/ic-typography.entry.js +5 -3
  519. package/dist/esm/ic-typography.entry.js.map +1 -1
  520. package/dist/esm/loader.js +1 -1
  521. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  522. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -2
  523. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -0
  524. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +9 -5
  525. package/dist/types/components/ic-menu/ic-menu.d.ts +43 -15
  526. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +7 -2
  527. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +3 -2
  528. package/dist/types/components/ic-select/ic-select.d.ts +24 -10
  529. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  530. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  531. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  532. package/dist/types/components/ic-switch/ic-switch.d.ts +5 -1
  533. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -6
  534. package/dist/types/components.d.ts +113 -46
  535. package/dist/types/utils/helpers.d.ts +7 -0
  536. package/dist/types/utils/types.d.ts +1 -1
  537. package/hydrate/index.js +886 -494
  538. package/package.json +2 -2
  539. package/vscode-data.json +105 -35
  540. package/dist/cjs/helpers-f1cf5156.js.map +0 -1
  541. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  542. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  543. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  544. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  545. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  546. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  547. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  548. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  549. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  550. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  551. package/dist/core/p-09104e40.entry.js +0 -2
  552. package/dist/core/p-09104e40.entry.js.map +0 -1
  553. package/dist/core/p-0c0b1c74.entry.js +0 -2
  554. package/dist/core/p-0c0b1c74.entry.js.map +0 -1
  555. package/dist/core/p-0c3a0d85.entry.js +0 -2
  556. package/dist/core/p-0c3a0d85.entry.js.map +0 -1
  557. package/dist/core/p-1083a708.entry.js +0 -2
  558. package/dist/core/p-1083a708.entry.js.map +0 -1
  559. package/dist/core/p-130dd440.entry.js +0 -2
  560. package/dist/core/p-130dd440.entry.js.map +0 -1
  561. package/dist/core/p-1e802eeb.entry.js.map +0 -1
  562. package/dist/core/p-21312898.entry.js +0 -2
  563. package/dist/core/p-21312898.entry.js.map +0 -1
  564. package/dist/core/p-2ab86057.entry.js +0 -2
  565. package/dist/core/p-2ab86057.entry.js.map +0 -1
  566. package/dist/core/p-312cacae.js.map +0 -1
  567. package/dist/core/p-35b8b480.entry.js +0 -2
  568. package/dist/core/p-35b8b480.entry.js.map +0 -1
  569. package/dist/core/p-54238d16.entry.js.map +0 -1
  570. package/dist/core/p-550d7356.entry.js +0 -2
  571. package/dist/core/p-550d7356.entry.js.map +0 -1
  572. package/dist/core/p-5a52614c.entry.js +0 -2
  573. package/dist/core/p-5a52614c.entry.js.map +0 -1
  574. package/dist/core/p-69f3ce5a.entry.js.map +0 -1
  575. package/dist/core/p-79d2a33b.entry.js +0 -2
  576. package/dist/core/p-79d2a33b.entry.js.map +0 -1
  577. package/dist/core/p-80237a20.entry.js +0 -2
  578. package/dist/core/p-80237a20.entry.js.map +0 -1
  579. package/dist/core/p-804513ad.entry.js +0 -2
  580. package/dist/core/p-804513ad.entry.js.map +0 -1
  581. package/dist/core/p-8e1e25a7.entry.js +0 -2
  582. package/dist/core/p-8e1e25a7.entry.js.map +0 -1
  583. package/dist/core/p-a1a1000d.entry.js +0 -2
  584. package/dist/core/p-a1a1000d.entry.js.map +0 -1
  585. package/dist/core/p-a1b1a0ab.entry.js +0 -2
  586. package/dist/core/p-a1b1a0ab.entry.js.map +0 -1
  587. package/dist/core/p-a37bcdbe.entry.js +0 -2
  588. package/dist/core/p-a37bcdbe.entry.js.map +0 -1
  589. package/dist/core/p-a765ad17.entry.js.map +0 -1
  590. package/dist/core/p-aa2be24c.entry.js +0 -2
  591. package/dist/core/p-aa2be24c.entry.js.map +0 -1
  592. package/dist/core/p-b12a5283.entry.js +0 -2
  593. package/dist/core/p-b12a5283.entry.js.map +0 -1
  594. package/dist/core/p-b1b05979.entry.js +0 -2
  595. package/dist/core/p-b1b05979.entry.js.map +0 -1
  596. package/dist/core/p-c6795377.entry.js +0 -2
  597. package/dist/core/p-c6795377.entry.js.map +0 -1
  598. package/dist/core/p-c81109da.entry.js.map +0 -1
  599. package/dist/core/p-cb4d104e.entry.js +0 -2
  600. package/dist/core/p-cb4d104e.entry.js.map +0 -1
  601. package/dist/core/p-d43d1ec0.entry.js +0 -2
  602. package/dist/core/p-d43d1ec0.entry.js.map +0 -1
  603. package/dist/core/p-d5829a35.entry.js +0 -2
  604. package/dist/core/p-d5829a35.entry.js.map +0 -1
  605. package/dist/core/p-ddb8d280.entry.js +0 -2
  606. package/dist/core/p-ddb8d280.entry.js.map +0 -1
  607. package/dist/core/p-e0e34fa7.entry.js +0 -2
  608. package/dist/core/p-e0e34fa7.entry.js.map +0 -1
  609. package/dist/core/p-e597da0e.entry.js.map +0 -1
  610. package/dist/core/p-e861a2b3.entry.js.map +0 -1
  611. package/dist/core/p-ea277b05.entry.js +0 -2
  612. package/dist/core/p-ea277b05.entry.js.map +0 -1
  613. package/dist/core/p-ef871b8f.entry.js +0 -2
  614. package/dist/core/p-ef871b8f.entry.js.map +0 -1
  615. package/dist/core/p-f229d19e.entry.js +0 -2
  616. package/dist/core/p-f229d19e.entry.js.map +0 -1
  617. package/dist/core/p-fa587e6d.entry.js +0 -2
  618. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  619. package/dist/core/p-fb6ac08d.entry.js +0 -2
  620. package/dist/core/p-fb6ac08d.entry.js.map +0 -1
  621. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  622. /package/dist/core/{p-d2f89cb5.entry.js.map → p-0395442c.entry.js.map} +0 -0
  623. /package/dist/core/{p-355acffa.entry.js.map → p-37dea10d.entry.js.map} +0 -0
  624. /package/dist/core/{p-43f9a711.entry.js.map → p-6d3e4bb1.entry.js.map} +0 -0
  625. /package/dist/core/{p-f30f3a3e.entry.js.map → p-76263187.entry.js.map} +0 -0
  626. /package/dist/core/{p-e4b276b5.entry.js.map → p-97fb2bdf.entry.js.map} +0 -0
  627. /package/dist/core/{p-363d6e88.entry.js.map → p-b95a72a3.entry.js.map} +0 -0
  628. /package/dist/core/{p-21e5dd29.entry.js.map → p-b997064c.entry.js.map} +0 -0
  629. /package/dist/core/{p-60efd7fa.entry.js.map → p-ebafab37.entry.js.map} +0 -0
  630. /package/dist/core/{p-82375dca.entry.js.map → p-ee6dd94c.entry.js.map} +0 -0
  631. /package/dist/core/{p-d8870804.entry.js.map → p-f5b2b26d.entry.js.map} +0 -0
  632. /package/dist/core/{p-40e9e76a.entry.js.map → p-f71c00ce.entry.js.map} +0 -0
@@ -4,37 +4,35 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
6
 
7
+ const CONTEXT_ID_ATTR = "context-id";
7
8
  const TabContext = class {
8
9
  constructor(hostRef) {
9
10
  index.registerInstance(this, hostRef);
10
11
  this.icTabSelect = index.createEvent(this, "icTabSelect", 3);
11
12
  this.newTabPanels = [];
12
13
  this.newTabs = [];
13
- // Sets attributes to link tab-group, tabs and tab-panels
14
+ /** Sets attributes to link tab-group, tabs and tab-panels */
14
15
  this.linkTabs = () => {
15
16
  this.tabs.forEach((tab, index) => {
16
17
  const tabId = `ic-tab-${index}-context-${this.contextId}`;
17
18
  const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;
18
- const shared = `ic-tab--${index}-context-${this.contextId}`;
19
- const contextIdAttr = "context-id";
20
19
  tab.setAttribute("id", tabId);
21
- tab.tabId = shared;
20
+ tab.tabId = `ic-tab--${index}-context-${this.contextId}`;
22
21
  tab.tabPosition = index;
23
22
  tab.setAttribute("aria-controls", tabPanelId);
24
- tab.setAttribute(contextIdAttr, this.contextId);
25
- this.tabGroup.setAttribute(contextIdAttr, this.contextId);
23
+ tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);
24
+ this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);
26
25
  this.tabPanels[index].setAttribute("id", tabPanelId);
27
- this.tabPanels[index].panelId = shared;
28
- this.tabPanels[index].tabPosition = index;
29
26
  this.tabPanels[index].setAttribute("aria-labelledby", tabId);
30
- this.tabPanels[index].setAttribute(contextIdAttr, this.contextId);
27
+ this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);
31
28
  tab.theme = this.theme;
32
29
  this.tabPanels[index].theme = this.theme;
33
30
  this.tabGroup.theme = this.theme;
34
31
  });
35
32
  };
36
- // Gets tabs and tabpanels with the same context ID
37
- // Using querySelector to selector the children in relation to the host
33
+ /**
34
+ * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host
35
+ */
38
36
  this.getChildren = () => {
39
37
  this.tabGroup = this.el.querySelector("ic-tab-group");
40
38
  this.tabs = Array.from(this.tabGroup.querySelectorAll("ic-tab"));
@@ -42,28 +40,42 @@ const TabContext = class {
42
40
  this.enabledTabs = this.getEnabledTabs();
43
41
  };
44
42
  this.keydownHandler = (event) => {
45
- if (this.activationType === "automatic") {
46
- this.handleKeyBoardNavAutomatic(event);
47
- }
48
- else {
49
- this.handleKeyBoardNavManual(event);
50
- }
51
- };
52
- // Determines how keyboard navigation is to be handled based on the activation type
53
- this.attachEventListeners = () => {
54
- this.tabGroup.addEventListener("keydown", this.keydownHandler);
55
- };
56
- // Determines whether the selected tab is being controlled within the component
57
- // or by the user (via selectedTabIndex and onIcTabSelect)
58
- this.setControlledMode = () => {
59
- if (this.selectedTabIndex !== undefined) {
60
- this.controlledMode = true;
61
- this.selectedTab = this.selectedTabIndex;
43
+ const isManual = this.activationType === "manual";
44
+ const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===
45
+ this.tabs[isManual ? this.focusedTabIndex : this.selectedTab].tabId);
46
+ const keyboardFunction = isManual
47
+ ? this.keyboardFocusTab
48
+ : this.keyboardSelectTab;
49
+ let preventDefault = true;
50
+ switch (event.key) {
51
+ case "Home":
52
+ keyboardFunction(0);
53
+ break;
54
+ case "End":
55
+ keyboardFunction(this.enabledTabs.length - 1);
56
+ break;
57
+ case "ArrowRight":
58
+ keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1
59
+ ? enabledTabIndex + 1
60
+ : 0);
61
+ break;
62
+ case "ArrowLeft":
63
+ keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);
64
+ break;
65
+ default:
66
+ if (isManual && (event.key === "Enter" || event.key === " ")) {
67
+ this.keyboardSelectTab(this.focusedTabIndex);
68
+ }
69
+ else {
70
+ preventDefault = false;
71
+ }
62
72
  }
73
+ if (preventDefault)
74
+ event.preventDefault();
63
75
  };
64
- // Sets the tab that is selected on initial render
76
+ /** Sets the tab that is selected on initial render */
65
77
  this.setInitialTab = () => {
66
- if (this.controlledMode) {
78
+ if (this.selectedTabIndex !== undefined) {
67
79
  this.selectedTab = this.selectedTabIndex;
68
80
  this.focusedTabIndex = this.selectedTabIndex;
69
81
  }
@@ -73,26 +85,21 @@ const TabContext = class {
73
85
  this.focusedTabIndex = firstEnabledTabIndex;
74
86
  }
75
87
  };
76
- // Passes the selected tab to the tab and tab panel components
88
+ /** Passes the selected tab to the tab and tab panel components */
77
89
  this.configureTabs = () => {
78
90
  this.enabledTabs.forEach((tab) => {
79
91
  tab.selected = tab.tabPosition === this.selectedTab;
80
92
  });
81
- this.tabPanels.forEach((tabPanel) => {
82
- tabPanel.selectedTab = this.tabs[this.selectedTab].tabId;
93
+ this.tabPanels.forEach((tabPanel, index) => {
94
+ tabPanel.hidden = index !== this.selectedTab;
83
95
  });
84
96
  };
85
- this.getEnabledTabs = () => {
86
- return Array.from(this.tabs).filter((child) => !child.disabled);
87
- };
88
- this.getIndexOfEnabledTab = (allTabsIndex) => {
89
- return this.enabledTabs.findIndex((tab) => tab.tabId === this.tabs[allTabsIndex].tabId);
90
- };
91
- // Sets focus on tab and selects it
97
+ this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);
98
+ /** Sets focus on tab and selects it */
92
99
  this.keyboardSelectTab = (enabledTabIndex) => {
93
100
  const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);
94
101
  this.enabledTabs[enabledTabIndex].focus();
95
- if (!this.controlledMode) {
102
+ if (this.selectedTabIndex === undefined) {
96
103
  this.selectedTab = newIndex;
97
104
  }
98
105
  else {
@@ -103,85 +110,11 @@ const TabContext = class {
103
110
  .querySelectorAll("ic-tab")[newIndex].textContent.trim(),
104
111
  });
105
112
  }
106
- /* eslint-enable no-unexpected-multiline */
107
113
  };
108
- // Sets focus on tab without selecting it (for manual activation)
114
+ /** Sets focus on tab without selecting it (for manual activation) */
109
115
  this.keyboardFocusTab = (enabledTabIndex) => {
110
- const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);
111
116
  this.enabledTabs[enabledTabIndex].focus();
112
- this.focusedTabIndex = newIndex;
113
- };
114
- this.handleKeyBoardNavAutomatic = (event) => {
115
- const key = event.key;
116
- const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);
117
- let preventDefault = true;
118
- switch (key) {
119
- case "Home":
120
- this.keyboardSelectTab(0);
121
- break;
122
- case "End":
123
- this.keyboardSelectTab(this.enabledTabs.length - 1);
124
- break;
125
- case "ArrowRight":
126
- if (enabledTabIndex < this.enabledTabs.length - 1) {
127
- this.keyboardSelectTab(enabledTabIndex + 1);
128
- }
129
- else {
130
- this.keyboardSelectTab(0);
131
- }
132
- break;
133
- case "ArrowLeft":
134
- if (enabledTabIndex > 0) {
135
- this.keyboardSelectTab(enabledTabIndex - 1);
136
- }
137
- else {
138
- this.keyboardSelectTab(this.enabledTabs.length - 1);
139
- }
140
- break;
141
- default:
142
- preventDefault = false;
143
- }
144
- if (preventDefault)
145
- event.preventDefault();
146
- };
147
- this.handleKeyBoardNavManual = (event) => {
148
- const key = event.key;
149
- const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);
150
- let preventDefault = true;
151
- switch (key) {
152
- case "Home":
153
- this.keyboardFocusTab(0);
154
- break;
155
- case "End":
156
- this.keyboardFocusTab(this.enabledTabs.length - 1);
157
- break;
158
- case "ArrowRight":
159
- if (enabledTabIndex < this.enabledTabs.length - 1) {
160
- this.keyboardFocusTab(enabledTabIndex + 1);
161
- }
162
- else {
163
- this.keyboardFocusTab(0);
164
- }
165
- break;
166
- case "ArrowLeft":
167
- if (enabledTabIndex > 0) {
168
- this.keyboardFocusTab(enabledTabIndex - 1);
169
- }
170
- else {
171
- this.keyboardFocusTab(this.enabledTabs.length - 1);
172
- }
173
- break;
174
- case "Enter":
175
- this.keyboardSelectTab(this.focusedTabIndex);
176
- break;
177
- case " ":
178
- this.keyboardSelectTab(this.focusedTabIndex);
179
- break;
180
- default:
181
- preventDefault = false;
182
- }
183
- if (preventDefault)
184
- event.preventDefault();
117
+ this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);
185
118
  };
186
119
  this.selectedTab = undefined;
187
120
  this.activationType = "automatic";
@@ -208,10 +141,12 @@ const TabContext = class {
208
141
  this.tabGroup.theme = this.theme;
209
142
  }
210
143
  componentDidLoad() {
211
- this.setControlledMode();
144
+ if (this.selectedTabIndex !== undefined) {
145
+ this.selectedTab = this.selectedTabIndex;
146
+ }
212
147
  this.getChildren();
213
148
  this.linkTabs();
214
- this.attachEventListeners();
149
+ this.tabGroup.addEventListener("keydown", this.keydownHandler);
215
150
  this.setInitialTab();
216
151
  this.configureTabs();
217
152
  }
@@ -243,6 +178,9 @@ const TabContext = class {
243
178
  this.tabPanels.push(...this.newTabPanels);
244
179
  this.enabledTabs = this.getEnabledTabs();
245
180
  this.linkTabs();
181
+ if (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab])
182
+ this.setInitialTab();
183
+ this.configureTabs();
246
184
  this.newTabs = [];
247
185
  this.newTabPanels = [];
248
186
  }
@@ -256,12 +194,10 @@ const TabContext = class {
256
194
  */
257
195
  async tabRemovedHandler(hadFocus) {
258
196
  this.getChildren();
259
- this.enabledTabs = this.getEnabledTabs();
260
197
  this.linkTabs();
261
198
  if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {
262
199
  this.tabs[this.selectedTab].selected = true;
263
- this.tabPanels[this.selectedTab].selectedTab =
264
- this.tabs[this.selectedTab].tabId;
200
+ this.tabPanels[this.selectedTab].hidden = false;
265
201
  }
266
202
  else {
267
203
  this.setInitialTab();
@@ -1 +1 @@
1
- {"file":"ic-tab-context.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/ic-tab-context/ic-tab-context.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport { IcActivationTypes, IcThemeMode } 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 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 * If `true`, the tabs will display as black in the light theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup.monochrome = this.monochrome;\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup.theme = this.theme;\n }\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event({ bubbles: false }) icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attachEventListeners();\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 /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")\n [event.detail.position].textContent.trim(),\n });\n /* eslint-enable no-unexpected-multiline */\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 tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup.theme = this.theme;\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 attachEventListeners = (): 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 /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")\n [newIndex].textContent.trim(),\n });\n }\n /* eslint-enable no-unexpected-multiline */\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}
1
+ {"file":"ic-tab-context.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/ic-tab-context/ic-tab-context.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport { IcActivationTypes, IcThemeMode } from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\nconst CONTEXT_ID_ATTR = \"context-id\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\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 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 * If `true`, the tabs will display as black in the light theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup.monochrome = this.monochrome;\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(): void {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup.theme = this.theme;\n }\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event({ bubbles: false }) icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n componentDidLoad(): void {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\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 /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")\n [event.detail.position].textContent.trim(),\n });\n /* eslint-enable no-unexpected-multiline */\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 if (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab])\n this.setInitialTab();\n this.configureTabs();\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.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].hidden = false;\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 tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup.theme = this.theme;\n });\n };\n\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\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 const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex(\n (tab) =>\n tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab].tabId\n );\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(\n enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0\n );\n break;\n case \"ArrowLeft\":\n keyboardFunction(\n (enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1\n );\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n } else {\n preventDefault = false;\n }\n }\n if (preventDefault) event.preventDefault();\n };\n\n /** Sets the tab that is selected on initial render */\n private setInitialTab = (): void => {\n if (this.selectedTabIndex !== undefined) {\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, index) => {\n tabPanel.hidden = index !== this.selectedTab;\n });\n };\n\n private getEnabledTabs = () =>\n Array.from(this.tabs).filter((child) => !child.disabled);\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.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n } else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: this.el\n .querySelectorAll(\"ic-tab\")\n [newIndex].textContent.trim(),\n });\n }\n };\n\n /** Sets focus on tab without selecting it (for manual activation) */\n private keyboardFocusTab = (enabledTabIndex: number) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-f1cf5156.js');
6
+ const helpers = require('./helpers-69219f14.js');
7
7
 
8
8
  const icTabGroupCss = ":host{display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-space-1px) solid var(--ic-tab-bottom-border)}:host(.ic-tab-group-monochrome){border-bottom:var(--ic-space-1px) solid\n var(--ic-tab-bottom-border-monochrome)}:host(.ic-tab-group-inline){margin-bottom:0;border-bottom:none}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}";
9
9
 
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-f1cf5156.js');
6
+ const helpers = require('./helpers-69219f14.js');
7
7
 
8
- const icTabPanelCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host:not[hidden]{display:block}:host{color:var(--ic-color-primary-text)}";
8
+ const icTabPanelCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host:not[hidden]{display:block}:host{color:var(--ic-color-text-primary)}";
9
9
 
10
10
  const TabPanel = class {
11
11
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"file":"ic-tab-panel.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,08EAA08E;;MCiBn9E,QAAQ;;;;;0BAIY,KAAK;;;;qBAkBN,SAAS;;IAYvC,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC7C,QACEA,QAACC,UAAI,IACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,EACD,IAAI,EAAC,UAAU,EACf,MAAM,EACJC,qBAAa,CAAC,OAAO,CAAC,IAAIA,qBAAa,CAAC,WAAW,CAAC;kBAChD,EAAE,OAAO,KAAK,WAAW,CAAC;kBAC1B,IAAI,IAGVF,qBACEA,qBAAa,CACT,CACD,EACP;KACH;;;;;;;","names":["h","Host","isPropDefined"],"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host:not[hidden] {\n display: block;\n}\n\n:host {\n color: var(--ic-color-primary-text);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport { IcThemeMode } 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 /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\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 /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\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 render() {\n const { panelId, selectedTab, theme } = this;\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\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"],"version":3}
1
+ {"file":"ic-tab-panel.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,08EAA08E;;MCiBn9E,QAAQ;;;;;0BAIY,KAAK;;;;qBAkBN,SAAS;;IAYvC,iBAAiB;QACf,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KACpC;IAED,MAAM;QACJ,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QAC7C,QACEA,QAACC,UAAI,IACH,KAAK,EAAE;gBACL,CAAC,YAAY,KAAK,EAAE,GAAG,KAAK,KAAK,SAAS;aAC3C,EACD,IAAI,EAAC,UAAU,EACf,MAAM,EACJC,qBAAa,CAAC,OAAO,CAAC,IAAIA,qBAAa,CAAC,WAAW,CAAC;kBAChD,EAAE,OAAO,KAAK,WAAW,CAAC;kBAC1B,IAAI,IAGVF,qBACEA,qBAAa,CACT,CACD,EACP;KACH;;;;;;;","names":["h","Host","isPropDefined"],"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host:not[hidden] {\n display: block;\n}\n\n:host {\n color: var(--ic-color-text-primary);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport { IcThemeMode } 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 /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\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 /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\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 render() {\n const { panelId, selectedTab, theme } = this;\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\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"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-f1cf5156.js');
6
+ const helpers = require('./helpers-69219f14.js');
7
7
 
8
8
  const icTabCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{--indicator-initial-color:rgba(23 89 188 / 0%);--focus-indicator:var(--ic-border-focus);display:flex;align-items:center;border-radius:0;color:var(--ic-tab-label);--ic-typography-color:var(--ic-tab-label);height:2.5rem;padding:0 var(--ic-space-md);cursor:pointer;position:relative;border-bottom:var(--ic-space-xxs) solid var(--indicator-initial-color);gap:var(--ic-space-xs);transition:all var(--ic-easing-transition-fast)}::slotted([slot=\"icon\"]){fill:var(--ic-tab-icon)}:host(:focus){box-shadow:var(--focus-indicator);border-radius:var(--ic-border-radius)}:host(:focus-visible){outline:var(--ic-hc-focus-outline)}:host(:hover){background-color:var(--ic-tab-item-hover)}:host(:active){background-color:var(--ic-tab-item-pressed)}:host(.ic-tab-selected){border-bottom:var(--ic-space-xxs) solid var(--ic-tab-item)}:host(.ic-tab-disabled){pointer-events:none;color:var(--ic-architectural-300)}:host(.ic-tab-disabled) ic-typography{color:var(--ic-architectural-300);--ic-typography-color:var(--ic-architectural-300)}:host(.ic-tab-monochrome){color:var(--ic-tab-label-monochrome)}:host(.ic-tab-monochrome) ::slotted([slot=\"icon\"]){fill:var(--ic-tab-icon-monochrome)}:host(.ic-tab-monochrome.ic-tab-selected){border-bottom:var(--ic-space-xxs) solid var(--ic-tab-item-monochrome)}:host(.ic-tab-monochrome:hover){background-color:var(--ic-tab-item-hover-monochrome)}:host(.ic-tab-monochrome:active){background-color:var(--ic-tab-item-pressed-monochrome)}@media (prefers-reduced-motion: no-preference){:host(.ic-tab-selected.with-transition){transition:all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow)}}.ic-tab-label{pointer-events:none;text-wrap:nowrap}::slotted(svg){fill:currentcolor}@media (forced-colors: active){:host{border-bottom:var(--ic-space-xxs) solid canvas}:host(.ic-tab-disabled){color:GrayText}:host(.ic-tab-disabled) ic-typography{color:GrayText;--ic-typography-color:GrayText}}";
9
9
 
@@ -63,10 +63,9 @@ const Tab = class {
63
63
  this.tabCreated.emit(this.el);
64
64
  }
65
65
  disconnectedCallback() {
66
- const tabContext = document.querySelector(`ic-tab-context[context-id=${this.contextId}]`);
67
- if (tabContext) {
68
- tabContext.tabRemovedHandler(!!this.focusTabId);
69
- }
66
+ var _a;
67
+ (_a = document
68
+ .querySelector(`ic-tab-context[context-id=${this.contextId}]`)) === null || _a === void 0 ? void 0 : _a.tabRemovedHandler(!!this.focusTabId);
70
69
  }
71
70
  componentWillLoad() {
72
71
  helpers.removeDisabledFalse(this.disabled, this.el);
@@ -83,14 +82,14 @@ const Tab = class {
83
82
  }
84
83
  }
85
84
  render() {
86
- const { disabled, selected, theme, monochrome } = this;
85
+ const { disabled, selected, theme, monochrome, handleClick, handleFocus, handleMouseDown, } = this;
87
86
  return (index.h(index.Host, { class: {
88
87
  ["with-transition"]: !this.isInitialRender,
89
88
  ["ic-tab-selected"]: selected,
90
89
  ["ic-tab-disabled"]: disabled,
91
90
  [`ic-theme-${theme}`]: theme !== "inherit",
92
91
  ["ic-tab-monochrome"]: monochrome,
93
- }, 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.el.querySelector('[slot="icon"]') && index.h("slot", { name: "icon" }), index.h("ic-typography", { class: "ic-tab-label", variant: "label" }, index.h("span", null, index.h("slot", null))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { name: "badge" })));
92
+ }, role: "tab", "aria-selected": `${selected}`, onClick: handleClick, onFocus: handleFocus, onMouseDown: handleMouseDown, "aria-disabled": `${disabled}`, tabindex: selected ? 0 : -1 }, helpers.isSlotUsed(this.el, "icon") && index.h("slot", { name: "icon" }), index.h("ic-typography", { class: "ic-tab-label", variant: "label" }, index.h("span", null, index.h("slot", null))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { name: "badge" })));
94
93
  }
95
94
  get el() { return index.getElement(this); }
96
95
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"ic-tab.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","h","Host","isSlotUsed"],"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --focus-indicator: var(--ic-border-focus);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--ic-tab-label);\n\n --ic-typography-color: var(--ic-tab-label);\n\n height: 2.5rem;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:hover) {\n background-color: var(--ic-tab-item-hover);\n}\n\n:host(:active) {\n background-color: var(--ic-tab-item-pressed);\n}\n\n:host(.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item);\n}\n\n:host(.ic-tab-disabled) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-disabled) ic-typography {\n color: var(--ic-architectural-300);\n\n --ic-typography-color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-monochrome) {\n color: var(--ic-tab-label-monochrome);\n}\n\n:host(.ic-tab-monochrome) ::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon-monochrome);\n}\n\n:host(.ic-tab-monochrome.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item-monochrome);\n}\n\n:host(.ic-tab-monochrome:hover) {\n background-color: var(--ic-tab-item-hover-monochrome);\n}\n\n:host(.ic-tab-monochrome:active) {\n background-color: var(--ic-tab-item-pressed-monochrome);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.ic-tab-selected.with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n }\n}\n\n.ic-tab-label {\n pointer-events: none;\n text-wrap: nowrap;\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n :host {\n border-bottom: var(--ic-space-xxs) solid canvas;\n }\n\n :host(.ic-tab-disabled) {\n color: GrayText;\n }\n\n :host(.ic-tab-disabled) ic-typography {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host(ic-tab) .ic-tab-label {\n color: var(--ic-architectural-white);\n }\n :host(ic-tab.ic-tab-disabled) .ic-tab-label {\n color: inherit;\n }\n} */\n","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 { IcThemeMode } 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 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 Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: 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 /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\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 separate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const { disabled, selected, theme, monochrome } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-selected\"]: selected,\n [\"ic-tab-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-tab-monochrome\"]: monochrome,\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"],"version":3}
1
+ {"file":"ic-tab.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","h","Host","isSlotUsed"],"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --focus-indicator: var(--ic-border-focus);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--ic-tab-label);\n\n --ic-typography-color: var(--ic-tab-label);\n\n height: 2.5rem;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:hover) {\n background-color: var(--ic-tab-item-hover);\n}\n\n:host(:active) {\n background-color: var(--ic-tab-item-pressed);\n}\n\n:host(.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item);\n}\n\n:host(.ic-tab-disabled) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-disabled) ic-typography {\n color: var(--ic-architectural-300);\n\n --ic-typography-color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-monochrome) {\n color: var(--ic-tab-label-monochrome);\n}\n\n:host(.ic-tab-monochrome) ::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon-monochrome);\n}\n\n:host(.ic-tab-monochrome.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item-monochrome);\n}\n\n:host(.ic-tab-monochrome:hover) {\n background-color: var(--ic-tab-item-hover-monochrome);\n}\n\n:host(.ic-tab-monochrome:active) {\n background-color: var(--ic-tab-item-pressed-monochrome);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.ic-tab-selected.with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n }\n}\n\n.ic-tab-label {\n pointer-events: none;\n text-wrap: nowrap;\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n :host {\n border-bottom: var(--ic-space-xxs) solid canvas;\n }\n\n :host(.ic-tab-disabled) {\n color: GrayText;\n }\n\n :host(.ic-tab-disabled) ic-typography {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host(ic-tab) .ic-tab-label {\n color: var(--ic-architectural-white);\n }\n :host(ic-tab.ic-tab-disabled) .ic-tab-label {\n color: inherit;\n }\n} */\n","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 { IcThemeMode } 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 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 Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: 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 /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\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 document\n .querySelector<HTMLIcTabContextElement>(\n `ic-tab-context[context-id=${this.contextId}]`\n )\n ?.tabRemovedHandler(!!this.focusTabId);\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 separate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const {\n disabled,\n selected,\n theme,\n monochrome,\n handleClick,\n handleFocus,\n handleMouseDown,\n } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-selected\"]: selected,\n [\"ic-tab-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-tab-monochrome\"]: monochrome,\n }}\n role=\"tab\"\n aria-selected={`${selected}`}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n aria-disabled={`${disabled}`}\n tabindex={selected ? 0 : -1}\n >\n {isSlotUsed(this.el, \"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"],"version":3}
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-f1cf5156.js');
6
+ const helpers = require('./helpers-69219f14.js');
7
7
 
8
- const icTextFieldCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(--ic-color-tertiary-text);opacity:1}::placeholder{color:var(--ic-color-tertiary-text);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-primary-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=\"number\"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.char-count-text{--ic-typography-color:var(--ic-color-secondary-text);padding-right:var(--ic-space-xxxs)}.no-left-pad{padding-left:0}::slotted([slot=\"icon\"]){fill:var(--ic-color-tertiary-text)}.has-value ::slotted([slot=\"icon\"]){fill:var(--ic-color-primary-text)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}input[type=\"search\"]::-webkit-search-cancel-button,input[type=\"search\"]::-webkit-search-decoration,input[type=\"search\"]::-webkit-search-results-button,input[type=\"search\"]::-webkit-search-results-decoration{display:none}input[type=\"search\"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot=\"icon\"]){fill:currentcolor}}";
8
+ const icTextFieldCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-input-label-helpertext-padding:var(--ic-space-xxs)}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(--ic-color-text-tertiary);opacity:1}::placeholder{color:var(--ic-color-text-tertiary);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-text-primary)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=\"number\"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.char-count-text{--ic-typography-color:var(--ic-color-text-secondary);padding-right:var(--ic-space-xxxs)}.no-left-pad{padding-left:0}::slotted([slot=\"icon\"]){fill:var(--ic-color-text-tertiary)}.has-value ::slotted([slot=\"icon\"]){fill:var(--ic-color-text-primary)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}input[type=\"search\"]::-webkit-search-cancel-button,input[type=\"search\"]::-webkit-search-decoration,input[type=\"search\"]::-webkit-search-results-button,input[type=\"search\"]::-webkit-search-results-decoration{display:none}input[type=\"search\"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot=\"icon\"]){fill:currentcolor}}";
9
9
 
10
10
  let inputIds = 0;
11
11
  const MUTABLE_ATTRIBUTES = [...helpers.IC_INHERITED_ARIA, "title"];
@@ -183,7 +183,7 @@ const TextField = class {
183
183
  }
184
184
  render() {
185
185
  const { inputId, name, label, required, size, placeholder, helperText, hideCharCount, rows, resize, disabled, value, min, max, numChars, readonly, maxCharacters, maxCharactersWarning, maxCharactersReached, minCharacters, minCharactersUnattained, minValueUnattained, maxValueExceeded, validationStatus, validationText, validationInline, validationInlineInternal, spellcheck, inputmode, fullWidth, truncateValue, hiddenInput, } = this;
186
- const disabledMode = readonly ? true : disabled;
186
+ const disabledMode = readonly || disabled;
187
187
  const currentStatus = maxValueExceeded ||
188
188
  minValueUnattained ||
189
189
  minCharactersUnattained ||