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

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 (966) 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 +47 -3
  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 +13 -5
  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 +7 -6
  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 +58 -28
  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 +13 -8
  150. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +50 -3
  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 +45 -1
  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 +99 -115
  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 +47 -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 +699 -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 -3
  189. package/dist/collection/components/ic-dialog/ic-dialog.js +37 -5
  190. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1050 -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 +8 -7
  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 +1 -25
  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 +81 -25
  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 +187 -56
  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 +49 -3
  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 +13 -4
  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 +8 -7
  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 +61 -29
  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 +1601 -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-0cb72d37.entry.js +2 -0
  559. package/dist/core/p-0cb72d37.entry.js.map +1 -0
  560. package/dist/core/{p-a3b6a02d.entry.js → p-1223d0e9.entry.js} +2 -2
  561. package/dist/core/p-1223d0e9.entry.js.map +1 -0
  562. package/dist/core/p-190c3474.entry.js +2 -0
  563. package/dist/core/p-190c3474.entry.js.map +1 -0
  564. package/dist/core/p-199b9196.entry.js +2 -0
  565. package/dist/core/p-199b9196.entry.js.map +1 -0
  566. package/dist/core/p-1bf956cb.entry.js +2 -0
  567. package/dist/core/p-1bf956cb.entry.js.map +1 -0
  568. package/dist/core/{p-d8870804.entry.js → p-20ac0d2a.entry.js} +2 -2
  569. package/dist/core/p-2197e83e.entry.js +2 -0
  570. package/dist/core/p-2197e83e.entry.js.map +1 -0
  571. package/dist/core/{p-e861a2b3.entry.js → p-243ad74c.entry.js} +2 -2
  572. package/dist/core/p-243ad74c.entry.js.map +1 -0
  573. package/dist/core/p-24a34d72.entry.js +2 -0
  574. package/dist/core/p-24a34d72.entry.js.map +1 -0
  575. package/dist/core/{p-54238d16.entry.js → p-27274ca8.entry.js} +2 -2
  576. package/dist/core/p-27274ca8.entry.js.map +1 -0
  577. package/dist/core/p-29afeb33.entry.js +2 -0
  578. package/dist/core/p-29afeb33.entry.js.map +1 -0
  579. package/dist/core/p-2cc0d6b9.entry.js +2 -0
  580. package/dist/core/p-2cc0d6b9.entry.js.map +1 -0
  581. package/dist/core/p-31c84a47.entry.js +2 -0
  582. package/dist/core/p-31c84a47.entry.js.map +1 -0
  583. package/dist/core/p-33b44dc1.entry.js +2 -0
  584. package/dist/core/p-33b44dc1.entry.js.map +1 -0
  585. package/dist/core/p-36ac5305.entry.js +2 -0
  586. package/dist/core/p-36ac5305.entry.js.map +1 -0
  587. package/dist/core/p-404b482e.entry.js +2 -0
  588. package/dist/core/p-404b482e.entry.js.map +1 -0
  589. package/dist/core/{p-1e802eeb.entry.js → p-419d3378.entry.js} +2 -2
  590. package/dist/core/p-419d3378.entry.js.map +1 -0
  591. package/dist/core/p-47038ea3.entry.js +2 -0
  592. package/dist/core/p-47038ea3.entry.js.map +1 -0
  593. package/dist/core/p-490bf0ee.entry.js +2 -0
  594. package/dist/core/p-490bf0ee.entry.js.map +1 -0
  595. package/dist/core/p-4e6e34fe.entry.js +2 -0
  596. package/dist/core/p-4e6e34fe.entry.js.map +1 -0
  597. package/dist/core/p-4fce49bd.entry.js +2 -0
  598. package/dist/core/p-4fce49bd.entry.js.map +1 -0
  599. package/dist/core/p-50b04d0f.entry.js +2 -0
  600. package/dist/core/p-50b04d0f.entry.js.map +1 -0
  601. package/dist/core/p-5b42dbef.entry.js +2 -0
  602. package/dist/core/p-5b42dbef.entry.js.map +1 -0
  603. package/dist/core/p-5be2c26a.entry.js +2 -0
  604. package/dist/core/p-5be2c26a.entry.js.map +1 -0
  605. package/dist/core/p-5d5345a4.entry.js +2 -0
  606. package/dist/core/p-5d5345a4.entry.js.map +1 -0
  607. package/dist/core/p-5dcc0489.entry.js +2 -0
  608. package/dist/core/p-5dcc0489.entry.js.map +1 -0
  609. package/dist/core/p-5f6d6b3f.entry.js +2 -0
  610. package/dist/core/p-5f6d6b3f.entry.js.map +1 -0
  611. package/dist/core/p-5f74782e.entry.js +2 -0
  612. package/dist/core/p-5f74782e.entry.js.map +1 -0
  613. package/dist/core/p-641e244d.entry.js +2 -0
  614. package/dist/core/p-641e244d.entry.js.map +1 -0
  615. package/dist/core/{p-46ee459b.entry.js → p-6c1cf351.entry.js} +2 -2
  616. package/dist/core/p-6c1cf351.entry.js.map +1 -0
  617. package/dist/core/p-6e630778.entry.js +2 -0
  618. package/dist/core/p-6e630778.entry.js.map +1 -0
  619. package/dist/core/p-7c8cd719.entry.js +2 -0
  620. package/dist/core/p-7c8cd719.entry.js.map +1 -0
  621. package/dist/core/p-7c94e055.entry.js +2 -0
  622. package/dist/core/p-7c94e055.entry.js.map +1 -0
  623. package/dist/core/p-7fa74998.entry.js +2 -0
  624. package/dist/core/p-7fa74998.entry.js.map +1 -0
  625. package/dist/core/p-7ff4632d.entry.js +2 -0
  626. package/dist/core/p-7ff4632d.entry.js.map +1 -0
  627. package/dist/core/p-84c3a870.entry.js +2 -0
  628. package/dist/core/p-84c3a870.entry.js.map +1 -0
  629. package/dist/core/p-8624bb98.entry.js +2 -0
  630. package/dist/core/p-8624bb98.entry.js.map +1 -0
  631. package/dist/core/p-87aa30b4.entry.js +2 -0
  632. package/dist/core/p-87aa30b4.entry.js.map +1 -0
  633. package/dist/core/p-932f3e3c.js +2 -0
  634. package/dist/core/p-932f3e3c.js.map +1 -0
  635. package/dist/core/{p-e597da0e.entry.js → p-96b4ca6e.entry.js} +2 -2
  636. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  637. package/dist/core/p-9ad4bbf4.entry.js +2 -0
  638. package/dist/core/p-9ad4bbf4.entry.js.map +1 -0
  639. package/dist/core/p-9cfd6855.entry.js +2 -0
  640. package/dist/core/p-9cfd6855.entry.js.map +1 -0
  641. package/dist/core/p-a38f5453.entry.js +2 -0
  642. package/dist/core/p-a38f5453.entry.js.map +1 -0
  643. package/dist/core/p-af934e73.entry.js +2 -0
  644. package/dist/core/p-af934e73.entry.js.map +1 -0
  645. package/dist/core/p-b9941d97.entry.js +2 -0
  646. package/dist/core/p-b9941d97.entry.js.map +1 -0
  647. package/dist/core/p-cf0176be.entry.js +2 -0
  648. package/dist/core/p-cf0176be.entry.js.map +1 -0
  649. package/dist/core/p-cf5d88a9.entry.js +2 -0
  650. package/dist/core/p-cf5d88a9.entry.js.map +1 -0
  651. package/dist/core/p-d21d8014.entry.js +2 -0
  652. package/dist/core/p-d21d8014.entry.js.map +1 -0
  653. package/dist/core/p-df957570.entry.js +2 -0
  654. package/dist/core/p-df957570.entry.js.map +1 -0
  655. package/dist/core/p-e0730a5d.entry.js +2 -0
  656. package/dist/core/p-e0730a5d.entry.js.map +1 -0
  657. package/dist/core/p-e1f8d915.entry.js +2 -0
  658. package/dist/core/p-e1f8d915.entry.js.map +1 -0
  659. package/dist/core/{p-5a2630fb.entry.js → p-e4cb5585.entry.js} +2 -2
  660. package/dist/core/p-e4cb5585.entry.js.map +1 -0
  661. package/dist/core/p-f073fc69.entry.js +2 -0
  662. package/dist/core/p-f073fc69.entry.js.map +1 -0
  663. package/dist/core/p-f2d9eefe.entry.js +2 -0
  664. package/dist/core/p-f2d9eefe.entry.js.map +1 -0
  665. package/dist/core/p-f7872eef.entry.js +2 -0
  666. package/dist/core/p-f7872eef.entry.js.map +1 -0
  667. package/dist/core/{p-bf4c61cb.entry.js → p-f9dceda0.entry.js} +2 -2
  668. package/dist/core/{p-bf4c61cb.entry.js.map → p-f9dceda0.entry.js.map} +1 -1
  669. package/dist/core/{p-c81109da.entry.js → p-fac53f92.entry.js} +2 -2
  670. package/dist/core/p-fac53f92.entry.js.map +1 -0
  671. package/dist/esm/core.js +1 -1
  672. package/dist/esm/{helpers-1c9151ef.js → helpers-2624c32c.js} +74 -27
  673. package/dist/esm/helpers-2624c32c.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 +47 -3
  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 +13 -5
  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 +7 -6
  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 +58 -28
  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 +8 -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 +7 -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 +1974 -1046
  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.map +0 -1
  901. package/dist/core/p-5a52614c.entry.js +0 -2
  902. package/dist/core/p-5a52614c.entry.js.map +0 -1
  903. package/dist/core/p-60efd7fa.entry.js +0 -2
  904. package/dist/core/p-60efd7fa.entry.js.map +0 -1
  905. package/dist/core/p-69f3ce5a.entry.js +0 -2
  906. package/dist/core/p-69f3ce5a.entry.js.map +0 -1
  907. package/dist/core/p-78ce4920.entry.js +0 -2
  908. package/dist/core/p-78ce4920.entry.js.map +0 -1
  909. package/dist/core/p-79d2a33b.entry.js +0 -2
  910. package/dist/core/p-79d2a33b.entry.js.map +0 -1
  911. package/dist/core/p-80237a20.entry.js +0 -2
  912. package/dist/core/p-80237a20.entry.js.map +0 -1
  913. package/dist/core/p-804513ad.entry.js +0 -2
  914. package/dist/core/p-804513ad.entry.js.map +0 -1
  915. package/dist/core/p-82375dca.entry.js +0 -2
  916. package/dist/core/p-82375dca.entry.js.map +0 -1
  917. package/dist/core/p-8e1e25a7.entry.js +0 -2
  918. package/dist/core/p-8e1e25a7.entry.js.map +0 -1
  919. package/dist/core/p-a1a1000d.entry.js +0 -2
  920. package/dist/core/p-a1a1000d.entry.js.map +0 -1
  921. package/dist/core/p-a1b1a0ab.entry.js +0 -2
  922. package/dist/core/p-a1b1a0ab.entry.js.map +0 -1
  923. package/dist/core/p-a37bcdbe.entry.js +0 -2
  924. package/dist/core/p-a37bcdbe.entry.js.map +0 -1
  925. package/dist/core/p-a3b6a02d.entry.js.map +0 -1
  926. package/dist/core/p-a765ad17.entry.js +0 -2
  927. package/dist/core/p-a765ad17.entry.js.map +0 -1
  928. package/dist/core/p-aa2be24c.entry.js +0 -2
  929. package/dist/core/p-aa2be24c.entry.js.map +0 -1
  930. package/dist/core/p-b12a5283.entry.js +0 -2
  931. package/dist/core/p-b12a5283.entry.js.map +0 -1
  932. package/dist/core/p-b1b05979.entry.js +0 -2
  933. package/dist/core/p-b1b05979.entry.js.map +0 -1
  934. package/dist/core/p-c6795377.entry.js +0 -2
  935. package/dist/core/p-c6795377.entry.js.map +0 -1
  936. package/dist/core/p-c81109da.entry.js.map +0 -1
  937. package/dist/core/p-cb4d104e.entry.js +0 -2
  938. package/dist/core/p-cb4d104e.entry.js.map +0 -1
  939. package/dist/core/p-d2f89cb5.entry.js +0 -2
  940. package/dist/core/p-d2f89cb5.entry.js.map +0 -1
  941. package/dist/core/p-d43d1ec0.entry.js +0 -2
  942. package/dist/core/p-d43d1ec0.entry.js.map +0 -1
  943. package/dist/core/p-d5829a35.entry.js +0 -2
  944. package/dist/core/p-d5829a35.entry.js.map +0 -1
  945. package/dist/core/p-ddb8d280.entry.js +0 -2
  946. package/dist/core/p-ddb8d280.entry.js.map +0 -1
  947. package/dist/core/p-e0e34fa7.entry.js +0 -2
  948. package/dist/core/p-e0e34fa7.entry.js.map +0 -1
  949. package/dist/core/p-e4b276b5.entry.js +0 -2
  950. package/dist/core/p-e4b276b5.entry.js.map +0 -1
  951. package/dist/core/p-e597da0e.entry.js.map +0 -1
  952. package/dist/core/p-e861a2b3.entry.js.map +0 -1
  953. package/dist/core/p-ea277b05.entry.js +0 -2
  954. package/dist/core/p-ea277b05.entry.js.map +0 -1
  955. package/dist/core/p-ef871b8f.entry.js +0 -2
  956. package/dist/core/p-ef871b8f.entry.js.map +0 -1
  957. package/dist/core/p-f229d19e.entry.js +0 -2
  958. package/dist/core/p-f229d19e.entry.js.map +0 -1
  959. package/dist/core/p-f30f3a3e.entry.js +0 -2
  960. package/dist/core/p-f30f3a3e.entry.js.map +0 -1
  961. package/dist/core/p-fa587e6d.entry.js +0 -2
  962. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  963. package/dist/core/p-fb6ac08d.entry.js +0 -2
  964. package/dist/core/p-fb6ac08d.entry.js.map +0 -1
  965. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  966. /package/dist/core/{p-d8870804.entry.js.map → p-20ac0d2a.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ic-navigation-button.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-button/ic-navigation-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getThemeForegroundColor,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: string } = {};\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n @State() initialAppearance = getThemeForegroundColor();\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentWillRender(): void {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.initialAppearance = theme.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcThemeForeground | IcThemeForegroundEnum.Default =\n this.initialAppearance;\n let size: \"medium\" | \"large\" = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcThemeForegroundEnum.Default;\n size = \"medium\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n\n return (\n <Host class={{ [\"in-side-menu\"]: this.mode === \"menu\" }}>\n <ic-button\n class={className}\n aria-label={variant == \"icon\" ? this.label : null}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n >\n {label}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && variant === \"icon\" && (\n <slot name=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-navigation-button.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-button/ic-navigation-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getBrandForegroundAppearance,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: string } = {};\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n @State() initialAppearance: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentWillRender(): void {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.initialAppearance = ev.detail.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcBrandForeground | IcBrandForegroundEnum.Default =\n this.initialAppearance;\n let size: \"medium\" | \"large\" = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcBrandForegroundEnum.Default;\n size = \"medium\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: this.mode === \"menu\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <ic-button\n class={className}\n aria-label={variant == \"icon\" ? this.label : null}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n monochrome={this.mode !== \"menu\"}\n theme={getBrandForegroundAppearance() == \"light\" ? \"light\" : \"dark\"}\n >\n {label}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </ic-button>\n </Host>\n );\n }\n}\n"]}
@@ -27,7 +27,7 @@ describe("ic-navigation-button", () => {
27
27
  expect(page.root).toEqualHtml(`
28
28
  <ic-navigation-button label="button1" onclick="alert('test')">
29
29
  <mock:shadow-root>
30
- <ic-button aria-label="button1" appearance="light" size="large" variant="icon">
30
+ <ic-button appearance="light" aria-label="button1" monochrome="" size="large" theme="light" variant="icon">
31
31
  <slot name="icon" slot="left-icon"></slot>
32
32
  </ic-button>
33
33
  </mock:shadow-root>
@@ -62,13 +62,13 @@ describe("ic-navigation-button", () => {
62
62
  await page.waitForChanges();
63
63
  expect(page.rootInstance.mode).toEqual("navbar");
64
64
  });
65
- it("should correctly set appearance on theme change", async () => {
65
+ it("should correctly set appearance on brand change", async () => {
66
66
  const page = await newSpecPage({
67
67
  components: [NavigationButton],
68
68
  html: `<ic-navigation-button label="button1" onclick="alert('test')">
69
69
  </ic-navigation-button>`,
70
70
  });
71
- await page.rootInstance.themeChangeHandler({ detail: { mode: "dark" } });
71
+ await page.rootInstance.brandChangeHandler({ detail: { mode: "dark" } });
72
72
  await page.waitForChanges();
73
73
  expect(page.rootInstance.initialAppearance).toBe("dark");
74
74
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ic-navigation-button.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-button/test/basic/ic-navigation-button.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { NavigationButton } from \"../../ic-navigation-button\";\n\ndescribe(\"ic-navigation-button\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button\n label=\"button1\"\n onclick=\"alert('test')\"\n >\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"\n />\n </svg>\n </ic-navigation-button>`,\n });\n expect(page.root).toEqualHtml(`\n <ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n <mock:shadow-root>\n <ic-button aria-label=\"button1\" appearance=\"light\" size=\"large\" variant=\"icon\">\n <slot name=\"icon\" slot=\"left-icon\"></slot>\n </ic-button>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"></path>\n </svg>\n </ic-navigation-button>\n `);\n });\n\n it(\"should render differently if mode is menu\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n page.rootInstance.mode = \"menu\";\n const el = page.root.shadowRoot.querySelector(\"ic-button\");\n\n await page.waitForChanges();\n expect(el.className).toEqual(\"popout-menu-button\");\n });\n\n it(\"should correctly set mode on menu open and close\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.navBarMenuOpenHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"menu\");\n\n await page.rootInstance.navBarMenuCloseHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"navbar\");\n });\n\n it(\"should correctly set appearance on theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n\n expect(page.rootInstance.initialAppearance).toBe(\"dark\");\n });\n\n it(\"should correctly set focus\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.setFocus();\n });\n\n it(\"should update any attributes that are inherited from the root element\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\"></ic-navigation-button>`,\n });\n expect(\n page.root.shadowRoot.querySelector(\"ic-button\").getAttribute(\"aria-label\")\n ).toBeNull();\n\n page.root.setAttribute(\"aria-label\", \"new-label\");\n page.rootInstance.hostMutationCallback([{ attributeName: \"aria-label\" }]);\n await page.waitForChanges();\n\n expect(\n page.root.shadowRoot.querySelector(\"ic-button\").getAttribute(\"aria-label\")\n ).toBe(\"new-label\");\n });\n});\n"]}
1
+ {"version":3,"file":"ic-navigation-button.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-button/test/basic/ic-navigation-button.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { Button } from \"../../../ic-button/ic-button\";\nimport { NavigationButton } from \"../../ic-navigation-button\";\n\ndescribe(\"ic-navigation-button\", () => {\n it(\"should render\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button\n label=\"button1\"\n onclick=\"alert('test')\"\n >\n <svg\n slot=\"icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#000000\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"\n />\n </svg>\n </ic-navigation-button>`,\n });\n expect(page.root).toEqualHtml(`\n <ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n <mock:shadow-root>\n <ic-button appearance=\"light\" aria-label=\"button1\" monochrome=\"\" size=\"large\" theme=\"light\" variant=\"icon\">\n <slot name=\"icon\" slot=\"left-icon\"></slot>\n </ic-button>\n </mock:shadow-root>\n <svg fill=\"#000000\" height=\"24px\" slot=\"icon\" viewBox=\"0 0 24 24\" width=\"24px\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path>\n <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z\"></path>\n </svg>\n </ic-navigation-button>\n `);\n });\n\n it(\"should render differently if mode is menu\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n page.rootInstance.mode = \"menu\";\n const el = page.root.shadowRoot.querySelector(\"ic-button\");\n\n await page.waitForChanges();\n expect(el.className).toEqual(\"popout-menu-button\");\n });\n\n it(\"should correctly set mode on menu open and close\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.navBarMenuOpenHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"menu\");\n\n await page.rootInstance.navBarMenuCloseHandler();\n await page.waitForChanges();\n\n expect(page.rootInstance.mode).toEqual(\"navbar\");\n });\n\n it(\"should correctly set appearance on brand change\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.brandChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n\n expect(page.rootInstance.initialAppearance).toBe(\"dark\");\n });\n\n it(\"should correctly set focus\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\" onclick=\"alert('test')\">\n </ic-navigation-button>`,\n });\n\n await page.rootInstance.setFocus();\n });\n\n it(\"should update any attributes that are inherited from the root element\", async () => {\n const page = await newSpecPage({\n components: [NavigationButton, Button],\n html: `<ic-navigation-button label=\"button1\"></ic-navigation-button>`,\n });\n expect(\n page.root.shadowRoot.querySelector(\"ic-button\").getAttribute(\"aria-label\")\n ).toBeNull();\n\n page.root.setAttribute(\"aria-label\", \"new-label\");\n page.rootInstance.hostMutationCallback([{ attributeName: \"aria-label\" }]);\n await page.waitForChanges();\n\n expect(\n page.root.shadowRoot.querySelector(\"ic-button\").getAttribute(\"aria-label\")\n ).toBe(\"new-label\");\n });\n});\n"]}
@@ -452,7 +452,8 @@ video {
452
452
  }
453
453
 
454
454
  :host(.in-side-menu) {
455
- border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);
455
+ border-bottom: var(--ic-border-width) solid
456
+ var(--ic-divider-background-monochrome);
456
457
  padding: var(--ic-space-md) 0;
457
458
  }
458
459
 
@@ -460,11 +461,11 @@ video {
460
461
  height: 100%;
461
462
  width: -moz-fit-content;
462
463
  width: fit-content;
463
- color: var(--ic-theme-text);
464
+ color: var(--ic-brand-text-color);
464
465
  display: flex;
465
466
  align-items: center;
466
467
  justify-content: center;
467
- padding: 0 var(--ic-space-md);
468
+ padding: 0 var(--ic-space-md) var(--ic-space-xxs);
468
469
  transition: var(--ic-easing-transition-slow);
469
470
  position: relative;
470
471
  background: none;
@@ -483,14 +484,14 @@ video {
483
484
  }
484
485
 
485
486
  :host(.in-side-menu) .navigation-group-side-menu {
486
- color: var(--ic-action-default);
487
+ color: var(--ic-top-navigation-nav-group-link);
487
488
  justify-content: flex-start;
488
489
  padding: 0 var(--ic-space-md) 0 var(--ic-space-md);
489
490
  }
490
491
 
491
492
  :host(.in-side-menu) .navigation-group-side-menu-collapsed,
492
493
  :host(.in-side-menu) .navigation-group-side-menu-expanded {
493
- color: var(--ic-action-default);
494
+ color: var(--ic-top-navigation-nav-group-link);
494
495
  justify-content: flex-start;
495
496
  padding-left: var(--ic-space-md);
496
497
  }
@@ -523,7 +524,7 @@ video {
523
524
  :host .navigation-group:active,
524
525
  :host .selected {
525
526
  background-color: var(--ic-architectural-20);
526
- color: var(--ic-color-primary-text-light);
527
+ color: var(--ic-color-text-primary-light);
527
528
  outline: none;
528
529
  cursor: pointer;
529
530
  }
@@ -537,15 +538,19 @@ video {
537
538
  }
538
539
 
539
540
  :host(.in-side-menu) .navigation-group-side-menu:hover,
540
- :host(.in-side-menu) .navigation-group-side-menu:active,
541
541
  :host(.in-side-menu) .navigation-group-side-menu:focus {
542
- background-color: var(--ic-architectural-20);
543
- color: var(--ic-action-default);
542
+ background-color: var(--ic-top-navigation-nav-group-hover);
543
+ color: var(--ic-top-navigation-nav-group-link);
544
544
  cursor: auto;
545
545
  box-shadow: none;
546
546
  outline: none;
547
547
  }
548
548
 
549
+ :host(.in-side-menu) .navigation-group-side-menu:active {
550
+ background-color: var(--ic-top-navigation-nav-group-pressed);
551
+ color: var(--ic-top-navigation-nav-group-link);
552
+ }
553
+
549
554
  :host(.in-side-menu) .navigation-group-side-menu:focus {
550
555
  outline: var(--ic-hc-focus-outline);
551
556
  }
@@ -559,7 +564,7 @@ video {
559
564
 
560
565
  :host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),
561
566
  :host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {
562
- background-color: var(--ic-action-dark-bg-active);
567
+ background-color: var(--ic-action-dark-bg-pressed);
563
568
  color: var(--ic-action-default);
564
569
  }
565
570
 
@@ -572,8 +577,8 @@ video {
572
577
  }
573
578
 
574
579
  :host .navigation-group-dropdown {
575
- background-color: var(--ic-architectural-20);
576
- border-bottom: var(--ic-border-default);
580
+ background-color: var(--ic-top-navigation-menu-background);
581
+ border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);
577
582
  position: absolute;
578
583
  left: 0;
579
584
  right: 0;
@@ -1,5 +1,5 @@
1
1
  import { Host, h, } from "@stencil/core";
2
- import { DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getNavItemParentDetails, } from "../../utils/helpers";
2
+ import { DEVICE_SIZES, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from "../../utils/helpers";
3
3
  import chevronIcon from "../../assets/chevron-icon.svg";
4
4
  export class NavigationGroup {
5
5
  constructor() {
@@ -200,19 +200,21 @@ export class NavigationGroup {
200
200
  this.deviceSize = DEVICE_SIZES.XL;
201
201
  this.dropdownOpen = false;
202
202
  this.expanded = true;
203
- this.focusStyle = getThemeForegroundColor();
203
+ this.focusStyle = getBrandForegroundAppearance();
204
204
  this.inTopNavSideMenu = false;
205
205
  this.navigationType = undefined;
206
206
  this.parentEl = undefined;
207
207
  this.expandable = false;
208
208
  this.label = undefined;
209
+ this.theme = "inherit";
209
210
  }
210
211
  disconnectedCallback() {
212
+ var _a, _b;
211
213
  if (this.navigationType === "side") {
212
- this.parentEl.removeEventListener("icSideNavExpanded", this.sideNavExpandHandler);
214
+ (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener("icSideNavExpanded", this.sideNavExpandHandler);
213
215
  }
214
216
  else if (this.navigationType === "top") {
215
- this.parentEl.removeEventListener("icTopNavResized", this.topNavResizedHandler);
217
+ (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener("icTopNavResized", this.topNavResizedHandler);
216
218
  }
217
219
  }
218
220
  componentWillLoad() {
@@ -244,9 +246,8 @@ export class NavigationGroup {
244
246
  navItemClickHandler() {
245
247
  this.hideDropdown();
246
248
  }
247
- themeChangeHandler(ev) {
248
- const theme = ev.detail;
249
- this.focusStyle = theme.mode;
249
+ brandChangeHandler(ev) {
250
+ this.focusStyle = ev.detail.mode;
250
251
  }
251
252
  /**
252
253
  * Sets focus on the nav item.
@@ -280,6 +281,7 @@ export class NavigationGroup {
280
281
  "ic-navigation-group-expanded": this.expanded,
281
282
  "ic-navigation-group-collapsed": !this.expanded,
282
283
  ["ic-navigation-group-side-nav"]: this.navigationType === "side",
284
+ [`ic-theme-${this.theme}`]: this.theme !== "inherit",
283
285
  }, role: "listitem" }, h("button", { onMouseEnter: !inTopNavSideMenu &&
284
286
  this.navigationType === "top" &&
285
287
  this.handleMouseEnter, onMouseLeave: this.navigationType === "top" && this.handleMouseLeave, tabindex: inTopNavSideMenu && !expandable ? "-1" : "0", onBlur: this.handleBlur, onClick: expandable ? this.handleClick : null, onKeyDown: this.handleKeydown, class: {
@@ -343,6 +345,30 @@ export class NavigationGroup {
343
345
  },
344
346
  "attribute": "label",
345
347
  "reflect": false
348
+ },
349
+ "theme": {
350
+ "type": "string",
351
+ "mutable": false,
352
+ "complexType": {
353
+ "original": "IcThemeMode",
354
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
355
+ "references": {
356
+ "IcThemeMode": {
357
+ "location": "import",
358
+ "path": "../../utils/types",
359
+ "id": "src/utils/types.ts::IcThemeMode"
360
+ }
361
+ }
362
+ },
363
+ "required": false,
364
+ "optional": true,
365
+ "docs": {
366
+ "tags": [],
367
+ "text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
368
+ },
369
+ "attribute": "theme",
370
+ "reflect": false,
371
+ "defaultValue": "\"inherit\""
346
372
  }
347
373
  };
348
374
  }
@@ -393,8 +419,8 @@ export class NavigationGroup {
393
419
  "capture": false,
394
420
  "passive": false
395
421
  }, {
396
- "name": "themeChange",
397
- "method": "themeChangeHandler",
422
+ "name": "brandChange",
423
+ "method": "brandChangeHandler",
398
424
  "target": "document",
399
425
  "capture": false,
400
426
  "passive": false
@@ -1 +1 @@
1
- {"version":3,"file":"ic-navigation-group.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-group/ic-navigation-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItems: HTMLIcNavigationItemElement[] = [];\n private collapsedNavItemsHeight: string;\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\n private expandedNavItemsHeight: string;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private isSideNavExpanded: boolean;\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n private GROUPED_LINKS_WRAPPER_CLASS = \".grouped-links-wrapper\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle = getThemeForegroundColor();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItems = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (event?: CustomEvent): void => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (this.isSideNavExpanded) {\n if (this.expanded && this.expandedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n } else {\n if (this.expanded && this.collapsedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n }\n };\n\n private topNavResizedHandler = ({\n detail,\n }: CustomEvent<{ size: number }>): void => {\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)\n ?.customMobileBreakpoint || DEVICE_SIZES.L);\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (!wrapper) return;\n\n if (expanded) {\n if (this.isSideNavExpanded) {\n this.setGroupedLinksElementHeight(wrapper, this.expandedNavItemsHeight);\n } else {\n this.setGroupedLinksElementHeight(\n wrapper,\n this.collapsedNavItemsHeight\n );\n }\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.style.setProperty(\"--navigation-child-items-height\", \"0\");\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget?.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.offsetHeight;\n });\n\n return `${navigationChildItemsHeight}px`;\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (\n !this.isSideNavExpanded &&\n !this.collapsedNavItemsHeight &&\n this.expanded\n ) {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }\n\n if (this.isSideNavExpanded && this.expanded) {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight(\n groupedNavItemWrapper: HTMLElement,\n height: string\n ) {\n groupedNavItemWrapper.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n }\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n \"ic-navigation-group-expanded\": this.expanded,\n \"ic-navigation-group-collapsed\": !this.expanded,\n [\"ic-navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <button\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${dropdownOpen || this.expanded}`}\n aria-haspopup={`${\n !inTopNavSideMenu && this.navigationType === \"top\"\n }`}\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-navigation-group.js","sourceRoot":"","sources":["../../../src/components/ic-navigation-group/ic-navigation-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItems: HTMLIcNavigationItemElement[] = [];\n private collapsedNavItemsHeight: string;\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\n private expandedNavItemsHeight: string;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private isSideNavExpanded: boolean;\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n private GROUPED_LINKS_WRAPPER_CLASS = \".grouped-links-wrapper\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItems = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (event?: CustomEvent): void => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (this.isSideNavExpanded) {\n if (this.expanded && this.expandedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n } else {\n if (this.expanded && this.collapsedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n }\n };\n\n private topNavResizedHandler = ({\n detail,\n }: CustomEvent<{ size: number }>): void => {\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)\n ?.customMobileBreakpoint || DEVICE_SIZES.L);\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (!wrapper) return;\n\n if (expanded) {\n if (this.isSideNavExpanded) {\n this.setGroupedLinksElementHeight(wrapper, this.expandedNavItemsHeight);\n } else {\n this.setGroupedLinksElementHeight(\n wrapper,\n this.collapsedNavItemsHeight\n );\n }\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.style.setProperty(\"--navigation-child-items-height\", \"0\");\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget?.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.offsetHeight;\n });\n\n return `${navigationChildItemsHeight}px`;\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (\n !this.isSideNavExpanded &&\n !this.collapsedNavItemsHeight &&\n this.expanded\n ) {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }\n\n if (this.isSideNavExpanded && this.expanded) {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight(\n groupedNavItemWrapper: HTMLElement,\n height: string\n ) {\n groupedNavItemWrapper.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n }\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n \"ic-navigation-group-expanded\": this.expanded,\n \"ic-navigation-group-collapsed\": !this.expanded,\n [\"ic-navigation-group-side-nav\"]: this.navigationType === \"side\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n role=\"listitem\"\n >\n <button\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${dropdownOpen || this.expanded}`}\n aria-haspopup={`${\n !inTopNavSideMenu && this.navigationType === \"top\"\n }`}\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"]}
@@ -195,16 +195,16 @@ describe("ic-navigation-group", () => {
195
195
  await page.waitForChanges();
196
196
  expect(page.rootInstance.dropdownOpen).toBe(true);
197
197
  });
198
- it("should test theme change", async () => {
198
+ it("should test brand change", async () => {
199
199
  const page = await newSpecPage({
200
200
  components: [NavigationGroup],
201
201
  html: `<ic-navigation-group label="Group label"></ic-navigation-group>`,
202
202
  });
203
203
  await waitForNavGroupLoad();
204
- await page.rootInstance.themeChangeHandler({ detail: { mode: "dark" } });
204
+ await page.rootInstance.brandChangeHandler({ detail: { mode: "dark" } });
205
205
  await page.waitForChanges();
206
206
  expect(page.rootInstance.focusStyle).toBe("dark");
207
- await page.rootInstance.themeChangeHandler({ detail: { mode: "light" } });
207
+ await page.rootInstance.brandChangeHandler({ detail: { mode: "light" } });
208
208
  await page.waitForChanges();
209
209
  expect(page.rootInstance.focusStyle).toBe("light");
210
210
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ic-navigation-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-group/test/basic/ic-navigation-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForNavGroupLoad } from \"../../../../testspec.setup\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { SideNavigation } from \"../../../ic-side-navigation/ic-side-navigation\";\nimport { TopNavigation } from \"../../../ic-top-navigation/ic-top-navigation\";\nimport { DEVICE_SIZES } from \"../../../../utils/helpers\";\nimport { NavigationGroup } from \"./../../ic-navigation-group\";\nimport * as helpers from \"../../../../utils/helpers\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\n\nconst ev = {\n relatedTarget: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n target: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n};\n\nconst timeOut = 1000;\n\ndescribe(\"ic-navigation-group\", () => {\n it(\"should render with label\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n expect(page.root).toMatchSnapshot(\"renders-with-label\");\n });\n\n it(\"should test handleMouseEnter\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n page.rootInstance.mouseGate = true;\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.hideDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n ev.relatedTarget.nodeName = \"ANOTHER-NAME\";\n page.rootInstance.mouseGate = false;\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.mouseGate).toBe(true);\n\n jest.spyOn(document, \"addEventListener\");\n\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n\n expect(document.addEventListener).toHaveBeenCalledTimes(1);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n\n await page.rootInstance.childBlurHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n\n await page.rootInstance.navItemClickHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test toggleExpanded\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should test click handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleClick();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.rootInstance.handleClick({ detail: { something: \"set\" } });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test top nav key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleTopNavKeydown({ key: \"Escape\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleTopNavKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test handleBlur function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"closerEachDay\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n\n await waitForNavGroupLoad();\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleBlur(ev);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n });\n\n it(\"should test handleMouseLeave function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n ev.target.nodeName = \"IC-NOT-NAV-GROUP\";\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(600);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check other branch of 'if'\n ev.relatedTarget.nodeName = \"IC-NOT-NAV-GROUP\";\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check if null value called\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n ev.target.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.navigationType = \"side\";\n await page.rootInstance.handleKeydown({\n key: \" \",\n preventDefault: (): void => null,\n });\n await page.waitForChanges();\n await waitForTimeout(600);\n expect(page.rootInstance.expanded).toBe(true);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.waitForChanges();\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test theme change\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"dark\");\n\n await page.rootInstance.themeChangeHandler({ detail: { mode: \"light\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"light\");\n });\n\n it(\"should test inside side navigation\", async () => {\n const page = await newSpecPage({\n components: [SideNavigation, NavigationGroup, NavigationItem],\n html: `<ic-side-navigation version=\"v0.0.0\" app-title=\"ACME\" status=\"BETA\" collapsed-icon-labels=\"true\">\n <ic-navigation-group\n slot=\"primary-navigation\"\n label=\"Second navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-side-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should test top nav resize handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n await page.rootInstance.topNavResizedHandler({\n detail: { size: DEVICE_SIZES.S },\n });\n await page.waitForChanges();\n expect(page.rootInstance.deviceSize).toBe(DEVICE_SIZES.S);\n expect(page.rootInstance.inTopNavSideMenu).toBe(true);\n });\n\n it(\"should test side nav expand handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n const eventSpy = jest.fn();\n page.win.addEventListener(\"waitForNavGroupLoad\", eventSpy);\n await page.waitForChanges();\n await waitForNavGroupLoad();\n const style = page.root.shadowRoot\n .querySelector(\".grouped-links-wrapper\")\n .getAttribute(\"style\");\n expect(style).toBe(\"--navigation-child-items-height: 0px;\");\n });\n\n it(\"should test setting nav item tab index\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group\n label=\"Navigation group\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n let navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n expect(navItemLink.tabIndex).toBe(-1);\n\n await page.rootInstance.setGroupedNavItemTabIndex(\"0\");\n await page.waitForChanges();\n navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n\n expect(navItemLink.tabIndex).toBe(0);\n });\n\n it(\"should call other methods \", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.root.setFocus();\n });\n\n // NOTE: This must go last as mocks getCurrentDeviceSize function, which will apply to all subsequent tests\n it(\"should test inside top navigation\", async () => {\n const myfunc = jest.fn().mockReturnValue(DEVICE_SIZES.S);\n Object.defineProperty(helpers, \"getCurrentDeviceSize\", {\n value: myfunc,\n });\n\n const page = await newSpecPage({\n components: [TopNavigation, NavigationGroup, NavigationItem],\n html: `<ic-top-navigation\n app-title=\"ApplicationName\"\n >\n <ic-navigation-group\n slot=\"navigation\"\n label=\"Navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item label=\"Navigation 1\" href=\"/\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-top-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}
1
+ {"version":3,"file":"ic-navigation-group.spec.js","sourceRoot":"","sources":["../../../../../src/components/ic-navigation-group/test/basic/ic-navigation-group.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import { newSpecPage } from \"@stencil/core/testing\";\nimport { waitForNavGroupLoad } from \"../../../../testspec.setup\";\nimport { NavigationItem } from \"../../../ic-navigation-item/ic-navigation-item\";\nimport { SideNavigation } from \"../../../ic-side-navigation/ic-side-navigation\";\nimport { TopNavigation } from \"../../../ic-top-navigation/ic-top-navigation\";\nimport { DEVICE_SIZES } from \"../../../../utils/helpers\";\nimport { NavigationGroup } from \"./../../ic-navigation-group\";\nimport * as helpers from \"../../../../utils/helpers\";\nimport { waitForTimeout } from \"../../../../testspec.setup\";\n\nconst ev = {\n relatedTarget: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n target: {\n nodeName: \"IC-NAVIGATION-GROUP\",\n },\n};\n\nconst timeOut = 1000;\n\ndescribe(\"ic-navigation-group\", () => {\n it(\"should render with label\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n expect(page.root).toMatchSnapshot(\"renders-with-label\");\n });\n\n it(\"should test handleMouseEnter\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n page.rootInstance.mouseGate = true;\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.hideDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n ev.relatedTarget.nodeName = \"ANOTHER-NAME\";\n page.rootInstance.mouseGate = false;\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.mouseGate).toBe(true);\n\n jest.spyOn(document, \"addEventListener\");\n\n await page.rootInstance.handleMouseEnter(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n\n expect(document.addEventListener).toHaveBeenCalledTimes(1);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n\n await page.rootInstance.childBlurHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n\n await page.rootInstance.navItemClickHandler();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test toggleExpanded\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n await page.rootInstance.toggleExpanded();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(true);\n });\n\n it(\"should test click handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleClick();\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.rootInstance.handleClick({ detail: { something: \"set\" } });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test top nav key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleTopNavKeydown({ key: \"Escape\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n await page.rootInstance.handleTopNavKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test handleBlur function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"closerEachDay\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n\n await waitForNavGroupLoad();\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleBlur(ev);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n });\n\n it(\"should test handleMouseLeave function\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n <ic-navigation-item href=\"/\" label=\"andAway\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n ev.target.nodeName = \"IC-NOT-NAV-GROUP\";\n\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(600);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check other branch of 'if'\n ev.relatedTarget.nodeName = \"IC-NOT-NAV-GROUP\";\n await page.rootInstance.showDropdown();\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n // check if null value called\n await page.rootInstance.handleMouseLeave(ev);\n await waitForTimeout(timeOut);\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(false);\n ev.relatedTarget.nodeName = \"IC-NAVIGATION-GROUP\";\n ev.target.nodeName = \"IC-NAVIGATION-GROUP\";\n });\n\n it(\"should test key down handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group label=\"Group label\">\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n expect(page.rootInstance.expanded).toBe(true);\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.expanded).toBe(false);\n\n page.rootInstance.navigationType = \"side\";\n await page.rootInstance.handleKeydown({\n key: \" \",\n preventDefault: (): void => null,\n });\n await page.waitForChanges();\n await waitForTimeout(600);\n expect(page.rootInstance.expanded).toBe(true);\n\n expect(page.rootInstance.dropdownOpen).toBe(false);\n page.rootInstance.navigationType = \"top\";\n await page.waitForChanges();\n await page.rootInstance.handleKeydown({ key: \"Enter\" });\n await page.waitForChanges();\n expect(page.rootInstance.dropdownOpen).toBe(true);\n });\n\n it(\"should test brand change\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.rootInstance.brandChangeHandler({ detail: { mode: \"dark\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"dark\");\n\n await page.rootInstance.brandChangeHandler({ detail: { mode: \"light\" } });\n await page.waitForChanges();\n expect(page.rootInstance.focusStyle).toBe(\"light\");\n });\n\n it(\"should test inside side navigation\", async () => {\n const page = await newSpecPage({\n components: [SideNavigation, NavigationGroup, NavigationItem],\n html: `<ic-side-navigation version=\"v0.0.0\" app-title=\"ACME\" status=\"BETA\" collapsed-icon-labels=\"true\">\n <ic-navigation-group\n slot=\"primary-navigation\"\n label=\"Second navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-side-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n\n it(\"should test top nav resize handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n await page.rootInstance.topNavResizedHandler({\n detail: { size: DEVICE_SIZES.S },\n });\n await page.waitForChanges();\n expect(page.rootInstance.deviceSize).toBe(DEVICE_SIZES.S);\n expect(page.rootInstance.inTopNavSideMenu).toBe(true);\n });\n\n it(\"should test side nav expand handler\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n const eventSpy = jest.fn();\n page.win.addEventListener(\"waitForNavGroupLoad\", eventSpy);\n await page.waitForChanges();\n await waitForNavGroupLoad();\n const style = page.root.shadowRoot\n .querySelector(\".grouped-links-wrapper\")\n .getAttribute(\"style\");\n expect(style).toBe(\"--navigation-child-items-height: 0px;\");\n });\n\n it(\"should test setting nav item tab index\", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup, NavigationItem],\n html: `<ic-navigation-group\n label=\"Navigation group\"\n >\n <ic-navigation-item href=\"/\" label=\"Home\"></ic-navigation-item>\n </ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n\n let navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n expect(navItemLink.tabIndex).toBe(-1);\n\n await page.rootInstance.setGroupedNavItemTabIndex(\"0\");\n await page.waitForChanges();\n navItemLink = page.root\n .querySelector(\"ic-navigation-item\")\n .shadowRoot.querySelector(\"a\");\n\n expect(navItemLink.tabIndex).toBe(0);\n });\n\n it(\"should call other methods \", async () => {\n const page = await newSpecPage({\n components: [NavigationGroup],\n html: `<ic-navigation-group label=\"Group label\"></ic-navigation-group>`,\n });\n await waitForNavGroupLoad();\n await page.root.setFocus();\n });\n\n // NOTE: This must go last as mocks getCurrentDeviceSize function, which will apply to all subsequent tests\n it(\"should test inside top navigation\", async () => {\n const myfunc = jest.fn().mockReturnValue(DEVICE_SIZES.S);\n Object.defineProperty(helpers, \"getCurrentDeviceSize\", {\n value: myfunc,\n });\n\n const page = await newSpecPage({\n components: [TopNavigation, NavigationGroup, NavigationItem],\n html: `<ic-top-navigation\n app-title=\"ApplicationName\"\n >\n <ic-navigation-group\n slot=\"navigation\"\n label=\"Navigation group\"\n expandable=\"true\"\n >\n <ic-navigation-item label=\"Navigation 1\" href=\"/\"></ic-navigation-item>\n </ic-navigation-group>\n </ic-top-navigation>`,\n });\n await waitForNavGroupLoad();\n\n // test disconnected callback\n page.setContent(\"\");\n });\n});\n"]}