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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (967) hide show
  1. package/README.md +5 -4
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-f1cf5156.js → helpers-eca4c27e.js} +80 -29
  4. package/dist/cjs/helpers-eca4c27e.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +10 -10
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +12 -5
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +9 -14
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +26 -3
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +49 -4
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +28 -26
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +48 -47
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +21 -6
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +10 -4
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +27 -15
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-dialog.cjs.entry.js +32 -9
  33. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-divider.cjs.entry.js +73 -9
  35. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-empty-state.cjs.entry.js +7 -15
  37. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +8 -7
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +24 -14
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +7 -15
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +17 -9
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +486 -200
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +24 -26
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-link.cjs.entry.js +10 -12
  53. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-menu-group.cjs.entry.js +3 -3
  55. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-menu-item.cjs.entry.js +25 -18
  57. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
  59. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-group.cjs.entry.js +10 -8
  61. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-navigation-item.cjs.entry.js +60 -8
  63. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  65. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-page-header.cjs.entry.js +8 -6
  67. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-pagination-item.cjs.entry.js +12 -11
  69. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-pagination.cjs.entry.js +23 -15
  71. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-popover-menu.cjs.entry.js +47 -25
  73. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-radio-group.cjs.entry.js +60 -29
  75. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-radio-option.cjs.entry.js +42 -22
  77. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-search-bar.cjs.entry.js +54 -56
  79. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-select.cjs.entry.js +192 -66
  81. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -11
  83. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  87. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-step.cjs.entry.js +4 -5
  89. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-stepper.cjs.entry.js +12 -2
  91. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-switch.cjs.entry.js +21 -16
  93. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab-context.cjs.entry.js +60 -123
  95. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  97. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-tab.cjs.entry.js +10 -8
  101. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-text-field.cjs.entry.js +43 -23
  103. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  105. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  107. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +62 -12
  109. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-toggle-button.cjs.entry.js +64 -9
  111. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
  113. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-typography.cjs.entry.js +5 -3
  115. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  116. package/dist/cjs/index-f982899d.js +4 -4
  117. package/dist/cjs/loader.cjs.js +1 -1
  118. package/dist/collection/ag-theme-icds.css +218 -0
  119. package/dist/collection/collection-manifest.json +3 -3
  120. package/dist/collection/components/ic-accordion/ic-accordion.css +22 -20
  121. package/dist/collection/components/ic-accordion/ic-accordion.js +37 -31
  122. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  123. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  124. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +6 -3
  125. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  126. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -12
  127. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +18 -18
  128. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  129. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +3 -3
  130. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  131. package/dist/collection/components/ic-alert/ic-alert.css +38 -20
  132. package/dist/collection/components/ic-alert/ic-alert.js +52 -33
  133. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  134. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  135. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +22 -4
  136. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  137. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +5 -2
  138. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +31 -4
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  140. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +162 -0
  141. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +14 -0
  142. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  143. package/dist/collection/components/ic-badge/ic-badge.css +5 -5
  144. package/dist/collection/components/ic-badge/ic-badge.js +42 -4
  145. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  146. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  147. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +194 -0
  148. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  149. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +27 -8
  150. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +52 -4
  151. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  152. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +49 -5
  153. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
  155. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  157. package/dist/collection/components/ic-button/ic-button.css +690 -420
  158. package/dist/collection/components/ic-button/ic-button.js +64 -46
  159. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  160. package/dist/collection/components/ic-button/ic-button.stories.js +2208 -0
  161. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  162. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
  163. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  164. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +102 -113
  165. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +80 -52
  166. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  167. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  168. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +44 -3
  169. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -1
  170. package/dist/collection/components/ic-checkbox/ic-checkbox.css +71 -39
  171. package/dist/collection/components/ic-checkbox/ic-checkbox.js +35 -3
  172. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  173. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +15 -2
  174. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +46 -3
  175. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  176. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  177. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
  178. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  179. package/dist/collection/components/ic-chip/ic-chip.css +64 -49
  180. package/dist/collection/components/ic-chip/ic-chip.js +66 -15
  181. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  182. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  183. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +19 -0
  184. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  185. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +14 -10
  186. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  187. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  188. package/dist/collection/components/ic-dialog/ic-dialog.css +16 -9
  189. package/dist/collection/components/ic-dialog/ic-dialog.js +57 -10
  190. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1066 -0
  192. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +27 -7
  193. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  194. package/dist/collection/components/ic-divider/ic-divider.css +295 -4
  195. package/dist/collection/components/ic-divider/ic-divider.js +239 -12
  196. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  197. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  198. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  199. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  200. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +90 -5
  201. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  202. package/dist/collection/components/ic-empty-state/ic-empty-state.css +15 -0
  203. package/dist/collection/components/ic-empty-state/ic-empty-state.js +31 -15
  204. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  205. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  206. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +101 -0
  207. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  208. package/dist/collection/components/ic-footer/ic-footer.css +21 -20
  209. package/dist/collection/components/ic-footer/ic-footer.js +26 -16
  210. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  211. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  212. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +43 -2
  213. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  214. package/dist/collection/components/ic-footer-link/ic-footer-link.css +24 -6
  215. package/dist/collection/components/ic-footer-link/ic-footer-link.js +9 -8
  216. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  217. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  218. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  219. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +11 -19
  220. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +7 -8
  221. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  222. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +1 -1
  223. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  224. package/dist/collection/components/ic-hero/ic-hero.css +25 -10
  225. package/dist/collection/components/ic-hero/ic-hero.js +10 -18
  226. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  227. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  228. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +23 -5
  229. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  230. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +2 -6
  231. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +67 -11
  232. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  233. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  234. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  235. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +40 -17
  236. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +23 -48
  237. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  238. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +30 -3
  239. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  240. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -20
  241. package/dist/collection/components/ic-input-label/ic-input-label.js +53 -34
  242. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  243. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +35 -49
  244. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  245. package/dist/collection/components/ic-input-validation/ic-input-validation.css +12 -3
  246. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  247. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  248. package/dist/collection/components/ic-link/ic-link.css +18 -33
  249. package/dist/collection/components/ic-link/ic-link.js +14 -16
  250. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  251. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  252. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +3 -3
  253. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  254. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +15 -10
  255. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +50 -31
  256. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  257. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  258. package/dist/collection/components/ic-menu/ic-menu.css +111 -29
  259. package/dist/collection/components/ic-menu/ic-menu.js +522 -201
  260. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  261. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +381 -33
  262. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  263. package/dist/collection/components/ic-menu-group/ic-menu-group.css +2 -2
  264. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  265. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  266. package/dist/collection/components/ic-menu-item/ic-menu-item.css +32 -28
  267. package/dist/collection/components/ic-menu-item/ic-menu-item.js +67 -25
  268. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  269. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +15 -2
  270. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  271. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +18 -0
  272. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +37 -10
  273. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  274. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
  275. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  276. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +17 -12
  277. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +35 -9
  278. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  279. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  280. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  281. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +38 -65
  282. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +88 -11
  283. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  284. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +15 -3
  285. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  286. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +9 -6
  287. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  288. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  289. package/dist/collection/components/ic-page-header/ic-page-header.css +7 -3
  290. package/dist/collection/components/ic-page-header/ic-page-header.js +30 -4
  291. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  292. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  293. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  294. package/dist/collection/components/ic-pagination/ic-pagination.js +65 -37
  295. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  296. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  297. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +11 -1
  298. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  299. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +29 -9
  300. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +54 -33
  301. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  302. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
  303. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
  304. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +5 -5
  305. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +112 -26
  306. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  307. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +504 -0
  308. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  309. package/dist/collection/components/ic-radio-group/ic-radio-group.js +83 -26
  310. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  311. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +443 -0
  312. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +12 -3
  313. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  314. package/dist/collection/components/ic-radio-option/ic-radio-option.css +36 -28
  315. package/dist/collection/components/ic-radio-option/ic-radio-option.js +73 -21
  316. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  317. package/dist/collection/components/ic-search-bar/ic-search-bar.css +110 -10
  318. package/dist/collection/components/ic-search-bar/ic-search-bar.js +101 -57
  319. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  320. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  321. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +63 -94
  322. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  323. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  324. package/dist/collection/components/ic-select/ic-select.css +93 -53
  325. package/dist/collection/components/ic-select/ic-select.js +267 -77
  326. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  327. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  328. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  329. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  330. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +234 -1
  331. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  332. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +50 -34
  333. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +18 -13
  334. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  335. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2526 -0
  336. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  337. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +6 -6
  338. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  339. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  340. package/dist/collection/components/ic-skeleton/ic-skeleton.js +16 -10
  341. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  342. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  343. package/dist/collection/components/ic-status-tag/ic-status-tag.css +6 -6
  344. package/dist/collection/components/ic-status-tag/ic-status-tag.js +21 -2
  345. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  346. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  347. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  348. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  349. package/dist/collection/components/ic-step/ic-step.css +65 -98
  350. package/dist/collection/components/ic-step/ic-step.js +29 -3
  351. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  352. package/dist/collection/components/ic-stepper/ic-stepper.js +37 -19
  353. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  354. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +277 -0
  355. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +4 -4
  356. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  357. package/dist/collection/components/ic-switch/ic-switch.css +30 -48
  358. package/dist/collection/components/ic-switch/ic-switch.js +43 -30
  359. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  360. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  361. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -14
  362. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  363. package/dist/collection/components/ic-tab/ic-tab.js +11 -6
  364. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  365. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
  366. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  367. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -123
  368. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  369. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  370. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +2 -2
  371. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  372. package/dist/collection/components/ic-tab-group/ic-tab-group.css +8 -0
  373. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -17
  374. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  375. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +1 -1
  376. package/dist/collection/components/ic-text-field/ic-text-field.css +62 -8
  377. package/dist/collection/components/ic-text-field/ic-text-field.js +70 -24
  378. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  379. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +862 -0
  380. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +26 -12
  381. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  382. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +2 -2
  383. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  384. package/dist/collection/components/ic-theme/ic-theme.js +31 -31
  385. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  386. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  387. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  388. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  389. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +11 -11
  390. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  391. package/dist/collection/components/ic-toast/ic-toast.css +31 -17
  392. package/dist/collection/components/ic-toast/ic-toast.js +2 -3
  393. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  394. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  395. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +16 -16
  396. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  397. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +189 -57
  398. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +149 -42
  399. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  400. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  401. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
  402. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  403. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  404. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +144 -35
  405. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  406. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  407. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +187 -0
  408. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  409. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -1
  410. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -5
  411. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  412. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  413. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +49 -21
  414. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +39 -9
  415. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  416. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1098 -0
  417. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  418. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  419. package/dist/collection/components/ic-typography/ic-typography.css +7 -9
  420. package/dist/collection/components/ic-typography/ic-typography.js +3 -1
  421. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  422. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  423. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  424. package/dist/collection/patterns/z-index.stories.js +474 -0
  425. package/dist/collection/testspec.setup.js +14 -0
  426. package/dist/collection/testspec.setup.js.map +1 -1
  427. package/dist/collection/utils/constants.js +1 -1
  428. package/dist/collection/utils/constants.js.map +1 -1
  429. package/dist/collection/utils/helpers.js +64 -19
  430. package/dist/collection/utils/helpers.js.map +1 -1
  431. package/dist/collection/utils/types.js +6 -6
  432. package/dist/collection/utils/types.js.map +1 -1
  433. package/dist/components/helpers.js +73 -26
  434. package/dist/components/helpers.js.map +1 -1
  435. package/dist/components/ic-accordion-group.js +11 -11
  436. package/dist/components/ic-accordion-group.js.map +1 -1
  437. package/dist/components/ic-accordion.js +14 -6
  438. package/dist/components/ic-accordion.js.map +1 -1
  439. package/dist/components/ic-alert.js +12 -16
  440. package/dist/components/ic-alert.js.map +1 -1
  441. package/dist/components/ic-back-to-top.js +9 -5
  442. package/dist/components/ic-back-to-top.js.map +1 -1
  443. package/dist/components/ic-badge.js +28 -5
  444. package/dist/components/ic-badge.js.map +1 -1
  445. package/dist/components/ic-breadcrumb-group.js +44 -20
  446. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  447. package/dist/components/ic-breadcrumb2.js +51 -4
  448. package/dist/components/ic-breadcrumb2.js.map +1 -1
  449. package/dist/components/ic-button2.js +21 -20
  450. package/dist/components/ic-button2.js.map +1 -1
  451. package/dist/components/ic-card-vertical.js +54 -50
  452. package/dist/components/ic-card-vertical.js.map +1 -1
  453. package/dist/components/ic-checkbox-group.js +25 -7
  454. package/dist/components/ic-checkbox-group.js.map +1 -1
  455. package/dist/components/ic-checkbox.js +12 -4
  456. package/dist/components/ic-checkbox.js.map +1 -1
  457. package/dist/components/ic-chip.js +32 -16
  458. package/dist/components/ic-chip.js.map +1 -1
  459. package/dist/components/ic-classification-banner.js +1 -1
  460. package/dist/components/ic-classification-banner.js.map +1 -1
  461. package/dist/components/ic-data-row.js +1 -1
  462. package/dist/components/ic-dialog.js +33 -9
  463. package/dist/components/ic-dialog.js.map +1 -1
  464. package/dist/components/ic-divider2.js +89 -12
  465. package/dist/components/ic-divider2.js.map +1 -1
  466. package/dist/components/ic-empty-state.js +10 -17
  467. package/dist/components/ic-empty-state.js.map +1 -1
  468. package/dist/components/ic-footer-link-group.js +7 -8
  469. package/dist/components/ic-footer-link-group.js.map +1 -1
  470. package/dist/components/ic-footer-link.js +9 -8
  471. package/dist/components/ic-footer-link.js.map +1 -1
  472. package/dist/components/ic-footer.js +25 -15
  473. package/dist/components/ic-footer.js.map +1 -1
  474. package/dist/components/ic-hero.js +9 -17
  475. package/dist/components/ic-hero.js.map +1 -1
  476. package/dist/components/ic-horizontal-scroll2.js +19 -9
  477. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  478. package/dist/components/ic-input-component-container2.js +23 -32
  479. package/dist/components/ic-input-component-container2.js.map +1 -1
  480. package/dist/components/ic-input-label2.js +19 -20
  481. package/dist/components/ic-input-label2.js.map +1 -1
  482. package/dist/components/ic-input-validation2.js +9 -9
  483. package/dist/components/ic-input-validation2.js.map +1 -1
  484. package/dist/components/ic-link2.js +13 -15
  485. package/dist/components/ic-link2.js.map +1 -1
  486. package/dist/components/ic-loading-indicator2.js +11 -9
  487. package/dist/components/ic-loading-indicator2.js.map +1 -1
  488. package/dist/components/ic-menu-group.js +2 -2
  489. package/dist/components/ic-menu-group.js.map +1 -1
  490. package/dist/components/ic-menu-item2.js +30 -21
  491. package/dist/components/ic-menu-item2.js.map +1 -1
  492. package/dist/components/ic-menu2.js +472 -175
  493. package/dist/components/ic-menu2.js.map +1 -1
  494. package/dist/components/ic-navigation-button.js +13 -9
  495. package/dist/components/ic-navigation-button.js.map +1 -1
  496. package/dist/components/ic-navigation-group.js +12 -9
  497. package/dist/components/ic-navigation-group.js.map +1 -1
  498. package/dist/components/ic-navigation-item.js +64 -10
  499. package/dist/components/ic-navigation-item.js.map +1 -1
  500. package/dist/components/ic-navigation-menu2.js +6 -4
  501. package/dist/components/ic-navigation-menu2.js.map +1 -1
  502. package/dist/components/ic-page-header.js +9 -6
  503. package/dist/components/ic-page-header.js.map +1 -1
  504. package/dist/components/ic-pagination-item2.js +15 -12
  505. package/dist/components/ic-pagination-item2.js.map +1 -1
  506. package/dist/components/ic-pagination.js +25 -15
  507. package/dist/components/ic-pagination.js.map +1 -1
  508. package/dist/components/ic-popover-menu.js +50 -26
  509. package/dist/components/ic-popover-menu.js.map +1 -1
  510. package/dist/components/ic-radio-group.js +63 -30
  511. package/dist/components/ic-radio-group.js.map +1 -1
  512. package/dist/components/ic-radio-option.js +45 -23
  513. package/dist/components/ic-radio-option.js.map +1 -1
  514. package/dist/components/ic-search-bar.js +70 -81
  515. package/dist/components/ic-search-bar.js.map +1 -1
  516. package/dist/components/ic-select.js +196 -67
  517. package/dist/components/ic-select.js.map +1 -1
  518. package/dist/components/ic-side-navigation.js +17 -12
  519. package/dist/components/ic-side-navigation.js.map +1 -1
  520. package/dist/components/ic-skeleton.js +5 -5
  521. package/dist/components/ic-skeleton.js.map +1 -1
  522. package/dist/components/ic-status-tag.js +5 -3
  523. package/dist/components/ic-status-tag.js.map +1 -1
  524. package/dist/components/ic-step.js +4 -4
  525. package/dist/components/ic-step.js.map +1 -1
  526. package/dist/components/ic-stepper.js +14 -3
  527. package/dist/components/ic-stepper.js.map +1 -1
  528. package/dist/components/ic-switch.js +24 -18
  529. package/dist/components/ic-switch.js.map +1 -1
  530. package/dist/components/ic-tab-context.js +60 -123
  531. package/dist/components/ic-tab-context.js.map +1 -1
  532. package/dist/components/ic-tab-group.js +2 -18
  533. package/dist/components/ic-tab-group.js.map +1 -1
  534. package/dist/components/ic-tab-panel.js +1 -1
  535. package/dist/components/ic-tab-panel.js.map +1 -1
  536. package/dist/components/ic-tab.js +10 -8
  537. package/dist/components/ic-tab.js.map +1 -1
  538. package/dist/components/ic-text-field.js +371 -1
  539. package/dist/components/ic-text-field.js.map +1 -1
  540. package/dist/components/ic-theme.js +22 -22
  541. package/dist/components/ic-theme.js.map +1 -1
  542. package/dist/components/ic-toast.js +4 -4
  543. package/dist/components/ic-toast.js.map +1 -1
  544. package/dist/components/ic-toggle-button-group.js +75 -14
  545. package/dist/components/ic-toggle-button-group.js.map +1 -1
  546. package/dist/components/ic-toggle-button.js +76 -17
  547. package/dist/components/ic-toggle-button.js.map +1 -1
  548. package/dist/components/ic-tooltip2.js +1 -1
  549. package/dist/components/ic-tooltip2.js.map +1 -1
  550. package/dist/components/ic-top-navigation.js +15 -8
  551. package/dist/components/ic-top-navigation.js.map +1 -1
  552. package/dist/components/ic-typography2.js +4 -2
  553. package/dist/components/ic-typography2.js.map +1 -1
  554. package/dist/core/ag-theme-icds.css +218 -0
  555. package/dist/core/core.css +1607 -77
  556. package/dist/core/core.esm.js +1 -1
  557. package/dist/core/core.esm.js.map +1 -1
  558. package/dist/core/p-00587c99.entry.js +2 -0
  559. package/dist/core/p-00587c99.entry.js.map +1 -0
  560. package/dist/core/p-07aaf9c4.entry.js +2 -0
  561. package/dist/core/p-07aaf9c4.entry.js.map +1 -0
  562. package/dist/core/p-094f51b6.entry.js +2 -0
  563. package/dist/core/p-094f51b6.entry.js.map +1 -0
  564. package/dist/core/p-146b2788.entry.js +2 -0
  565. package/dist/core/p-146b2788.entry.js.map +1 -0
  566. package/dist/core/p-15082ea5.entry.js +2 -0
  567. package/dist/core/p-15082ea5.entry.js.map +1 -0
  568. package/dist/core/p-174de9d7.entry.js +2 -0
  569. package/dist/core/p-174de9d7.entry.js.map +1 -0
  570. package/dist/core/p-17f9921d.entry.js +2 -0
  571. package/dist/core/p-17f9921d.entry.js.map +1 -0
  572. package/dist/core/p-246ea059.entry.js +2 -0
  573. package/dist/core/p-246ea059.entry.js.map +1 -0
  574. package/dist/core/p-25d3c3a6.entry.js +2 -0
  575. package/dist/core/p-25d3c3a6.entry.js.map +1 -0
  576. package/dist/core/{p-54238d16.entry.js → p-27274ca8.entry.js} +2 -2
  577. package/dist/core/p-27274ca8.entry.js.map +1 -0
  578. package/dist/core/p-39ab6387.entry.js +2 -0
  579. package/dist/core/p-39ab6387.entry.js.map +1 -0
  580. package/dist/core/p-3d565739.entry.js +2 -0
  581. package/dist/core/p-3d565739.entry.js.map +1 -0
  582. package/dist/core/p-41b7c67c.entry.js +2 -0
  583. package/dist/core/p-41b7c67c.entry.js.map +1 -0
  584. package/dist/core/p-4572b2ba.entry.js +2 -0
  585. package/dist/core/p-4572b2ba.entry.js.map +1 -0
  586. package/dist/core/p-4cfe1dd8.entry.js +2 -0
  587. package/dist/core/p-4cfe1dd8.entry.js.map +1 -0
  588. package/dist/core/p-5b836707.entry.js +2 -0
  589. package/dist/core/p-5b836707.entry.js.map +1 -0
  590. package/dist/core/{p-46ee459b.entry.js → p-67b3cd55.entry.js} +2 -2
  591. package/dist/core/p-67b3cd55.entry.js.map +1 -0
  592. package/dist/core/p-67b8a829.entry.js +2 -0
  593. package/dist/core/p-67b8a829.entry.js.map +1 -0
  594. package/dist/core/p-6dfa5a4b.entry.js +2 -0
  595. package/dist/core/p-6dfa5a4b.entry.js.map +1 -0
  596. package/dist/core/p-6e94c79c.entry.js +2 -0
  597. package/dist/core/p-6e94c79c.entry.js.map +1 -0
  598. package/dist/core/p-73d6092d.entry.js +2 -0
  599. package/dist/core/p-73d6092d.entry.js.map +1 -0
  600. package/dist/core/{p-c81109da.entry.js → p-770c52a7.entry.js} +2 -2
  601. package/dist/core/p-770c52a7.entry.js.map +1 -0
  602. package/dist/core/{p-e861a2b3.entry.js → p-7b26ef60.entry.js} +2 -2
  603. package/dist/core/p-7b26ef60.entry.js.map +1 -0
  604. package/dist/core/{p-1e802eeb.entry.js → p-7f984e25.entry.js} +2 -2
  605. package/dist/core/p-7f984e25.entry.js.map +1 -0
  606. package/dist/core/p-86caada0.entry.js +2 -0
  607. package/dist/core/p-86caada0.entry.js.map +1 -0
  608. package/dist/core/p-8c03b8b5.entry.js +2 -0
  609. package/dist/core/p-8c03b8b5.entry.js.map +1 -0
  610. package/dist/core/p-8fdb9b16.entry.js +2 -0
  611. package/dist/core/p-8fdb9b16.entry.js.map +1 -0
  612. package/dist/core/p-91a221b5.entry.js +2 -0
  613. package/dist/core/p-91a221b5.entry.js.map +1 -0
  614. package/dist/core/{p-e597da0e.entry.js → p-96b4ca6e.entry.js} +2 -2
  615. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  616. package/dist/core/p-9e0c2c19.entry.js +2 -0
  617. package/dist/core/p-9e0c2c19.entry.js.map +1 -0
  618. package/dist/core/p-9f569f90.entry.js +2 -0
  619. package/dist/core/p-9f569f90.entry.js.map +1 -0
  620. package/dist/core/p-a178d53c.entry.js +2 -0
  621. package/dist/core/p-a178d53c.entry.js.map +1 -0
  622. package/dist/core/p-a3b7a147.entry.js +2 -0
  623. package/dist/core/p-a3b7a147.entry.js.map +1 -0
  624. package/dist/core/p-a72685f6.entry.js +2 -0
  625. package/dist/core/p-a72685f6.entry.js.map +1 -0
  626. package/dist/core/p-abdc2912.entry.js +2 -0
  627. package/dist/core/p-abdc2912.entry.js.map +1 -0
  628. package/dist/core/p-b260b967.entry.js +2 -0
  629. package/dist/core/p-b260b967.entry.js.map +1 -0
  630. package/dist/core/p-b404b307.entry.js +2 -0
  631. package/dist/core/p-b404b307.entry.js.map +1 -0
  632. package/dist/core/p-b6ce9ca3.entry.js +2 -0
  633. package/dist/core/p-b6ce9ca3.entry.js.map +1 -0
  634. package/dist/core/p-b6e010f3.entry.js +2 -0
  635. package/dist/core/p-b6e010f3.entry.js.map +1 -0
  636. package/dist/core/p-bbd4f487.entry.js +2 -0
  637. package/dist/core/p-bbd4f487.entry.js.map +1 -0
  638. package/dist/core/p-bd9f3961.entry.js +2 -0
  639. package/dist/core/p-bd9f3961.entry.js.map +1 -0
  640. package/dist/core/{p-a3b6a02d.entry.js → p-c1db155d.entry.js} +2 -2
  641. package/dist/core/p-c1db155d.entry.js.map +1 -0
  642. package/dist/core/p-c7bcdb8e.entry.js +2 -0
  643. package/dist/core/p-c7bcdb8e.entry.js.map +1 -0
  644. package/dist/core/p-ca11666f.entry.js +2 -0
  645. package/dist/core/p-ca11666f.entry.js.map +1 -0
  646. package/dist/core/p-cda4aca9.js +2 -0
  647. package/dist/core/p-cda4aca9.js.map +1 -0
  648. package/dist/core/{p-bf4c61cb.entry.js → p-d0afa458.entry.js} +2 -2
  649. package/dist/core/{p-bf4c61cb.entry.js.map → p-d0afa458.entry.js.map} +1 -1
  650. package/dist/core/p-d8690838.entry.js +2 -0
  651. package/dist/core/p-d8690838.entry.js.map +1 -0
  652. package/dist/core/p-dededae6.entry.js +2 -0
  653. package/dist/core/p-dededae6.entry.js.map +1 -0
  654. package/dist/core/p-df957570.entry.js +2 -0
  655. package/dist/core/p-df957570.entry.js.map +1 -0
  656. package/dist/core/{p-d8870804.entry.js → p-e2cf6e7e.entry.js} +2 -2
  657. package/dist/core/p-e6189634.entry.js +2 -0
  658. package/dist/core/p-e6189634.entry.js.map +1 -0
  659. package/dist/core/p-e6dc3cd1.entry.js +2 -0
  660. package/dist/core/p-e6dc3cd1.entry.js.map +1 -0
  661. package/dist/core/p-e831277e.entry.js +2 -0
  662. package/dist/core/p-e831277e.entry.js.map +1 -0
  663. package/dist/core/p-eb7c589b.entry.js +2 -0
  664. package/dist/core/p-eb7c589b.entry.js.map +1 -0
  665. package/dist/core/p-f65179fe.entry.js +2 -0
  666. package/dist/core/p-f65179fe.entry.js.map +1 -0
  667. package/dist/core/p-fd60eef7.entry.js +2 -0
  668. package/dist/core/p-fd60eef7.entry.js.map +1 -0
  669. package/dist/core/p-fd9f3fd0.entry.js +2 -0
  670. package/dist/core/p-fd9f3fd0.entry.js.map +1 -0
  671. package/dist/esm/core.js +1 -1
  672. package/dist/esm/{helpers-1c9151ef.js → helpers-a72a277b.js} +74 -27
  673. package/dist/esm/helpers-a72a277b.js.map +1 -0
  674. package/dist/esm/ic-accordion-group.entry.js +10 -10
  675. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  676. package/dist/esm/ic-accordion.entry.js +12 -5
  677. package/dist/esm/ic-accordion.entry.js.map +1 -1
  678. package/dist/esm/ic-alert.entry.js +10 -15
  679. package/dist/esm/ic-alert.entry.js.map +1 -1
  680. package/dist/esm/ic-back-to-top.entry.js +9 -6
  681. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  682. package/dist/esm/ic-badge.entry.js +26 -3
  683. package/dist/esm/ic-badge.entry.js.map +1 -1
  684. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  685. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  686. package/dist/esm/ic-breadcrumb.entry.js +49 -4
  687. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  688. package/dist/esm/ic-button_3.entry.js +28 -26
  689. package/dist/esm/ic-button_3.entry.js.map +1 -1
  690. package/dist/esm/ic-card-vertical.entry.js +49 -48
  691. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  692. package/dist/esm/ic-checkbox-group.entry.js +21 -6
  693. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  694. package/dist/esm/ic-checkbox.entry.js +10 -4
  695. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  696. package/dist/esm/ic-chip.entry.js +28 -16
  697. package/dist/esm/ic-chip.entry.js.map +1 -1
  698. package/dist/esm/ic-classification-banner.entry.js +1 -1
  699. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  700. package/dist/esm/ic-data-row.entry.js +1 -1
  701. package/dist/esm/ic-dialog.entry.js +32 -9
  702. package/dist/esm/ic-dialog.entry.js.map +1 -1
  703. package/dist/esm/ic-divider.entry.js +74 -10
  704. package/dist/esm/ic-divider.entry.js.map +1 -1
  705. package/dist/esm/ic-empty-state.entry.js +8 -16
  706. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  707. package/dist/esm/ic-footer-link-group.entry.js +6 -7
  708. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  709. package/dist/esm/ic-footer-link.entry.js +8 -7
  710. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  711. package/dist/esm/ic-footer.entry.js +24 -14
  712. package/dist/esm/ic-footer.entry.js.map +1 -1
  713. package/dist/esm/ic-hero.entry.js +8 -16
  714. package/dist/esm/ic-hero.entry.js.map +1 -1
  715. package/dist/esm/ic-horizontal-scroll.entry.js +17 -9
  716. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  717. package/dist/esm/ic-input-component-container_3.entry.js +487 -201
  718. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  719. package/dist/esm/ic-input-label_2.entry.js +24 -26
  720. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  721. package/dist/esm/ic-link.entry.js +10 -12
  722. package/dist/esm/ic-link.entry.js.map +1 -1
  723. package/dist/esm/ic-menu-group.entry.js +3 -3
  724. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  725. package/dist/esm/ic-menu-item.entry.js +25 -18
  726. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  727. package/dist/esm/ic-navigation-button.entry.js +11 -8
  728. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  729. package/dist/esm/ic-navigation-group.entry.js +10 -8
  730. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  731. package/dist/esm/ic-navigation-item.entry.js +61 -9
  732. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  733. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  734. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  735. package/dist/esm/ic-page-header.entry.js +8 -6
  736. package/dist/esm/ic-page-header.entry.js.map +1 -1
  737. package/dist/esm/ic-pagination-item.entry.js +12 -11
  738. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  739. package/dist/esm/ic-pagination.entry.js +23 -15
  740. package/dist/esm/ic-pagination.entry.js.map +1 -1
  741. package/dist/esm/ic-popover-menu.entry.js +47 -25
  742. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  743. package/dist/esm/ic-radio-group.entry.js +60 -29
  744. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  745. package/dist/esm/ic-radio-option.entry.js +42 -22
  746. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  747. package/dist/esm/ic-search-bar.entry.js +54 -56
  748. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  749. package/dist/esm/ic-select.entry.js +192 -66
  750. package/dist/esm/ic-select.entry.js.map +1 -1
  751. package/dist/esm/ic-side-navigation.entry.js +16 -11
  752. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  753. package/dist/esm/ic-skeleton.entry.js +4 -4
  754. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  755. package/dist/esm/ic-status-tag.entry.js +5 -4
  756. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  757. package/dist/esm/ic-step.entry.js +4 -5
  758. package/dist/esm/ic-step.entry.js.map +1 -1
  759. package/dist/esm/ic-stepper.entry.js +12 -2
  760. package/dist/esm/ic-stepper.entry.js.map +1 -1
  761. package/dist/esm/ic-switch.entry.js +21 -16
  762. package/dist/esm/ic-switch.entry.js.map +1 -1
  763. package/dist/esm/ic-tab-context.entry.js +60 -123
  764. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  765. package/dist/esm/ic-tab-group.entry.js +3 -19
  766. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  767. package/dist/esm/ic-tab-panel.entry.js +2 -2
  768. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  769. package/dist/esm/ic-tab.entry.js +10 -8
  770. package/dist/esm/ic-tab.entry.js.map +1 -1
  771. package/dist/esm/ic-text-field.entry.js +43 -23
  772. package/dist/esm/ic-text-field.entry.js.map +1 -1
  773. package/dist/esm/ic-theme.entry.js +20 -20
  774. package/dist/esm/ic-theme.entry.js.map +1 -1
  775. package/dist/esm/ic-toast.entry.js +4 -4
  776. package/dist/esm/ic-toast.entry.js.map +1 -1
  777. package/dist/esm/ic-toggle-button-group.entry.js +62 -12
  778. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  779. package/dist/esm/ic-toggle-button.entry.js +64 -9
  780. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  781. package/dist/esm/ic-top-navigation.entry.js +13 -7
  782. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  783. package/dist/esm/ic-typography.entry.js +5 -3
  784. package/dist/esm/ic-typography.entry.js.map +1 -1
  785. package/dist/esm/index-d1d2c456.js +4 -4
  786. package/dist/esm/loader.js +1 -1
  787. package/dist/types/components/ic-accordion/ic-accordion.d.ts +7 -5
  788. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +4 -4
  789. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -6
  790. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -0
  791. package/dist/types/components/ic-badge/ic-badge.d.ts +5 -0
  792. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -0
  793. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
  794. package/dist/types/components/ic-button/ic-button.d.ts +11 -7
  795. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  796. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +9 -5
  797. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +7 -2
  798. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +8 -1
  799. package/dist/types/components/ic-chip/ic-chip.d.ts +13 -2
  800. package/dist/types/components/ic-dialog/ic-dialog.d.ts +8 -2
  801. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  802. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  803. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -2
  804. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -3
  805. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  806. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -2
  807. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -4
  808. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  809. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -5
  810. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -4
  811. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  812. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +9 -5
  813. package/dist/types/components/ic-menu/ic-menu.d.ts +49 -16
  814. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +12 -5
  815. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
  816. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
  817. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +14 -3
  818. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  819. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  820. package/dist/types/components/ic-pagination/ic-pagination.d.ts +10 -5
  821. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +10 -5
  822. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +9 -7
  823. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -1
  824. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +10 -3
  825. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +15 -3
  826. package/dist/types/components/ic-select/ic-select.d.ts +36 -16
  827. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -3
  828. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  829. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  830. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +4 -0
  831. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  832. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  833. package/dist/types/components/ic-switch/ic-switch.d.ts +7 -6
  834. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  835. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -6
  836. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -4
  837. package/dist/types/components/ic-text-field/ic-text-field.d.ts +10 -2
  838. package/dist/types/components/ic-theme/ic-theme.d.ts +8 -8
  839. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +16 -7
  840. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +21 -5
  841. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  842. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -3
  843. package/dist/types/components.d.ts +516 -159
  844. package/dist/types/testspec.setup.d.ts +9 -0
  845. package/dist/types/utils/helpers.d.ts +22 -8
  846. package/dist/types/utils/types.d.ts +8 -6
  847. package/hydrate/index.js +1998 -1053
  848. package/package.json +20 -19
  849. package/vscode-data.json +655 -166
  850. package/dist/cjs/helpers-f1cf5156.js.map +0 -1
  851. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  852. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  853. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  854. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  855. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  856. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  857. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  858. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  859. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  860. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  861. package/dist/components/ic-text-field2.js +0 -353
  862. package/dist/components/ic-text-field2.js.map +0 -1
  863. package/dist/core/p-09104e40.entry.js +0 -2
  864. package/dist/core/p-09104e40.entry.js.map +0 -1
  865. package/dist/core/p-0c0b1c74.entry.js +0 -2
  866. package/dist/core/p-0c0b1c74.entry.js.map +0 -1
  867. package/dist/core/p-0c3a0d85.entry.js +0 -2
  868. package/dist/core/p-0c3a0d85.entry.js.map +0 -1
  869. package/dist/core/p-1083a708.entry.js +0 -2
  870. package/dist/core/p-1083a708.entry.js.map +0 -1
  871. package/dist/core/p-130dd440.entry.js +0 -2
  872. package/dist/core/p-130dd440.entry.js.map +0 -1
  873. package/dist/core/p-1e802eeb.entry.js.map +0 -1
  874. package/dist/core/p-21312898.entry.js +0 -2
  875. package/dist/core/p-21312898.entry.js.map +0 -1
  876. package/dist/core/p-21e5dd29.entry.js +0 -2
  877. package/dist/core/p-21e5dd29.entry.js.map +0 -1
  878. package/dist/core/p-2ab86057.entry.js +0 -2
  879. package/dist/core/p-2ab86057.entry.js.map +0 -1
  880. package/dist/core/p-312cacae.js +0 -2
  881. package/dist/core/p-312cacae.js.map +0 -1
  882. package/dist/core/p-31fc8756.entry.js +0 -2
  883. package/dist/core/p-31fc8756.entry.js.map +0 -1
  884. package/dist/core/p-355acffa.entry.js +0 -2
  885. package/dist/core/p-355acffa.entry.js.map +0 -1
  886. package/dist/core/p-35b8b480.entry.js +0 -2
  887. package/dist/core/p-35b8b480.entry.js.map +0 -1
  888. package/dist/core/p-363d6e88.entry.js +0 -2
  889. package/dist/core/p-363d6e88.entry.js.map +0 -1
  890. package/dist/core/p-40e9e76a.entry.js +0 -2
  891. package/dist/core/p-40e9e76a.entry.js.map +0 -1
  892. package/dist/core/p-43f9a711.entry.js +0 -2
  893. package/dist/core/p-43f9a711.entry.js.map +0 -1
  894. package/dist/core/p-46ee459b.entry.js.map +0 -1
  895. package/dist/core/p-54238d16.entry.js.map +0 -1
  896. package/dist/core/p-550d7356.entry.js +0 -2
  897. package/dist/core/p-550d7356.entry.js.map +0 -1
  898. package/dist/core/p-56d1828c.entry.js +0 -2
  899. package/dist/core/p-56d1828c.entry.js.map +0 -1
  900. package/dist/core/p-5a2630fb.entry.js +0 -2
  901. package/dist/core/p-5a2630fb.entry.js.map +0 -1
  902. package/dist/core/p-5a52614c.entry.js +0 -2
  903. package/dist/core/p-5a52614c.entry.js.map +0 -1
  904. package/dist/core/p-60efd7fa.entry.js +0 -2
  905. package/dist/core/p-60efd7fa.entry.js.map +0 -1
  906. package/dist/core/p-69f3ce5a.entry.js +0 -2
  907. package/dist/core/p-69f3ce5a.entry.js.map +0 -1
  908. package/dist/core/p-78ce4920.entry.js +0 -2
  909. package/dist/core/p-78ce4920.entry.js.map +0 -1
  910. package/dist/core/p-79d2a33b.entry.js +0 -2
  911. package/dist/core/p-79d2a33b.entry.js.map +0 -1
  912. package/dist/core/p-80237a20.entry.js +0 -2
  913. package/dist/core/p-80237a20.entry.js.map +0 -1
  914. package/dist/core/p-804513ad.entry.js +0 -2
  915. package/dist/core/p-804513ad.entry.js.map +0 -1
  916. package/dist/core/p-82375dca.entry.js +0 -2
  917. package/dist/core/p-82375dca.entry.js.map +0 -1
  918. package/dist/core/p-8e1e25a7.entry.js +0 -2
  919. package/dist/core/p-8e1e25a7.entry.js.map +0 -1
  920. package/dist/core/p-a1a1000d.entry.js +0 -2
  921. package/dist/core/p-a1a1000d.entry.js.map +0 -1
  922. package/dist/core/p-a1b1a0ab.entry.js +0 -2
  923. package/dist/core/p-a1b1a0ab.entry.js.map +0 -1
  924. package/dist/core/p-a37bcdbe.entry.js +0 -2
  925. package/dist/core/p-a37bcdbe.entry.js.map +0 -1
  926. package/dist/core/p-a3b6a02d.entry.js.map +0 -1
  927. package/dist/core/p-a765ad17.entry.js +0 -2
  928. package/dist/core/p-a765ad17.entry.js.map +0 -1
  929. package/dist/core/p-aa2be24c.entry.js +0 -2
  930. package/dist/core/p-aa2be24c.entry.js.map +0 -1
  931. package/dist/core/p-b12a5283.entry.js +0 -2
  932. package/dist/core/p-b12a5283.entry.js.map +0 -1
  933. package/dist/core/p-b1b05979.entry.js +0 -2
  934. package/dist/core/p-b1b05979.entry.js.map +0 -1
  935. package/dist/core/p-c6795377.entry.js +0 -2
  936. package/dist/core/p-c6795377.entry.js.map +0 -1
  937. package/dist/core/p-c81109da.entry.js.map +0 -1
  938. package/dist/core/p-cb4d104e.entry.js +0 -2
  939. package/dist/core/p-cb4d104e.entry.js.map +0 -1
  940. package/dist/core/p-d2f89cb5.entry.js +0 -2
  941. package/dist/core/p-d2f89cb5.entry.js.map +0 -1
  942. package/dist/core/p-d43d1ec0.entry.js +0 -2
  943. package/dist/core/p-d43d1ec0.entry.js.map +0 -1
  944. package/dist/core/p-d5829a35.entry.js +0 -2
  945. package/dist/core/p-d5829a35.entry.js.map +0 -1
  946. package/dist/core/p-ddb8d280.entry.js +0 -2
  947. package/dist/core/p-ddb8d280.entry.js.map +0 -1
  948. package/dist/core/p-e0e34fa7.entry.js +0 -2
  949. package/dist/core/p-e0e34fa7.entry.js.map +0 -1
  950. package/dist/core/p-e4b276b5.entry.js +0 -2
  951. package/dist/core/p-e4b276b5.entry.js.map +0 -1
  952. package/dist/core/p-e597da0e.entry.js.map +0 -1
  953. package/dist/core/p-e861a2b3.entry.js.map +0 -1
  954. package/dist/core/p-ea277b05.entry.js +0 -2
  955. package/dist/core/p-ea277b05.entry.js.map +0 -1
  956. package/dist/core/p-ef871b8f.entry.js +0 -2
  957. package/dist/core/p-ef871b8f.entry.js.map +0 -1
  958. package/dist/core/p-f229d19e.entry.js +0 -2
  959. package/dist/core/p-f229d19e.entry.js.map +0 -1
  960. package/dist/core/p-f30f3a3e.entry.js +0 -2
  961. package/dist/core/p-f30f3a3e.entry.js.map +0 -1
  962. package/dist/core/p-fa587e6d.entry.js +0 -2
  963. package/dist/core/p-fa587e6d.entry.js.map +0 -1
  964. package/dist/core/p-fb6ac08d.entry.js +0 -2
  965. package/dist/core/p-fb6ac08d.entry.js.map +0 -1
  966. package/dist/esm/helpers-1c9151ef.js.map +0 -1
  967. /package/dist/core/{p-d8870804.entry.js.map → p-e2cf6e7e.entry.js.map} +0 -0
@@ -1,18 +1,26 @@
1
1
  import { h, Host, Fragment, } from "@stencil/core";
2
2
  import { createPopper } from "@popperjs/core";
3
3
  import Check from "../../assets/check-icon.svg";
4
- import { onComponentRequiredPropUndefined } from "../../utils/helpers";
4
+ import { getOptionsWithoutGroupTitlesCount, isMacDevice, onComponentRequiredPropUndefined, } from "../../utils/helpers";
5
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
6
  export class Menu {
7
7
  constructor() {
8
+ this.ACTIVE_DESCENDANT = "aria-activedescendant";
9
+ this.CLEAR_BUTTON_ID = "clear-button";
10
+ this.SEARCH_BAR_TAG = "IC-SEARCH-BAR";
8
11
  this.disabledOptionSelected = false;
9
12
  this.hasPreviouslyBlurred = false;
10
13
  this.hasTimedOut = false;
11
14
  this.isLoading = false;
15
+ this.isMultiSelect = false;
12
16
  this.isSearchBar = false;
13
17
  this.isSearchableSelect = false;
14
- // Prevents menu re-opening immediately after it is closed on blur when clicking input.
15
- this.preventClickOpen = false;
18
+ this.lastOptionSelected = null; // Index of last option selected
19
+ this.lastOptionFocused = null; // Index of last option focused
20
+ this.multiOptionClicked = null;
21
+ this.preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.
22
+ this.preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.
23
+ this.shiftPressed = false;
16
24
  this.ungroupedOptions = [];
17
25
  this.handleClearListener = () => {
18
26
  this.optionHighlighted = "";
@@ -23,9 +31,16 @@ export class Menu {
23
31
  };
24
32
  this.handleMenuChange = (open, focusInput) => {
25
33
  this.menuStateChange.emit({ open, focusInput });
26
- if (!open && focusInput !== false) {
27
- this.inputEl.focus();
28
- this.preventClickOpen = false;
34
+ if (!open) {
35
+ if (focusInput !== false) {
36
+ this.inputEl.focus();
37
+ this.preventClickOpen = false;
38
+ }
39
+ // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed
40
+ if (this.isMultiSelect) {
41
+ this.optionHighlighted = undefined;
42
+ this.multiOptionClicked = null;
43
+ }
29
44
  }
30
45
  };
31
46
  this.setNextOptionValue = (selectedOptionIndex) => {
@@ -57,27 +72,37 @@ export class Menu {
57
72
  }
58
73
  };
59
74
  this.getParentEl = (parent) => {
60
- if (parent.tagName === "IC-SEARCH-BAR") {
75
+ if (parent.tagName === this.SEARCH_BAR_TAG) {
61
76
  this.isSearchBar = true;
62
77
  }
63
- else if (parent.tagName === "IC-SELECT" &&
64
- parent.getAttribute("searchable") !== null &&
65
- parent.getAttribute("searchable") !== undefined) {
66
- this.isSearchableSelect = true;
78
+ else if (parent.tagName === "IC-SELECT") {
79
+ if (parent.getAttribute("searchable") !== null &&
80
+ parent.getAttribute("searchable") !== undefined) {
81
+ this.isSearchableSelect = true;
82
+ }
83
+ else if (parent.getAttribute("multiple") !== null &&
84
+ parent.getAttribute("multiple") !== undefined) {
85
+ this.isMultiSelect = true;
86
+ }
67
87
  }
68
88
  };
89
+ // Open menu when up or down arrow keys are pressed
69
90
  this.arrowBehaviour = (event) => {
70
91
  event.preventDefault();
71
92
  this.handleMenuChange(true);
72
93
  };
73
- this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
94
+ this.getMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
95
+ // Set option that is focused and so should show focus state
74
96
  this.setHighlightedOption = (highlightedIndex) => {
75
- const menuOptions = this.setMenuOptions();
97
+ const menuOptions = this.getMenuOptions();
76
98
  menuOptions[highlightedIndex] &&
77
99
  !menuOptions[highlightedIndex].timedOut &&
78
100
  (this.optionHighlighted =
79
101
  menuOptions[highlightedIndex][this.valueField] || undefined);
80
102
  };
103
+ // Determines keyboard behaviour when selection is automatic
104
+ // (i.e. you don't have to press Enter select an option - just focus on it)
105
+ // and menu is closed
81
106
  this.autoSetInputValueKeyboardOpen = (event) => {
82
107
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
83
108
  this.keyboardNav = false;
@@ -94,147 +119,278 @@ export class Menu {
94
119
  break;
95
120
  case " ":
96
121
  case "Enter":
97
- if (event.target.id !== "clear-button") {
122
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
98
123
  this.handleMenuChange(true);
99
124
  }
100
125
  break;
101
126
  }
102
127
  };
103
- this.manSetInputValueKeyboardOpen = (event) => {
104
- const menuOptions = this.setMenuOptions();
105
- const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
106
- const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
128
+ this.selectHighlightedOption = (options, highlightedOptionIndex) => {
129
+ if (!this.isLoading && !this.hasTimedOut) {
130
+ this.keyboardNav = true;
131
+ }
107
132
  const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
108
- switch (event.key) {
109
- case "ArrowDown":
110
- this.keyboardNav = true;
111
- this.arrowBehaviour(event);
112
- if (highlightedOptionIndex < menuOptions.length - 1) {
113
- this.setHighlightedOption(highlightedOptionIndex + 1);
114
- this.menuOptionId.emit({
115
- optionId: getOptionId(highlightedOptionIndex + 1),
116
- });
117
- }
118
- else {
119
- this.setHighlightedOption(0);
120
- this.menuOptionId.emit({
121
- optionId: getOptionId(0),
122
- });
133
+ if (isOpen) {
134
+ if (highlightedOptionIndex >= 0) {
135
+ if (options[highlightedOptionIndex] !== undefined) {
136
+ if (this.isSearchBar &&
137
+ options[highlightedOptionIndex].disabled === true) {
138
+ this.disabledOptionSelected = true;
139
+ }
140
+ else {
141
+ this.setInputValue(highlightedOptionIndex);
142
+ }
123
143
  }
124
- this.preventIncorrectTabOrder = false;
125
- this.focusFromSearchKeypress = false;
126
- break;
127
- case "ArrowUp":
128
- this.keyboardNav = true;
129
- this.arrowBehaviour(event);
130
- if (highlightedOptionIndex <= 0 ||
131
- highlightedOptionIndex > menuOptions.length + 1) {
132
- this.setHighlightedOption(menuOptions.length - 1);
144
+ }
145
+ else {
146
+ this.setInputValue(highlightedOptionIndex);
147
+ }
148
+ }
149
+ else {
150
+ this.handleMenuChange(true);
151
+ }
152
+ };
153
+ // Check if option is selected based on the index of the option
154
+ this.isOptionSelected = (index) => {
155
+ const menuOptions = this.getMenuOptions();
156
+ return this.value
157
+ ? this.value.includes(menuOptions[index][this.valueField])
158
+ : false;
159
+ };
160
+ // Deselect currently selected options when shift pressed, but keep certain options selected
161
+ this.deselectSelectedOptions = (optionsToKeepSelected) => {
162
+ const menuOptions = this.getMenuOptions();
163
+ if (this.value) {
164
+ const selectedOptionIndexes = this.value.map((value) => {
165
+ return menuOptions.findIndex((option) => option[this.valueField] === value);
166
+ });
167
+ // Call setInputValue (which toggles the selected state) on options that need to be deselected
168
+ selectedOptionIndexes.forEach((index) => !optionsToKeepSelected.includes(index) && this.setInputValue(index));
169
+ }
170
+ };
171
+ // Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)
172
+ this.manualSetInputValueKeyboardOpen = (event) => {
173
+ const menuOptions = this.getMenuOptions();
174
+ // For preventing focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed
175
+ // (i.e. when user is likely in the middle of executing a keyboard combination to select options)
176
+ const isKeyboardCombination = event.shiftKey || event.metaKey || event.ctrlKey;
177
+ const highlightedOptionIndex = this.getOptionHighlightedIndex();
178
+ const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);
179
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
180
+ // Space press should be equivalent to Enter when multi-select
181
+ if (event.key === " " && this.isMultiSelect) {
182
+ this.handleOptionSelect(event, highlightedOptionIndex);
183
+ }
184
+ else {
185
+ switch (event.key) {
186
+ case "ArrowDown":
187
+ this.keyboardNav = true;
188
+ this.arrowBehaviour(event);
189
+ if (this.multiOptionClicked) {
190
+ // Set focus to option last clicked
191
+ // Prevents it resetting to the top of the menu when user switches to using keyboard
192
+ this.setHighlightedOption(clickedMultiOptionIndex);
193
+ this.multiOptionClicked = null;
194
+ }
195
+ else {
196
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
197
+ if (highlightedOptionIndex < menuOptions.length - 1) {
198
+ this.setHighlightedOption(highlightedOptionIndex + 1);
199
+ this.menuOptionId.emit({
200
+ optionId: getOptionId(highlightedOptionIndex + 1),
201
+ });
202
+ this.handleSingleShiftSelect(event, highlightedOptionIndex + 1, menuOptions);
203
+ }
204
+ else {
205
+ this.setHighlightedOption(0);
206
+ this.menuOptionId.emit({
207
+ optionId: getOptionId(0),
208
+ });
209
+ this.handleSingleShiftSelect(event, 0, menuOptions);
210
+ }
211
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
212
+ if (this.isMultiSelect && this.shiftPressed) {
213
+ this.deselectSelectedOptions([
214
+ highlightedOptionIndex,
215
+ this.getOptionHighlightedIndex(),
216
+ ]);
217
+ this.shiftPressed = false;
218
+ }
219
+ }
220
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
221
+ this.preventIncorrectTabOrder = false;
222
+ this.focusFromSearchKeypress = false;
223
+ break;
224
+ case "ArrowUp":
225
+ this.keyboardNav = true;
226
+ this.arrowBehaviour(event);
227
+ if (this.multiOptionClicked) {
228
+ // Set focus to option last clicked
229
+ // Prevents it resetting to the bottom of the menu when user switches to using keyboard
230
+ this.setHighlightedOption(clickedMultiOptionIndex);
231
+ this.multiOptionClicked = null;
232
+ }
233
+ else {
234
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
235
+ if (highlightedOptionIndex <= 0 ||
236
+ highlightedOptionIndex > menuOptions.length + 1) {
237
+ this.setHighlightedOption(menuOptions.length - 1);
238
+ this.menuOptionId.emit({
239
+ optionId: getOptionId(menuOptions.length - 1),
240
+ });
241
+ this.handleSingleShiftSelect(event, menuOptions.length - 1, menuOptions);
242
+ }
243
+ else {
244
+ this.setHighlightedOption(highlightedOptionIndex - 1);
245
+ this.menuOptionId.emit({
246
+ optionId: getOptionId(highlightedOptionIndex - 1),
247
+ });
248
+ this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);
249
+ }
250
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
251
+ if (this.isMultiSelect && this.shiftPressed) {
252
+ this.deselectSelectedOptions([
253
+ highlightedOptionIndex,
254
+ this.getOptionHighlightedIndex(),
255
+ ]);
256
+ this.shiftPressed = false;
257
+ }
258
+ }
259
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
260
+ this.preventIncorrectTabOrder = false;
261
+ this.focusFromSearchKeypress = false;
262
+ break;
263
+ case "Home": {
264
+ const startOptionIndex = 0;
265
+ this.keyboardNav = true;
266
+ event.preventDefault();
267
+ this.arrowBehaviour(event);
268
+ this.setHighlightedOption(startOptionIndex);
133
269
  this.menuOptionId.emit({
134
- optionId: getOptionId(menuOptions.length - 1),
270
+ optionId: getOptionId(startOptionIndex),
135
271
  });
272
+ if (event.shiftKey && event.ctrlKey) {
273
+ this.handleMultipleShiftSelect(startOptionIndex);
274
+ }
275
+ this.lastOptionFocused = startOptionIndex;
276
+ this.lastOptionSelected = startOptionIndex;
277
+ break;
136
278
  }
137
- else {
138
- this.setHighlightedOption(highlightedOptionIndex - 1);
279
+ case "End": {
280
+ const endOptionIndex = menuOptions.length - 1;
281
+ this.keyboardNav = true;
282
+ event.preventDefault();
283
+ this.arrowBehaviour(event);
284
+ this.setHighlightedOption(endOptionIndex);
139
285
  this.menuOptionId.emit({
140
- optionId: getOptionId(highlightedOptionIndex - 1),
286
+ optionId: getOptionId(endOptionIndex),
141
287
  });
142
- }
143
- this.preventIncorrectTabOrder = false;
144
- this.focusFromSearchKeypress = false;
145
- break;
146
- case "Home":
147
- this.keyboardNav = true;
148
- event.preventDefault();
149
- this.arrowBehaviour(event);
150
- this.setHighlightedOption(0);
151
- this.menuOptionId.emit({
152
- optionId: getOptionId(0),
153
- });
154
- break;
155
- case "End":
156
- this.keyboardNav = true;
157
- event.preventDefault();
158
- this.arrowBehaviour(event);
159
- this.setHighlightedOption(menuOptions.length - 1);
160
- this.menuOptionId.emit({
161
- optionId: getOptionId(menuOptions.length - 1),
162
- });
163
- break;
164
- case " ":
165
- this.keyboardNav = false;
166
- if (this.isSearchBar || this.isSearchableSelect) {
288
+ if (event.shiftKey && event.ctrlKey) {
289
+ this.handleMultipleShiftSelect(endOptionIndex);
290
+ }
291
+ this.lastOptionFocused = endOptionIndex;
292
+ this.lastOptionSelected = endOptionIndex;
167
293
  break;
168
294
  }
169
- else {
170
- if (event.target.id !== "clear-button") {
171
- this.handleMenuChange(true);
295
+ case " ":
296
+ if (!isKeyboardCombination) {
297
+ this.keyboardNav = false;
172
298
  }
173
- }
174
- break;
175
- case "Enter":
176
- event.preventDefault();
177
- this.keyboardNav = false;
178
- if (isOpen) {
179
- if (highlightedOptionIndex >= 0) {
180
- if (menuOptions[highlightedOptionIndex] !== undefined) {
181
- if (this.isSearchBar &&
182
- menuOptions[highlightedOptionIndex].disabled === true) {
183
- this.disabledOptionSelected = true;
184
- }
185
- else {
186
- this.setInputValue(highlightedOptionIndex);
187
- this.value =
188
- menuOptions[highlightedOptionIndex][this.valueField];
189
- }
299
+ if (this.isSearchBar || this.isSearchableSelect) {
300
+ break;
301
+ }
302
+ else {
303
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
304
+ this.handleMenuChange(true);
305
+ }
306
+ }
307
+ break;
308
+ case "Enter":
309
+ event.preventDefault();
310
+ if (!isKeyboardCombination) {
311
+ this.keyboardNav = false;
312
+ }
313
+ this.handleOptionSelect(event, highlightedOptionIndex);
314
+ break;
315
+ case "Escape":
316
+ if (this.open) {
317
+ event.stopImmediatePropagation();
318
+ }
319
+ this.handleMenuChange(false);
320
+ this.menuOptionId.emit({ optionId: undefined });
321
+ break;
322
+ case "a":
323
+ // Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)
324
+ // Otherwise, if a different OS, checks Ctrl key
325
+ if ((isMacDevice() && event.metaKey) ||
326
+ (!isMacDevice() && event.ctrlKey)) {
327
+ this.emitSelectAllEvents();
328
+ this.lastOptionFocused = null;
329
+ this.lastOptionSelected = null;
330
+ }
331
+ break;
332
+ case "Shift":
333
+ case "Tab":
334
+ if (event.key === "Shift") {
335
+ this.shiftPressed = true;
336
+ }
337
+ if (this.isSearchBar) {
338
+ this.keyboardNav = true;
339
+ }
340
+ if (this.isMultiSelect) {
341
+ if (this.open && !event.shiftKey && this.selectAllButton) {
342
+ event.preventDefault();
343
+ this.selectAllButton.focus(); // Move focus to select all button instead of focused option
344
+ this.preventMenuFocus = true;
345
+ this.preventClickOpen = true;
346
+ this.optionHighlighted = undefined; // Stop any option focus states showing when focus moved to select all button
190
347
  }
191
348
  }
192
349
  else {
193
- this.setInputValue(highlightedOptionIndex);
350
+ this.preventIncorrectTabOrder = true;
194
351
  }
195
- }
196
- else {
197
- this.handleMenuChange(true);
198
- }
199
- break;
200
- case "Escape":
201
- if (this.open) {
202
- event.stopImmediatePropagation();
203
- }
204
- this.handleMenuChange(false);
205
- this.menuOptionId.emit({ optionId: undefined });
206
- break;
207
- case "Shift":
208
- case "Tab":
209
- if (this.isSearchBar) {
210
- this.keyboardNav = true;
211
- }
212
- this.preventIncorrectTabOrder = true;
213
- break;
214
- default:
215
- this.keyboardNav = false;
216
- this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
217
- break;
352
+ break;
353
+ default:
354
+ if (!isKeyboardCombination) {
355
+ this.keyboardNav = false;
356
+ }
357
+ this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
358
+ }
218
359
  }
219
360
  };
220
361
  this.setInputValue = (highlightedOptionIndex) => {
221
- const menuOptions = this.setMenuOptions();
362
+ const menuOptions = this.getMenuOptions();
222
363
  if (menuOptions[highlightedOptionIndex] !== undefined) {
223
364
  this.menuOptionSelect.emit({
224
365
  value: menuOptions[highlightedOptionIndex][this.valueField],
225
366
  });
226
- this.optionHighlighted = undefined;
227
- this.menuOptionId.emit({ optionId: undefined });
367
+ if (this.closeOnSelect) {
368
+ this.optionHighlighted = undefined;
369
+ this.menuOptionId.emit({ optionId: undefined });
370
+ }
371
+ }
372
+ if (this.closeOnSelect) {
373
+ if (!this.hasTimedOut) {
374
+ this.handleMenuChange(false);
375
+ }
376
+ else {
377
+ this.parentEl.setFocus();
378
+ }
228
379
  }
229
- if (!this.hasTimedOut)
230
- this.handleMenuChange(false);
231
- else
232
- this.parentEl.setFocus();
233
380
  };
234
381
  this.handleOptionClick = (event) => {
235
382
  const { value, label } = event.target.dataset;
236
- this.menuOptionSelect.emit({ value, label });
237
- this.handleMenuChange(false);
383
+ if (this.isMultiSelect) {
384
+ const menuOptions = this.getMenuOptions();
385
+ const selectedOptionIndex = menuOptions.findIndex((option) => option.value === value);
386
+ this.handleOptionSelect(event, selectedOptionIndex, true);
387
+ this.multiOptionClicked = value;
388
+ }
389
+ else {
390
+ this.menuOptionSelect.emit({ value, label });
391
+ this.handleMenuChange(false);
392
+ }
393
+ this.optionHighlighted = undefined;
238
394
  };
239
395
  this.handleRetry = () => {
240
396
  this.retryButtonClicked.emit({ value: this.value });
@@ -247,13 +403,23 @@ export class Menu {
247
403
  };
248
404
  this.handleBlur = (event) => {
249
405
  if (event.relatedTarget !== this.inputEl) {
250
- if (!this.menu.contains(event.relatedTarget)) {
406
+ if (event.relatedTarget === this.selectAllButton) {
407
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
408
+ }
409
+ if (!(this.menu.contains(event.relatedTarget) ||
410
+ event.relatedTarget === this.selectAllButton)) {
251
411
  this.handleMenuChange(false, this.hasPreviouslyBlurred);
412
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
413
+ this.lastOptionFocused = null;
414
+ this.lastOptionSelected = null;
252
415
  }
253
416
  }
254
417
  else {
255
418
  this.handleMenuChange(false);
256
419
  this.preventClickOpen = true;
420
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
421
+ this.lastOptionFocused = null;
422
+ this.lastOptionSelected = null;
257
423
  }
258
424
  if (!this.isSearchBar)
259
425
  this.hasPreviouslyBlurred = !!event.relatedTarget;
@@ -266,12 +432,113 @@ export class Menu {
266
432
  this.autoSetValueOnMenuKeyDown(event);
267
433
  }
268
434
  else if (this.activationType === "manual" && !this.isSearchBar) {
269
- this.manSetInputValueKeyboardOpen(event);
435
+ this.manualSetInputValueKeyboardOpen(event);
436
+ }
437
+ };
438
+ this.handleMenuKeyUp = (event) => {
439
+ if (event.key === "Tab" && event.shiftKey) {
440
+ this.preventClickOpen = false;
441
+ }
442
+ if (event.key === "Enter" && this.disabledOptionSelected) {
443
+ this.disabledOptionSelected = false;
444
+ event.stopImmediatePropagation();
445
+ }
446
+ if (event.key === "Shift") {
447
+ this.shiftPressed = false;
448
+ }
449
+ };
450
+ this.handleSelectAllClick = () => {
451
+ this.keyboardNav = false;
452
+ this.menu.focus();
453
+ this.emitSelectAllEvents();
454
+ this.lastOptionFocused = null;
455
+ this.lastOptionSelected = null;
456
+ };
457
+ this.handleSelectAllBlur = (event) => {
458
+ this.host.classList.remove("ic-select-select-all-focused");
459
+ if (!this.menu.contains(event.relatedTarget)) {
460
+ this.handleMenuChange(false, false);
461
+ }
462
+ };
463
+ this.handleSelectAllFocus = () => {
464
+ this.host.classList.add("ic-select-select-all-focused");
465
+ this.lastOptionFocused = null;
466
+ this.lastOptionSelected = null;
467
+ };
468
+ // Fix for Safari - select all button click was causing menu to close
469
+ this.handleSelectAllMouseDown = (event) => {
470
+ event.preventDefault();
471
+ };
472
+ // When shift key is being used to select contiguous options one by one on a multi-select
473
+ // I.e. holding shift and pressing up and down arrow keys
474
+ this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {
475
+ if (this.isMultiSelect &&
476
+ event.shiftKey &&
477
+ !this.isOptionSelected(optionToSelectIndex)) {
478
+ this.selectHighlightedOption(options, optionToSelectIndex);
479
+ this.lastOptionSelected = optionToSelectIndex;
480
+ }
481
+ };
482
+ // When shift key is being used to select multiple options at once on a multi-select
483
+ // I.e. holding shift when selecting another option
484
+ this.handleMultipleShiftSelect = (lastOptionInSelection, useFocusForSelection = false, firstOptionSelected = null) => {
485
+ this.shiftPressed = false;
486
+ const firstOptionInSelection = firstOptionSelected === null
487
+ ? this.getFirstOptionInSelection(useFocusForSelection)
488
+ : firstOptionSelected;
489
+ if (firstOptionInSelection !== null) {
490
+ const optionsToSelect = [];
491
+ if (firstOptionInSelection < lastOptionInSelection) {
492
+ for (let i = firstOptionInSelection; i < lastOptionInSelection + 1; i++) {
493
+ optionsToSelect.push(i);
494
+ }
495
+ }
496
+ else {
497
+ for (let i = firstOptionInSelection; i > lastOptionInSelection - 1; i--) {
498
+ optionsToSelect.push(i);
499
+ }
500
+ }
501
+ optionsToSelect.forEach((optionIndex) => !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex));
502
+ this.deselectSelectedOptions(optionsToSelect);
503
+ }
504
+ };
505
+ this.handleOptionSelect = (event, optionIndex, useFocusForSelection = false) => {
506
+ const menuOptions = this.getMenuOptions();
507
+ const firstOptionInSelection = this.getFirstOptionInSelection(useFocusForSelection);
508
+ if (event.shiftKey && firstOptionInSelection !== null) {
509
+ this.handleMultipleShiftSelect(optionIndex, useFocusForSelection, firstOptionInSelection);
510
+ }
511
+ else {
512
+ this.selectHighlightedOption(menuOptions, optionIndex);
513
+ }
514
+ this.lastOptionFocused = optionIndex;
515
+ this.lastOptionSelected = optionIndex;
516
+ };
517
+ this.getFirstOptionInSelection = (useFocusForSelection) => {
518
+ return useFocusForSelection && this.lastOptionFocused !== null
519
+ ? this.lastOptionFocused
520
+ : this.lastOptionSelected !== null
521
+ ? this.lastOptionSelected
522
+ : null;
523
+ };
524
+ this.emitSelectAllEvents = () => {
525
+ var _a, _b;
526
+ // Select all if there is either no value or not all options are selected
527
+ // 'true' means select all, 'false' means clear all
528
+ this.menuOptionSelectAll.emit({
529
+ select: !this.value || !(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === this.ungroupedOptions.length),
530
+ });
531
+ // Emit clear event if all options are selected
532
+ if (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) === this.ungroupedOptions.length) {
533
+ this.icClear.emit();
270
534
  }
271
535
  };
272
536
  this.emitMenuKeyPress = (isNavKey, key) => {
273
537
  this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
274
538
  };
539
+ // Determines keyboard behaviour when selection is automatic
540
+ // (i.e. you don't have to press Enter select an option - just focus on it)
541
+ // and menu is focused
275
542
  this.autoSetValueOnMenuKeyDown = (event) => {
276
543
  event.cancelBubble = true;
277
544
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
@@ -331,15 +598,6 @@ export class Menu {
331
598
  }
332
599
  this.emitMenuKeyPress(this.keyboardNav, event.key);
333
600
  };
334
- this.handleMenuKeyUp = (event) => {
335
- if (event.key === "Tab" && event.shiftKey) {
336
- this.preventClickOpen = false;
337
- }
338
- if (event.key === "Enter" && this.disabledOptionSelected) {
339
- this.disabledOptionSelected = false;
340
- event.stopImmediatePropagation();
341
- }
342
- };
343
601
  this.getOptionId = (value) => {
344
602
  return `${this.menuId}-${value}`;
345
603
  };
@@ -365,6 +623,10 @@ export class Menu {
365
623
  }
366
624
  return sorted;
367
625
  };
626
+ this.getOptionHighlightedIndex = () => {
627
+ const menuOptions = this.getMenuOptions();
628
+ return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
629
+ };
368
630
  this.isManualMode = this.activationType === "manual";
369
631
  this.scrollToSelected = (menu) => {
370
632
  const selectedOption = this.selectOnEnter
@@ -376,9 +638,14 @@ export class Menu {
376
638
  elTop < menu.scrollTop + menu.offsetHeight) {
377
639
  menu.scrollTop = selectedOption.offsetTop;
378
640
  }
641
+ // 'aria-activedescendant' affects screen reader focus
642
+ // https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant
643
+ this.menu.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);
379
644
  selectedOption.focus();
380
645
  }
381
646
  };
647
+ // Set 'ungroupedOptions' variable and emit its value
648
+ // - this is all the options with disabled options and group titles removed
382
649
  this.loadUngroupedOptions = () => {
383
650
  if (this.options.length > 0 && this.options.map) {
384
651
  this.options.map((option) => {
@@ -405,21 +672,24 @@ export class Menu {
405
672
  this.handleTimeoutBlur = (ev) => {
406
673
  this.timeoutBlur.emit({ ev });
407
674
  };
408
- this.optionContent = (option) => {
409
- var _a;
410
- return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: "option-text-container" }, h("div", { class: "option-label" }, option.icon && (h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), h("ic-typography", { variant: "body", "aria-hidden": "true" }, option[this.labelField])), option.description && (h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description))), option.element && (h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), !!option[this.valueField] &&
675
+ this.optionContent = (option, selected) => {
676
+ const showCheckIcon = !!option[this.valueField] &&
411
677
  !!this.value &&
412
- option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
413
- this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: Check }))));
678
+ selected &&
679
+ this.parentEl.tagName !== this.SEARCH_BAR_TAG;
680
+ return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: {
681
+ "option-text-container": true,
682
+ "show-check-icon": showCheckIcon,
683
+ } }, h("div", { class: "option-label" }, option.icon && (h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), h("ic-typography", { variant: "body", "aria-hidden": "true" }, option[this.labelField])), option.description && (h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, h("p", null, option.description))), option.element && (h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), showCheckIcon && h("span", { class: "check-icon", innerHTML: Check })));
414
684
  };
415
- this.displayOption = (option, index, parentOption) => {
416
- const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
685
+ this.displayOption = (option, selected, index, parentOption) => {
686
+ const { open, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
417
687
  return (h("li", { id: this.getOptionId(option[this.valueField]), class: {
418
688
  option: true,
419
689
  "focused-option": isManualMode
420
690
  ? (keyboardNav || initialOptionsListRender) &&
421
691
  option[this.valueField] === optionHighlighted
422
- : keyboardNav && option[this.valueField] === value,
692
+ : keyboardNav && selected,
423
693
  "last-recommended-option": option.recommended &&
424
694
  options[index + 1] &&
425
695
  !options[index + 1].recommended,
@@ -427,20 +697,21 @@ export class Menu {
427
697
  "loading-option": option.loading,
428
698
  timeout: option.timedOut,
429
699
  }, role: "option", tabindex: open &&
430
- (option[this.valueField] === value ||
431
- option[this.valueField] === optionHighlighted) &&
700
+ (selected || option[this.valueField] === optionHighlighted) &&
432
701
  keyboardNav
433
702
  ? "0"
434
- : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": `${option[this.valueField] === value}`, "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", { id: "error-title" }, "Error"), h("g", { id: "close-octagon" }, h("path", { id: "Vector", d: "M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" }))), h("ic-typography", { variant: "label" }, option[this.labelField])), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option))));
703
+ : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": selected ? "true" : "false", "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h("div", { class: "loading-error-info" }, h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, h("title", { id: "error-title" }, "Error"), h("g", { id: "close-octagon" }, h("path", { id: "Vector", d: "M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41" }))), h("ic-typography", { variant: "label" }, option[this.labelField])), h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option, selected))));
435
704
  };
436
705
  this.focusFromSearchKeypress = false;
437
706
  this.initialOptionsListRender = false;
438
707
  this.keyboardNav = false;
439
708
  this.optionHighlighted = undefined;
440
709
  this.preventIncorrectTabOrder = false;
710
+ this.menuOptions = undefined;
441
711
  this.activationType = "automatic";
442
712
  this.anchorEl = undefined;
443
- this.autoFocusOnSelected = true;
713
+ this.autofocusOnSelected = true;
714
+ this.closeOnSelect = true;
444
715
  this.fullWidth = false;
445
716
  this.inputEl = undefined;
446
717
  this.inputLabel = undefined;
@@ -467,9 +738,6 @@ export class Menu {
467
738
  this.ungroupedOptions = [];
468
739
  this.loadUngroupedOptions();
469
740
  }
470
- watchValueHandler() {
471
- this.menuValueChange.emit({ value: this.value });
472
- }
473
741
  connectedCallback() {
474
742
  this.getParentEl(this.parentEl);
475
743
  if (this.isSearchBar) {
@@ -479,11 +747,12 @@ export class Menu {
479
747
  }
480
748
  }
481
749
  disconnectedCallback() {
750
+ var _a, _b;
482
751
  if (this.popperInstance) {
483
752
  this.popperInstance.destroy();
484
753
  }
485
- this.parentEl.removeEventListener("icClear", this.handleClearListener);
486
- this.parentEl.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
754
+ (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener("icClear", this.handleClearListener);
755
+ (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
487
756
  }
488
757
  componentWillLoad() {
489
758
  var _a, _b;
@@ -508,16 +777,15 @@ export class Menu {
508
777
  }
509
778
  componentDidUpdate() {
510
779
  const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);
511
- if (this.open && this.options.length !== 0) {
780
+ if (this.open && this.options.length !== 0 && !this.preventMenuFocus) {
512
781
  if (this.value &&
513
782
  this.keyboardNav &&
514
783
  inputValueInOptions &&
515
- this.autoFocusOnSelected &&
784
+ this.autofocusOnSelected &&
516
785
  !this.isSearchableSelect) {
517
786
  this.scrollToSelected(this.menu);
518
787
  }
519
- else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
520
- this.inputEl.tagName !== "INPUT") {
788
+ else if (this.selectOnEnter) {
521
789
  this.menu.focus();
522
790
  }
523
791
  else if (!!this.optionHighlighted &&
@@ -525,13 +793,18 @@ export class Menu {
525
793
  !this.preventIncorrectTabOrder) {
526
794
  const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
527
795
  if (highlightedEl) {
796
+ this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);
528
797
  highlightedEl.focus();
529
798
  }
530
799
  }
800
+ else if (this.inputEl.tagName !== "INPUT") {
801
+ this.menu.focus();
802
+ }
531
803
  }
532
804
  if (this.open && !this.value && this.selectOnEnter) {
533
805
  this.scrollToSelected(this.menu);
534
806
  }
807
+ this.preventMenuFocus = false;
535
808
  }
536
809
  componentDidRender() {
537
810
  if (this.open && !this.popperInstance && this.anchorEl) {
@@ -561,7 +834,7 @@ export class Menu {
561
834
  this.autoSetInputValueKeyboardOpen(event);
562
835
  }
563
836
  else {
564
- this.manSetInputValueKeyboardOpen(event);
837
+ this.manualSetInputValueKeyboardOpen(event);
565
838
  }
566
839
  }
567
840
  /**
@@ -576,8 +849,9 @@ export class Menu {
576
849
  * boundary behaviour so sticking with PopperJS.
577
850
  */
578
851
  async initPopperJs(anchor) {
852
+ // Placements set to "-start" to accommodate for custom menu width - menu should always be aligned to the left
579
853
  this.popperInstance = createPopper(anchor, this.host, {
580
- placement: "bottom",
854
+ placement: "bottom-start",
581
855
  modifiers: [
582
856
  {
583
857
  name: "offset",
@@ -588,7 +862,7 @@ export class Menu {
588
862
  {
589
863
  name: "flip",
590
864
  options: {
591
- fallbackPlacements: ["top"],
865
+ fallbackPlacements: ["top-start"],
592
866
  rootBoundary: "viewport",
593
867
  },
594
868
  },
@@ -609,25 +883,47 @@ export class Menu {
609
883
  this.focusFromSearchKeypress = true;
610
884
  }
611
885
  render() {
612
- const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, } = this;
886
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, } = this;
887
+ const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
888
+ const hasNoResults = this.host.classList.contains("no-results");
613
889
  return (h(Host, { class: {
614
890
  "ic-menu-full-width": fullWidth,
615
- "ic-menu-no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
891
+ "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
892
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
893
+ hasTimedOut ||
894
+ isLoading,
616
895
  [`ic-menu-${size}`]: true,
617
- "ic-menu-open": open,
618
- } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": inputLabel, "aria-activedescendant": value != null && value !== "" ? this.getOptionId(value) : "", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ? "0" : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
896
+ "ic-menu-open": open && options.length !== 0,
897
+ "ic-menu-multiple": this.isMultiSelect,
898
+ } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": this.isMultiSelect ? "true" : "false", tabindex: open &&
899
+ !keyboardNav &&
900
+ ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
901
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
902
+ ? "0"
903
+ : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
619
904
  if (option.children) {
620
905
  if (option.children.length > 0) {
621
- return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index, option))));
906
+ return (h("div", null, h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, h("p", null, option[this.labelField])), option.children.map((childOption) => childOption.label &&
907
+ this.displayOption(childOption, this.isMultiSelect
908
+ ? value === null || value === void 0 ? void 0 : value.includes(childOption[this.valueField])
909
+ : childOption[this.valueField] === value, index, option))));
622
910
  }
623
911
  else {
624
912
  return null;
625
913
  }
626
914
  }
627
915
  else {
628
- return this.displayOption(option, index);
916
+ // Display option only if it has a label (rather than displaying an empty space)
917
+ return (option.label &&
918
+ this.displayOption(option, this.isMultiSelect
919
+ ? value === null || value === void 0 ? void 0 : value.includes(option[this.valueField])
920
+ : option[this.valueField] === value, index));
629
921
  }
630
- })))));
922
+ }))), options.length !== 0 &&
923
+ this.isMultiSelect &&
924
+ !isLoading &&
925
+ !hasTimedOut &&
926
+ !hasNoResults && (h("div", { class: "option-bar" }, h("ic-typography", null, h("p", null, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
631
927
  }
632
928
  static get is() { return "ic-menu"; }
633
929
  static get encapsulation() { return "scoped"; }
@@ -687,7 +983,7 @@ export class Menu {
687
983
  "text": "The reference to an anchor element the menu will position itself from when rendered."
688
984
  }
689
985
  },
690
- "autoFocusOnSelected": {
986
+ "autofocusOnSelected": {
691
987
  "type": "boolean",
692
988
  "mutable": false,
693
989
  "complexType": {
@@ -704,7 +1000,25 @@ export class Menu {
704
1000
  }],
705
1001
  "text": ""
706
1002
  },
707
- "attribute": "auto-focus-on-selected",
1003
+ "attribute": "autofocus-on-selected",
1004
+ "reflect": false,
1005
+ "defaultValue": "true"
1006
+ },
1007
+ "closeOnSelect": {
1008
+ "type": "boolean",
1009
+ "mutable": false,
1010
+ "complexType": {
1011
+ "original": "boolean",
1012
+ "resolved": "boolean",
1013
+ "references": {}
1014
+ },
1015
+ "required": false,
1016
+ "optional": false,
1017
+ "docs": {
1018
+ "tags": [],
1019
+ "text": "If `true`, the menu will close when an option is selected."
1020
+ },
1021
+ "attribute": "close-on-select",
708
1022
  "reflect": false,
709
1023
  "defaultValue": "true"
710
1024
  },
@@ -901,7 +1215,7 @@ export class Menu {
901
1215
  "optional": true,
902
1216
  "docs": {
903
1217
  "tags": [],
904
- "text": "The size of the menu component."
1218
+ "text": "The size of the menu."
905
1219
  },
906
1220
  "attribute": "size",
907
1221
  "reflect": false,
@@ -930,17 +1244,17 @@ export class Menu {
930
1244
  },
931
1245
  "value": {
932
1246
  "type": "string",
933
- "mutable": true,
1247
+ "mutable": false,
934
1248
  "complexType": {
935
- "original": "string",
936
- "resolved": "string",
1249
+ "original": "string | string[]",
1250
+ "resolved": "string | string[]",
937
1251
  "references": {}
938
1252
  },
939
1253
  "required": true,
940
1254
  "optional": false,
941
1255
  "docs": {
942
1256
  "tags": [],
943
- "text": "The value of the currently selected option."
1257
+ "text": "The value of the currently selected option - or array of values (if multiple options allowed)."
944
1258
  },
945
1259
  "attribute": "value",
946
1260
  "reflect": false
@@ -971,11 +1285,27 @@ export class Menu {
971
1285
  "initialOptionsListRender": {},
972
1286
  "keyboardNav": {},
973
1287
  "optionHighlighted": {},
974
- "preventIncorrectTabOrder": {}
1288
+ "preventIncorrectTabOrder": {},
1289
+ "menuOptions": {}
975
1290
  };
976
1291
  }
977
1292
  static get events() {
978
1293
  return [{
1294
+ "method": "icClear",
1295
+ "name": "icClear",
1296
+ "bubbles": true,
1297
+ "cancelable": true,
1298
+ "composed": true,
1299
+ "docs": {
1300
+ "tags": [],
1301
+ "text": "Emitted when the clear all button is clicked."
1302
+ },
1303
+ "complexType": {
1304
+ "original": "void",
1305
+ "resolved": "void",
1306
+ "references": {}
1307
+ }
1308
+ }, {
979
1309
  "method": "menuKeyPress",
980
1310
  "name": "menuKeyPress",
981
1311
  "bubbles": true,
@@ -984,7 +1314,7 @@ export class Menu {
984
1314
  "docs": {
985
1315
  "tags": [{
986
1316
  "name": "internal",
987
- "text": "Emitted when key is pressed while menu is open"
1317
+ "text": "Emitted when key is pressed while menu is open."
988
1318
  }],
989
1319
  "text": ""
990
1320
  },
@@ -1002,7 +1332,7 @@ export class Menu {
1002
1332
  "docs": {
1003
1333
  "tags": [{
1004
1334
  "name": "internal",
1005
- "text": "Emitted when an option has been highlighted"
1335
+ "text": "Emitted when an option has been highlighted."
1006
1336
  }],
1007
1337
  "text": ""
1008
1338
  },
@@ -1042,50 +1372,44 @@ export class Menu {
1042
1372
  }
1043
1373
  }
1044
1374
  }, {
1045
- "method": "menuStateChange",
1046
- "name": "menuStateChange",
1375
+ "method": "menuOptionSelectAll",
1376
+ "name": "menuOptionSelectAll",
1047
1377
  "bubbles": true,
1048
1378
  "cancelable": true,
1049
1379
  "composed": true,
1050
1380
  "docs": {
1051
1381
  "tags": [{
1052
1382
  "name": "internal",
1053
- "text": "Emitted when state of menu changes (i.e. open or close)."
1383
+ "text": "Emitted when all options are selected or deselected."
1054
1384
  }],
1055
1385
  "text": ""
1056
1386
  },
1057
1387
  "complexType": {
1058
- "original": "IcMenuChangeEventDetail",
1059
- "resolved": "IcMenuChangeEventDetail",
1060
- "references": {
1061
- "IcMenuChangeEventDetail": {
1062
- "location": "import",
1063
- "path": "./ic-menu.types",
1064
- "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail"
1065
- }
1066
- }
1388
+ "original": "{ select: boolean }",
1389
+ "resolved": "{ select: boolean; }",
1390
+ "references": {}
1067
1391
  }
1068
1392
  }, {
1069
- "method": "menuValueChange",
1070
- "name": "menuValueChange",
1393
+ "method": "menuStateChange",
1394
+ "name": "menuStateChange",
1071
1395
  "bubbles": true,
1072
1396
  "cancelable": true,
1073
1397
  "composed": true,
1074
1398
  "docs": {
1075
1399
  "tags": [{
1076
1400
  "name": "internal",
1077
- "text": "Emitted when menu value changes."
1401
+ "text": "Emitted when state of menu changes (i.e. open or closed)."
1078
1402
  }],
1079
1403
  "text": ""
1080
1404
  },
1081
1405
  "complexType": {
1082
- "original": "IcValueEventDetail",
1083
- "resolved": "IcValueEventDetail",
1406
+ "original": "IcMenuChangeEventDetail",
1407
+ "resolved": "IcMenuChangeEventDetail",
1084
1408
  "references": {
1085
- "IcValueEventDetail": {
1409
+ "IcMenuChangeEventDetail": {
1086
1410
  "location": "import",
1087
- "path": "../../utils/types",
1088
- "id": "src/utils/types.ts::IcValueEventDetail"
1411
+ "path": "./ic-menu.types",
1412
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail"
1089
1413
  }
1090
1414
  }
1091
1415
  }
@@ -1098,7 +1422,7 @@ export class Menu {
1098
1422
  "docs": {
1099
1423
  "tags": [{
1100
1424
  "name": "internal",
1101
- "text": "Emitted when the retry button is clicked"
1425
+ "text": "Emitted when the retry button is clicked."
1102
1426
  }],
1103
1427
  "text": ""
1104
1428
  },
@@ -1122,7 +1446,7 @@ export class Menu {
1122
1446
  "docs": {
1123
1447
  "tags": [{
1124
1448
  "name": "internal",
1125
- "text": "Emitted when the timeout menu loses focus"
1449
+ "text": "Emitted when the timeout menu loses focus."
1126
1450
  }],
1127
1451
  "text": ""
1128
1452
  },
@@ -1270,9 +1594,6 @@ export class Menu {
1270
1594
  }, {
1271
1595
  "propName": "options",
1272
1596
  "methodName": "watchOptionsHandler"
1273
- }, {
1274
- "propName": "value",
1275
- "methodName": "watchValueHandler"
1276
1597
  }];
1277
1598
  }
1278
1599
  }