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

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 (967) hide show
  1. package/README.md +5 -4
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-f1cf5156.js → helpers-eca4c27e.js} +80 -29
  4. package/dist/cjs/helpers-eca4c27e.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +10 -10
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +12 -5
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +9 -14
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +26 -3
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +49 -4
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +28 -26
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +48 -47
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +21 -6
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +10 -4
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +27 -15
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-dialog.cjs.entry.js +32 -9
  33. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-divider.cjs.entry.js +73 -9
  35. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-empty-state.cjs.entry.js +7 -15
  37. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +8 -7
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +24 -14
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +7 -15
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +17 -9
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +486 -200
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +24 -26
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-link.cjs.entry.js +10 -12
  53. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -3
  55. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-menu-item.cjs.entry.js +25 -18
  57. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
  59. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-group.cjs.entry.js +10 -8
  61. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-item.cjs.entry.js +60 -8
  63. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  65. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-page-header.cjs.entry.js +8 -6
  67. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-pagination-item.cjs.entry.js +12 -11
  69. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-pagination.cjs.entry.js +23 -15
  71. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-popover-menu.cjs.entry.js +47 -25
  73. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-radio-group.cjs.entry.js +60 -29
  75. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-radio-option.cjs.entry.js +42 -22
  77. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-search-bar.cjs.entry.js +54 -56
  79. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-select.cjs.entry.js +192 -66
  81. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -11
  83. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  87. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  89. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  91. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-switch.cjs.entry.js +21 -16
  93. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab-context.cjs.entry.js +60 -123
  95. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  97. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab.cjs.entry.js +10 -8
  101. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-text-field.cjs.entry.js +43 -23
  103. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  105. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  107. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +62 -12
  109. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-toggle-button.cjs.entry.js +64 -9
  111. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
  113. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  115. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  116. package/dist/cjs/index-f982899d.js +4 -4
  117. package/dist/cjs/loader.cjs.js +1 -1
  118. package/dist/collection/ag-theme-icds.css +218 -0
  119. package/dist/collection/collection-manifest.json +3 -3
  120. package/dist/collection/components/ic-accordion/ic-accordion.css +22 -20
  121. package/dist/collection/components/ic-accordion/ic-accordion.js +37 -31
  122. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  123. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  124. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +6 -3
  125. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  126. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -12
  127. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +18 -18
  128. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  129. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -3
  130. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  131. package/dist/collection/components/ic-alert/ic-alert.css +38 -20
  132. package/dist/collection/components/ic-alert/ic-alert.js +52 -33
  133. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  134. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  135. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +22 -4
  136. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  137. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +5 -2
  138. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +31 -4
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  140. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +162 -0
  141. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +14 -0
  142. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  143. package/dist/collection/components/ic-badge/ic-badge.css +5 -5
  144. package/dist/collection/components/ic-badge/ic-badge.js +42 -4
  145. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  146. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  147. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +194 -0
  148. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  149. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +27 -8
  150. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +52 -4
  151. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  152. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +49 -5
  153. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
  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 +690 -420
  158. package/dist/collection/components/ic-button/ic-button.js +64 -46
  159. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  160. package/dist/collection/components/ic-button/ic-button.stories.js +2208 -0
  161. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  162. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
  163. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  164. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +102 -113
  165. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +80 -52
  166. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  167. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  168. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +44 -3
  169. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -1
  170. package/dist/collection/components/ic-checkbox/ic-checkbox.css +71 -39
  171. package/dist/collection/components/ic-checkbox/ic-checkbox.js +35 -3
  172. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  173. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +15 -2
  174. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +46 -3
  175. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  176. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  177. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
  178. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  179. package/dist/collection/components/ic-chip/ic-chip.css +64 -49
  180. package/dist/collection/components/ic-chip/ic-chip.js +66 -15
  181. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  182. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  183. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +19 -0
  184. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  185. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +14 -10
  186. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  187. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  188. package/dist/collection/components/ic-dialog/ic-dialog.css +16 -9
  189. package/dist/collection/components/ic-dialog/ic-dialog.js +57 -10
  190. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1066 -0
  192. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +27 -7
  193. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  194. package/dist/collection/components/ic-divider/ic-divider.css +295 -4
  195. package/dist/collection/components/ic-divider/ic-divider.js +239 -12
  196. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  197. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  198. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  199. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  200. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +90 -5
  201. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  202. package/dist/collection/components/ic-empty-state/ic-empty-state.css +15 -0
  203. package/dist/collection/components/ic-empty-state/ic-empty-state.js +31 -15
  204. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  205. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  206. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +101 -0
  207. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  208. package/dist/collection/components/ic-footer/ic-footer.css +21 -20
  209. package/dist/collection/components/ic-footer/ic-footer.js +26 -16
  210. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  211. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  212. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +43 -2
  213. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  214. package/dist/collection/components/ic-footer-link/ic-footer-link.css +24 -6
  215. package/dist/collection/components/ic-footer-link/ic-footer-link.js +9 -8
  216. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  217. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  218. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  219. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +11 -19
  220. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +7 -8
  221. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  222. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +1 -1
  223. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  224. package/dist/collection/components/ic-hero/ic-hero.css +25 -10
  225. package/dist/collection/components/ic-hero/ic-hero.js +10 -18
  226. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  227. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  228. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +23 -5
  229. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  230. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +2 -6
  231. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +67 -11
  232. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  233. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  234. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  235. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +40 -17
  236. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +23 -48
  237. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  238. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +30 -3
  239. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  240. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -20
  241. package/dist/collection/components/ic-input-label/ic-input-label.js +53 -34
  242. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  243. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +35 -49
  244. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  245. package/dist/collection/components/ic-input-validation/ic-input-validation.css +12 -3
  246. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  247. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  248. package/dist/collection/components/ic-link/ic-link.css +18 -33
  249. package/dist/collection/components/ic-link/ic-link.js +14 -16
  250. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  251. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  252. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +3 -3
  253. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  254. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +15 -10
  255. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +50 -31
  256. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  257. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  258. package/dist/collection/components/ic-menu/ic-menu.css +111 -29
  259. package/dist/collection/components/ic-menu/ic-menu.js +522 -201
  260. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  261. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +381 -33
  262. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  263. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -2
  264. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  265. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  266. package/dist/collection/components/ic-menu-item/ic-menu-item.css +32 -28
  267. package/dist/collection/components/ic-menu-item/ic-menu-item.js +67 -25
  268. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  269. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +15 -2
  270. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  271. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +18 -0
  272. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +37 -10
  273. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  274. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
  275. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  276. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +17 -12
  277. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +35 -9
  278. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  279. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  280. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  281. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +38 -65
  282. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +88 -11
  283. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  284. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +15 -3
  285. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  286. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +9 -6
  287. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  288. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  289. package/dist/collection/components/ic-page-header/ic-page-header.css +7 -3
  290. package/dist/collection/components/ic-page-header/ic-page-header.js +30 -4
  291. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  292. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  293. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  294. package/dist/collection/components/ic-pagination/ic-pagination.js +65 -37
  295. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  296. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  297. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +11 -1
  298. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  299. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +29 -9
  300. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +54 -33
  301. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  302. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
  303. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
  304. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +5 -5
  305. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +112 -26
  306. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  307. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +504 -0
  308. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  309. package/dist/collection/components/ic-radio-group/ic-radio-group.js +83 -26
  310. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  311. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +443 -0
  312. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +12 -3
  313. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  314. package/dist/collection/components/ic-radio-option/ic-radio-option.css +36 -28
  315. package/dist/collection/components/ic-radio-option/ic-radio-option.js +73 -21
  316. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  317. package/dist/collection/components/ic-search-bar/ic-search-bar.css +110 -10
  318. package/dist/collection/components/ic-search-bar/ic-search-bar.js +101 -57
  319. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  320. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  321. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +63 -94
  322. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  323. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  324. package/dist/collection/components/ic-select/ic-select.css +93 -53
  325. package/dist/collection/components/ic-select/ic-select.js +267 -77
  326. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  327. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  328. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  329. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  330. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +234 -1
  331. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  332. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +50 -34
  333. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +18 -13
  334. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  335. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2526 -0
  336. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  337. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +6 -6
  338. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  339. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  340. package/dist/collection/components/ic-skeleton/ic-skeleton.js +16 -10
  341. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  342. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  343. package/dist/collection/components/ic-status-tag/ic-status-tag.css +6 -6
  344. package/dist/collection/components/ic-status-tag/ic-status-tag.js +21 -2
  345. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  346. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  347. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  348. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  349. package/dist/collection/components/ic-step/ic-step.css +65 -98
  350. package/dist/collection/components/ic-step/ic-step.js +29 -3
  351. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  352. package/dist/collection/components/ic-stepper/ic-stepper.js +37 -19
  353. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  354. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +277 -0
  355. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +4 -4
  356. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  357. package/dist/collection/components/ic-switch/ic-switch.css +30 -48
  358. package/dist/collection/components/ic-switch/ic-switch.js +43 -30
  359. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  360. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  361. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -14
  362. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  363. package/dist/collection/components/ic-tab/ic-tab.js +11 -6
  364. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  365. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
  366. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  367. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -123
  368. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  369. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  370. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
  371. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  372. package/dist/collection/components/ic-tab-group/ic-tab-group.css +8 -0
  373. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -17
  374. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  375. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +1 -1
  376. package/dist/collection/components/ic-text-field/ic-text-field.css +62 -8
  377. package/dist/collection/components/ic-text-field/ic-text-field.js +70 -24
  378. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  379. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +862 -0
  380. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +26 -12
  381. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  382. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +2 -2
  383. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  384. package/dist/collection/components/ic-theme/ic-theme.js +31 -31
  385. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  386. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  387. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  388. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  389. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +11 -11
  390. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  391. package/dist/collection/components/ic-toast/ic-toast.css +31 -17
  392. package/dist/collection/components/ic-toast/ic-toast.js +2 -3
  393. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  394. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  395. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +16 -16
  396. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  397. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +189 -57
  398. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +149 -42
  399. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  400. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  401. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
  402. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  403. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  404. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +144 -35
  405. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  406. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  407. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +187 -0
  408. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  409. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  410. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -5
  411. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  412. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  413. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +49 -21
  414. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +39 -9
  415. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  416. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1098 -0
  417. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  418. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  419. package/dist/collection/components/ic-typography/ic-typography.css +7 -9
  420. package/dist/collection/components/ic-typography/ic-typography.js +3 -1
  421. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  422. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  423. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  424. package/dist/collection/patterns/z-index.stories.js +474 -0
  425. package/dist/collection/testspec.setup.js +14 -0
  426. package/dist/collection/testspec.setup.js.map +1 -1
  427. package/dist/collection/utils/constants.js +1 -1
  428. package/dist/collection/utils/constants.js.map +1 -1
  429. package/dist/collection/utils/helpers.js +64 -19
  430. package/dist/collection/utils/helpers.js.map +1 -1
  431. package/dist/collection/utils/types.js +6 -6
  432. package/dist/collection/utils/types.js.map +1 -1
  433. package/dist/components/helpers.js +73 -26
  434. package/dist/components/helpers.js.map +1 -1
  435. package/dist/components/ic-accordion-group.js +11 -11
  436. package/dist/components/ic-accordion-group.js.map +1 -1
  437. package/dist/components/ic-accordion.js +14 -6
  438. package/dist/components/ic-accordion.js.map +1 -1
  439. package/dist/components/ic-alert.js +12 -16
  440. package/dist/components/ic-alert.js.map +1 -1
  441. package/dist/components/ic-back-to-top.js +9 -5
  442. package/dist/components/ic-back-to-top.js.map +1 -1
  443. package/dist/components/ic-badge.js +28 -5
  444. package/dist/components/ic-badge.js.map +1 -1
  445. package/dist/components/ic-breadcrumb-group.js +44 -20
  446. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  447. package/dist/components/ic-breadcrumb2.js +51 -4
  448. package/dist/components/ic-breadcrumb2.js.map +1 -1
  449. package/dist/components/ic-button2.js +21 -20
  450. package/dist/components/ic-button2.js.map +1 -1
  451. package/dist/components/ic-card-vertical.js +54 -50
  452. package/dist/components/ic-card-vertical.js.map +1 -1
  453. package/dist/components/ic-checkbox-group.js +25 -7
  454. package/dist/components/ic-checkbox-group.js.map +1 -1
  455. package/dist/components/ic-checkbox.js +12 -4
  456. package/dist/components/ic-checkbox.js.map +1 -1
  457. package/dist/components/ic-chip.js +32 -16
  458. package/dist/components/ic-chip.js.map +1 -1
  459. package/dist/components/ic-classification-banner.js +1 -1
  460. package/dist/components/ic-classification-banner.js.map +1 -1
  461. package/dist/components/ic-data-row.js +1 -1
  462. package/dist/components/ic-dialog.js +33 -9
  463. package/dist/components/ic-dialog.js.map +1 -1
  464. package/dist/components/ic-divider2.js +89 -12
  465. package/dist/components/ic-divider2.js.map +1 -1
  466. package/dist/components/ic-empty-state.js +10 -17
  467. package/dist/components/ic-empty-state.js.map +1 -1
  468. package/dist/components/ic-footer-link-group.js +7 -8
  469. package/dist/components/ic-footer-link-group.js.map +1 -1
  470. package/dist/components/ic-footer-link.js +9 -8
  471. package/dist/components/ic-footer-link.js.map +1 -1
  472. package/dist/components/ic-footer.js +25 -15
  473. package/dist/components/ic-footer.js.map +1 -1
  474. package/dist/components/ic-hero.js +9 -17
  475. package/dist/components/ic-hero.js.map +1 -1
  476. package/dist/components/ic-horizontal-scroll2.js +19 -9
  477. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  478. package/dist/components/ic-input-component-container2.js +23 -32
  479. package/dist/components/ic-input-component-container2.js.map +1 -1
  480. package/dist/components/ic-input-label2.js +19 -20
  481. package/dist/components/ic-input-label2.js.map +1 -1
  482. package/dist/components/ic-input-validation2.js +9 -9
  483. package/dist/components/ic-input-validation2.js.map +1 -1
  484. package/dist/components/ic-link2.js +13 -15
  485. package/dist/components/ic-link2.js.map +1 -1
  486. package/dist/components/ic-loading-indicator2.js +11 -9
  487. package/dist/components/ic-loading-indicator2.js.map +1 -1
  488. package/dist/components/ic-menu-group.js +2 -2
  489. package/dist/components/ic-menu-group.js.map +1 -1
  490. package/dist/components/ic-menu-item2.js +30 -21
  491. package/dist/components/ic-menu-item2.js.map +1 -1
  492. package/dist/components/ic-menu2.js +472 -175
  493. package/dist/components/ic-menu2.js.map +1 -1
  494. package/dist/components/ic-navigation-button.js +13 -9
  495. package/dist/components/ic-navigation-button.js.map +1 -1
  496. package/dist/components/ic-navigation-group.js +12 -9
  497. package/dist/components/ic-navigation-group.js.map +1 -1
  498. package/dist/components/ic-navigation-item.js +64 -10
  499. package/dist/components/ic-navigation-item.js.map +1 -1
  500. package/dist/components/ic-navigation-menu2.js +6 -4
  501. package/dist/components/ic-navigation-menu2.js.map +1 -1
  502. package/dist/components/ic-page-header.js +9 -6
  503. package/dist/components/ic-page-header.js.map +1 -1
  504. package/dist/components/ic-pagination-item2.js +15 -12
  505. package/dist/components/ic-pagination-item2.js.map +1 -1
  506. package/dist/components/ic-pagination.js +25 -15
  507. package/dist/components/ic-pagination.js.map +1 -1
  508. package/dist/components/ic-popover-menu.js +50 -26
  509. package/dist/components/ic-popover-menu.js.map +1 -1
  510. package/dist/components/ic-radio-group.js +63 -30
  511. package/dist/components/ic-radio-group.js.map +1 -1
  512. package/dist/components/ic-radio-option.js +45 -23
  513. package/dist/components/ic-radio-option.js.map +1 -1
  514. package/dist/components/ic-search-bar.js +70 -81
  515. package/dist/components/ic-search-bar.js.map +1 -1
  516. package/dist/components/ic-select.js +196 -67
  517. package/dist/components/ic-select.js.map +1 -1
  518. package/dist/components/ic-side-navigation.js +17 -12
  519. package/dist/components/ic-side-navigation.js.map +1 -1
  520. package/dist/components/ic-skeleton.js +5 -5
  521. package/dist/components/ic-skeleton.js.map +1 -1
  522. package/dist/components/ic-status-tag.js +5 -3
  523. package/dist/components/ic-status-tag.js.map +1 -1
  524. package/dist/components/ic-step.js +4 -4
  525. package/dist/components/ic-step.js.map +1 -1
  526. package/dist/components/ic-stepper.js +14 -3
  527. package/dist/components/ic-stepper.js.map +1 -1
  528. package/dist/components/ic-switch.js +24 -18
  529. package/dist/components/ic-switch.js.map +1 -1
  530. package/dist/components/ic-tab-context.js +60 -123
  531. package/dist/components/ic-tab-context.js.map +1 -1
  532. package/dist/components/ic-tab-group.js +2 -18
  533. package/dist/components/ic-tab-group.js.map +1 -1
  534. package/dist/components/ic-tab-panel.js +1 -1
  535. package/dist/components/ic-tab-panel.js.map +1 -1
  536. package/dist/components/ic-tab.js +10 -8
  537. package/dist/components/ic-tab.js.map +1 -1
  538. package/dist/components/ic-text-field.js +371 -1
  539. package/dist/components/ic-text-field.js.map +1 -1
  540. package/dist/components/ic-theme.js +22 -22
  541. package/dist/components/ic-theme.js.map +1 -1
  542. package/dist/components/ic-toast.js +4 -4
  543. package/dist/components/ic-toast.js.map +1 -1
  544. package/dist/components/ic-toggle-button-group.js +75 -14
  545. package/dist/components/ic-toggle-button-group.js.map +1 -1
  546. package/dist/components/ic-toggle-button.js +76 -17
  547. package/dist/components/ic-toggle-button.js.map +1 -1
  548. package/dist/components/ic-tooltip2.js +1 -1
  549. package/dist/components/ic-tooltip2.js.map +1 -1
  550. package/dist/components/ic-top-navigation.js +15 -8
  551. package/dist/components/ic-top-navigation.js.map +1 -1
  552. package/dist/components/ic-typography2.js +4 -2
  553. package/dist/components/ic-typography2.js.map +1 -1
  554. package/dist/core/ag-theme-icds.css +218 -0
  555. package/dist/core/core.css +1607 -77
  556. package/dist/core/core.esm.js +1 -1
  557. package/dist/core/core.esm.js.map +1 -1
  558. package/dist/core/p-00587c99.entry.js +2 -0
  559. package/dist/core/p-00587c99.entry.js.map +1 -0
  560. package/dist/core/p-07aaf9c4.entry.js +2 -0
  561. package/dist/core/p-07aaf9c4.entry.js.map +1 -0
  562. package/dist/core/p-094f51b6.entry.js +2 -0
  563. package/dist/core/p-094f51b6.entry.js.map +1 -0
  564. package/dist/core/p-146b2788.entry.js +2 -0
  565. package/dist/core/p-146b2788.entry.js.map +1 -0
  566. package/dist/core/p-15082ea5.entry.js +2 -0
  567. package/dist/core/p-15082ea5.entry.js.map +1 -0
  568. package/dist/core/p-174de9d7.entry.js +2 -0
  569. package/dist/core/p-174de9d7.entry.js.map +1 -0
  570. package/dist/core/p-17f9921d.entry.js +2 -0
  571. package/dist/core/p-17f9921d.entry.js.map +1 -0
  572. package/dist/core/p-246ea059.entry.js +2 -0
  573. package/dist/core/p-246ea059.entry.js.map +1 -0
  574. package/dist/core/p-25d3c3a6.entry.js +2 -0
  575. package/dist/core/p-25d3c3a6.entry.js.map +1 -0
  576. package/dist/core/{p-54238d16.entry.js → p-27274ca8.entry.js} +2 -2
  577. package/dist/core/p-27274ca8.entry.js.map +1 -0
  578. package/dist/core/p-39ab6387.entry.js +2 -0
  579. package/dist/core/p-39ab6387.entry.js.map +1 -0
  580. package/dist/core/p-3d565739.entry.js +2 -0
  581. package/dist/core/p-3d565739.entry.js.map +1 -0
  582. package/dist/core/p-41b7c67c.entry.js +2 -0
  583. package/dist/core/p-41b7c67c.entry.js.map +1 -0
  584. package/dist/core/p-4572b2ba.entry.js +2 -0
  585. package/dist/core/p-4572b2ba.entry.js.map +1 -0
  586. package/dist/core/p-4cfe1dd8.entry.js +2 -0
  587. package/dist/core/p-4cfe1dd8.entry.js.map +1 -0
  588. package/dist/core/p-5b836707.entry.js +2 -0
  589. package/dist/core/p-5b836707.entry.js.map +1 -0
  590. package/dist/core/{p-46ee459b.entry.js → p-67b3cd55.entry.js} +2 -2
  591. package/dist/core/p-67b3cd55.entry.js.map +1 -0
  592. package/dist/core/p-67b8a829.entry.js +2 -0
  593. package/dist/core/p-67b8a829.entry.js.map +1 -0
  594. package/dist/core/p-6dfa5a4b.entry.js +2 -0
  595. package/dist/core/p-6dfa5a4b.entry.js.map +1 -0
  596. package/dist/core/p-6e94c79c.entry.js +2 -0
  597. package/dist/core/p-6e94c79c.entry.js.map +1 -0
  598. package/dist/core/p-73d6092d.entry.js +2 -0
  599. package/dist/core/p-73d6092d.entry.js.map +1 -0
  600. package/dist/core/{p-c81109da.entry.js → p-770c52a7.entry.js} +2 -2
  601. package/dist/core/p-770c52a7.entry.js.map +1 -0
  602. package/dist/core/{p-e861a2b3.entry.js → p-7b26ef60.entry.js} +2 -2
  603. package/dist/core/p-7b26ef60.entry.js.map +1 -0
  604. package/dist/core/{p-1e802eeb.entry.js → p-7f984e25.entry.js} +2 -2
  605. package/dist/core/p-7f984e25.entry.js.map +1 -0
  606. package/dist/core/p-86caada0.entry.js +2 -0
  607. package/dist/core/p-86caada0.entry.js.map +1 -0
  608. package/dist/core/p-8c03b8b5.entry.js +2 -0
  609. package/dist/core/p-8c03b8b5.entry.js.map +1 -0
  610. package/dist/core/p-8fdb9b16.entry.js +2 -0
  611. package/dist/core/p-8fdb9b16.entry.js.map +1 -0
  612. package/dist/core/p-91a221b5.entry.js +2 -0
  613. package/dist/core/p-91a221b5.entry.js.map +1 -0
  614. package/dist/core/{p-e597da0e.entry.js → p-96b4ca6e.entry.js} +2 -2
  615. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  616. package/dist/core/p-9e0c2c19.entry.js +2 -0
  617. package/dist/core/p-9e0c2c19.entry.js.map +1 -0
  618. package/dist/core/p-9f569f90.entry.js +2 -0
  619. package/dist/core/p-9f569f90.entry.js.map +1 -0
  620. package/dist/core/p-a178d53c.entry.js +2 -0
  621. package/dist/core/p-a178d53c.entry.js.map +1 -0
  622. package/dist/core/p-a3b7a147.entry.js +2 -0
  623. package/dist/core/p-a3b7a147.entry.js.map +1 -0
  624. package/dist/core/p-a72685f6.entry.js +2 -0
  625. package/dist/core/p-a72685f6.entry.js.map +1 -0
  626. package/dist/core/p-abdc2912.entry.js +2 -0
  627. package/dist/core/p-abdc2912.entry.js.map +1 -0
  628. package/dist/core/p-b260b967.entry.js +2 -0
  629. package/dist/core/p-b260b967.entry.js.map +1 -0
  630. package/dist/core/p-b404b307.entry.js +2 -0
  631. package/dist/core/p-b404b307.entry.js.map +1 -0
  632. package/dist/core/p-b6ce9ca3.entry.js +2 -0
  633. package/dist/core/p-b6ce9ca3.entry.js.map +1 -0
  634. package/dist/core/p-b6e010f3.entry.js +2 -0
  635. package/dist/core/p-b6e010f3.entry.js.map +1 -0
  636. package/dist/core/p-bbd4f487.entry.js +2 -0
  637. package/dist/core/p-bbd4f487.entry.js.map +1 -0
  638. package/dist/core/p-bd9f3961.entry.js +2 -0
  639. package/dist/core/p-bd9f3961.entry.js.map +1 -0
  640. package/dist/core/{p-a3b6a02d.entry.js → p-c1db155d.entry.js} +2 -2
  641. package/dist/core/p-c1db155d.entry.js.map +1 -0
  642. package/dist/core/p-c7bcdb8e.entry.js +2 -0
  643. package/dist/core/p-c7bcdb8e.entry.js.map +1 -0
  644. package/dist/core/p-ca11666f.entry.js +2 -0
  645. package/dist/core/p-ca11666f.entry.js.map +1 -0
  646. package/dist/core/p-cda4aca9.js +2 -0
  647. package/dist/core/p-cda4aca9.js.map +1 -0
  648. package/dist/core/{p-bf4c61cb.entry.js → p-d0afa458.entry.js} +2 -2
  649. package/dist/core/{p-bf4c61cb.entry.js.map → p-d0afa458.entry.js.map} +1 -1
  650. package/dist/core/p-d8690838.entry.js +2 -0
  651. package/dist/core/p-d8690838.entry.js.map +1 -0
  652. package/dist/core/p-dededae6.entry.js +2 -0
  653. package/dist/core/p-dededae6.entry.js.map +1 -0
  654. package/dist/core/p-df957570.entry.js +2 -0
  655. package/dist/core/p-df957570.entry.js.map +1 -0
  656. package/dist/core/{p-d8870804.entry.js → p-e2cf6e7e.entry.js} +2 -2
  657. package/dist/core/p-e6189634.entry.js +2 -0
  658. package/dist/core/p-e6189634.entry.js.map +1 -0
  659. package/dist/core/p-e6dc3cd1.entry.js +2 -0
  660. package/dist/core/p-e6dc3cd1.entry.js.map +1 -0
  661. package/dist/core/p-e831277e.entry.js +2 -0
  662. package/dist/core/p-e831277e.entry.js.map +1 -0
  663. package/dist/core/p-eb7c589b.entry.js +2 -0
  664. package/dist/core/p-eb7c589b.entry.js.map +1 -0
  665. package/dist/core/p-f65179fe.entry.js +2 -0
  666. package/dist/core/p-f65179fe.entry.js.map +1 -0
  667. package/dist/core/p-fd60eef7.entry.js +2 -0
  668. package/dist/core/p-fd60eef7.entry.js.map +1 -0
  669. package/dist/core/p-fd9f3fd0.entry.js +2 -0
  670. package/dist/core/p-fd9f3fd0.entry.js.map +1 -0
  671. package/dist/esm/core.js +1 -1
  672. package/dist/esm/{helpers-1c9151ef.js → helpers-a72a277b.js} +74 -27
  673. package/dist/esm/helpers-a72a277b.js.map +1 -0
  674. package/dist/esm/ic-accordion-group.entry.js +10 -10
  675. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  676. package/dist/esm/ic-accordion.entry.js +12 -5
  677. package/dist/esm/ic-accordion.entry.js.map +1 -1
  678. package/dist/esm/ic-alert.entry.js +10 -15
  679. package/dist/esm/ic-alert.entry.js.map +1 -1
  680. package/dist/esm/ic-back-to-top.entry.js +9 -6
  681. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  682. package/dist/esm/ic-badge.entry.js +26 -3
  683. package/dist/esm/ic-badge.entry.js.map +1 -1
  684. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  685. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  686. package/dist/esm/ic-breadcrumb.entry.js +49 -4
  687. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  688. package/dist/esm/ic-button_3.entry.js +28 -26
  689. package/dist/esm/ic-button_3.entry.js.map +1 -1
  690. package/dist/esm/ic-card-vertical.entry.js +49 -48
  691. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  692. package/dist/esm/ic-checkbox-group.entry.js +21 -6
  693. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  694. package/dist/esm/ic-checkbox.entry.js +10 -4
  695. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  696. package/dist/esm/ic-chip.entry.js +28 -16
  697. package/dist/esm/ic-chip.entry.js.map +1 -1
  698. package/dist/esm/ic-classification-banner.entry.js +1 -1
  699. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  700. package/dist/esm/ic-data-row.entry.js +1 -1
  701. package/dist/esm/ic-dialog.entry.js +32 -9
  702. package/dist/esm/ic-dialog.entry.js.map +1 -1
  703. package/dist/esm/ic-divider.entry.js +74 -10
  704. package/dist/esm/ic-divider.entry.js.map +1 -1
  705. package/dist/esm/ic-empty-state.entry.js +8 -16
  706. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  707. package/dist/esm/ic-footer-link-group.entry.js +6 -7
  708. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  709. package/dist/esm/ic-footer-link.entry.js +8 -7
  710. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  711. package/dist/esm/ic-footer.entry.js +24 -14
  712. package/dist/esm/ic-footer.entry.js.map +1 -1
  713. package/dist/esm/ic-hero.entry.js +8 -16
  714. package/dist/esm/ic-hero.entry.js.map +1 -1
  715. package/dist/esm/ic-horizontal-scroll.entry.js +17 -9
  716. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  717. package/dist/esm/ic-input-component-container_3.entry.js +487 -201
  718. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  719. package/dist/esm/ic-input-label_2.entry.js +24 -26
  720. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  721. package/dist/esm/ic-link.entry.js +10 -12
  722. package/dist/esm/ic-link.entry.js.map +1 -1
  723. package/dist/esm/ic-menu-group.entry.js +3 -3
  724. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  725. package/dist/esm/ic-menu-item.entry.js +25 -18
  726. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  727. package/dist/esm/ic-navigation-button.entry.js +11 -8
  728. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  729. package/dist/esm/ic-navigation-group.entry.js +10 -8
  730. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  731. package/dist/esm/ic-navigation-item.entry.js +61 -9
  732. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  733. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  734. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  735. package/dist/esm/ic-page-header.entry.js +8 -6
  736. package/dist/esm/ic-page-header.entry.js.map +1 -1
  737. package/dist/esm/ic-pagination-item.entry.js +12 -11
  738. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  739. package/dist/esm/ic-pagination.entry.js +23 -15
  740. package/dist/esm/ic-pagination.entry.js.map +1 -1
  741. package/dist/esm/ic-popover-menu.entry.js +47 -25
  742. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  743. package/dist/esm/ic-radio-group.entry.js +60 -29
  744. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  745. package/dist/esm/ic-radio-option.entry.js +42 -22
  746. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  747. package/dist/esm/ic-search-bar.entry.js +54 -56
  748. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  749. package/dist/esm/ic-select.entry.js +192 -66
  750. package/dist/esm/ic-select.entry.js.map +1 -1
  751. package/dist/esm/ic-side-navigation.entry.js +16 -11
  752. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  753. package/dist/esm/ic-skeleton.entry.js +4 -4
  754. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  755. package/dist/esm/ic-status-tag.entry.js +5 -4
  756. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  757. package/dist/esm/ic-step.entry.js +4 -5
  758. package/dist/esm/ic-step.entry.js.map +1 -1
  759. package/dist/esm/ic-stepper.entry.js +12 -2
  760. package/dist/esm/ic-stepper.entry.js.map +1 -1
  761. package/dist/esm/ic-switch.entry.js +21 -16
  762. package/dist/esm/ic-switch.entry.js.map +1 -1
  763. package/dist/esm/ic-tab-context.entry.js +60 -123
  764. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  765. package/dist/esm/ic-tab-group.entry.js +3 -19
  766. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  767. package/dist/esm/ic-tab-panel.entry.js +2 -2
  768. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  769. package/dist/esm/ic-tab.entry.js +10 -8
  770. package/dist/esm/ic-tab.entry.js.map +1 -1
  771. package/dist/esm/ic-text-field.entry.js +43 -23
  772. package/dist/esm/ic-text-field.entry.js.map +1 -1
  773. package/dist/esm/ic-theme.entry.js +20 -20
  774. package/dist/esm/ic-theme.entry.js.map +1 -1
  775. package/dist/esm/ic-toast.entry.js +4 -4
  776. package/dist/esm/ic-toast.entry.js.map +1 -1
  777. package/dist/esm/ic-toggle-button-group.entry.js +62 -12
  778. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  779. package/dist/esm/ic-toggle-button.entry.js +64 -9
  780. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  781. package/dist/esm/ic-top-navigation.entry.js +13 -7
  782. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  783. package/dist/esm/ic-typography.entry.js +5 -3
  784. package/dist/esm/ic-typography.entry.js.map +1 -1
  785. package/dist/esm/index-d1d2c456.js +4 -4
  786. package/dist/esm/loader.js +1 -1
  787. package/dist/types/components/ic-accordion/ic-accordion.d.ts +7 -5
  788. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +4 -4
  789. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -6
  790. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -0
  791. package/dist/types/components/ic-badge/ic-badge.d.ts +5 -0
  792. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -0
  793. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
  794. package/dist/types/components/ic-button/ic-button.d.ts +11 -7
  795. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  796. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +9 -5
  797. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +7 -2
  798. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +8 -1
  799. package/dist/types/components/ic-chip/ic-chip.d.ts +13 -2
  800. package/dist/types/components/ic-dialog/ic-dialog.d.ts +8 -2
  801. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  802. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  803. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -2
  804. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -3
  805. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  806. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -2
  807. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -4
  808. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  809. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -5
  810. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -4
  811. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  812. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +9 -5
  813. package/dist/types/components/ic-menu/ic-menu.d.ts +49 -16
  814. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +12 -5
  815. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
  816. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
  817. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +14 -3
  818. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  819. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  820. package/dist/types/components/ic-pagination/ic-pagination.d.ts +10 -5
  821. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +10 -5
  822. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +9 -7
  823. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -1
  824. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +10 -3
  825. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +15 -3
  826. package/dist/types/components/ic-select/ic-select.d.ts +36 -16
  827. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -3
  828. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  829. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  830. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +4 -0
  831. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  832. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  833. package/dist/types/components/ic-switch/ic-switch.d.ts +7 -6
  834. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  835. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -6
  836. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -4
  837. package/dist/types/components/ic-text-field/ic-text-field.d.ts +10 -2
  838. package/dist/types/components/ic-theme/ic-theme.d.ts +8 -8
  839. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +16 -7
  840. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +21 -5
  841. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  842. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -3
  843. package/dist/types/components.d.ts +516 -159
  844. package/dist/types/testspec.setup.d.ts +9 -0
  845. package/dist/types/utils/helpers.d.ts +22 -8
  846. package/dist/types/utils/types.d.ts +8 -6
  847. package/hydrate/index.js +1998 -1053
  848. package/package.json +20 -19
  849. package/vscode-data.json +655 -166
  850. package/dist/cjs/helpers-f1cf5156.js.map +0 -1
  851. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  852. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  853. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  854. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  855. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  856. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  857. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  858. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  859. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  860. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  861. package/dist/components/ic-text-field2.js +0 -353
  862. package/dist/components/ic-text-field2.js.map +0 -1
  863. package/dist/core/p-09104e40.entry.js +0 -2
  864. package/dist/core/p-09104e40.entry.js.map +0 -1
  865. package/dist/core/p-0c0b1c74.entry.js +0 -2
  866. package/dist/core/p-0c0b1c74.entry.js.map +0 -1
  867. package/dist/core/p-0c3a0d85.entry.js +0 -2
  868. package/dist/core/p-0c3a0d85.entry.js.map +0 -1
  869. package/dist/core/p-1083a708.entry.js +0 -2
  870. package/dist/core/p-1083a708.entry.js.map +0 -1
  871. package/dist/core/p-130dd440.entry.js +0 -2
  872. package/dist/core/p-130dd440.entry.js.map +0 -1
  873. package/dist/core/p-1e802eeb.entry.js.map +0 -1
  874. package/dist/core/p-21312898.entry.js +0 -2
  875. package/dist/core/p-21312898.entry.js.map +0 -1
  876. package/dist/core/p-21e5dd29.entry.js +0 -2
  877. package/dist/core/p-21e5dd29.entry.js.map +0 -1
  878. package/dist/core/p-2ab86057.entry.js +0 -2
  879. package/dist/core/p-2ab86057.entry.js.map +0 -1
  880. package/dist/core/p-312cacae.js +0 -2
  881. package/dist/core/p-312cacae.js.map +0 -1
  882. package/dist/core/p-31fc8756.entry.js +0 -2
  883. package/dist/core/p-31fc8756.entry.js.map +0 -1
  884. package/dist/core/p-355acffa.entry.js +0 -2
  885. package/dist/core/p-355acffa.entry.js.map +0 -1
  886. package/dist/core/p-35b8b480.entry.js +0 -2
  887. package/dist/core/p-35b8b480.entry.js.map +0 -1
  888. package/dist/core/p-363d6e88.entry.js +0 -2
  889. package/dist/core/p-363d6e88.entry.js.map +0 -1
  890. package/dist/core/p-40e9e76a.entry.js +0 -2
  891. package/dist/core/p-40e9e76a.entry.js.map +0 -1
  892. package/dist/core/p-43f9a711.entry.js +0 -2
  893. package/dist/core/p-43f9a711.entry.js.map +0 -1
  894. package/dist/core/p-46ee459b.entry.js.map +0 -1
  895. package/dist/core/p-54238d16.entry.js.map +0 -1
  896. package/dist/core/p-550d7356.entry.js +0 -2
  897. package/dist/core/p-550d7356.entry.js.map +0 -1
  898. package/dist/core/p-56d1828c.entry.js +0 -2
  899. package/dist/core/p-56d1828c.entry.js.map +0 -1
  900. package/dist/core/p-5a2630fb.entry.js +0 -2
  901. package/dist/core/p-5a2630fb.entry.js.map +0 -1
  902. package/dist/core/p-5a52614c.entry.js +0 -2
  903. package/dist/core/p-5a52614c.entry.js.map +0 -1
  904. package/dist/core/p-60efd7fa.entry.js +0 -2
  905. package/dist/core/p-60efd7fa.entry.js.map +0 -1
  906. package/dist/core/p-69f3ce5a.entry.js +0 -2
  907. package/dist/core/p-69f3ce5a.entry.js.map +0 -1
  908. package/dist/core/p-78ce4920.entry.js +0 -2
  909. package/dist/core/p-78ce4920.entry.js.map +0 -1
  910. package/dist/core/p-79d2a33b.entry.js +0 -2
  911. package/dist/core/p-79d2a33b.entry.js.map +0 -1
  912. package/dist/core/p-80237a20.entry.js +0 -2
  913. package/dist/core/p-80237a20.entry.js.map +0 -1
  914. package/dist/core/p-804513ad.entry.js +0 -2
  915. package/dist/core/p-804513ad.entry.js.map +0 -1
  916. package/dist/core/p-82375dca.entry.js +0 -2
  917. package/dist/core/p-82375dca.entry.js.map +0 -1
  918. package/dist/core/p-8e1e25a7.entry.js +0 -2
  919. package/dist/core/p-8e1e25a7.entry.js.map +0 -1
  920. package/dist/core/p-a1a1000d.entry.js +0 -2
  921. package/dist/core/p-a1a1000d.entry.js.map +0 -1
  922. package/dist/core/p-a1b1a0ab.entry.js +0 -2
  923. package/dist/core/p-a1b1a0ab.entry.js.map +0 -1
  924. package/dist/core/p-a37bcdbe.entry.js +0 -2
  925. package/dist/core/p-a37bcdbe.entry.js.map +0 -1
  926. package/dist/core/p-a3b6a02d.entry.js.map +0 -1
  927. package/dist/core/p-a765ad17.entry.js +0 -2
  928. package/dist/core/p-a765ad17.entry.js.map +0 -1
  929. package/dist/core/p-aa2be24c.entry.js +0 -2
  930. package/dist/core/p-aa2be24c.entry.js.map +0 -1
  931. package/dist/core/p-b12a5283.entry.js +0 -2
  932. package/dist/core/p-b12a5283.entry.js.map +0 -1
  933. package/dist/core/p-b1b05979.entry.js +0 -2
  934. package/dist/core/p-b1b05979.entry.js.map +0 -1
  935. package/dist/core/p-c6795377.entry.js +0 -2
  936. package/dist/core/p-c6795377.entry.js.map +0 -1
  937. package/dist/core/p-c81109da.entry.js.map +0 -1
  938. package/dist/core/p-cb4d104e.entry.js +0 -2
  939. package/dist/core/p-cb4d104e.entry.js.map +0 -1
  940. package/dist/core/p-d2f89cb5.entry.js +0 -2
  941. package/dist/core/p-d2f89cb5.entry.js.map +0 -1
  942. package/dist/core/p-d43d1ec0.entry.js +0 -2
  943. package/dist/core/p-d43d1ec0.entry.js.map +0 -1
  944. package/dist/core/p-d5829a35.entry.js +0 -2
  945. package/dist/core/p-d5829a35.entry.js.map +0 -1
  946. package/dist/core/p-ddb8d280.entry.js +0 -2
  947. package/dist/core/p-ddb8d280.entry.js.map +0 -1
  948. package/dist/core/p-e0e34fa7.entry.js +0 -2
  949. package/dist/core/p-e0e34fa7.entry.js.map +0 -1
  950. package/dist/core/p-e4b276b5.entry.js +0 -2
  951. package/dist/core/p-e4b276b5.entry.js.map +0 -1
  952. package/dist/core/p-e597da0e.entry.js.map +0 -1
  953. package/dist/core/p-e861a2b3.entry.js.map +0 -1
  954. package/dist/core/p-ea277b05.entry.js +0 -2
  955. package/dist/core/p-ea277b05.entry.js.map +0 -1
  956. package/dist/core/p-ef871b8f.entry.js +0 -2
  957. package/dist/core/p-ef871b8f.entry.js.map +0 -1
  958. package/dist/core/p-f229d19e.entry.js +0 -2
  959. package/dist/core/p-f229d19e.entry.js.map +0 -1
  960. package/dist/core/p-f30f3a3e.entry.js +0 -2
  961. package/dist/core/p-f30f3a3e.entry.js.map +0 -1
  962. package/dist/core/p-fa587e6d.entry.js +0 -2
  963. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  964. package/dist/core/p-fb6ac08d.entry.js +0 -2
  965. package/dist/core/p-fb6ac08d.entry.js.map +0 -1
  966. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  967. /package/dist/core/{p-d8870804.entry.js.map → p-e2cf6e7e.entry.js.map} +0 -0
@@ -5,6 +5,175 @@ import { Button } from "../../ic-button/ic-button";
5
5
  const keyboard = (key) => {
6
6
  return new KeyboardEvent("keydown", { key: key });
7
7
  };
8
+ describe("ic-toggle-button-group component snapshot tests", () => {
9
+ it("should render and update disabled", async () => {
10
+ const page = await newSpecPage({
11
+ components: [ToggleButtonGroup, ToggleButton, Button],
12
+ html: `<ic-toggle-button-group select-type="single" disabled>
13
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
14
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
15
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
16
+ </ic-toggle-button-group>`,
17
+ });
18
+ expect(page.root)
19
+ .toEqualHtml(`<ic-toggle-button-group aria-label="Toggle button group" class="ic-toggle-button-group-disabled" disabled="" role="group" select-type="single" tabindex="0" variant="default">
20
+ <mock:shadow-root>
21
+ <slot></slot>
22
+ </mock:shadow-root>
23
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium" id="0" label="Toggle" tabindex="-1" variant="default">
24
+ <mock:shadow-root>
25
+ <ic-button aria-pressed="false" class="ic-button-disabled ic-button-size-medium ic-button-variant-secondary" exportparts="button">
26
+ <mock:shadow-root>
27
+ <button aria-disabled="true" aria-label="Toggle, unticked, Toggle button group" class="button" disabled="" part="button" type="button">
28
+ <slot></slot>
29
+ </button>
30
+ </mock:shadow-root>
31
+ Toggle
32
+ <slot></slot>
33
+ </ic-button>
34
+ </mock:shadow-root>
35
+ </ic-toggle-button>
36
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium" id="1" label="Toggle" tabindex="-1" variant="default">
37
+ <mock:shadow-root>
38
+ <ic-button aria-pressed="false" class="ic-button-disabled ic-button-size-medium ic-button-variant-secondary" exportparts="button">
39
+ <mock:shadow-root>
40
+ <button aria-disabled="true" aria-label="Toggle, unticked, Toggle button group" class="button" disabled="" part="button" type="button">
41
+ <slot></slot>
42
+ </button>
43
+ </mock:shadow-root>
44
+ Toggle
45
+ <slot></slot>
46
+ </ic-button>
47
+ </mock:shadow-root>
48
+ </ic-toggle-button>
49
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium" id="2" label="Toggle" tabindex="-1" variant="default">
50
+ <mock:shadow-root>
51
+ <ic-button aria-pressed="false" class="ic-button-disabled ic-button-size-medium ic-button-variant-secondary" exportparts="button">
52
+ <mock:shadow-root>
53
+ <button aria-disabled="true" aria-label="Toggle, unticked, Toggle button group" class="button" disabled="" part="button" type="button">
54
+ <slot></slot>
55
+ </button>
56
+ </mock:shadow-root>
57
+ Toggle
58
+ <slot></slot>
59
+ </ic-button>
60
+ </mock:shadow-root>
61
+ </ic-toggle-button>
62
+ </ic-toggle-button-group>`);
63
+ page.rootInstance.disabled = false;
64
+ await page.waitForChanges();
65
+ expect(page.root)
66
+ .toEqualHtml(`<ic-toggle-button-group aria-label="Toggle button group" role="group" select-type="single" tabindex="0" variant="default">
67
+ <mock:shadow-root>
68
+ <slot></slot>
69
+ </mock:shadow-root>
70
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-medium" id="0" label="Toggle" tabindex="-1" variant="default">
71
+ <mock:shadow-root>
72
+ <ic-button aria-pressed="false" class="ic-button-size-medium ic-button-variant-secondary" exportparts="button">
73
+ <mock:shadow-root>
74
+ <button aria-label="Toggle, unticked, Toggle button group" class="button" part="button" type="button">
75
+ <slot></slot>
76
+ </button>
77
+ </mock:shadow-root>
78
+ Toggle
79
+ <slot></slot>
80
+ </ic-button>
81
+ </mock:shadow-root>
82
+ </ic-toggle-button>
83
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-medium" id="1" label="Toggle" tabindex="-1" variant="default">
84
+ <mock:shadow-root>
85
+ <ic-button aria-pressed="false" class="ic-button-size-medium ic-button-variant-secondary" exportparts="button">
86
+ <mock:shadow-root>
87
+ <button aria-label="Toggle, unticked, Toggle button group" class="button" part="button" type="button">
88
+ <slot></slot>
89
+ </button>
90
+ </mock:shadow-root>
91
+ Toggle
92
+ <slot></slot>
93
+ </ic-button>
94
+ </mock:shadow-root>
95
+ </ic-toggle-button>
96
+ <ic-toggle-button class="expand-toggle-group-child ic-toggle-button-medium" id="2" label="Toggle" tabindex="-1" variant="default">
97
+ <mock:shadow-root>
98
+ <ic-button aria-pressed="false" class="ic-button-size-medium ic-button-variant-secondary" exportparts="button">
99
+ <mock:shadow-root>
100
+ <button aria-label="Toggle, unticked, Toggle button group" class="button" part="button" type="button">
101
+ <slot></slot>
102
+ </button>
103
+ </mock:shadow-root>
104
+ Toggle
105
+ <slot></slot>
106
+ </ic-button>
107
+ </mock:shadow-root>
108
+ </ic-toggle-button>
109
+ </ic-toggle-button-group>`);
110
+ });
111
+ it("should render and update full-width", async () => {
112
+ const page = await newSpecPage({
113
+ components: [ToggleButtonGroup, ToggleButton, Button],
114
+ html: `<ic-toggle-button-group select-type="single" full-width>
115
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
116
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
117
+ </ic-toggle-button-group>`,
118
+ });
119
+ expect(page.root).toMatchSnapshot();
120
+ page.rootInstance.fullWidth = false;
121
+ await page.waitForChanges();
122
+ expect(page.root).toMatchSnapshot();
123
+ });
124
+ it("should render and update loading", async () => {
125
+ const page = await newSpecPage({
126
+ components: [ToggleButtonGroup, ToggleButton, Button],
127
+ html: `<ic-toggle-button-group select-type="single" loading>
128
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
129
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
130
+ </ic-toggle-button-group>`,
131
+ });
132
+ expect(page.root).toMatchSnapshot();
133
+ page.rootInstance.loading = false;
134
+ await page.waitForChanges();
135
+ expect(page.root).toMatchSnapshot();
136
+ });
137
+ it("should render and update monochrome", async () => {
138
+ const page = await newSpecPage({
139
+ components: [ToggleButtonGroup, ToggleButton, Button],
140
+ html: `<ic-toggle-button-group select-type="single" monochrome>
141
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
142
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
143
+ </ic-toggle-button-group>`,
144
+ });
145
+ expect(page.root).toMatchSnapshot();
146
+ page.rootInstance.monochrome = false;
147
+ await page.waitForChanges();
148
+ expect(page.root).toMatchSnapshot();
149
+ });
150
+ it("should render and update size", async () => {
151
+ const page = await newSpecPage({
152
+ components: [ToggleButtonGroup, ToggleButton, Button],
153
+ html: `<ic-toggle-button-group select-type="single" size="small">
154
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
155
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
156
+ </ic-toggle-button-group>`,
157
+ });
158
+ expect(page.root).toMatchSnapshot();
159
+ page.rootInstance.size = "large";
160
+ await page.waitForChanges();
161
+ expect(page.root).toMatchSnapshot();
162
+ });
163
+ it("should render and update variant", async () => {
164
+ const page = await newSpecPage({
165
+ components: [ToggleButtonGroup, ToggleButton, Button],
166
+ html: `<ic-toggle-button-group select-type="single" variant="icon">
167
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
168
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
169
+ </ic-toggle-button-group>`,
170
+ });
171
+ expect(page.root).toMatchSnapshot();
172
+ page.rootInstance.variant = "default";
173
+ await page.waitForChanges();
174
+ expect(page.root).toMatchSnapshot();
175
+ });
176
+ });
8
177
  describe("ic-toggle-button-group component unit tests", () => {
9
178
  it("should getAllToggleButtons and return an array of slotted ic-toggle-buttons", async () => {
10
179
  const page = await newSpecPage({
@@ -145,6 +314,24 @@ describe("ic-toggle-button-group component unit tests", () => {
145
314
  });
146
315
  const mockEvent = new FocusEvent("focus");
147
316
  expect(page.rootInstance.handleHostFocus(mockEvent)).toBeNull();
317
+ await page.rootInstance.disconnectedCallback();
318
+ });
319
+ it("should test that setting the theme prop on toggle-button-group sets the theme on all toggle buttons", async () => {
320
+ const page = await newSpecPage({
321
+ components: [ToggleButtonGroup, ToggleButton, Button],
322
+ html: `<ic-toggle-button-group theme="dark">
323
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
324
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
325
+ <ic-toggle-button label="Toggle"></ic-toggle-button>
326
+ </ic-toggle-button-group>`,
327
+ });
328
+ const toggleGroup = (await document.querySelector("ic-toggle-button-group"));
329
+ const buttons = await Array.from(toggleGroup.querySelectorAll("ic-toggle-button"));
330
+ await page.rootInstance.watchThemeHandler("dark");
331
+ await page.waitForChanges();
332
+ expect(buttons[0].theme).toBe("dark");
333
+ expect(buttons[1].theme).toBe("dark");
334
+ expect(buttons[2].theme).toBe("dark");
148
335
  });
149
336
  });
150
337
  //# sourceMappingURL=ic-toggle-button-group.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ic-toggle-button-group.spec.js","sourceRoot":"","sources":["../../../../src/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { ToggleButtonGroup } from \"../ic-toggle-button-group\";\nimport { ToggleButton } from \"../../ic-toggle-button/ic-toggle-button\";\nimport { Button } from \"../../ic-button/ic-button\";\n\nconst keyboard = (key: string): KeyboardEvent => {\n return new KeyboardEvent(\"keydown\", { key: key });\n};\n\ndescribe(\"ic-toggle-button-group component unit tests\", () => {\n it(\"should getAllToggleButtons and return an array of slotted ic-toggle-buttons\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" size=\"small\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const toggleButtonArray = page.rootInstance.getAllToggleButtons();\n await page.waitForChanges();\n expect(toggleButtonArray.length).toBe(3);\n });\n it(\"should test when the toggle button group receives focus, it should cause the first toggle button inside the group to get focused (when select method is 'single' and no item is already selected)\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n });\n it(\"should test that focusing group when an ic-toggle-button selected should not select first option\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n\n buttons[1].checked = true;\n\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n expect(buttons[1].checked).toBeTruthy();\n });\n it(\"should test that focusing the toggle-button-group focuses, but does not not select, the first ic-toggle-button when select method is 'multi'\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"multi\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n });\n it(\"should test that focusing the toggle-button-group focuses, but does not not select, the first ic-toggle-button when select method is 'multi'\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"multi\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icChange\", eventSpy);\n\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n buttons[0].checked = true;\n buttons[1].checked = true;\n\n const customEv = new CustomEvent(\"icToggleChecked\", {});\n\n page.rootInstance.selectHandler(customEv);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleKeyDown function\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-method=\"auto\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const firstButton = (await document.querySelector(\n \"#0\"\n )) as HTMLIcToggleButtonElement;\n const secondButton = (await document.querySelector(\n \"#1\"\n )) as HTMLIcToggleButtonElement;\n const thirdButton = (await document.querySelector(\n \"#2\"\n )) as HTMLIcToggleButtonElement;\n\n expect(firstButton.checked).toBeFalsy();\n await firstButton.click();\n expect(firstButton.checked).toBeTruthy();\n\n await page.waitForChanges();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowLeft\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowUp\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowDown\"));\n expect(secondButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowLeft\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n secondButton.disabled = true;\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowRight\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n // for coverage\n page.rootInstance.handleKeyDown(keyboard(\"Tab\"));\n document.dispatchEvent(keyboard(\"Tab\"));\n });\n it(\"should test handleKeyDown on disabled toggle-button-group\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group disabled>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const mockEvent = new FocusEvent(\"focus\");\n\n expect(page.rootInstance.handleHostFocus(mockEvent)).toBeNull();\n });\n});\n"]}
1
+ {"version":3,"file":"ic-toggle-button-group.spec.js","sourceRoot":"","sources":["../../../../src/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { ToggleButtonGroup } from \"../ic-toggle-button-group\";\nimport { ToggleButton } from \"../../ic-toggle-button/ic-toggle-button\";\nimport { Button } from \"../../ic-button/ic-button\";\n\nconst keyboard = (key: string): KeyboardEvent => {\n return new KeyboardEvent(\"keydown\", { key: key });\n};\n\ndescribe(\"ic-toggle-button-group component snapshot tests\", () => {\n it(\"should render and update disabled\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" disabled>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root)\n .toEqualHtml(`<ic-toggle-button-group aria-label=\"Toggle button group\" class=\"ic-toggle-button-group-disabled\" disabled=\"\" role=\"group\" select-type=\"single\" tabindex=\"0\" variant=\"default\">\n <mock:shadow-root>\n <slot></slot>\n </mock:shadow-root>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium\" id=\"0\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-disabled ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-disabled=\"true\" aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" disabled=\"\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium\" id=\"1\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-disabled ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-disabled=\"true\" aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" disabled=\"\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-disabled ic-toggle-button-medium\" id=\"2\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-disabled ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-disabled=\"true\" aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" disabled=\"\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n </ic-toggle-button-group>`);\n\n page.rootInstance.disabled = false;\n\n await page.waitForChanges();\n expect(page.root)\n .toEqualHtml(`<ic-toggle-button-group aria-label=\"Toggle button group\" role=\"group\" select-type=\"single\" tabindex=\"0\" variant=\"default\">\n <mock:shadow-root>\n <slot></slot>\n </mock:shadow-root>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-medium\" id=\"0\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-medium\" id=\"1\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n <ic-toggle-button class=\"expand-toggle-group-child ic-toggle-button-medium\" id=\"2\" label=\"Toggle\" tabindex=\"-1\" variant=\"default\">\n <mock:shadow-root>\n <ic-button aria-pressed=\"false\" class=\"ic-button-size-medium ic-button-variant-secondary\" exportparts=\"button\">\n <mock:shadow-root>\n <button aria-label=\"Toggle, unticked, Toggle button group\" class=\"button\" part=\"button\" type=\"button\">\n <slot></slot>\n </button>\n </mock:shadow-root>\n Toggle\n <slot></slot>\n </ic-button>\n </mock:shadow-root>\n </ic-toggle-button>\n </ic-toggle-button-group>`);\n });\n\n it(\"should render and update full-width\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" full-width>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.fullWidth = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render and update loading\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" loading>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.loading = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render and update monochrome\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" monochrome>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.monochrome = false;\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render and update size\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" size=\"small\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.size = \"large\";\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n\n it(\"should render and update variant\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" variant=\"icon\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n expect(page.root).toMatchSnapshot();\n\n page.rootInstance.variant = \"default\";\n\n await page.waitForChanges();\n expect(page.root).toMatchSnapshot();\n });\n});\n\ndescribe(\"ic-toggle-button-group component unit tests\", () => {\n it(\"should getAllToggleButtons and return an array of slotted ic-toggle-buttons\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\" size=\"small\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const toggleButtonArray = page.rootInstance.getAllToggleButtons();\n await page.waitForChanges();\n expect(toggleButtonArray.length).toBe(3);\n });\n it(\"should test when the toggle button group receives focus, it should cause the first toggle button inside the group to get focused (when select method is 'single' and no item is already selected)\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n });\n it(\"should test that focusing group when an ic-toggle-button selected should not select first option\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"single\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n\n buttons[1].checked = true;\n\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n expect(buttons[1].checked).toBeTruthy();\n });\n it(\"should test that focusing the toggle-button-group focuses, but does not not select, the first ic-toggle-button when select method is 'multi'\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"multi\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n\n toggleGroup.focus();\n\n await page.waitForChanges();\n\n expect(buttons[0].checked).toBeFalsy();\n });\n it(\"should test that focusing the toggle-button-group focuses, but does not not select, the first ic-toggle-button when select method is 'multi'\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-type=\"multi\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const eventSpy = jest.fn();\n page.win.addEventListener(\"icChange\", eventSpy);\n\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.waitForChanges();\n buttons[0].checked = true;\n buttons[1].checked = true;\n\n const customEv = new CustomEvent(\"icToggleChecked\", {});\n\n page.rootInstance.selectHandler(customEv);\n\n await page.waitForChanges();\n\n expect(eventSpy).toHaveBeenCalled();\n });\n it(\"should test handleKeyDown function\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group select-method=\"auto\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const firstButton = (await document.querySelector(\n \"#0\"\n )) as HTMLIcToggleButtonElement;\n const secondButton = (await document.querySelector(\n \"#1\"\n )) as HTMLIcToggleButtonElement;\n const thirdButton = (await document.querySelector(\n \"#2\"\n )) as HTMLIcToggleButtonElement;\n\n expect(firstButton.checked).toBeFalsy();\n await firstButton.click();\n expect(firstButton.checked).toBeTruthy();\n\n await page.waitForChanges();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowLeft\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowUp\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowDown\"));\n expect(secondButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowLeft\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n secondButton.disabled = true;\n\n await page.waitForChanges();\n await firstButton.click();\n page.rootInstance.handleKeyDown(keyboard(\"ArrowRight\"));\n expect(thirdButton.checked).toBeTruthy();\n expect(firstButton.checked).toBeFalsy();\n\n // for coverage\n page.rootInstance.handleKeyDown(keyboard(\"Tab\"));\n document.dispatchEvent(keyboard(\"Tab\"));\n });\n it(\"should test handleKeyDown on disabled toggle-button-group\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group disabled>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const mockEvent = new FocusEvent(\"focus\");\n\n expect(page.rootInstance.handleHostFocus(mockEvent)).toBeNull();\n\n await page.rootInstance.disconnectedCallback();\n });\n it(\"should test that setting the theme prop on toggle-button-group sets the theme on all toggle buttons\", async () => {\n const page = await newSpecPage({\n components: [ToggleButtonGroup, ToggleButton, Button],\n html: `<ic-toggle-button-group theme=\"dark\">\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n <ic-toggle-button label=\"Toggle\"></ic-toggle-button>\n </ic-toggle-button-group>`,\n });\n\n const toggleGroup = (await document.querySelector(\n \"ic-toggle-button-group\"\n )) as HTMLIcToggleButtonGroupElement;\n const buttons = await Array.from(\n toggleGroup.querySelectorAll(\"ic-toggle-button\")\n );\n await page.rootInstance.watchThemeHandler(\"dark\");\n await page.waitForChanges();\n\n expect(buttons[0].theme).toBe(\"dark\");\n expect(buttons[1].theme).toBe(\"dark\");\n expect(buttons[2].theme).toBe(\"dark\");\n });\n});\n"]}
@@ -450,6 +450,10 @@ video {
450
450
  width: max-content;
451
451
  height: -moz-max-content;
452
452
  height: max-content;
453
+
454
+ --ic-tooltip-background: var(--ic-color-background-primary-dark);
455
+ --ic-tooltip-text: var(--ic-color-text-primary-dark);
456
+ --ic-tooltip-border: var(--ic-color-border-neutral-grey-light);
453
457
  }
454
458
 
455
459
  :host(.ic-tooltip) .ic-tooltip-container {
@@ -463,6 +467,8 @@ video {
463
467
  display: none;
464
468
  z-index: var(--ic-z-index-tooltip);
465
469
  box-shadow: var(--ic-elevation-overlay);
470
+ width: -moz-max-content;
471
+ width: max-content;
466
472
  }
467
473
 
468
474
  :host(.ic-tooltip) ic-typography {
@@ -583,6 +589,6 @@ video {
583
589
  @media (forced-colors: active) {
584
590
  :host(.ic-tooltip) .ic-tooltip-container,
585
591
  :host(.ic-tooltip) .ic-tooltip-arrow::before {
586
- border: var(--ic-hc-border);
592
+ border: var(--ic-border-hc);
587
593
  }
588
594
  }
@@ -239,11 +239,8 @@ export class Tooltip {
239
239
  "required": false,
240
240
  "optional": true,
241
241
  "docs": {
242
- "tags": [{
243
- "name": "internal",
244
- "text": "If `true`, the tooltip will not be displayed on click, it will require hover or using the display method."
245
- }],
246
- "text": ""
242
+ "tags": [],
243
+ "text": "If `true`, the tooltip will not be displayed on click, it will require hover or using the display method."
247
244
  },
248
245
  "attribute": "disable-click",
249
246
  "reflect": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * @internal If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-tooltip.js","sourceRoot":"","sources":["../../../src/components/ic-tooltip/ic-tooltip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown);\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"]}