@ukic/web-components 3.0.0-alpha.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1061) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +13 -11
  5. package/dist/cjs/core.cjs.js.map +1 -1
  6. package/dist/cjs/{helpers-eca4c27e.js → helpers-a0a128bd.js} +71 -26
  7. package/dist/cjs/helpers-a0a128bd.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +38 -17
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +29 -15
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +60 -18
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +53 -37
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +38 -23
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +304 -144
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +54 -33
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +33 -10
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +49 -30
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +45 -24
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +22 -6
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +164 -115
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  41. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-empty-state.cjs.entry.js +19 -11
  43. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -11
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  49. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  51. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-link.cjs.entry.js +29 -22
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +21 -19
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +26 -20
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js +63 -39
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js +70 -49
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js +55 -33
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-page-header.cjs.entry.js +49 -28
  73. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js +28 -15
  75. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination.cjs.entry.js +61 -28
  77. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js +74 -42
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js +55 -29
  81. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js +36 -24
  83. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-search-bar.cjs.entry.js +154 -64
  85. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  87. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-select.cjs.entry.js +234 -137
  89. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +107 -71
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
  95. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-status-tag.cjs.entry.js +26 -7
  97. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-step.cjs.entry.js +35 -33
  99. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  101. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  103. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js +45 -26
  105. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  107. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js +16 -12
  109. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab.cjs.entry.js +22 -16
  111. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-text-field.cjs.entry.js +205 -76
  113. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  115. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +30 -22
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +82 -50
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +59 -34
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  127. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  128. package/dist/cjs/index-d337cd8a.js +2611 -0
  129. package/dist/cjs/index-d337cd8a.js.map +1 -0
  130. package/dist/cjs/loader.cjs.js +5 -3
  131. package/dist/cjs/loader.cjs.js.map +1 -1
  132. package/dist/collection/collection-manifest.json +6 -5
  133. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  134. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  135. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  136. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  137. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  138. package/dist/collection/components/ic-alert/ic-alert.css +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +49 -18
  143. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +59 -14
  144. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  145. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +216 -0
  146. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  147. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  148. package/dist/collection/components/ic-badge/ic-badge.js +104 -29
  149. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  151. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +14 -0
  152. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +51 -25
  153. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +63 -40
  155. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  157. package/dist/collection/components/ic-button/ic-button.css +31 -27
  158. package/dist/collection/components/ic-button/ic-button.js +269 -98
  159. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  160. package/dist/collection/components/ic-button/ic-button.stories.js +2387 -0
  161. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +6 -1
  162. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  163. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  164. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  165. package/dist/collection/components/ic-checkbox/ic-checkbox.css +29 -0
  166. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  167. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  168. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +4 -0
  169. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +63 -21
  170. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  171. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  172. package/dist/collection/components/ic-chip/ic-chip.css +2 -2
  173. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  174. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  175. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  176. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +4 -0
  177. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -8
  178. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  179. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  180. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  181. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  182. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  183. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  184. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  185. package/dist/collection/components/ic-dialog/ic-dialog.css +0 -6
  186. package/dist/collection/components/ic-dialog/ic-dialog.js +218 -146
  187. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  188. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1118 -0
  189. package/dist/collection/components/ic-divider/ic-divider.css +23 -69
  190. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  191. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  192. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  193. package/dist/collection/components/ic-empty-state/ic-empty-state.css +15 -0
  194. package/dist/collection/components/ic-empty-state/ic-empty-state.js +58 -13
  195. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  196. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  197. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  198. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  199. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  200. package/dist/collection/components/ic-footer-link/ic-footer-link.css +18 -0
  201. package/dist/collection/components/ic-footer-link/ic-footer-link.js +26 -15
  202. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  203. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  204. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  205. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  206. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  207. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  208. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  209. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  210. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  211. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +11 -1
  212. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  213. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  214. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  215. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  216. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  217. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  218. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  219. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  220. package/dist/collection/components/ic-link/ic-link.css +17 -8
  221. package/dist/collection/components/ic-link/ic-link.js +49 -28
  222. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  223. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  224. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  225. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  226. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  227. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  228. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  229. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  230. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  231. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  232. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
  233. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  234. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  235. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  236. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  237. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  238. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +47 -49
  239. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +126 -41
  240. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  241. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  242. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  243. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +8 -37
  244. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  245. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  246. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  247. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +61 -34
  248. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  249. package/dist/collection/components/ic-page-header/ic-page-header.js +72 -34
  250. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  251. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  252. package/dist/collection/components/ic-pagination/ic-pagination.css +10 -2
  253. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  254. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  255. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  256. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +19 -3
  257. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  258. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  259. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +97 -52
  260. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  261. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +573 -0
  262. package/dist/collection/components/ic-radio-group/ic-radio-group.js +90 -43
  263. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  264. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +474 -0
  265. package/dist/collection/components/ic-radio-option/ic-radio-option.css +20 -0
  266. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  267. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  268. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -13
  269. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  270. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  271. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  272. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  273. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  274. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  275. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  276. package/dist/collection/components/ic-select/ic-select.css +12 -2
  277. package/dist/collection/components/ic-select/ic-select.js +333 -177
  278. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  279. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  280. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  281. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  282. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +11 -3
  283. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +146 -89
  284. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  285. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2547 -0
  286. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  287. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  288. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  289. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  290. package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
  291. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  292. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  293. package/dist/collection/components/ic-status-tag/ic-status-tag.css +2 -1
  294. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  295. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  296. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  297. package/dist/collection/components/ic-step/ic-step.css +8 -31
  298. package/dist/collection/components/ic-step/ic-step.js +67 -40
  299. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  300. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  301. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  302. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +281 -0
  303. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  304. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  305. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  306. package/dist/collection/components/ic-tab/ic-tab.css +13 -3
  307. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  308. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  309. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -31
  310. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  311. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  312. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  313. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  314. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +5 -1
  315. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +50 -14
  316. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  317. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  318. package/dist/collection/components/ic-text-field/ic-text-field.js +432 -148
  319. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  320. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1048 -0
  321. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  322. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  323. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  324. package/dist/collection/components/ic-toast/ic-toast.css +1 -1
  325. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  326. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  327. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  328. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  329. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  330. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +8 -17
  331. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -61
  332. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  333. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  334. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  335. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  336. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  337. package/dist/collection/components/ic-tooltip/ic-tooltip.js +67 -38
  338. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  339. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  340. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -5
  341. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -47
  342. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  343. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1091 -0
  344. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  345. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  346. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  347. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  348. package/dist/collection/patterns/z-index.stories.js +474 -0
  349. package/dist/collection/utils/constants.js +39 -0
  350. package/dist/collection/utils/constants.js.map +1 -1
  351. package/dist/collection/utils/helpers.js +29 -24
  352. package/dist/collection/utils/helpers.js.map +1 -1
  353. package/dist/collection/utils/testa11y.helpers.js +2 -1
  354. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  355. package/dist/collection/utils/types.js.map +1 -1
  356. package/dist/components/helpers.js +69 -25
  357. package/dist/components/helpers.js.map +1 -1
  358. package/dist/components/ic-accordion-group.js +29 -12
  359. package/dist/components/ic-accordion-group.js.map +1 -1
  360. package/dist/components/ic-accordion.js +63 -40
  361. package/dist/components/ic-accordion.js.map +1 -1
  362. package/dist/components/ic-alert.js +36 -15
  363. package/dist/components/ic-alert.js.map +1 -1
  364. package/dist/components/ic-back-to-top.js +28 -13
  365. package/dist/components/ic-back-to-top.js.map +1 -1
  366. package/dist/components/ic-badge.js +60 -18
  367. package/dist/components/ic-badge.js.map +1 -1
  368. package/dist/components/ic-breadcrumb-group.js +51 -35
  369. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  370. package/dist/components/ic-breadcrumb2.js +36 -21
  371. package/dist/components/ic-breadcrumb2.js.map +1 -1
  372. package/dist/components/ic-button2.js +171 -63
  373. package/dist/components/ic-button2.js.map +1 -1
  374. package/dist/components/ic-card-vertical.js +52 -31
  375. package/dist/components/ic-card-vertical.js.map +1 -1
  376. package/dist/components/ic-checkbox-group.js +31 -8
  377. package/dist/components/ic-checkbox-group.js.map +1 -1
  378. package/dist/components/ic-checkbox.js +47 -28
  379. package/dist/components/ic-checkbox.js.map +1 -1
  380. package/dist/components/ic-chip.js +43 -22
  381. package/dist/components/ic-chip.js.map +1 -1
  382. package/dist/components/ic-classification-banner.js +21 -5
  383. package/dist/components/ic-classification-banner.js.map +1 -1
  384. package/dist/components/ic-data-list.js +10 -4
  385. package/dist/components/ic-data-list.js.map +1 -1
  386. package/dist/components/ic-data-row.js +27 -17
  387. package/dist/components/ic-data-row.js.map +1 -1
  388. package/dist/components/ic-dialog.js +165 -116
  389. package/dist/components/ic-dialog.js.map +1 -1
  390. package/dist/components/ic-divider2.js +33 -13
  391. package/dist/components/ic-divider2.js.map +1 -1
  392. package/dist/components/ic-empty-state.js +19 -10
  393. package/dist/components/ic-empty-state.js.map +1 -1
  394. package/dist/components/ic-footer-link-group.js +6 -6
  395. package/dist/components/ic-footer-link-group.js.map +1 -1
  396. package/dist/components/ic-footer-link.js +10 -9
  397. package/dist/components/ic-footer-link.js.map +1 -1
  398. package/dist/components/ic-footer.js +31 -18
  399. package/dist/components/ic-footer.js.map +1 -1
  400. package/dist/components/ic-hero.js +27 -15
  401. package/dist/components/ic-hero.js.map +1 -1
  402. package/dist/components/ic-horizontal-scroll2.js +30 -18
  403. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  404. package/dist/components/ic-input-component-container2.js +31 -9
  405. package/dist/components/ic-input-component-container2.js.map +1 -1
  406. package/dist/components/ic-input-container2.js +12 -5
  407. package/dist/components/ic-input-container2.js.map +1 -1
  408. package/dist/components/ic-input-label2.js +28 -8
  409. package/dist/components/ic-input-label2.js.map +1 -1
  410. package/dist/components/ic-input-validation2.js +15 -7
  411. package/dist/components/ic-input-validation2.js.map +1 -1
  412. package/dist/components/ic-link2.js +27 -20
  413. package/dist/components/ic-link2.js.map +1 -1
  414. package/dist/components/ic-loading-indicator2.js +89 -54
  415. package/dist/components/ic-loading-indicator2.js.map +1 -1
  416. package/dist/components/ic-menu-group.js +3 -3
  417. package/dist/components/ic-menu-group.js.map +1 -1
  418. package/dist/components/ic-menu-item2.js +19 -17
  419. package/dist/components/ic-menu-item2.js.map +1 -1
  420. package/dist/components/ic-menu2.js +81 -52
  421. package/dist/components/ic-menu2.js.map +1 -1
  422. package/dist/components/ic-navigation-button.js +24 -18
  423. package/dist/components/ic-navigation-button.js.map +1 -1
  424. package/dist/components/ic-navigation-group.js +64 -39
  425. package/dist/components/ic-navigation-group.js.map +1 -1
  426. package/dist/components/ic-navigation-item.js +69 -48
  427. package/dist/components/ic-navigation-item.js.map +1 -1
  428. package/dist/components/ic-navigation-menu2.js +54 -32
  429. package/dist/components/ic-navigation-menu2.js.map +1 -1
  430. package/dist/components/ic-page-header.js +48 -27
  431. package/dist/components/ic-page-header.js.map +1 -1
  432. package/dist/components/ic-pagination-item2.js +26 -13
  433. package/dist/components/ic-pagination-item2.js.map +1 -1
  434. package/dist/components/ic-pagination.js +59 -26
  435. package/dist/components/ic-pagination.js.map +1 -1
  436. package/dist/components/ic-popover-menu.js +72 -40
  437. package/dist/components/ic-popover-menu.js.map +1 -1
  438. package/dist/components/ic-radio-group.js +53 -27
  439. package/dist/components/ic-radio-group.js.map +1 -1
  440. package/dist/components/ic-radio-option.js +34 -22
  441. package/dist/components/ic-radio-option.js.map +1 -1
  442. package/dist/components/ic-search-bar.js +152 -62
  443. package/dist/components/ic-search-bar.js.map +1 -1
  444. package/dist/components/ic-section-container2.js +11 -4
  445. package/dist/components/ic-section-container2.js.map +1 -1
  446. package/dist/components/ic-select.js +232 -135
  447. package/dist/components/ic-select.js.map +1 -1
  448. package/dist/components/ic-side-navigation.js +106 -70
  449. package/dist/components/ic-side-navigation.js.map +1 -1
  450. package/dist/components/ic-skeleton.js +10 -3
  451. package/dist/components/ic-skeleton.js.map +1 -1
  452. package/dist/components/ic-skip-link.d.ts +11 -0
  453. package/dist/components/ic-skip-link.js +83 -0
  454. package/dist/components/ic-skip-link.js.map +1 -0
  455. package/dist/components/ic-status-tag.js +24 -5
  456. package/dist/components/ic-status-tag.js.map +1 -1
  457. package/dist/components/ic-step.js +33 -31
  458. package/dist/components/ic-step.js.map +1 -1
  459. package/dist/components/ic-stepper.js +48 -33
  460. package/dist/components/ic-stepper.js.map +1 -1
  461. package/dist/components/ic-switch.js +48 -20
  462. package/dist/components/ic-switch.js.map +1 -1
  463. package/dist/components/ic-tab-context.js +44 -25
  464. package/dist/components/ic-tab-context.js.map +1 -1
  465. package/dist/components/ic-tab-group.js +12 -7
  466. package/dist/components/ic-tab-group.js.map +1 -1
  467. package/dist/components/ic-tab-panel.js +16 -11
  468. package/dist/components/ic-tab-panel.js.map +1 -1
  469. package/dist/components/ic-tab.js +20 -14
  470. package/dist/components/ic-tab.js.map +1 -1
  471. package/dist/components/ic-text-field.js +208 -75
  472. package/dist/components/ic-text-field.js.map +1 -1
  473. package/dist/components/ic-theme.js +12 -6
  474. package/dist/components/ic-theme.js.map +1 -1
  475. package/dist/components/ic-toast-region.js +1 -2
  476. package/dist/components/ic-toast-region.js.map +1 -1
  477. package/dist/components/ic-toast.js +29 -21
  478. package/dist/components/ic-toast.js.map +1 -1
  479. package/dist/components/ic-toggle-button-group.js +59 -27
  480. package/dist/components/ic-toggle-button-group.js.map +1 -1
  481. package/dist/components/ic-toggle-button.js +81 -49
  482. package/dist/components/ic-toggle-button.js.map +1 -1
  483. package/dist/components/ic-tooltip2.js +42 -25
  484. package/dist/components/ic-tooltip2.js.map +1 -1
  485. package/dist/components/ic-top-navigation.js +58 -33
  486. package/dist/components/ic-top-navigation.js.map +1 -1
  487. package/dist/components/ic-typography2.js +51 -25
  488. package/dist/components/ic-typography2.js.map +1 -1
  489. package/dist/core/core.css +395 -264
  490. package/dist/core/core.esm.js +1 -1
  491. package/dist/core/core.esm.js.map +1 -1
  492. package/dist/core/index.esm.js.map +1 -1
  493. package/dist/core/p-06d97789.entry.js +2 -0
  494. package/dist/core/p-06d97789.entry.js.map +1 -0
  495. package/dist/core/{p-27274ca8.entry.js → p-071f4748.entry.js} +2 -2
  496. package/dist/core/p-071f4748.entry.js.map +1 -0
  497. package/dist/core/p-09070f61.entry.js +2 -0
  498. package/dist/core/p-09070f61.entry.js.map +1 -0
  499. package/dist/core/p-0c0ac69d.entry.js +2 -0
  500. package/dist/core/p-0c0ac69d.entry.js.map +1 -0
  501. package/dist/core/p-0d016565.entry.js +2 -0
  502. package/dist/core/p-0d016565.entry.js.map +1 -0
  503. package/dist/core/p-0e96d4d8.entry.js +2 -0
  504. package/dist/core/p-0e96d4d8.entry.js.map +1 -0
  505. package/dist/core/p-10cd26dc.entry.js +2 -0
  506. package/dist/core/p-10cd26dc.entry.js.map +1 -0
  507. package/dist/core/{p-a87d13b3.entry.js → p-110486f0.entry.js} +2 -2
  508. package/dist/core/p-110486f0.entry.js.map +1 -0
  509. package/dist/core/p-116ad73d.entry.js +2 -0
  510. package/dist/core/p-116ad73d.entry.js.map +1 -0
  511. package/dist/core/{p-8b554299.entry.js → p-1171a945.entry.js} +2 -2
  512. package/dist/core/p-1171a945.entry.js.map +1 -0
  513. package/dist/core/{p-0cb72d37.entry.js → p-17cf7b50.entry.js} +2 -2
  514. package/dist/core/p-17cf7b50.entry.js.map +1 -0
  515. package/dist/core/p-1ac08e6d.entry.js +2 -0
  516. package/dist/core/p-1ac08e6d.entry.js.map +1 -0
  517. package/dist/core/p-1f455336.entry.js +2 -0
  518. package/dist/core/p-1f455336.entry.js.map +1 -0
  519. package/dist/core/p-20c4d90b.entry.js +2 -0
  520. package/dist/core/p-20c4d90b.entry.js.map +1 -0
  521. package/dist/core/{p-641e244d.entry.js → p-2537f33e.entry.js} +2 -2
  522. package/dist/core/p-2537f33e.entry.js.map +1 -0
  523. package/dist/core/{p-87aa30b4.entry.js → p-264ce7a0.entry.js} +2 -2
  524. package/dist/core/p-264ce7a0.entry.js.map +1 -0
  525. package/dist/core/p-28656111.entry.js +2 -0
  526. package/dist/core/p-28656111.entry.js.map +1 -0
  527. package/dist/core/p-2b1a331b.entry.js +2 -0
  528. package/dist/core/p-2b1a331b.entry.js.map +1 -0
  529. package/dist/core/p-33243fff.entry.js +2 -0
  530. package/dist/core/p-33243fff.entry.js.map +1 -0
  531. package/dist/core/p-37df68fe.entry.js +2 -0
  532. package/dist/core/p-37df68fe.entry.js.map +1 -0
  533. package/dist/core/p-3b185c32.js.map +1 -1
  534. package/dist/core/p-426ec638.js.map +1 -1
  535. package/dist/core/{p-199b9196.entry.js → p-44e32417.entry.js} +2 -2
  536. package/dist/core/p-44e32417.entry.js.map +1 -0
  537. package/dist/core/{p-6e630778.entry.js → p-45595f98.entry.js} +2 -2
  538. package/dist/core/p-45595f98.entry.js.map +1 -0
  539. package/dist/core/p-49768069.entry.js +2 -0
  540. package/dist/core/p-49768069.entry.js.map +1 -0
  541. package/dist/core/p-4c68494c.entry.js +2 -0
  542. package/dist/core/p-4c68494c.entry.js.map +1 -0
  543. package/dist/core/{p-f37c6a76.entry.js → p-4f2a1950.entry.js} +2 -2
  544. package/dist/core/p-4f2a1950.entry.js.map +1 -0
  545. package/dist/core/p-50f4d151.entry.js +2 -0
  546. package/dist/core/p-50f4d151.entry.js.map +1 -0
  547. package/dist/core/p-55a37101.entry.js +2 -0
  548. package/dist/core/p-55a37101.entry.js.map +1 -0
  549. package/dist/core/{p-1223d0e9.entry.js → p-5c349c9d.entry.js} +2 -2
  550. package/dist/core/p-5c349c9d.entry.js.map +1 -0
  551. package/dist/core/p-5e1fd097.entry.js +2 -0
  552. package/dist/core/p-5e1fd097.entry.js.map +1 -0
  553. package/dist/core/p-68a5aaff.js.map +1 -1
  554. package/dist/core/p-69e4daec.entry.js +2 -0
  555. package/dist/core/p-69e4daec.entry.js.map +1 -0
  556. package/dist/core/p-701696aa.entry.js +2 -0
  557. package/dist/core/p-701696aa.entry.js.map +1 -0
  558. package/dist/core/{p-8452846e.entry.js → p-729745d3.entry.js} +2 -2
  559. package/dist/core/p-729745d3.entry.js.map +1 -0
  560. package/dist/core/{p-1bf956cb.entry.js → p-73fc198f.entry.js} +2 -2
  561. package/dist/core/p-73fc198f.entry.js.map +1 -0
  562. package/dist/core/p-74600ed8.entry.js +2 -0
  563. package/dist/core/p-74600ed8.entry.js.map +1 -0
  564. package/dist/core/p-78e7a859.entry.js +2 -0
  565. package/dist/core/p-78e7a859.entry.js.map +1 -0
  566. package/dist/core/{p-419d3378.entry.js → p-7e79bd0e.entry.js} +2 -2
  567. package/dist/core/p-7e79bd0e.entry.js.map +1 -0
  568. package/dist/core/p-7eaf8da8.entry.js +2 -0
  569. package/dist/core/p-7eaf8da8.entry.js.map +1 -0
  570. package/dist/core/p-811d447b.entry.js +2 -0
  571. package/dist/core/p-811d447b.entry.js.map +1 -0
  572. package/dist/core/p-85734ebf.entry.js +2 -0
  573. package/dist/core/p-85734ebf.entry.js.map +1 -0
  574. package/dist/core/p-85b7d931.entry.js +2 -0
  575. package/dist/core/p-85b7d931.entry.js.map +1 -0
  576. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  577. package/dist/core/p-8856dff4.entry.js.map +1 -0
  578. package/dist/core/p-8b268274.entry.js +2 -0
  579. package/dist/core/p-8b268274.entry.js.map +1 -0
  580. package/dist/core/p-8e4e97b4.js +3 -0
  581. package/dist/core/p-8e4e97b4.js.map +1 -0
  582. package/dist/core/p-972671ea.entry.js +2 -0
  583. package/dist/core/p-972671ea.entry.js.map +1 -0
  584. package/dist/core/{p-6c1cf351.entry.js → p-98328cb9.entry.js} +2 -2
  585. package/dist/core/p-98328cb9.entry.js.map +1 -0
  586. package/dist/core/{p-5be2c26a.entry.js → p-a103068b.entry.js} +2 -2
  587. package/dist/core/p-a103068b.entry.js.map +1 -0
  588. package/dist/core/{p-e4cb5585.entry.js → p-a20a7cd3.entry.js} +2 -2
  589. package/dist/core/p-a20a7cd3.entry.js.map +1 -0
  590. package/dist/core/p-a22658fb.entry.js +2 -0
  591. package/dist/core/p-a22658fb.entry.js.map +1 -0
  592. package/dist/core/{p-5dcc0489.entry.js → p-a55e7988.entry.js} +2 -2
  593. package/dist/core/p-a55e7988.entry.js.map +1 -0
  594. package/dist/core/{p-20ac0d2a.entry.js → p-a71055c9.entry.js} +2 -2
  595. package/dist/core/p-a71055c9.entry.js.map +1 -0
  596. package/dist/core/p-a794b724.entry.js +2 -0
  597. package/dist/core/p-a794b724.entry.js.map +1 -0
  598. package/dist/core/p-b21b4fea.entry.js +2 -0
  599. package/dist/core/p-b21b4fea.entry.js.map +1 -0
  600. package/dist/core/p-b953b22f.entry.js +2 -0
  601. package/dist/core/p-b953b22f.entry.js.map +1 -0
  602. package/dist/core/p-c2e091d7.js.map +1 -1
  603. package/dist/core/p-c9726fbd.entry.js +2 -0
  604. package/dist/core/p-c9726fbd.entry.js.map +1 -0
  605. package/dist/core/p-d981598e.entry.js +2 -0
  606. package/dist/core/p-d981598e.entry.js.map +1 -0
  607. package/dist/core/p-d9aec0dd.entry.js +2 -0
  608. package/dist/core/p-d9aec0dd.entry.js.map +1 -0
  609. package/dist/core/p-e1255160.js +2 -0
  610. package/dist/core/p-e1255160.js.map +1 -0
  611. package/dist/core/p-ed8957da.js +2 -0
  612. package/dist/core/p-ed8957da.js.map +1 -0
  613. package/dist/core/p-f074ef5b.js.map +1 -1
  614. package/dist/core/p-f3315216.entry.js +2 -0
  615. package/dist/core/p-f3315216.entry.js.map +1 -0
  616. package/dist/core/p-f34efc17.entry.js +2 -0
  617. package/dist/core/p-f34efc17.entry.js.map +1 -0
  618. package/dist/core/p-f43f411a.entry.js +2 -0
  619. package/dist/core/p-f43f411a.entry.js.map +1 -0
  620. package/dist/core/{p-96b4ca6e.entry.js → p-fa02a267.entry.js} +2 -2
  621. package/dist/core/p-fa02a267.entry.js.map +1 -0
  622. package/dist/core/p-ff995eb8.entry.js +2 -0
  623. package/dist/core/p-ff995eb8.entry.js.map +1 -0
  624. package/dist/esm/app-globals-0f993ce5.js +5 -0
  625. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  626. package/dist/esm/core.js +14 -12
  627. package/dist/esm/core.js.map +1 -1
  628. package/dist/esm/{helpers-2624c32c.js → helpers-dd035d0d.js} +71 -27
  629. package/dist/esm/helpers-dd035d0d.js.map +1 -0
  630. package/dist/esm/ic-accordion-group.entry.js +31 -14
  631. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  632. package/dist/esm/ic-accordion.entry.js +65 -42
  633. package/dist/esm/ic-accordion.entry.js.map +1 -1
  634. package/dist/esm/ic-alert.entry.js +38 -17
  635. package/dist/esm/ic-alert.entry.js.map +1 -1
  636. package/dist/esm/ic-back-to-top.entry.js +29 -15
  637. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  638. package/dist/esm/ic-badge.entry.js +60 -18
  639. package/dist/esm/ic-badge.entry.js.map +1 -1
  640. package/dist/esm/ic-breadcrumb-group.entry.js +53 -37
  641. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  642. package/dist/esm/ic-breadcrumb.entry.js +38 -23
  643. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  644. package/dist/esm/ic-button_3.entry.js +304 -144
  645. package/dist/esm/ic-button_3.entry.js.map +1 -1
  646. package/dist/esm/ic-card-vertical.entry.js +54 -33
  647. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  648. package/dist/esm/ic-checkbox-group.entry.js +33 -10
  649. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  650. package/dist/esm/ic-checkbox.entry.js +49 -30
  651. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  652. package/dist/esm/ic-chip.entry.js +45 -24
  653. package/dist/esm/ic-chip.entry.js.map +1 -1
  654. package/dist/esm/ic-classification-banner.entry.js +22 -6
  655. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  656. package/dist/esm/ic-data-list.entry.js +11 -5
  657. package/dist/esm/ic-data-list.entry.js.map +1 -1
  658. package/dist/esm/ic-data-row.entry.js +28 -18
  659. package/dist/esm/ic-data-row.entry.js.map +1 -1
  660. package/dist/esm/ic-dialog.entry.js +164 -115
  661. package/dist/esm/ic-dialog.entry.js.map +1 -1
  662. package/dist/esm/ic-divider.entry.js +35 -15
  663. package/dist/esm/ic-divider.entry.js.map +1 -1
  664. package/dist/esm/ic-empty-state.entry.js +19 -11
  665. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  666. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  667. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  668. package/dist/esm/ic-footer-link.entry.js +12 -11
  669. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  670. package/dist/esm/ic-footer.entry.js +32 -19
  671. package/dist/esm/ic-footer.entry.js.map +1 -1
  672. package/dist/esm/ic-hero.entry.js +29 -17
  673. package/dist/esm/ic-hero.entry.js.map +1 -1
  674. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  675. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  676. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  677. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  678. package/dist/esm/ic-input-label_2.entry.js +45 -17
  679. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  680. package/dist/esm/ic-link.entry.js +29 -22
  681. package/dist/esm/ic-link.entry.js.map +1 -1
  682. package/dist/esm/ic-menu-group.entry.js +5 -5
  683. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  684. package/dist/esm/ic-menu-item.entry.js +21 -19
  685. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  686. package/dist/esm/ic-navigation-button.entry.js +26 -20
  687. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  688. package/dist/esm/ic-navigation-group.entry.js +63 -39
  689. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  690. package/dist/esm/ic-navigation-item.entry.js +70 -49
  691. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  692. package/dist/esm/ic-navigation-menu.entry.js +55 -33
  693. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  694. package/dist/esm/ic-page-header.entry.js +49 -28
  695. package/dist/esm/ic-page-header.entry.js.map +1 -1
  696. package/dist/esm/ic-pagination-item.entry.js +28 -15
  697. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  698. package/dist/esm/ic-pagination.entry.js +61 -28
  699. package/dist/esm/ic-pagination.entry.js.map +1 -1
  700. package/dist/esm/ic-popover-menu.entry.js +74 -42
  701. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  702. package/dist/esm/ic-radio-group.entry.js +55 -29
  703. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  704. package/dist/esm/ic-radio-option.entry.js +36 -24
  705. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  706. package/dist/esm/ic-search-bar.entry.js +154 -64
  707. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  708. package/dist/esm/ic-section-container.entry.js +12 -5
  709. package/dist/esm/ic-section-container.entry.js.map +1 -1
  710. package/dist/esm/ic-select.entry.js +234 -137
  711. package/dist/esm/ic-select.entry.js.map +1 -1
  712. package/dist/esm/ic-side-navigation.entry.js +107 -71
  713. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  714. package/dist/esm/ic-skeleton.entry.js +11 -4
  715. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  716. package/dist/esm/ic-skip-link.entry.js +51 -0
  717. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  718. package/dist/esm/ic-status-tag.entry.js +26 -7
  719. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  720. package/dist/esm/ic-step.entry.js +35 -33
  721. package/dist/esm/ic-step.entry.js.map +1 -1
  722. package/dist/esm/ic-stepper.entry.js +50 -35
  723. package/dist/esm/ic-stepper.entry.js.map +1 -1
  724. package/dist/esm/ic-switch.entry.js +50 -22
  725. package/dist/esm/ic-switch.entry.js.map +1 -1
  726. package/dist/esm/ic-tab-context.entry.js +45 -26
  727. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  728. package/dist/esm/ic-tab-group.entry.js +14 -9
  729. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  730. package/dist/esm/ic-tab-panel.entry.js +16 -12
  731. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  732. package/dist/esm/ic-tab.entry.js +22 -16
  733. package/dist/esm/ic-tab.entry.js.map +1 -1
  734. package/dist/esm/ic-text-field.entry.js +205 -76
  735. package/dist/esm/ic-text-field.entry.js.map +1 -1
  736. package/dist/esm/ic-theme.entry.js +13 -7
  737. package/dist/esm/ic-theme.entry.js.map +1 -1
  738. package/dist/esm/ic-toast-region.entry.js +2 -3
  739. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  740. package/dist/esm/ic-toast.entry.js +30 -22
  741. package/dist/esm/ic-toast.entry.js.map +1 -1
  742. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  743. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  744. package/dist/esm/ic-toggle-button.entry.js +82 -50
  745. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  746. package/dist/esm/ic-top-navigation.entry.js +59 -34
  747. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  748. package/dist/esm/ic-typography.entry.js +53 -27
  749. package/dist/esm/ic-typography.entry.js.map +1 -1
  750. package/dist/esm/index-a7a720e7.js +2580 -0
  751. package/dist/esm/index-a7a720e7.js.map +1 -0
  752. package/dist/esm/loader.js +6 -4
  753. package/dist/esm/loader.js.map +1 -1
  754. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  755. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  756. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  757. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +6 -2
  758. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  759. package/dist/types/components/ic-badge/ic-badge.d.ts +6 -1
  760. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +2 -1
  761. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  762. package/dist/types/components/ic-button/ic-button.d.ts +7 -6
  763. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  764. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +7 -7
  765. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  766. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  767. package/dist/types/components/ic-dialog/ic-dialog.d.ts +15 -11
  768. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  769. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -1
  770. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  771. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  772. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  773. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  774. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  775. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  776. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  777. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  778. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  779. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  780. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +18 -6
  781. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  782. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  783. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -3
  784. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  785. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  786. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  787. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +9 -9
  788. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  789. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  790. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  791. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  792. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  793. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  794. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  795. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  796. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  797. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +7 -1
  798. package/dist/types/components/ic-text-field/ic-text-field.d.ts +51 -34
  799. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  800. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  801. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  802. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  803. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  804. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  805. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  806. package/dist/types/components.d.ts +358 -215
  807. package/dist/types/stencil-public-runtime.d.ts +9 -10
  808. package/dist/types/utils/constants.d.ts +1 -0
  809. package/dist/types/utils/helpers.d.ts +10 -10
  810. package/dist/types/utils/types.d.ts +8 -4
  811. package/hydrate/index.d.ts +53 -12
  812. package/hydrate/index.js +32726 -20605
  813. package/hydrate/index.mjs +34407 -0
  814. package/hydrate/package.json +7 -1
  815. package/loader/cdn.js +1 -3
  816. package/loader/index.cjs.js +1 -3
  817. package/loader/index.d.ts +3 -0
  818. package/loader/index.es2017.js +1 -3
  819. package/loader/index.js +1 -3
  820. package/package.json +19 -13
  821. package/vscode-data.json +109 -339
  822. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  823. package/dist/cjs/index-f982899d.js +0 -3047
  824. package/dist/cjs/index-f982899d.js.map +0 -1
  825. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  826. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  827. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  828. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  829. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  830. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  831. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -145
  832. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  833. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -256
  834. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  835. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  836. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  837. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  838. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  839. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  840. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  841. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  842. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  843. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  844. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  845. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  846. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  847. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  848. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  849. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  850. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  851. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  852. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  853. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  854. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  855. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  856. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  857. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  858. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  859. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  860. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  861. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  862. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  863. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  864. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  865. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  866. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  867. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  868. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  869. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  870. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  871. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  872. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  873. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  874. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  875. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  876. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  877. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  878. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  879. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  880. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  881. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  882. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  883. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  884. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  885. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  886. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  887. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  888. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  889. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  890. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  891. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  892. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  893. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  894. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  895. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  896. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  897. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  898. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  899. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  900. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  901. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  902. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  903. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  904. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  905. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  906. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  907. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  908. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  909. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  910. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  911. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  912. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  913. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  914. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  915. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  916. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  917. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  918. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  919. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  920. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  921. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  922. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  923. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  924. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  925. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  926. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  927. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  928. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  929. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  930. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  931. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  932. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  933. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  934. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  935. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  936. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  937. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  938. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  939. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  940. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  941. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  942. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  943. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  944. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  945. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  946. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  947. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  948. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  949. package/dist/collection/testspec.setup.js +0 -77
  950. package/dist/collection/testspec.setup.js.map +0 -1
  951. package/dist/core/p-0cb72d37.entry.js.map +0 -1
  952. package/dist/core/p-1223d0e9.entry.js.map +0 -1
  953. package/dist/core/p-190c3474.entry.js +0 -2
  954. package/dist/core/p-190c3474.entry.js.map +0 -1
  955. package/dist/core/p-199b9196.entry.js.map +0 -1
  956. package/dist/core/p-1bf956cb.entry.js.map +0 -1
  957. package/dist/core/p-20ac0d2a.entry.js.map +0 -1
  958. package/dist/core/p-243ad74c.entry.js +0 -2
  959. package/dist/core/p-243ad74c.entry.js.map +0 -1
  960. package/dist/core/p-24a34d72.entry.js +0 -2
  961. package/dist/core/p-24a34d72.entry.js.map +0 -1
  962. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  963. package/dist/core/p-27274ca8.entry.js.map +0 -1
  964. package/dist/core/p-29afeb33.entry.js +0 -2
  965. package/dist/core/p-29afeb33.entry.js.map +0 -1
  966. package/dist/core/p-2cc0d6b9.entry.js +0 -2
  967. package/dist/core/p-2cc0d6b9.entry.js.map +0 -1
  968. package/dist/core/p-31c84a47.entry.js +0 -2
  969. package/dist/core/p-31c84a47.entry.js.map +0 -1
  970. package/dist/core/p-36ac5305.entry.js +0 -2
  971. package/dist/core/p-36ac5305.entry.js.map +0 -1
  972. package/dist/core/p-3ea4a005.entry.js +0 -2
  973. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  974. package/dist/core/p-404b482e.entry.js +0 -2
  975. package/dist/core/p-404b482e.entry.js.map +0 -1
  976. package/dist/core/p-419d3378.entry.js.map +0 -1
  977. package/dist/core/p-47038ea3.entry.js +0 -2
  978. package/dist/core/p-47038ea3.entry.js.map +0 -1
  979. package/dist/core/p-490bf0ee.entry.js +0 -2
  980. package/dist/core/p-490bf0ee.entry.js.map +0 -1
  981. package/dist/core/p-4e6e34fe.entry.js +0 -2
  982. package/dist/core/p-4e6e34fe.entry.js.map +0 -1
  983. package/dist/core/p-4fce49bd.entry.js +0 -2
  984. package/dist/core/p-4fce49bd.entry.js.map +0 -1
  985. package/dist/core/p-5b42dbef.entry.js +0 -2
  986. package/dist/core/p-5b42dbef.entry.js.map +0 -1
  987. package/dist/core/p-5be2c26a.entry.js.map +0 -1
  988. package/dist/core/p-5d5345a4.entry.js +0 -2
  989. package/dist/core/p-5d5345a4.entry.js.map +0 -1
  990. package/dist/core/p-5dcc0489.entry.js.map +0 -1
  991. package/dist/core/p-5f6d6b3f.entry.js +0 -2
  992. package/dist/core/p-5f6d6b3f.entry.js.map +0 -1
  993. package/dist/core/p-5f74782e.entry.js +0 -2
  994. package/dist/core/p-5f74782e.entry.js.map +0 -1
  995. package/dist/core/p-6227fff5.entry.js +0 -2
  996. package/dist/core/p-6227fff5.entry.js.map +0 -1
  997. package/dist/core/p-641e244d.entry.js.map +0 -1
  998. package/dist/core/p-6b5e91e2.js +0 -3
  999. package/dist/core/p-6b5e91e2.js.map +0 -1
  1000. package/dist/core/p-6c1cf351.entry.js.map +0 -1
  1001. package/dist/core/p-6e630778.entry.js.map +0 -1
  1002. package/dist/core/p-7c8cd719.entry.js +0 -2
  1003. package/dist/core/p-7c8cd719.entry.js.map +0 -1
  1004. package/dist/core/p-7fa74998.entry.js +0 -2
  1005. package/dist/core/p-7fa74998.entry.js.map +0 -1
  1006. package/dist/core/p-7ff4632d.entry.js +0 -2
  1007. package/dist/core/p-7ff4632d.entry.js.map +0 -1
  1008. package/dist/core/p-8452846e.entry.js.map +0 -1
  1009. package/dist/core/p-84c3a870.entry.js +0 -2
  1010. package/dist/core/p-84c3a870.entry.js.map +0 -1
  1011. package/dist/core/p-8624bb98.entry.js +0 -2
  1012. package/dist/core/p-8624bb98.entry.js.map +0 -1
  1013. package/dist/core/p-87aa30b4.entry.js.map +0 -1
  1014. package/dist/core/p-8b554299.entry.js.map +0 -1
  1015. package/dist/core/p-932f3e3c.js +0 -2
  1016. package/dist/core/p-932f3e3c.js.map +0 -1
  1017. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  1018. package/dist/core/p-9cfd6855.entry.js +0 -2
  1019. package/dist/core/p-9cfd6855.entry.js.map +0 -1
  1020. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  1021. package/dist/core/p-abb383bd.entry.js +0 -2
  1022. package/dist/core/p-abb383bd.entry.js.map +0 -1
  1023. package/dist/core/p-af934e73.entry.js +0 -2
  1024. package/dist/core/p-af934e73.entry.js.map +0 -1
  1025. package/dist/core/p-b73b7139.entry.js +0 -2
  1026. package/dist/core/p-b73b7139.entry.js.map +0 -1
  1027. package/dist/core/p-b9941d97.entry.js +0 -2
  1028. package/dist/core/p-b9941d97.entry.js.map +0 -1
  1029. package/dist/core/p-c1e93306.entry.js +0 -2
  1030. package/dist/core/p-c1e93306.entry.js.map +0 -1
  1031. package/dist/core/p-d21d8014.entry.js +0 -2
  1032. package/dist/core/p-d21d8014.entry.js.map +0 -1
  1033. package/dist/core/p-df957570.entry.js +0 -2
  1034. package/dist/core/p-df957570.entry.js.map +0 -1
  1035. package/dist/core/p-e1f8d915.entry.js +0 -2
  1036. package/dist/core/p-e1f8d915.entry.js.map +0 -1
  1037. package/dist/core/p-e4cb5585.entry.js.map +0 -1
  1038. package/dist/core/p-f073fc69.entry.js +0 -2
  1039. package/dist/core/p-f073fc69.entry.js.map +0 -1
  1040. package/dist/core/p-f2d9eefe.entry.js +0 -2
  1041. package/dist/core/p-f2d9eefe.entry.js.map +0 -1
  1042. package/dist/core/p-f37c6a76.entry.js.map +0 -1
  1043. package/dist/core/p-f7872eef.entry.js +0 -2
  1044. package/dist/core/p-f7872eef.entry.js.map +0 -1
  1045. package/dist/core/p-f9dceda0.entry.js +0 -2
  1046. package/dist/core/p-f9dceda0.entry.js.map +0 -1
  1047. package/dist/core/p-fac53f92.entry.js +0 -2
  1048. package/dist/core/p-fac53f92.entry.js.map +0 -1
  1049. package/dist/core/p-fddcf298.entry.js +0 -2
  1050. package/dist/core/p-fddcf298.entry.js.map +0 -1
  1051. package/dist/core/p-ffc150c5.entry.js +0 -2
  1052. package/dist/core/p-ffc150c5.entry.js.map +0 -1
  1053. package/dist/esm/helpers-2624c32c.js.map +0 -1
  1054. package/dist/esm/index-d1d2c456.js +0 -3016
  1055. package/dist/esm/index-d1d2c456.js.map +0 -1
  1056. package/dist/esm/polyfills/core-js.js +0 -11
  1057. package/dist/esm/polyfills/dom.js +0 -79
  1058. package/dist/esm/polyfills/es5-html-element.js +0 -1
  1059. package/dist/esm/polyfills/index.js +0 -34
  1060. package/dist/esm/polyfills/system.js +0 -6
  1061. package/dist/types/testspec.setup.d.ts +0 -24
@@ -2,16 +2,65 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-eca4c27e.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-a0a128bd.js');
7
7
 
8
8
  const icToggleButtonGroupCss = "/*! 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}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-toggle-button-unselected-border);border-radius:var(--ic-border-radius)}:host(.ic-toggle-button-group-full-width){width:100%;max-width:100%}:host(.ic-toggle-button-group-loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;width:-moz-min-content;width:min-content;--toggle-button-border:none !important;--toggle-button-border-hover:none !important;--toggle-button-border-active:none !important}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border)}:host(.ic-toggle-button-group-disabled){border:var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);pointer-events:none}:host(.ic-toggle-button-group-disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled)}:host(.ic-toggle-button-group-monochrome){border:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome)}:host(.ic-toggle-button-group-monochrome) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome)}:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome){border:var(--ic-border-width) dashed\n var(--ic-toggle-button-unselected-border-disabled-monochrome)}:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-disabled-monochrome)}";
9
+ const IcToggleButtonGroupStyle0 = icToggleButtonGroupCss;
9
10
 
10
11
  const TOGGLE_GROUP = "IC-TOGGLE-BUTTON-GROUP";
11
12
  const ToggleButtonGroup = class {
12
13
  constructor(hostRef) {
13
14
  index.registerInstance(this, hostRef);
14
15
  this.icChange = index.createEvent(this, "icChange", 7);
16
+ this.lastKeyPressed = {
17
+ key: null,
18
+ shift: false,
19
+ };
20
+ /**
21
+ * The accessible label of the toggle button group component to provide context for screen reader users.
22
+ */
23
+ this.accessibleLabel = "Toggle button group";
24
+ /**
25
+ * If `true`, the toggle button group will be set to the disabled state.
26
+ */
27
+ this.disabled = false;
28
+ /**
29
+ * If `true`, the toggle button group will fill the width of the container.
30
+ */
31
+ this.fullWidth = false;
32
+ /**
33
+ * If `true`, the toggle button group will be in loading state.
34
+ */
35
+ this.loading = false;
36
+ /**
37
+ * If `true`, the toggle button group will display as black in the light theme, and white in dark theme.
38
+ */
39
+ this.monochrome = false;
40
+ /**
41
+ * If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.
42
+ */
43
+ this.selectMethod = "manual";
44
+ /**
45
+ * Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.
46
+ */
47
+ this.selectType = "single";
48
+ /**
49
+ * The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.
50
+ */
51
+ this.size = "medium";
52
+ /**
53
+ * 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.
54
+ */
55
+ this.theme = "inherit";
56
+ /**
57
+ * The position of the tooltip in relation to the toggle buttons.
58
+ */
59
+ this.tooltipPlacement = "bottom";
60
+ /**
61
+ * The variant of the toggle button.
62
+ */
63
+ this.variant = "default";
15
64
  this.keyListener = (ev) => {
16
65
  this.lastKeyPressed = {
17
66
  key: ev.key,
@@ -19,10 +68,9 @@ const ToggleButtonGroup = class {
19
68
  };
20
69
  };
21
70
  this.setSlottedAria = (el) => {
22
- const btn = el.shadowRoot
23
- .querySelector("ic-button")
24
- .shadowRoot.querySelector("button");
25
- let aria = btn.getAttribute("aria-label");
71
+ var _a, _b, _c;
72
+ const btn = (_c = (_b = (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("ic-button")) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector("button");
73
+ let aria = btn.getAttribute("aria-label") || "";
26
74
  aria += ", ";
27
75
  aria += this.accessibleLabel;
28
76
  btn.setAttribute("aria-label", aria);
@@ -85,22 +133,6 @@ const ToggleButtonGroup = class {
85
133
  }
86
134
  return nextItem;
87
135
  };
88
- this.lastKeyPressed = {
89
- key: null,
90
- shift: false,
91
- };
92
- this.accessibleLabel = "Toggle button group";
93
- this.disabled = false;
94
- this.fullWidth = false;
95
- this.iconPlacement = undefined;
96
- this.loading = false;
97
- this.monochrome = false;
98
- this.selectMethod = "manual";
99
- this.selectType = "single";
100
- this.size = "medium";
101
- this.theme = "inherit";
102
- this.tooltipPlacement = "bottom";
103
- this.variant = "default";
104
136
  }
105
137
  watchDisabledHandler() {
106
138
  this.getAllToggleButtons().forEach((el) => {
@@ -149,7 +181,7 @@ const ToggleButtonGroup = class {
149
181
  // tabTarget used in proxySelectHandler
150
182
  tabTarget && tabTarget.focus();
151
183
  if (this.selectType === "single") {
152
- if (!clickedToggle) {
184
+ if (!clickedToggle && tabTarget) {
153
185
  clickedToggle = tabTarget;
154
186
  }
155
187
  allToggles.forEach((el) => {
@@ -206,14 +238,14 @@ const ToggleButtonGroup = class {
206
238
  return Array.from(this.el.querySelectorAll("ic-toggle-button"));
207
239
  }
208
240
  render() {
209
- return (index.h(index.Host, { role: "group", "aria-label": this.accessibleLabel, tabindex: 0, class: {
241
+ return (index.h(index.Host, { key: '38b50c347fb706a9cf4f047bacf37141b68d2163', role: "group", "aria-label": this.accessibleLabel, tabindex: 0, class: {
210
242
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
211
- ["ic-toggle-button-group-full-width"]: this.fullWidth,
212
- ["ic-toggle-button-group-loading"]: this.loading,
243
+ ["ic-toggle-button-group-full-width"]: !!this.fullWidth,
244
+ ["ic-toggle-button-group-loading"]: !!this.loading,
213
245
  ["ic-toggle-button-group-disabled"]: this.disabled,
214
- [`ic-toggle-button-group-monochrome`]: this.monochrome,
246
+ [`ic-toggle-button-group-monochrome`]: !!this.monochrome,
215
247
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
216
- }, onFocus: this.handleHostFocus }, index.h("slot", null)));
248
+ }, onFocus: this.handleHostFocus }, index.h("slot", { key: '5364b0056716f8a66296eb3a680961f8d2424b6d' })));
217
249
  }
218
250
  get el() { return index.getElement(this); }
219
251
  static get watchers() { return {
@@ -227,7 +259,7 @@ const ToggleButtonGroup = class {
227
259
  "variant": ["watchVariantHandler"]
228
260
  }; }
229
261
  };
230
- ToggleButtonGroup.style = icToggleButtonGroupCss;
262
+ ToggleButtonGroup.style = IcToggleButtonGroupStyle0;
231
263
 
232
264
  exports.ic_toggle_button_group = ToggleButtonGroup;
233
265
 
@@ -1 +1 @@
1
- {"file":"ic-toggle-button-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","h","Host"],"sources":["src/components/ic-toggle-button-group/ic-toggle-button-group.css?tag=ic-toggle-button-group&encapsulation=shadow","src/components/ic-toggle-button-group/ic-toggle-button-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* PARENT HOST */\n\n:root {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: fit-content;\n min-width: min-content;\n border: var(--ic-border-width) solid var(--ic-toggle-button-unselected-border);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.ic-toggle-button-group-full-width) {\n width: 100%;\n max-width: 100%;\n}\n\n:host(.ic-toggle-button-group-loading) {\n min-width: max-content;\n}\n\n:host(:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n/* CHILDREN SLOTTED */\n\n::slotted(ic-toggle-button) {\n flex-grow: 1;\n width: min-content;\n\n --toggle-button-border: none !important;\n --toggle-button-border-hover: none !important;\n --toggle-button-border-active: none !important;\n}\n\n::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border);\n}\n\n/* DISABLED */\n:host(.ic-toggle-button-group-disabled) {\n border: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n pointer-events: none;\n}\n\n:host(.ic-toggle-button-group-disabled)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n}\n\n:host(.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) dashed\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcSizes,\n IcSelectTypes,\n IcSelectMethodTypes,\n IcThemeMode,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-toggle-button-group.types\";\nimport { removeDisabledFalse } from \"../../utils/helpers\";\n\ninterface lastKey {\n key: string | null;\n shift: boolean;\n}\n\nconst TOGGLE_GROUP = \"IC-TOGGLE-BUTTON-GROUP\";\n\n@Component({\n tag: \"ic-toggle-button-group\",\n styleUrl: \"ic-toggle-button-group.css\",\n shadow: true,\n})\nexport class ToggleButtonGroup {\n @Element() el: HTMLIcToggleButtonGroupElement;\n\n @State() lastKeyPressed: lastKey = {\n key: null,\n shift: false,\n };\n\n /**\n * The accessible label of the toggle button group component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string = \"Toggle button group\";\n\n /**\n * If `true`, the toggle button group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button group will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n @Watch(\"fullWidth\")\n watchFullWidthHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.fullWidth = this.fullWidth;\n });\n }\n\n /**\n * The placement of the icons in relation to the toggle button labels.\n */\n @Prop() iconPlacement?: \"left\" | \"right\" | \"top\";\n\n /**\n * If `true`, the toggle button group will be in loading state.\n */\n @Prop() loading?: boolean = false;\n @Watch(\"loading\")\n watchLoadingHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.loading = this.loading;\n });\n }\n\n /**\n * If `true`, the toggle button group will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.monochrome = this.monochrome;\n });\n }\n\n /**\n * If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.\n */\n @Prop({ mutable: true }) selectMethod?: IcSelectMethodTypes = \"manual\";\n\n /**\n * Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.\n */\n @Prop() selectType?: IcSelectTypes = \"single\";\n\n /**\n * The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.size = this.size;\n });\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.getAllToggleButtons().forEach((el) => {\n el.theme = this.theme;\n });\n }\n\n /**\n * The position of the tooltip in relation to the toggle buttons.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n @Watch(\"tooltipPlacement\")\n watchTooltipPlacementHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.tooltipPlacement = this.tooltipPlacement;\n });\n }\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true }) variant: \"default\" | \"icon\" = \"default\";\n @Watch(\"variant\")\n watchVariantHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.variant = this.variant;\n });\n }\n\n /**\n * Emitted when a toggle button is selected.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icToggleChecked\")\n selectHandler(ev: CustomEvent, tabTarget?: HTMLIcToggleButtonElement): void {\n const allToggles = this.getAllToggleButtons();\n let clickedToggle = ev.target as HTMLIcToggleButtonElement;\n // tabTarget used in proxySelectHandler\n tabTarget && tabTarget.focus();\n if (this.selectType === \"single\") {\n if (!clickedToggle) {\n clickedToggle = tabTarget;\n }\n allToggles.forEach((el) => {\n if (el.id !== clickedToggle.id && el.checked) {\n el.checked = false;\n }\n });\n\n this.icChange.emit({\n checked: ev.detail.checked,\n selectedOption: clickedToggle,\n });\n } else {\n const toggledOptions = this.getAllToggleButtons().filter(\n (el) => el.checked && !el.disabled\n );\n\n this.icChange.emit({\n checked: toggledOptions.map((opt) => opt.checked),\n toggledOptions: toggledOptions.map((opt) => ({\n toggleButton: opt,\n })),\n selectedOption: clickedToggle,\n });\n }\n }\n\n componentWillLoad(): void {\n this.selectType === \"multi\" && (this.selectMethod = \"manual\");\n this.selectMethod === \"auto\" && this.selectType === \"single\";\n document.addEventListener(\"keydown\", this.keyListener);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.getAllToggleButtons().forEach((el, i) => {\n this.setSlottedAria(el);\n el.id = i.toString();\n el.tabIndex = -1;\n el.addEventListener(\"keydown\", (ev) => {\n this.handleKeyDown(ev);\n });\n el.classList.add(\"expand-toggle-group-child\");\n });\n }\n\n disconnectedCallback(): void {\n document?.removeEventListener(\"keydown\", this.keyListener);\n }\n\n private keyListener = (ev: KeyboardEvent) => {\n this.lastKeyPressed = {\n key: ev.key,\n shift: ev.shiftKey,\n };\n };\n\n private setSlottedAria = (el: HTMLIcToggleButtonElement) => {\n const btn = el.shadowRoot\n .querySelector(\"ic-button\")\n .shadowRoot.querySelector(\"button\") as HTMLButtonElement;\n let aria = btn.getAttribute(\"aria-label\");\n aria += \", \";\n aria += this.accessibleLabel;\n btn.setAttribute(\"aria-label\", aria);\n };\n\n private handleHostFocus = (ev: FocusEvent): void => {\n if (this.loading || this.disabled) {\n return null;\n }\n const el = ev.target as HTMLIcToggleButtonGroupElement;\n const relEl = ev.relatedTarget as HTMLIcToggleButtonElement;\n const toggleButtons = Array.from(el.querySelectorAll(\"ic-toggle-button\"));\n if (\n ((toggleButtons.every((el) => !el.checked) ||\n this.selectType !== \"single\") &&\n this.lastKeyPressed.shift === false) ||\n (toggleButtons.every((el) => !el.checked) &&\n this.lastKeyPressed.shift === true &&\n relEl.tagName == TOGGLE_GROUP)\n ) {\n toggleButtons[0].focus();\n } else if (\n this.lastKeyPressed.shift === false ||\n (this.lastKeyPressed.shift === true && relEl.tagName == TOGGLE_GROUP)\n ) {\n // if checked is true and selectMethod is \"single\", focus that toggle\n const toggledButton = toggleButtons.filter((el) => el.checked);\n toggledButton[0].focus();\n }\n };\n\n // trigger selectHandler when unable to add 'target'\n private proxySelectHandler(toggle: HTMLIcToggleButtonElement): void {\n toggle.checked = true;\n const customEv = new CustomEvent(\"icToggleChecked\", {\n detail: {\n checked: toggle.checked,\n },\n });\n this.selectHandler(customEv, toggle);\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const focussedChild = toggleButtonOptions.indexOf(\n toggleButtonOptions.filter((el) => el === document.activeElement)[0]\n );\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, true)\n ].focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ].focus();\n break;\n case \"Tab\":\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const numToggles = toggleButtonOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = numToggles;\n } else if (nextItem > numToggles) {\n nextItem = 0;\n }\n\n if (toggleButtonOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n private getAllToggleButtons(): HTMLIcToggleButtonElement[] {\n return Array.from(this.el.querySelectorAll(\"ic-toggle-button\"));\n }\n\n render() {\n return (\n <Host\n role=\"group\"\n aria-label={this.accessibleLabel}\n tabindex={0}\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-toggle-button-group-full-width\"]: this.fullWidth,\n [\"ic-toggle-button-group-loading\"]: this.loading,\n [\"ic-toggle-button-group-disabled\"]: this.disabled,\n [`ic-toggle-button-group-monochrome`]: this.monochrome,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n onFocus={this.handleHostFocus}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-toggle-button-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","h","Host"],"sources":["src/components/ic-toggle-button-group/ic-toggle-button-group.css?tag=ic-toggle-button-group&encapsulation=shadow","src/components/ic-toggle-button-group/ic-toggle-button-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* PARENT HOST */\n\n:root {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: fit-content;\n min-width: min-content;\n border: var(--ic-border-width) solid var(--ic-toggle-button-unselected-border);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.ic-toggle-button-group-full-width) {\n width: 100%;\n max-width: 100%;\n}\n\n:host(.ic-toggle-button-group-loading) {\n min-width: max-content;\n}\n\n:host(:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n/* CHILDREN SLOTTED */\n\n::slotted(ic-toggle-button) {\n flex-grow: 1;\n width: min-content;\n\n --toggle-button-border: none !important;\n --toggle-button-border-hover: none !important;\n --toggle-button-border-active: none !important;\n}\n\n::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border);\n}\n\n/* DISABLED */\n:host(.ic-toggle-button-group-disabled) {\n border: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n pointer-events: none;\n}\n\n:host(.ic-toggle-button-group-disabled)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);\n}\n\n:host(.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome) {\n border: var(--ic-border-width) dashed\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n\n:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome)\n ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-disabled-monochrome);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcSizes,\n IcSelectTypes,\n IcSelectMethodTypes,\n IcThemeMode,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-toggle-button-group.types\";\nimport { removeDisabledFalse } from \"../../utils/helpers\";\n\ninterface lastKey {\n key: string | null;\n shift: boolean;\n}\n\nconst TOGGLE_GROUP = \"IC-TOGGLE-BUTTON-GROUP\";\n\n@Component({\n tag: \"ic-toggle-button-group\",\n styleUrl: \"ic-toggle-button-group.css\",\n shadow: true,\n})\nexport class ToggleButtonGroup {\n @Element() el: HTMLIcToggleButtonGroupElement;\n\n @State() lastKeyPressed: lastKey = {\n key: null,\n shift: false,\n };\n\n /**\n * The accessible label of the toggle button group component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string = \"Toggle button group\";\n\n /**\n * If `true`, the toggle button group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button group will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n @Watch(\"fullWidth\")\n watchFullWidthHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.fullWidth = this.fullWidth;\n });\n }\n\n /**\n * The placement of the icons in relation to the toggle button labels.\n */\n @Prop() iconPlacement?: \"left\" | \"right\" | \"top\";\n\n /**\n * If `true`, the toggle button group will be in loading state.\n */\n @Prop() loading?: boolean = false;\n @Watch(\"loading\")\n watchLoadingHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.loading = this.loading;\n });\n }\n\n /**\n * If `true`, the toggle button group will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.monochrome = this.monochrome;\n });\n }\n\n /**\n * If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.\n */\n @Prop({ mutable: true }) selectMethod?: IcSelectMethodTypes = \"manual\";\n\n /**\n * Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.\n */\n @Prop() selectType?: IcSelectTypes = \"single\";\n\n /**\n * The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.\n */\n @Prop() size?: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.size = this.size;\n });\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.getAllToggleButtons().forEach((el) => {\n el.theme = this.theme;\n });\n }\n\n /**\n * The position of the tooltip in relation to the toggle buttons.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n @Watch(\"tooltipPlacement\")\n watchTooltipPlacementHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.tooltipPlacement = this.tooltipPlacement;\n });\n }\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true }) variant: \"default\" | \"icon\" = \"default\";\n @Watch(\"variant\")\n watchVariantHandler(): void {\n this.getAllToggleButtons().forEach((el) => {\n el.variant = this.variant;\n });\n }\n\n /**\n * Emitted when a toggle button is selected.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icToggleChecked\")\n selectHandler(ev: CustomEvent, tabTarget?: HTMLIcToggleButtonElement): void {\n const allToggles = this.getAllToggleButtons();\n let clickedToggle = ev.target as HTMLIcToggleButtonElement;\n // tabTarget used in proxySelectHandler\n tabTarget && tabTarget.focus();\n if (this.selectType === \"single\") {\n if (!clickedToggle && tabTarget) {\n clickedToggle = tabTarget;\n }\n allToggles.forEach((el) => {\n if (el.id !== clickedToggle.id && el.checked) {\n el.checked = false;\n }\n });\n\n this.icChange.emit({\n checked: ev.detail.checked,\n selectedOption: clickedToggle,\n });\n } else {\n const toggledOptions = this.getAllToggleButtons().filter(\n (el) => el.checked && !el.disabled\n );\n\n this.icChange.emit({\n checked: toggledOptions.map((opt) => opt.checked!),\n toggledOptions: toggledOptions.map((opt) => ({\n toggleButton: opt,\n })),\n selectedOption: clickedToggle,\n });\n }\n }\n\n componentWillLoad(): void {\n this.selectType === \"multi\" && (this.selectMethod = \"manual\");\n this.selectMethod === \"auto\" && this.selectType === \"single\";\n document.addEventListener(\"keydown\", this.keyListener);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n this.getAllToggleButtons().forEach((el, i) => {\n this.setSlottedAria(el);\n el.id = i.toString();\n el.tabIndex = -1;\n el.addEventListener(\"keydown\", (ev) => {\n this.handleKeyDown(ev);\n });\n el.classList.add(\"expand-toggle-group-child\");\n });\n }\n\n disconnectedCallback(): void {\n document?.removeEventListener(\"keydown\", this.keyListener);\n }\n\n private keyListener = (ev: KeyboardEvent) => {\n this.lastKeyPressed = {\n key: ev.key,\n shift: ev.shiftKey,\n };\n };\n\n private setSlottedAria = (el: HTMLIcToggleButtonElement) => {\n const btn = el.shadowRoot\n ?.querySelector(\"ic-button\")\n ?.shadowRoot?.querySelector(\"button\") as HTMLButtonElement;\n let aria = btn.getAttribute(\"aria-label\") || \"\";\n aria += \", \";\n aria += this.accessibleLabel;\n btn.setAttribute(\"aria-label\", aria);\n };\n\n private handleHostFocus = (ev: FocusEvent): void | null => {\n if (this.loading || this.disabled) {\n return null;\n }\n const el = ev.target as HTMLIcToggleButtonGroupElement;\n const relEl = ev.relatedTarget as HTMLIcToggleButtonElement;\n const toggleButtons = Array.from(el.querySelectorAll(\"ic-toggle-button\"));\n if (\n ((toggleButtons.every((el) => !el.checked) ||\n this.selectType !== \"single\") &&\n this.lastKeyPressed.shift === false) ||\n (toggleButtons.every((el) => !el.checked) &&\n this.lastKeyPressed.shift === true &&\n relEl.tagName == TOGGLE_GROUP)\n ) {\n toggleButtons[0].focus();\n } else if (\n this.lastKeyPressed.shift === false ||\n (this.lastKeyPressed.shift === true && relEl.tagName == TOGGLE_GROUP)\n ) {\n // if checked is true and selectMethod is \"single\", focus that toggle\n const toggledButton = toggleButtons.filter((el) => el.checked);\n toggledButton[0].focus();\n }\n };\n\n // trigger selectHandler when unable to add 'target'\n private proxySelectHandler(toggle: HTMLIcToggleButtonElement): void {\n toggle.checked = true;\n const customEv = new CustomEvent(\"icToggleChecked\", {\n detail: {\n checked: toggle.checked,\n },\n });\n this.selectHandler(customEv, toggle);\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const focussedChild = toggleButtonOptions.indexOf(\n toggleButtonOptions.filter((el) => el === document.activeElement)[0]\n );\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, true)\n ].focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ].focus();\n break;\n case \"Tab\":\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const numToggles = toggleButtonOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = numToggles;\n } else if (nextItem > numToggles) {\n nextItem = 0;\n }\n\n if (toggleButtonOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n private getAllToggleButtons(): HTMLIcToggleButtonElement[] {\n return Array.from(this.el.querySelectorAll(\"ic-toggle-button\"));\n }\n\n render() {\n return (\n <Host\n role=\"group\"\n aria-label={this.accessibleLabel}\n tabindex={0}\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-toggle-button-group-full-width\"]: !!this.fullWidth,\n [\"ic-toggle-button-group-loading\"]: !!this.loading,\n [\"ic-toggle-button-group-disabled\"]: this.disabled,\n [`ic-toggle-button-group-monochrome`]: !!this.monochrome,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n onFocus={this.handleHostFocus}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -2,16 +2,58 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-eca4c27e.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-a0a128bd.js');
7
7
 
8
- const icToggleButtonCss = "/*! 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{--toggle-button-border:var(--ic-toggle-button-unselected-border);--toggle-button-text-colour:var(--ic-toggle-button-unselected-text);--toggle-button-border-hover:var(--ic-toggle-button-unselected-border-hover);--toggle-button-text-colour-hover:var(\n --ic-toggle-button-unselected-text-hover\n );--toggle-button-border-active:var(\n --ic-toggle-button-unselected-border-pressed\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-unselected-text-pressed\n )}:host(.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border);--toggle-button-text-colour:var(--ic-toggle-button-selected-text);--toggle-button-border-hover:var(--ic-toggle-button-selected-border-hover);--toggle-button-text-colour-hover:var(--ic-toggle-button-selected-text);--toggle-button-border-active:var(\n --ic-toggle-button-selected-border-pressed\n );--toggle-button-text-colour-active:var(--ic-toggle-button-selected-text)}:host(.ic-toggle-button-monochrome){--toggle-button-border:var(--ic-toggle-button-unselected-border-monochrome);--toggle-button-text-colour:var(\n --ic-toggle-button-unselected-text-monochrome\n );--toggle-button-border-hover:var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );--toggle-button-text-colour-hover:var(\n --ic-toggle-button-unselected-text-monochrome\n );--toggle-button-border-active:var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-unselected-text-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border-monochrome);--toggle-button-text-colour:var(--ic-toggle-button-selected-text-monochrome);--toggle-button-border-hover:var(\n --ic-toggle-button-selected-border-hover-monochrome\n );--toggle-button-text-colour-hover:var(\n --ic-toggle-button-selected-text-monochrome\n );--toggle-button-border-active:var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-selected-text-monochrome\n )}:host(.ic-toggle-button-disabled){--toggle-button-border:var(--ic-toggle-button-unselected-border-disabled);--toggle-button-text-colour:var(--ic-toggle-button-unselected-text-disabled)}:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome){--toggle-button-border:var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );--toggle-button-text-colour:var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n )}:host(.ic-toggle-button-disabled.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border-disabled);--toggle-button-text-colour:var(--ic-toggle-button-selected-text-disabled)}:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome){--toggle-button-border:var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );--toggle-button-text-colour:var(\n --ic-toggle-button-selected-text-disabled-monochrome\n )}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host ic-button{--icon-width:var(--ic-space-lg);--icon-height:var(--ic-space-lg)}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--ic-border-width) solid var(--toggle-button-border);color:var(--toggle-button-text-colour)}:host ::part(button):hover{border:var(--ic-border-width) solid var(--toggle-button-border-hover);color:var(--toggle-button-text-colour-hover)}:host ::part(button):active{border:var(--ic-border-width) solid var(--toggle-button-border-active);color:var(--toggle-button-text-colour-active)}:host(.ic-toggle-button-disabled) ::part(button){border:var(--ic-space-1px) dashed var(--toggle-button-border);color:var(--toggle-button-text-colour)}:host(.ic-toggle-button-checked) ::part(button){background-color:var(--ic-toggle-button-selected-background);box-shadow:inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text)}:host(.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus)}:host ::part(button):hover{background-color:var(--ic-toggle-button-unselected-background-hover)}:host ::part(button):active{background-color:var(--ic-toggle-button-unselected-background-pressed)}:host(.ic-toggle-button-checked) ::part(button):hover{background-color:var(--ic-toggle-button-selected-background-hover)}:host(.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active{background-color:var(--ic-toggle-button-selected-background-pressed)}:host(.ic-toggle-button-monochrome) ::part(button):hover{background-color:var(\n --ic-toggle-button-unselected-background-hover-monochrome\n )}:host(.ic-toggle-button-monochrome) ::part(button):active{background-color:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button){background-color:var(--ic-toggle-button-selected-background-monochrome)}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):hover{background-color:var(\n --ic-toggle-button-selected-background-hover-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):active{background-color:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus)}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button){background-color:transparent}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button)::before{background-image:radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );background-repeat:no-repeat}:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) ::part(button)::before{background-image:radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );background-repeat:no-repeat}:host(.ic-toggle-button-icon) ::part(button){height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-toggle-button-icon) ::part(button):active{background-color:var(--ic-action-default-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active{background-color:var(--ic-action-dark-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active{background-color:var(--ic-action-light-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button){--loading-button-background:var(\n --ic-toggle-button-selected-background-pressed\n );background-color:var(--ic-toggle-button-selected-background-pressed)}:host(.ic-toggle-button-loading) ::part(button){--loading-button-background:var(\n --ic-toggle-button-unselected-background-pressed\n );background-color:var(--ic-toggle-button-unselected-background-pressed)}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(ic-loading-container){--inner-color:var(--ic-toggle-button-loading-bar)}:host(.ic-toggle-button-loading) ::part(ic-loading-container){--inner-color:var(--ic-toggle-button-selected-loading-bar)}:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button){--loading-button-background:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );background-color:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n )}:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button){--loading-button-background:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );background-color:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n )}@media (forced-colors: active){:host(.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-checked) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button){background-color:GrayText}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button):hover{--loading-button-background:Highlight}}";
8
+ const icToggleButtonCss = "/*! 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{--toggle-button-border:var(--ic-toggle-button-unselected-border);--toggle-button-text-colour:var(--ic-toggle-button-unselected-text);--toggle-button-border-hover:var(--ic-toggle-button-unselected-border-hover);--toggle-button-text-colour-hover:var(\n --ic-toggle-button-unselected-text-hover\n );--toggle-button-border-active:var(\n --ic-toggle-button-unselected-border-pressed\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-unselected-text-pressed\n )}:host(.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border);--toggle-button-text-colour:var(--ic-toggle-button-selected-text);--toggle-button-border-hover:var(--ic-toggle-button-selected-border-hover);--toggle-button-text-colour-hover:var(--ic-toggle-button-selected-text);--toggle-button-border-active:var(\n --ic-toggle-button-selected-border-pressed\n );--toggle-button-text-colour-active:var(--ic-toggle-button-selected-text)}:host(.ic-toggle-button-monochrome){--toggle-button-border:var(--ic-toggle-button-unselected-border-monochrome);--toggle-button-text-colour:var(\n --ic-toggle-button-unselected-text-monochrome\n );--toggle-button-border-hover:var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );--toggle-button-text-colour-hover:var(\n --ic-toggle-button-unselected-text-monochrome\n );--toggle-button-border-active:var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-unselected-text-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border-monochrome);--toggle-button-text-colour:var(--ic-toggle-button-selected-text-monochrome);--toggle-button-border-hover:var(\n --ic-toggle-button-selected-border-hover-monochrome\n );--toggle-button-text-colour-hover:var(\n --ic-toggle-button-selected-text-monochrome\n );--toggle-button-border-active:var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );--toggle-button-text-colour-active:var(\n --ic-toggle-button-selected-text-monochrome\n )}:host(.ic-toggle-button-disabled){--toggle-button-border:var(--ic-toggle-button-unselected-border-disabled);--toggle-button-text-colour:var(--ic-toggle-button-unselected-text-disabled)}:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome){--toggle-button-border:var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );--toggle-button-text-colour:var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n )}:host(.ic-toggle-button-disabled.ic-toggle-button-checked){--toggle-button-border:var(--ic-toggle-button-selected-border-disabled);--toggle-button-text-colour:var(--ic-toggle-button-selected-text-disabled)}:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome){--toggle-button-border:var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );--toggle-button-text-colour:var(\n --ic-toggle-button-selected-text-disabled-monochrome\n )}:host(.expand-toggle-group-child) ::part(button){width:100%;min-height:inherit;white-space:inherit;height:inherit}:host ic-button{--icon-width:var(--ic-space-lg);--icon-height:var(--ic-space-lg)}:host(.expand-toggle-group-child) ic-button{min-width:100%;min-height:100%;white-space:normal;height:100%}:host(.expand-toggle-group-child) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus)}:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus)}:host(:focus){z-index:1}:host ::part(button){border:var(--ic-border-width) solid var(--toggle-button-border);color:var(--toggle-button-text-colour)}:host ::part(button):hover{border:var(--ic-border-width) solid var(--toggle-button-border-hover);color:var(--toggle-button-text-colour-hover)}:host ::part(button):active{border:var(--ic-border-width) solid var(--toggle-button-border-active);color:var(--toggle-button-text-colour-active)}:host(.ic-toggle-button-disabled) ::part(button){border:var(--ic-space-1px) dashed var(--toggle-button-border);color:var(--toggle-button-text-colour)}:host(.ic-toggle-button-checked) ::part(button){background-color:var(--ic-toggle-button-selected-background);box-shadow:inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text)}:host(.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus)}:host ::part(button):hover{background-color:var(--ic-toggle-button-unselected-background-hover)}:host ::part(button):active{background-color:var(--ic-toggle-button-unselected-background-pressed)}:host(.ic-toggle-button-checked) ::part(button):hover{background-color:var(--ic-toggle-button-selected-background-hover)}:host(.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active{background-color:var(--ic-toggle-button-selected-background-pressed)}:host(.ic-toggle-button-monochrome) ::part(button):hover{background-color:var(\n --ic-toggle-button-unselected-background-hover-monochrome\n )}:host(.ic-toggle-button-monochrome) ::part(button):active{background-color:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button){background-color:var(--ic-toggle-button-selected-background-monochrome)}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):hover{background-color:var(\n --ic-toggle-button-selected-background-hover-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):active,:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):active{background-color:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n )}:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button):focus{box-shadow:inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus)}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button){background-color:transparent}:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button)::before{background-image:radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );background-repeat:no-repeat}:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) ::part(button),:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) ::part(button)::before{background-image:radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );background-repeat:no-repeat}:host(.ic-toggle-button-icon) ::part(button){height:calc(var(--ic-space-xl) + var(--ic-space-xs));width:calc(var(--ic-space-xl) + var(--ic-space-xs))}:host(.ic-toggle-button-icon) ::part(button):active{background-color:var(--ic-action-default-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active{background-color:var(--ic-action-dark-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active{background-color:var(--ic-action-light-bg-pressed)}:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button){height:var(--ic-space-xl);width:var(--ic-space-xl)}:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button){height:var(--ic-space-xxl);width:var(--ic-space-xxl)}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button){--loading-button-background:var(\n --ic-toggle-button-selected-background-pressed\n );background-color:var(--ic-toggle-button-selected-background-pressed)}:host(.ic-toggle-button-loading) ::part(button){--loading-button-background:var(\n --ic-toggle-button-unselected-background-pressed\n );background-color:var(--ic-toggle-button-unselected-background-pressed)}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(ic-loading-container){--inner-color:var(--ic-toggle-button-loading-bar)}:host(.ic-toggle-button-loading) ::part(ic-loading-container){--inner-color:var(--ic-toggle-button-selected-loading-bar)}:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button){--loading-button-background:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );background-color:var(\n --ic-toggle-button-selected-background-pressed-monochrome\n )}:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button){--loading-button-background:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );background-color:var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n )}@media (forced-colors: active){:host(.ic-toggle-button-checked) ::part(button),:host(.ic-toggle-button-checked) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover{background-color:Highlight}:host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button){background-color:GrayText}:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button):hover{--loading-button-background:Highlight}}";
9
+ const IcToggleButtonStyle0 = icToggleButtonCss;
9
10
 
10
11
  const ToggleButton = class {
11
12
  constructor(hostRef) {
12
13
  index.registerInstance(this, hostRef);
13
14
  this.icToggleChecked = index.createEvent(this, "icToggleChecked", 7);
15
+ /**
16
+ * If `true`, the toggle button will be in a checked state.
17
+ */
18
+ this.checked = false;
19
+ /**
20
+ * If `true`, the toggle button will be in disabled state.
21
+ */
22
+ this.disabled = false;
23
+ /**
24
+ * If `true`, the toggle button will fill the width of the container.
25
+ */
26
+ this.fullWidth = false;
27
+ /**
28
+ * The placement of the icon in relation to the toggle button label.
29
+ */
30
+ this.iconPlacement = "left";
31
+ /**
32
+ * If `true`, the toggle button will be in loading state.
33
+ */
34
+ this.loading = false;
35
+ /**
36
+ * If `true`, the toggle button will display as black in the light theme, and white in dark theme.
37
+ */
38
+ this.monochrome = false;
39
+ /**
40
+ * The size of the toggle button to be displayed.
41
+ */
42
+ this.size = "medium";
43
+ /**
44
+ * 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.
45
+ */
46
+ this.theme = "inherit";
47
+ /**
48
+ * The position of the tooltip in relation to the toggle button.
49
+ */
50
+ this.tooltipPlacement = "bottom";
51
+ /**
52
+ * The variant of the toggle button.
53
+ */
54
+ this.variant = "default";
14
55
  this.loopAttributes = () => {
56
+ var _a;
15
57
  const trackedAttributes = [
16
58
  "loading",
17
59
  "disabled",
@@ -22,36 +64,38 @@ const ToggleButton = class {
22
64
  "theme",
23
65
  "monochrome",
24
66
  ];
25
- const parentAttributes = this.el.parentElement.attributes;
67
+ const parentAttributes = (_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.attributes;
26
68
  for (let i = 0; i < trackedAttributes.length; i++) {
27
- if (parentAttributes.getNamedItem(trackedAttributes[i]) !== null) {
69
+ if (parentAttributes &&
70
+ parentAttributes.getNamedItem(trackedAttributes[i]) !== null) {
28
71
  const attribute = parentAttributes.getNamedItem(trackedAttributes[i]);
29
- switch (attribute.name) {
30
- case trackedAttributes[0]:
31
- this.loading = attribute.value !== "false";
32
- break;
33
- case trackedAttributes[1]:
34
- console.log(attribute.value);
35
- this.disabled = attribute.value !== "false";
36
- break;
37
- case trackedAttributes[2]:
38
- this.fullWidth = attribute.value !== "false";
39
- break;
40
- case trackedAttributes[3]:
41
- this.iconPlacement = attribute.value;
42
- break;
43
- case trackedAttributes[4]:
44
- this.variant = attribute.value;
45
- break;
46
- case trackedAttributes[5]:
47
- this.size = attribute.value;
48
- break;
49
- case trackedAttributes[6]:
50
- this.theme = attribute.value;
51
- break;
52
- case trackedAttributes[7]:
53
- this.monochrome = attribute.value !== "false";
54
- break;
72
+ if (attribute) {
73
+ switch (attribute.name) {
74
+ case trackedAttributes[0]:
75
+ this.loading = attribute.value !== "false";
76
+ break;
77
+ case trackedAttributes[1]:
78
+ this.disabled = attribute.value !== "false";
79
+ break;
80
+ case trackedAttributes[2]:
81
+ this.fullWidth = attribute.value !== "false";
82
+ break;
83
+ case trackedAttributes[3]:
84
+ this.iconPlacement = attribute.value;
85
+ break;
86
+ case trackedAttributes[4]:
87
+ this.variant = attribute.value;
88
+ break;
89
+ case trackedAttributes[5]:
90
+ this.size = attribute.value;
91
+ break;
92
+ case trackedAttributes[6]:
93
+ this.theme = attribute.value;
94
+ break;
95
+ case trackedAttributes[7]:
96
+ this.monochrome = attribute.value !== "false";
97
+ break;
98
+ }
55
99
  }
56
100
  }
57
101
  }
@@ -66,18 +110,6 @@ const ToggleButton = class {
66
110
  checked: this.checked,
67
111
  });
68
112
  };
69
- this.accessibleLabel = undefined;
70
- this.checked = false;
71
- this.disabled = false;
72
- this.fullWidth = false;
73
- this.iconPlacement = "left";
74
- this.label = undefined;
75
- this.loading = false;
76
- this.monochrome = false;
77
- this.size = "medium";
78
- this.theme = "inherit";
79
- this.tooltipPlacement = "bottom";
80
- this.variant = "default";
81
113
  }
82
114
  watchDisabledHandler() {
83
115
  helpers.removeDisabledFalse(this.disabled, this.el);
@@ -105,16 +137,16 @@ const ToggleButton = class {
105
137
  }
106
138
  }
107
139
  render() {
108
- return (index.h(index.Host, { class: {
140
+ return (index.h(index.Host, { key: '3af5618d6fcc757a400771e528fb0cf9f6bca618', class: {
109
141
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
110
- ["ic-toggle-button-disabled"]: this.disabled,
111
- ["ic-toggle-button-checked"]: this.checked,
142
+ ["ic-toggle-button-disabled"]: !!this.disabled,
143
+ ["ic-toggle-button-checked"]: !!this.checked,
112
144
  ["ic-toggle-button-icon"]: this.variant === "icon",
113
145
  [`ic-toggle-button-${this.size}`]: true,
114
- ["ic-toggle-button-loading"]: this.loading,
115
- ["ic-toggle-button-monochrome"]: this.monochrome,
146
+ ["ic-toggle-button-loading"]: !!this.loading,
147
+ ["ic-toggle-button-monochrome"]: !!this.monochrome,
116
148
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
117
- }, onFocus: this.handleFocus }, index.h("ic-button", { "aria-pressed": this.checked.toString(), variant: this.variant === "icon" ? "icon" : "secondary", onClick: this.handleClick, title: this.accessibleLabel, "aria-label": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.checked ? "ticked" : "unticked"}`, disabled: this.disabled, size: this.size, fullWidth: this.fullWidth, loading: this.loading, tooltipPlacement: this.tooltipPlacement }, this.variant !== "icon" && this.label, index.h("slot", null), helpers.isSlotUsed(this.el, "icon") && (index.h("slot", { name: "icon", slot: `${this.iconPlacement}-icon` })), helpers.isSlotUsed(this.el, "badge") && (index.h("slot", { name: "badge", slot: "badge" })))));
149
+ }, onFocus: this.handleFocus }, index.h("ic-button", { key: 'ebdfe0fb37f690d9cfd1b3fac8a00bf07adcb4bf', "aria-pressed": this.checked.toString(), variant: this.variant === "icon" ? "icon" : "secondary", onClick: this.handleClick, title: this.accessibleLabel, "aria-label": `${this.accessibleLabel ? this.accessibleLabel : this.label}, ${this.checked ? "ticked" : "unticked"}`, disabled: this.disabled, size: this.size, fullWidth: this.fullWidth, loading: this.loading, tooltipPlacement: this.tooltipPlacement }, this.variant !== "icon" && this.label, index.h("slot", { key: '70d7727fa11def0e2a584cf4f109f478c7ea890b' }), helpers.isSlotUsed(this.el, "icon") && (index.h("slot", { key: '1ea0fbc98887941e6aa06c8424c6d32c70236238', name: "icon", slot: `${this.iconPlacement}-icon` })), helpers.isSlotUsed(this.el, "badge") && (index.h("slot", { key: '9d15b5e6e2dc70c046d0425738601bbcd20500e2', name: "badge", slot: "badge" })))));
118
150
  }
119
151
  static get delegatesFocus() { return true; }
120
152
  get el() { return index.getElement(this); }
@@ -122,7 +154,7 @@ const ToggleButton = class {
122
154
  "disabled": ["watchDisabledHandler"]
123
155
  }; }
124
156
  };
125
- ToggleButton.style = icToggleButtonCss;
157
+ ToggleButton.style = IcToggleButtonStyle0;
126
158
 
127
159
  exports.ic_toggle_button = ToggleButton;
128
160
 
@@ -1 +1 @@
1
- {"file":"ic-toggle-button.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,iBAAiB,GAAG,uwYAAuwY;;MCoCpxY,YAAY;;;;QAwGf,mBAAc,GAAG;YACvB,MAAM,iBAAiB,GAAa;gBAClC,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,gBAAgB;gBAChB,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,YAAY;aACb,CAAC;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC;YAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,IAAI,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;oBAChE,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtE,QAAQ,SAAS,CAAC,IAAI;wBACpB,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;4BAC3C,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;4BAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;4BAC5C,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;4BAC7C,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,KAAiC,CAAC;4BACjE,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAA2B,CAAC;4BACrD,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAgB,CAAC;4BACvC,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAoB,CAAC;4BAC5C,MAAM;wBACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;4BACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;4BAC9C,MAAM;qBACT;iBACF;aACF;SACF,CAAC;QAEM,gBAAW,GAAG,CAAC,EAAc;YACnC,EAAE,CAAC,wBAAwB,EAAE,CAAC;SAC/B,CAAC;QAEM,gBAAW,GAAG;YACpB,CAAC,IAAI,CAAC,OAAO;gBACX,CAAC,IAAI,CAAC,QAAQ;gBACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACxB,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;SACN,CAAC;;uBArJyD,KAAK;wBAKlB,KAAK;yBASJ,KAAK;6BAKH,MAAM;;uBAUV,KAAK;0BAKF,KAAK;oBAKX,QAAQ;qBAKH,SAAS;gCAKH,QAAQ;uBAM3D,SAAS;;IAhDX,oBAAoB;QAClBA,2BAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC7C;IAuDD,iBAAiB;QACfA,2BAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAIC,wBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;IAED,gBAAgB;QACdC,wCAAgC,CAC9B;YACE;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;gBACjE,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,kBAAkB,GAAG,OAAO;aACjE;SACF,EACD,eAAe,CAChB,CAAC;KACH;IAGD,eAAe,CAAC,CAAQ;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,CAAC,CAAC,wBAAwB,EAAE,CAAC;SAC9B;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;IA4DD,MAAM;QACJ,QACEC,QAACC,UAAI,IACH,KAAK,EAAE;gBACL,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;gBACpD,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ;gBAC5C,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO;gBAC1C,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM;gBAClD,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI;gBACvC,CAAC,0BAA0B,GAAG,IAAI,CAAC,OAAO;gBAC1C,CAAC,6BAA6B,GAAG,IAAI,CAAC,UAAU;gBAChD,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;aACrD,EACD,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzBD,uCACgB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EACrC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW,EACvD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,eAAe,gBACf,GACV,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KACrD,KAAK,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,EAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAEtC,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EACtCA,qBAAQ,EACPE,kBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAC1BF,kBAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,OAAO,GAAS,CAC9D,EACAE,kBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,KAC3BF,kBAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAQ,CACxC,CACS,CACP,EACP;KACH;;;;;;;;;;;","names":["removeDisabledFalse","isSlottedInGroup","onComponentRequiredPropUndefined","h","Host","isSlotUsed"],"sources":["src/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","src/components/ic-toggle-button/ic-toggle-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(\n .ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome\n ) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n min-height: inherit;\n white-space: inherit;\n height: inherit;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n white-space: normal;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n color: var(--toggle-button-text-colour-hover);\n}\n\n:host ::part(button):active {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n color: var(--toggle-button-text-colour-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n border: var(--ic-space-1px) dashed var(--toggle-button-border);\n color: var(--toggle-button-text-colour);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-architectural-white),\n var(--ic-border-focus);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(\n .ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked\n )\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(\n .ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome\n )\n ::part(button),\n:host(\n .ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome\n )\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(\n .ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome\n )\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Event,\n EventEmitter,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isSlottedInGroup,\n} from \"../../utils/helpers\";\nimport {\n IcSizes,\n IcThemeMode,\n IcIconPlacementOptions,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\n\n@Component({\n tag: \"ic-toggle-button\",\n styleUrl: \"ic-toggle-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ToggleButton {\n @Element() el: HTMLIcToggleButtonElement;\n\n /**\n * The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\n */\n @Prop() accessibleLabel?: string;\n\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n @Prop({ mutable: true }) fullWidth?: boolean = false;\n\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n @Prop() iconPlacement?: IcIconPlacementOptions = \"left\";\n\n /**\n * The label to display in the toggle button. This is required for the default variant of toggle buttons.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the toggle button will be in loading state.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * The size of the toggle button to be displayed.\n */\n @Prop({ mutable: true }) size?: IcSizes = \"medium\";\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({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n @Prop() tooltipPlacement: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true, mutable: true }) variant: \"default\" | \"icon\" =\n \"default\";\n\n /**\n * Emitted when the user clicks a toggle button.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (isSlottedInGroup(this.el)) {\n this.loopAttributes();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ],\n \"Toggle button\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n } else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n\n private loopAttributes = () => {\n const trackedAttributes: string[] = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n ];\n const parentAttributes = this.el.parentElement.attributes;\n for (let i = 0; i < trackedAttributes.length; i++) {\n if (parentAttributes.getNamedItem(trackedAttributes[i]) !== null) {\n const attribute = parentAttributes.getNamedItem(trackedAttributes[i]);\n switch (attribute.name) {\n case trackedAttributes[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case trackedAttributes[1]:\n console.log(attribute.value);\n this.disabled = attribute.value !== \"false\";\n break;\n case trackedAttributes[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case trackedAttributes[3]:\n this.iconPlacement = attribute.value as \"left\" | \"right\" | \"top\";\n break;\n case trackedAttributes[4]:\n this.variant = attribute.value as \"default\" | \"icon\";\n break;\n case trackedAttributes[5]:\n this.size = attribute.value as IcSizes;\n break;\n case trackedAttributes[6]:\n this.theme = attribute.value as IcThemeMode;\n break;\n case trackedAttributes[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n }\n }\n }\n };\n\n private handleFocus = (ev: FocusEvent) => {\n ev.stopImmediatePropagation();\n };\n\n private handleClick = (): void => {\n !this.loading &&\n !this.disabled &&\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n };\n\n render() {\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-toggle-button-disabled\"]: this.disabled,\n [\"ic-toggle-button-checked\"]: this.checked,\n [\"ic-toggle-button-icon\"]: this.variant === \"icon\",\n [`ic-toggle-button-${this.size}`]: true,\n [\"ic-toggle-button-loading\"]: this.loading,\n [\"ic-toggle-button-monochrome\"]: this.monochrome,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n onFocus={this.handleFocus}\n >\n <ic-button\n aria-pressed={this.checked.toString()}\n variant={this.variant === \"icon\" ? \"icon\" : \"secondary\"}\n onClick={this.handleClick}\n title={this.accessibleLabel}\n aria-label={`${\n this.accessibleLabel ? this.accessibleLabel : this.label\n }, ${this.checked ? \"ticked\" : \"unticked\"}`}\n disabled={this.disabled}\n size={this.size}\n fullWidth={this.fullWidth}\n loading={this.loading}\n tooltipPlacement={this.tooltipPlacement}\n >\n {this.variant !== \"icon\" && this.label}\n <slot />\n {isSlotUsed(this.el, \"icon\") && (\n <slot name=\"icon\" slot={`${this.iconPlacement}-icon`}></slot>\n )}\n {isSlotUsed(this.el, \"badge\") && (\n <slot name=\"badge\" slot=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-toggle-button.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,iBAAiB,GAAG,yyYAAyyY,CAAC;AACp0Y,6BAAe,iBAAiB;;MCmCnB,YAAY;IAPzB;;;;;;QAkB0C,YAAO,GAAa,KAAK,CAAC;;;;QAKzC,aAAQ,GAAa,KAAK,CAAC;;;;QAS3B,cAAS,GAAa,KAAK,CAAC;;;;QAK7C,kBAAa,GAA4B,MAAM,CAAC;;;;QAU/B,YAAO,GAAa,KAAK,CAAC;;;;QAK1B,eAAU,GAAa,KAAK,CAAC;;;;QAK7B,SAAI,GAAa,QAAQ,CAAC;;;;QAK1B,UAAK,GAAiB,SAAS,CAAC;;;;QAKjD,qBAAgB,GAA8B,QAAQ,CAAC;;;;QAKvB,YAAO,GAC7C,SAAS,CAAC;QAsCJ,mBAAc,GAAG;;YACvB,MAAM,iBAAiB,GAAa;gBAClC,SAAS;gBACT,UAAU;gBACV,YAAY;gBACZ,gBAAgB;gBAChB,SAAS;gBACT,MAAM;gBACN,OAAO;gBACP,YAAY;aACb,CAAC;YACF,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,aAAa,0CAAE,UAAU,CAAC;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACjD,IACE,gBAAgB;oBAChB,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAC5D;oBACA,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtE,IAAI,SAAS,EAAE;wBACb,QAAQ,SAAS,CAAC,IAAI;4BACpB,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;gCAC3C,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;gCAC5C,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;gCAC7C,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,KAAiC,CAAC;gCACjE,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAA2B,CAAC;gCACrD,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,KAAgB,CAAC;gCACvC,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAoB,CAAC;gCAC5C,MAAM;4BACR,KAAK,iBAAiB,CAAC,CAAC,CAAC;gCACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,KAAK,KAAK,OAAO,CAAC;gCAC9C,MAAM;yBACT;qBACF;iBACF;aACF;SACF,CAAC;QAEM,gBAAW,GAAG,CAAC,EAAc;YACnC,EAAE,CAAC,wBAAwB,EAAE,CAAC;SAC/B,CAAC;QAEM,gBAAW,GAAG;YACpB,CAAC,IAAI,CAAC,OAAO;gBACX,CAAC,IAAI,CAAC,QAAQ;gBACd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;oBACxB,OAAO,EAAE,IAAI,CAAC,OAAQ;iBACvB,CAAC,CAAC;SACN,CAAC;KA2CH;IA7LC,oBAAoB;QAClBA,2BAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;KAC7C;IAuDD,iBAAiB;QACfA,2BAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5C,IAAIC,wBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;KACF;IAED,gBAAgB;QACdC,wCAAgC,CAC9B;YACE;gBACE,IAAI,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK;gBACjE,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,kBAAkB,GAAG,OAAO;aACjE;SACF,EACD,eAAe,CAChB,CAAC;KACH;IAGD,eAAe,CAAC,CAAQ;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,CAAC,CAAC,wBAAwB,EAAE,CAAC;SAC9B;aAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;SAC9B;KACF;IAgED,MAAM;QACJ,QACEC,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;gBACpD,CAAC,2BAA2B,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;gBAC9C,CAAC,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO;gBAC5C,CAAC,uBAAuB,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM;gBAClD,CAAC,oBAAoB,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI;gBACvC,CAAC,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO;gBAC5C,CAAC,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU;gBAClD,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS;aACrD,EACD,OAAO,EAAE,IAAI,CAAC,WAAW,IAEzBD,wFACgB,IAAI,CAAC,OAAQ,CAAC,QAAQ,EAAE,EACtC,OAAO,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,MAAM,GAAG,WAAW,EACvD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,eAAe,gBACf,GACV,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KACrD,KAAK,IAAI,CAAC,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,EAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAEtC,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,EACtCA,oEAAQ,EACPE,kBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAC1BF,mEAAM,IAAI,EAAC,MAAM,EAAC,IAAI,EAAE,GAAG,IAAI,CAAC,aAAa,OAAO,GAAS,CAC9D,EACAE,kBAAU,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,KAC3BF,mEAAM,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,GAAQ,CACxC,CACS,CACP,EACP;KACH;;;;;;;;;;;","names":["removeDisabledFalse","isSlottedInGroup","onComponentRequiredPropUndefined","h","Host","isSlotUsed"],"sources":["src/components/ic-toggle-button/ic-toggle-button.css?tag=ic-toggle-button&encapsulation=shadow","src/components/ic-toggle-button/ic-toggle-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* VARIABLES FOR IC-TOGGLE-BUTTON-GROUP */\n:host {\n --toggle-button-border: var(--ic-toggle-button-unselected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-unselected-border-hover);\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-hover\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-pressed\n );\n}\n\n:host(.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text);\n --toggle-button-border-hover: var(--ic-toggle-button-selected-border-hover);\n --toggle-button-text-colour-hover: var(--ic-toggle-button-selected-text);\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed\n );\n --toggle-button-text-colour-active: var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-monochrome) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-monochrome);\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-hover: var(\n --ic-toggle-button-unselected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-unselected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-unselected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-monochrome);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-monochrome);\n --toggle-button-border-hover: var(\n --ic-toggle-button-selected-border-hover-monochrome\n );\n --toggle-button-text-colour-hover: var(\n --ic-toggle-button-selected-text-monochrome\n );\n --toggle-button-border-active: var(\n --ic-toggle-button-selected-border-pressed-monochrome\n );\n --toggle-button-text-colour-active: var(\n --ic-toggle-button-selected-text-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled) {\n --toggle-button-border: var(--ic-toggle-button-unselected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-unselected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-unselected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-unselected-text-disabled-monochrome\n );\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) {\n --toggle-button-border: var(--ic-toggle-button-selected-border-disabled);\n --toggle-button-text-colour: var(--ic-toggle-button-selected-text-disabled);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome) {\n --toggle-button-border: var(\n --ic-toggle-button-selected-border-disabled-monochrome\n );\n --toggle-button-text-colour: var(\n --ic-toggle-button-selected-text-disabled-monochrome\n );\n}\n\n:host(.expand-toggle-group-child) ::part(button) {\n width: 100%;\n min-height: inherit;\n white-space: inherit;\n height: inherit;\n}\n\n:host ic-button {\n --icon-width: var(--ic-space-lg);\n --icon-height: var(--ic-space-lg);\n}\n\n:host(.expand-toggle-group-child) ic-button {\n min-width: 100%;\n min-height: 100%;\n white-space: normal;\n height: 100%;\n}\n\n:host(.expand-toggle-group-child) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-default),\n var(--ic-border-focus);\n}\n\n:host(.expand-toggle-group-child.ic-toggle-button-light) ::part(button):focus,\n:host(.expand-toggle-group-child.ic-toggle-button-dark) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs) var(--ic-action-monochrome-dark),\n var(--ic-border-focus);\n}\n\n:host(:focus) {\n z-index: 1;\n}\n\n:host ::part(button) {\n border: var(--ic-border-width) solid var(--toggle-button-border);\n color: var(--toggle-button-text-colour);\n}\n\n:host ::part(button):hover {\n border: var(--ic-border-width) solid var(--toggle-button-border-hover);\n color: var(--toggle-button-text-colour-hover);\n}\n\n:host ::part(button):active {\n border: var(--ic-border-width) solid var(--toggle-button-border-active);\n color: var(--toggle-button-text-colour-active);\n}\n\n:host(.ic-toggle-button-disabled) ::part(button) {\n border: var(--ic-space-1px) dashed var(--toggle-button-border);\n color: var(--toggle-button-text-colour);\n}\n\n:host(.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background);\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-border-focus),\n var(--ic-border-focus);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-toggle-button-unselected-background-hover);\n}\n\n:host ::part(button):active {\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: var(--ic-toggle-button-selected-background-hover);\n}\n\n:host(.ic-toggle-button-checked) ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-checked) ::part(button):active {\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):hover {\n background-color: var(\n --ic-toggle-button-unselected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome) ::part(button):active {\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked) ::part(button) {\n background-color: var(--ic-toggle-button-selected-background-monochrome);\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):hover {\n background-color: var(\n --ic-toggle-button-selected-background-hover-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active,\n:host(.ic-toggle-button-icon.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):active {\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-monochrome.ic-toggle-button-checked)\n ::part(button):focus {\n box-shadow: inset 0 0 0 var(--ic-space-xxxs)\n var(--ic-toggle-button-selected-text),\n var(--ic-border-focus);\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button) {\n background-color: transparent;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked) ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button),\n:host(.ic-toggle-button-icon.ic-toggle-button-disabled.ic-toggle-button-checked.ic-toggle-button-monochrome)\n ::part(button)::before {\n background-image: radial-gradient(\n var(--ic-toggle-button-selected-background-disabled-monochrome) 95%,\n white 20%\n );\n background-repeat: no-repeat;\n}\n\n:host(.ic-toggle-button-icon) ::part(button) {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs));\n width: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n:host(.ic-toggle-button-icon) ::part(button):active {\n background-color: var(--ic-action-default-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-dark) ::part(button):active {\n background-color: var(--ic-action-dark-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-light) ::part(button):active {\n background-color: var(--ic-action-light-bg-pressed);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-small) ::part(button) {\n height: var(--ic-space-xl);\n width: var(--ic-space-xl);\n}\n\n:host(.ic-toggle-button-icon.ic-toggle-button-large) ::part(button) {\n height: var(--ic-space-xxl);\n width: var(--ic-space-xxl);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed\n );\n background-color: var(--ic-toggle-button-selected-background-pressed);\n}\n\n:host(.ic-toggle-button-loading) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed\n );\n background-color: var(--ic-toggle-button-unselected-background-pressed);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-loading-bar);\n}\n\n:host(.ic-toggle-button-loading) ::part(ic-loading-container) {\n --inner-color: var(--ic-toggle-button-selected-loading-bar);\n}\n\n:host(.ic-toggle-button-checked.ic-toggle-button-loading.ic-toggle-button-monochrome)\n ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n background-color: var(\n --ic-toggle-button-selected-background-pressed-monochrome\n );\n}\n\n:host(.ic-toggle-button-loading.ic-toggle-button-monochrome) ::part(button) {\n --loading-button-background: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n background-color: var(\n --ic-toggle-button-unselected-background-pressed-monochrome\n );\n}\n\n@media (forced-colors: active) {\n :host(.ic-toggle-button-checked) ::part(button),\n :host(.ic-toggle-button-checked) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-light) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-dark) ::part(button):hover {\n background-color: Highlight;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-disabled) ::part(button) {\n background-color: GrayText;\n }\n\n :host(.ic-toggle-button-checked.ic-toggle-button-loading) ::part(button),\n :host(.ic-toggle-button-checked.ic-toggle-button-loading)\n ::part(button):hover {\n --loading-button-background: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Event,\n EventEmitter,\n Listen,\n h,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isSlottedInGroup,\n} from \"../../utils/helpers\";\nimport {\n IcSizes,\n IcThemeMode,\n IcIconPlacementOptions,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be displayed alongside the toggle button label.\n * @slot badge - Badge component overlaying the top right of the toggle button.\n */\n\n@Component({\n tag: \"ic-toggle-button\",\n styleUrl: \"ic-toggle-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class ToggleButton {\n @Element() el: HTMLIcToggleButtonElement;\n\n /**\n * The accessible label that will be applied to the toggle button. This is required for the icon variant of toggle buttons.\n */\n @Prop() accessibleLabel?: string;\n\n /**\n * If `true`, the toggle button will be in a checked state.\n */\n @Prop({ mutable: true, reflect: true }) checked?: boolean = false;\n\n /**\n * If `true`, the toggle button will be in disabled state.\n */\n @Prop({ mutable: true }) disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the toggle button will fill the width of the container.\n */\n @Prop({ mutable: true }) fullWidth?: boolean = false;\n\n /**\n * The placement of the icon in relation to the toggle button label.\n */\n @Prop() iconPlacement?: IcIconPlacementOptions = \"left\";\n\n /**\n * The label to display in the toggle button. This is required for the default variant of toggle buttons.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the toggle button will be in loading state.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n /**\n * If `true`, the toggle button will display as black in the light theme, and white in dark theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * The size of the toggle button to be displayed.\n */\n @Prop({ mutable: true }) size?: IcSizes = \"medium\";\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({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the toggle button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true, mutable: true }) variant?: \"default\" | \"icon\" =\n \"default\";\n\n /**\n * Emitted when the user clicks a toggle button.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (isSlottedInGroup(this.el)) {\n this.loopAttributes();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n {\n prop: this.variant === \"icon\" ? this.accessibleLabel : this.label,\n propName: this.variant === \"icon\" ? \"accessible-label\" : \"label\",\n },\n ],\n \"Toggle button\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n } else if (!this.loading) {\n this.checked = !this.checked;\n }\n }\n\n private loopAttributes = () => {\n const trackedAttributes: string[] = [\n \"loading\",\n \"disabled\",\n \"full-width\",\n \"icon-placement\",\n \"variant\",\n \"size\",\n \"theme\",\n \"monochrome\",\n ];\n const parentAttributes = this.el.parentElement?.attributes;\n for (let i = 0; i < trackedAttributes.length; i++) {\n if (\n parentAttributes &&\n parentAttributes.getNamedItem(trackedAttributes[i]) !== null\n ) {\n const attribute = parentAttributes.getNamedItem(trackedAttributes[i]);\n if (attribute) {\n switch (attribute.name) {\n case trackedAttributes[0]:\n this.loading = attribute.value !== \"false\";\n break;\n case trackedAttributes[1]:\n this.disabled = attribute.value !== \"false\";\n break;\n case trackedAttributes[2]:\n this.fullWidth = attribute.value !== \"false\";\n break;\n case trackedAttributes[3]:\n this.iconPlacement = attribute.value as \"left\" | \"right\" | \"top\";\n break;\n case trackedAttributes[4]:\n this.variant = attribute.value as \"default\" | \"icon\";\n break;\n case trackedAttributes[5]:\n this.size = attribute.value as IcSizes;\n break;\n case trackedAttributes[6]:\n this.theme = attribute.value as IcThemeMode;\n break;\n case trackedAttributes[7]:\n this.monochrome = attribute.value !== \"false\";\n break;\n }\n }\n }\n }\n };\n\n private handleFocus = (ev: FocusEvent) => {\n ev.stopImmediatePropagation();\n };\n\n private handleClick = (): void => {\n !this.loading &&\n !this.disabled &&\n this.icToggleChecked.emit({\n checked: this.checked!,\n });\n };\n\n render() {\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-toggle-button-disabled\"]: !!this.disabled,\n [\"ic-toggle-button-checked\"]: !!this.checked,\n [\"ic-toggle-button-icon\"]: this.variant === \"icon\",\n [`ic-toggle-button-${this.size}`]: true,\n [\"ic-toggle-button-loading\"]: !!this.loading,\n [\"ic-toggle-button-monochrome\"]: !!this.monochrome,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n onFocus={this.handleFocus}\n >\n <ic-button\n aria-pressed={this.checked!.toString()}\n variant={this.variant === \"icon\" ? \"icon\" : \"secondary\"}\n onClick={this.handleClick}\n title={this.accessibleLabel}\n aria-label={`${\n this.accessibleLabel ? this.accessibleLabel : this.label\n }, ${this.checked ? \"ticked\" : \"unticked\"}`}\n disabled={this.disabled}\n size={this.size}\n fullWidth={this.fullWidth}\n loading={this.loading}\n tooltipPlacement={this.tooltipPlacement}\n >\n {this.variant !== \"icon\" && this.label}\n <slot />\n {isSlotUsed(this.el, \"icon\") && (\n <slot name=\"icon\" slot={`${this.iconPlacement}-icon`}></slot>\n )}\n {isSlotUsed(this.el, \"badge\") && (\n <slot name=\"badge\" slot=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"version":3}