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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/README.md +0 -4
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-6f6991cb.js → helpers-eca4c27e.js} +70 -26
  4. package/dist/cjs/helpers-eca4c27e.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +14 -15
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +8 -9
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +15 -16
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +22 -51
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +26 -14
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +53 -8
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +59 -53
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +150 -0
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +21 -10
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +8 -16
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +22 -23
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  32. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +14 -105
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +73 -10
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +9 -8
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -14
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +11 -12
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +11 -13
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +12 -15
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +15 -9
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +478 -201
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +26 -31
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +22 -15
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  58. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js +12 -13
  60. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js +12 -10
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +14 -14
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +11 -10
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  68. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-page-header.cjs.entry.js +10 -10
  70. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js +8 -12
  72. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination.cjs.entry.js +51 -46
  74. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +23 -4
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +32 -18
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +34 -40
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +56 -57
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-select.cjs.entry.js +194 -81
  84. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-side-navigation.cjs.entry.js +19 -22
  86. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-skeleton.cjs.entry.js +5 -6
  88. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-status-tag.cjs.entry.js +8 -16
  90. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-step.cjs.entry.js +41 -46
  92. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-stepper.cjs.entry.js +27 -18
  94. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-switch.cjs.entry.js +17 -18
  96. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-context.cjs.entry.js +34 -28
  98. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-group.cjs.entry.js +9 -11
  100. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -11
  102. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  104. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-text-field.cjs.entry.js +86 -77
  106. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-theme.cjs.entry.js +45 -22
  108. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
  110. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast.cjs.entry.js +83 -36
  112. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +63 -30
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toggle-button.cjs.entry.js +64 -33
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-top-navigation.cjs.entry.js +17 -12
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-typography.cjs.entry.js +9 -8
  120. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  121. package/dist/cjs/index-f982899d.js +16 -16
  122. package/dist/cjs/loader.cjs.js +1 -1
  123. package/dist/collection/ag-theme-icds.css +32 -31
  124. package/dist/collection/collection-manifest.json +4 -4
  125. package/dist/collection/components/ic-accordion/ic-accordion.css +23 -19
  126. package/dist/collection/components/ic-accordion/ic-accordion.js +31 -34
  127. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  128. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +52 -76
  129. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -3
  130. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  131. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +5 -11
  132. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +27 -27
  133. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  134. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +9 -9
  135. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  136. package/dist/collection/components/ic-alert/ic-alert.css +34 -18
  137. package/dist/collection/components/ic-alert/ic-alert.js +49 -42
  138. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.stories.js +30 -16
  140. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
  141. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +22 -59
  143. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +38 -14
  144. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  145. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +23 -10
  146. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  147. package/dist/collection/components/ic-badge/ic-badge.css +65 -41
  148. package/dist/collection/components/ic-badge/ic-badge.js +51 -99
  149. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.stories.js +50 -40
  151. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +40 -50
  152. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  153. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +20 -10
  154. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +104 -34
  155. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +48 -4
  157. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  158. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +7 -5
  159. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +66 -33
  160. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  161. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +60 -200
  162. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +3 -3
  163. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  164. package/dist/collection/components/ic-button/ic-button.css +730 -432
  165. package/dist/collection/components/ic-button/ic-button.js +72 -59
  166. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  167. package/dist/collection/components/ic-button/ic-button.stories.js +1246 -1256
  168. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
  169. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  170. package/dist/collection/components/{ic-card/ic-card.css → ic-card-vertical/ic-card-vertical.css} +99 -109
  171. package/dist/collection/components/{ic-card/ic-card.js → ic-card-vertical/ic-card-vertical.js} +65 -39
  172. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -0
  173. package/dist/collection/components/{ic-card/ic-card.stories.js → ic-card-vertical/ic-card-vertical.stories.js} +61 -45
  174. package/dist/collection/components/{ic-card/test/basic/ic-card.spec.js → ic-card-vertical/test/basic/ic-card-vertical.spec.js} +43 -43
  175. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -0
  176. package/dist/collection/components/ic-checkbox/ic-checkbox.css +54 -45
  177. package/dist/collection/components/ic-checkbox/ic-checkbox.js +22 -128
  178. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  179. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +19 -4
  180. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +38 -21
  181. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  182. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +18 -6
  183. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +2 -2
  184. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  185. package/dist/collection/components/ic-chip/ic-chip.css +66 -53
  186. package/dist/collection/components/ic-chip/ic-chip.js +44 -68
  187. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  188. package/dist/collection/components/ic-chip/ic-chip.stories.js +713 -403
  189. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +16 -0
  190. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  191. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +17 -11
  192. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
  193. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  194. package/dist/collection/components/{ic-data-entity/ic-data-entity.css → ic-data-list/ic-data-list.css} +7 -3
  195. package/dist/collection/components/{ic-data-entity/ic-data-entity.js → ic-data-list/ic-data-list.js} +33 -27
  196. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -0
  197. package/dist/collection/components/{ic-data-entity/ic-data-entity.stories.js → ic-data-list/ic-data-list.stories.js} +59 -53
  198. package/dist/collection/components/{ic-data-entity/test/basic/ic-data-entity.spec.js → ic-data-list/test/basic/ic-data-list.spec.js} +32 -32
  199. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +1 -0
  200. package/dist/collection/components/ic-data-row/ic-data-row.css +6 -3
  201. package/dist/collection/components/ic-data-row/ic-data-row.js +28 -24
  202. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  203. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +4 -4
  204. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  205. package/dist/collection/components/ic-dialog/ic-dialog.css +19 -15
  206. package/dist/collection/components/ic-dialog/ic-dialog.js +28 -212
  207. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  208. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +19 -225
  209. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +5 -228
  210. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  211. package/dist/collection/components/ic-divider/ic-divider.css +295 -4
  212. package/dist/collection/components/ic-divider/ic-divider.js +239 -12
  213. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  214. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  215. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  216. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  217. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +90 -5
  218. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  219. package/dist/collection/components/ic-empty-state/ic-empty-state.css +21 -6
  220. package/dist/collection/components/ic-empty-state/ic-empty-state.js +35 -9
  221. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  222. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +13 -6
  223. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +101 -0
  224. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  225. package/dist/collection/components/ic-footer/ic-footer.css +30 -22
  226. package/dist/collection/components/ic-footer/ic-footer.js +13 -14
  227. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  228. package/dist/collection/components/ic-footer/ic-footer.stories.js +23 -22
  229. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +3 -3
  230. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  231. package/dist/collection/components/ic-footer-link/ic-footer-link.css +49 -100
  232. package/dist/collection/components/ic-footer-link/ic-footer-link.js +12 -12
  233. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  234. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  235. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  236. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +19 -27
  237. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +15 -16
  238. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  239. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +8 -8
  240. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  241. package/dist/collection/components/ic-hero/ic-hero.css +38 -23
  242. package/dist/collection/components/ic-hero/ic-hero.js +18 -41
  243. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  244. package/dist/collection/components/ic-hero/ic-hero.stories.js +65 -106
  245. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +8 -8
  246. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  247. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +7 -11
  248. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +65 -10
  249. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  250. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  251. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  252. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +70 -42
  253. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +12 -87
  254. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  255. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +10 -10
  256. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  257. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -21
  258. package/dist/collection/components/ic-input-label/ic-input-label.js +52 -74
  259. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  260. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +14 -58
  261. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  262. package/dist/collection/components/ic-input-validation/ic-input-validation.css +13 -4
  263. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  264. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  265. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +4 -4
  266. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  267. package/dist/collection/components/ic-link/ic-link.css +77 -45
  268. package/dist/collection/components/ic-link/ic-link.js +64 -58
  269. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  270. package/dist/collection/components/ic-link/ic-link.stories.js +16 -45
  271. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +19 -114
  272. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  273. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +24 -16
  274. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +73 -50
  275. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  276. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +84 -36
  277. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  278. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +3 -2
  279. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  280. package/dist/collection/components/ic-menu/ic-menu.css +119 -30
  281. package/dist/collection/components/ic-menu/ic-menu.js +525 -228
  282. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  283. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +382 -34
  284. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  285. package/dist/collection/components/ic-menu-group/ic-menu-group.css +3 -2
  286. package/dist/collection/components/ic-menu-item/ic-menu-item.css +63 -44
  287. package/dist/collection/components/ic-menu-item/ic-menu-item.js +30 -30
  288. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  289. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +2 -2
  290. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  291. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +14 -0
  292. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -11
  293. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  294. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
  295. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  296. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +28 -21
  297. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +39 -14
  298. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  299. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  300. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  301. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +33 -29
  302. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +36 -10
  303. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  304. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
  305. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  306. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +13 -5
  307. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  308. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  309. package/dist/collection/components/ic-page-header/ic-page-header.css +4 -3
  310. package/dist/collection/components/ic-page-header/ic-page-header.js +34 -30
  311. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  312. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +306 -40
  313. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +15 -15
  314. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  315. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  316. package/dist/collection/components/ic-pagination/ic-pagination.js +97 -73
  317. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  318. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +69 -30
  319. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +27 -27
  320. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  321. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +36 -13
  322. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -33
  323. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  324. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +10 -6
  325. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +45 -1
  326. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  327. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +34 -16
  328. package/dist/collection/components/ic-radio-group/ic-radio-group.css +21 -5
  329. package/dist/collection/components/ic-radio-group/ic-radio-group.js +58 -38
  330. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  331. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +21 -28
  332. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +3 -3
  333. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  334. package/dist/collection/components/ic-radio-option/ic-radio-option.css +40 -30
  335. package/dist/collection/components/ic-radio-option/ic-radio-option.js +58 -148
  336. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  337. package/dist/collection/components/ic-search-bar/ic-search-bar.css +115 -16
  338. package/dist/collection/components/ic-search-bar/ic-search-bar.js +112 -129
  339. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  340. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +21 -19
  341. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +78 -112
  342. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  343. package/dist/collection/components/ic-select/ic-select.css +103 -63
  344. package/dist/collection/components/ic-select/ic-select.js +269 -220
  345. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  346. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  347. package/dist/collection/components/ic-select/{ic-select-searchable.stories.js → ic-select_(searchable).stories.js} +21 -9
  348. package/dist/collection/components/ic-select/{ic-select-single.stories.js → ic-select_(single).stories.js} +14 -4
  349. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +230 -7
  350. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  351. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +60 -43
  352. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +22 -24
  353. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  354. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +11 -11
  355. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  356. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +3 -110
  357. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  358. package/dist/collection/components/ic-skeleton/ic-skeleton.css +5 -28
  359. package/dist/collection/components/ic-skeleton/ic-skeleton.js +17 -33
  360. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  361. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +11 -9
  362. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +1 -1
  363. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  364. package/dist/collection/components/ic-status-tag/ic-status-tag.css +20 -17
  365. package/dist/collection/components/ic-status-tag/ic-status-tag.js +44 -62
  366. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  367. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +41 -6
  368. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  369. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  370. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  371. package/dist/collection/components/ic-step/ic-step.css +97 -128
  372. package/dist/collection/components/ic-step/ic-step.js +77 -54
  373. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  374. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +30 -30
  375. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  376. package/dist/collection/components/ic-stepper/ic-stepper.css +4 -4
  377. package/dist/collection/components/ic-stepper/ic-stepper.js +51 -33
  378. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  379. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +103 -153
  380. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js +37 -37
  381. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -1
  382. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +237 -237
  383. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  384. package/dist/collection/components/ic-switch/ic-switch.css +26 -49
  385. package/dist/collection/components/ic-switch/ic-switch.js +33 -48
  386. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  387. package/dist/collection/components/ic-switch/ic-switch.stories.js +20 -42
  388. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +1 -15
  389. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  390. package/dist/collection/components/ic-tab/ic-tab.css +47 -21
  391. package/dist/collection/components/ic-tab/ic-tab.js +56 -34
  392. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  393. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +2 -2
  394. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  395. package/dist/collection/components/ic-tab-context/ic-tab-context.js +79 -76
  396. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  397. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +11 -83
  398. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +3 -3
  399. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  400. package/dist/collection/components/ic-tab-group/ic-tab-group.css +15 -8
  401. package/dist/collection/components/ic-tab-group/ic-tab-group.js +52 -54
  402. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  403. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +2 -2
  404. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +91 -30
  405. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  406. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +50 -0
  407. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  408. package/dist/collection/components/ic-text-field/ic-text-field.css +71 -13
  409. package/dist/collection/components/ic-text-field/ic-text-field.js +122 -128
  410. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  411. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +36 -257
  412. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +59 -26
  413. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  414. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +59 -58
  415. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  416. package/dist/collection/components/ic-theme/ic-theme.js +81 -33
  417. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  418. package/dist/collection/components/ic-theme/ic-theme.stories.js +271 -8
  419. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  420. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  421. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +24 -22
  422. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  423. package/dist/collection/components/ic-toast/ic-toast.css +40 -17
  424. package/dist/collection/components/ic-toast/ic-toast.js +83 -33
  425. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  426. package/dist/collection/components/ic-toast/ic-toast.stories.js +1 -18
  427. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +55 -19
  428. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  429. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -43
  430. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  431. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -20
  432. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  433. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +217 -79
  434. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +126 -69
  435. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  436. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +16 -126
  437. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +4 -4
  438. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  439. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +29 -19
  440. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +116 -52
  441. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  442. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +140 -165
  443. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.types.js.map +1 -1
  444. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +121 -39
  445. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  446. package/dist/collection/components/ic-tooltip/ic-tooltip.css +14 -5
  447. package/dist/collection/components/ic-tooltip/ic-tooltip.js +30 -2
  448. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  449. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +10 -0
  450. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +14 -0
  451. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  452. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +46 -20
  453. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +44 -14
  454. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  455. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +28 -13
  456. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  457. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  458. package/dist/collection/components/ic-typography/ic-typography.css +16 -12
  459. package/dist/collection/components/ic-typography/ic-typography.js +31 -5
  460. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  461. package/dist/collection/components/ic-typography/ic-typography.stories.js +10 -0
  462. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +14 -0
  463. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  464. package/dist/collection/patterns/z-index.stories.js +2 -2
  465. package/dist/collection/utils/constants.js +1 -1
  466. package/dist/collection/utils/constants.js.map +1 -1
  467. package/dist/collection/utils/helpers.js +49 -19
  468. package/dist/collection/utils/helpers.js.map +1 -1
  469. package/dist/collection/utils/types.js +6 -6
  470. package/dist/collection/utils/types.js.map +1 -1
  471. package/dist/components/helpers.js +64 -21
  472. package/dist/components/helpers.js.map +1 -1
  473. package/dist/components/ic-accordion-group.js +16 -16
  474. package/dist/components/ic-accordion-group.js.map +1 -1
  475. package/dist/components/ic-accordion.js +7 -7
  476. package/dist/components/ic-accordion.js.map +1 -1
  477. package/dist/components/ic-alert.js +128 -1
  478. package/dist/components/ic-alert.js.map +1 -1
  479. package/dist/components/ic-back-to-top.js +29 -16
  480. package/dist/components/ic-back-to-top.js.map +1 -1
  481. package/dist/components/ic-badge.js +25 -54
  482. package/dist/components/ic-badge.js.map +1 -1
  483. package/dist/components/ic-breadcrumb-group.js +31 -16
  484. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  485. package/dist/components/ic-breadcrumb2.js +57 -8
  486. package/dist/components/ic-breadcrumb2.js.map +1 -1
  487. package/dist/components/ic-button2.js +29 -33
  488. package/dist/components/ic-button2.js.map +1 -1
  489. package/dist/components/{ic-data-entity.d.ts → ic-card-vertical.d.ts} +4 -4
  490. package/dist/components/ic-card-vertical.js +198 -0
  491. package/dist/components/ic-card-vertical.js.map +1 -0
  492. package/dist/components/ic-checkbox-group.js +24 -11
  493. package/dist/components/ic-checkbox-group.js.map +1 -1
  494. package/dist/components/ic-checkbox.js +9 -21
  495. package/dist/components/ic-checkbox.js.map +1 -1
  496. package/dist/components/ic-chip.js +24 -23
  497. package/dist/components/ic-chip.js.map +1 -1
  498. package/dist/components/ic-classification-banner.js +2 -2
  499. package/dist/components/ic-classification-banner.js.map +1 -1
  500. package/dist/components/{ic-card.d.ts → ic-data-list.d.ts} +4 -4
  501. package/dist/components/ic-data-list.js +56 -0
  502. package/dist/components/ic-data-list.js.map +1 -0
  503. package/dist/components/ic-data-row.js +14 -13
  504. package/dist/components/ic-data-row.js.map +1 -1
  505. package/dist/components/ic-dialog.js +17 -119
  506. package/dist/components/ic-dialog.js.map +1 -1
  507. package/dist/components/ic-divider2.js +89 -13
  508. package/dist/components/ic-divider2.js.map +1 -1
  509. package/dist/components/ic-empty-state.js +11 -8
  510. package/dist/components/ic-empty-state.js.map +1 -1
  511. package/dist/components/ic-footer-link-group.js +14 -15
  512. package/dist/components/ic-footer-link-group.js.map +1 -1
  513. package/dist/components/ic-footer-link.js +19 -13
  514. package/dist/components/ic-footer-link.js.map +1 -1
  515. package/dist/components/ic-footer.js +12 -14
  516. package/dist/components/ic-footer.js.map +1 -1
  517. package/dist/components/ic-hero.js +13 -17
  518. package/dist/components/ic-hero.js.map +1 -1
  519. package/dist/components/ic-horizontal-scroll2.js +17 -9
  520. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  521. package/dist/components/ic-input-component-container2.js +12 -31
  522. package/dist/components/ic-input-component-container2.js.map +1 -1
  523. package/dist/components/ic-input-label2.js +18 -23
  524. package/dist/components/ic-input-label2.js.map +1 -1
  525. package/dist/components/ic-input-validation2.js +9 -10
  526. package/dist/components/ic-input-validation2.js.map +1 -1
  527. package/dist/components/ic-link2.js +25 -18
  528. package/dist/components/ic-link2.js.map +1 -1
  529. package/dist/components/ic-loading-indicator2.js +29 -23
  530. package/dist/components/ic-loading-indicator2.js.map +1 -1
  531. package/dist/components/ic-menu-group.js +2 -2
  532. package/dist/components/ic-menu-group.js.map +1 -1
  533. package/dist/components/ic-menu-item2.js +14 -14
  534. package/dist/components/ic-menu-item2.js.map +1 -1
  535. package/dist/components/ic-menu2.js +473 -180
  536. package/dist/components/ic-menu2.js.map +1 -1
  537. package/dist/components/ic-navigation-button.js +14 -11
  538. package/dist/components/ic-navigation-button.js.map +1 -1
  539. package/dist/components/ic-navigation-group.js +16 -14
  540. package/dist/components/ic-navigation-group.js.map +1 -1
  541. package/dist/components/ic-navigation-item.js +13 -10
  542. package/dist/components/ic-navigation-item.js.map +1 -1
  543. package/dist/components/ic-navigation-menu2.js +6 -4
  544. package/dist/components/ic-navigation-menu2.js.map +1 -1
  545. package/dist/components/ic-page-header.js +11 -10
  546. package/dist/components/ic-page-header.js.map +1 -1
  547. package/dist/components/ic-pagination-item2.js +10 -12
  548. package/dist/components/ic-pagination-item2.js.map +1 -1
  549. package/dist/components/ic-pagination.js +56 -49
  550. package/dist/components/ic-pagination.js.map +1 -1
  551. package/dist/components/ic-popover-menu.js +24 -3
  552. package/dist/components/ic-popover-menu.js.map +1 -1
  553. package/dist/components/ic-radio-group.js +35 -19
  554. package/dist/components/ic-radio-group.js.map +1 -1
  555. package/dist/components/ic-radio-option.js +37 -47
  556. package/dist/components/ic-radio-option.js.map +1 -1
  557. package/dist/components/ic-search-bar.js +73 -85
  558. package/dist/components/ic-search-bar.js.map +1 -1
  559. package/dist/components/ic-select.js +197 -89
  560. package/dist/components/ic-select.js.map +1 -1
  561. package/dist/components/ic-side-navigation.js +20 -23
  562. package/dist/components/ic-side-navigation.js.map +1 -1
  563. package/dist/components/ic-skeleton.js +6 -8
  564. package/dist/components/ic-skeleton.js.map +1 -1
  565. package/dist/components/ic-status-tag.js +9 -16
  566. package/dist/components/ic-status-tag.js.map +1 -1
  567. package/dist/components/ic-step.js +48 -51
  568. package/dist/components/ic-step.js.map +1 -1
  569. package/dist/components/ic-stepper.js +29 -18
  570. package/dist/components/ic-stepper.js.map +1 -1
  571. package/dist/components/ic-switch.js +18 -19
  572. package/dist/components/ic-switch.js.map +1 -1
  573. package/dist/components/ic-tab-context.js +39 -31
  574. package/dist/components/ic-tab-context.js.map +1 -1
  575. package/dist/components/ic-tab-group.js +11 -13
  576. package/dist/components/ic-tab-group.js.map +1 -1
  577. package/dist/components/ic-tab-panel.js +17 -13
  578. package/dist/components/ic-tab-panel.js.map +1 -1
  579. package/dist/components/ic-tab.js +11 -9
  580. package/dist/components/ic-tab.js.map +1 -1
  581. package/dist/components/ic-text-field.js +371 -1
  582. package/dist/components/ic-text-field.js.map +1 -1
  583. package/dist/components/ic-theme.js +51 -25
  584. package/dist/components/ic-theme.js.map +1 -1
  585. package/dist/components/ic-toast-region.js +1 -9
  586. package/dist/components/ic-toast-region.js.map +1 -1
  587. package/dist/components/ic-toast.js +86 -37
  588. package/dist/components/ic-toast.js.map +1 -1
  589. package/dist/components/ic-toggle-button-group.js +71 -30
  590. package/dist/components/ic-toggle-button-group.js.map +1 -1
  591. package/dist/components/ic-toggle-button.js +73 -40
  592. package/dist/components/ic-toggle-button.js.map +1 -1
  593. package/dist/components/ic-tooltip2.js +8 -3
  594. package/dist/components/ic-tooltip2.js.map +1 -1
  595. package/dist/components/ic-top-navigation.js +19 -13
  596. package/dist/components/ic-top-navigation.js.map +1 -1
  597. package/dist/components/ic-typography2.js +9 -6
  598. package/dist/components/ic-typography2.js.map +1 -1
  599. package/dist/core/ag-theme-icds.css +32 -31
  600. package/dist/core/core.css +1606 -64
  601. package/dist/core/core.esm.js +1 -1
  602. package/dist/core/core.esm.js.map +1 -1
  603. package/dist/core/p-0cb72d37.entry.js +2 -0
  604. package/dist/core/p-0cb72d37.entry.js.map +1 -0
  605. package/dist/core/p-1223d0e9.entry.js +2 -0
  606. package/dist/core/p-1223d0e9.entry.js.map +1 -0
  607. package/dist/core/p-190c3474.entry.js +2 -0
  608. package/dist/core/p-190c3474.entry.js.map +1 -0
  609. package/dist/core/p-199b9196.entry.js +2 -0
  610. package/dist/core/p-199b9196.entry.js.map +1 -0
  611. package/dist/core/p-1bf956cb.entry.js +2 -0
  612. package/dist/core/p-1bf956cb.entry.js.map +1 -0
  613. package/dist/core/p-20ac0d2a.entry.js +2 -0
  614. package/dist/core/p-20ac0d2a.entry.js.map +1 -0
  615. package/dist/core/p-2197e83e.entry.js +2 -0
  616. package/dist/core/p-2197e83e.entry.js.map +1 -0
  617. package/dist/core/p-243ad74c.entry.js +2 -0
  618. package/dist/core/p-243ad74c.entry.js.map +1 -0
  619. package/dist/core/p-24a34d72.entry.js +2 -0
  620. package/dist/core/p-24a34d72.entry.js.map +1 -0
  621. package/dist/core/{p-7438ab1f.entry.js → p-26bc7c62.entry.js} +2 -2
  622. package/dist/core/p-26bc7c62.entry.js.map +1 -0
  623. package/dist/core/{p-3eda4e14.entry.js → p-27274ca8.entry.js} +2 -2
  624. package/dist/core/p-27274ca8.entry.js.map +1 -0
  625. package/dist/core/p-29afeb33.entry.js +2 -0
  626. package/dist/core/p-29afeb33.entry.js.map +1 -0
  627. package/dist/core/p-2cc0d6b9.entry.js +2 -0
  628. package/dist/core/p-2cc0d6b9.entry.js.map +1 -0
  629. package/dist/core/p-31c84a47.entry.js +2 -0
  630. package/dist/core/p-31c84a47.entry.js.map +1 -0
  631. package/dist/core/p-33b44dc1.entry.js +2 -0
  632. package/dist/core/p-33b44dc1.entry.js.map +1 -0
  633. package/dist/core/p-36ac5305.entry.js +2 -0
  634. package/dist/core/p-36ac5305.entry.js.map +1 -0
  635. package/dist/core/{p-3969d3c0.entry.js → p-3ea4a005.entry.js} +2 -2
  636. package/dist/core/p-3ea4a005.entry.js.map +1 -0
  637. package/dist/core/p-404b482e.entry.js +2 -0
  638. package/dist/core/p-404b482e.entry.js.map +1 -0
  639. package/dist/core/p-419d3378.entry.js +2 -0
  640. package/dist/core/p-419d3378.entry.js.map +1 -0
  641. package/dist/core/p-47038ea3.entry.js +2 -0
  642. package/dist/core/p-47038ea3.entry.js.map +1 -0
  643. package/dist/core/p-490bf0ee.entry.js +2 -0
  644. package/dist/core/p-490bf0ee.entry.js.map +1 -0
  645. package/dist/core/p-4e6e34fe.entry.js +2 -0
  646. package/dist/core/p-4e6e34fe.entry.js.map +1 -0
  647. package/dist/core/p-4fce49bd.entry.js +2 -0
  648. package/dist/core/p-4fce49bd.entry.js.map +1 -0
  649. package/dist/core/p-50b04d0f.entry.js +2 -0
  650. package/dist/core/p-50b04d0f.entry.js.map +1 -0
  651. package/dist/core/p-5b42dbef.entry.js +2 -0
  652. package/dist/core/p-5b42dbef.entry.js.map +1 -0
  653. package/dist/core/p-5be2c26a.entry.js +2 -0
  654. package/dist/core/p-5be2c26a.entry.js.map +1 -0
  655. package/dist/core/p-5d5345a4.entry.js +2 -0
  656. package/dist/core/p-5d5345a4.entry.js.map +1 -0
  657. package/dist/core/p-5dcc0489.entry.js +2 -0
  658. package/dist/core/p-5dcc0489.entry.js.map +1 -0
  659. package/dist/core/p-5f6d6b3f.entry.js +2 -0
  660. package/dist/core/p-5f6d6b3f.entry.js.map +1 -0
  661. package/dist/core/p-5f74782e.entry.js +2 -0
  662. package/dist/core/p-5f74782e.entry.js.map +1 -0
  663. package/dist/core/p-641e244d.entry.js +2 -0
  664. package/dist/core/p-641e244d.entry.js.map +1 -0
  665. package/dist/core/p-6c1cf351.entry.js +2 -0
  666. package/dist/core/p-6c1cf351.entry.js.map +1 -0
  667. package/dist/core/p-6e630778.entry.js +2 -0
  668. package/dist/core/p-6e630778.entry.js.map +1 -0
  669. package/dist/core/p-7c8cd719.entry.js +2 -0
  670. package/dist/core/p-7c8cd719.entry.js.map +1 -0
  671. package/dist/core/p-7c94e055.entry.js +2 -0
  672. package/dist/core/p-7c94e055.entry.js.map +1 -0
  673. package/dist/core/p-7fa74998.entry.js +2 -0
  674. package/dist/core/p-7fa74998.entry.js.map +1 -0
  675. package/dist/core/p-7ff4632d.entry.js +2 -0
  676. package/dist/core/p-7ff4632d.entry.js.map +1 -0
  677. package/dist/core/p-84c3a870.entry.js +2 -0
  678. package/dist/core/p-84c3a870.entry.js.map +1 -0
  679. package/dist/core/p-8624bb98.entry.js +2 -0
  680. package/dist/core/p-8624bb98.entry.js.map +1 -0
  681. package/dist/core/p-87aa30b4.entry.js +2 -0
  682. package/dist/core/p-87aa30b4.entry.js.map +1 -0
  683. package/dist/core/p-932f3e3c.js +2 -0
  684. package/dist/core/p-932f3e3c.js.map +1 -0
  685. package/dist/core/{p-6fae7e1f.entry.js → p-96b4ca6e.entry.js} +2 -2
  686. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  687. package/dist/core/p-9ad4bbf4.entry.js +2 -0
  688. package/dist/core/p-9ad4bbf4.entry.js.map +1 -0
  689. package/dist/core/p-9cfd6855.entry.js +2 -0
  690. package/dist/core/p-9cfd6855.entry.js.map +1 -0
  691. package/dist/core/p-a38f5453.entry.js +2 -0
  692. package/dist/core/p-a38f5453.entry.js.map +1 -0
  693. package/dist/core/p-af934e73.entry.js +2 -0
  694. package/dist/core/p-af934e73.entry.js.map +1 -0
  695. package/dist/core/p-b9941d97.entry.js +2 -0
  696. package/dist/core/p-b9941d97.entry.js.map +1 -0
  697. package/dist/core/p-cf0176be.entry.js +2 -0
  698. package/dist/core/p-cf0176be.entry.js.map +1 -0
  699. package/dist/core/p-cf5d88a9.entry.js +2 -0
  700. package/dist/core/p-cf5d88a9.entry.js.map +1 -0
  701. package/dist/core/p-d21d8014.entry.js +2 -0
  702. package/dist/core/p-d21d8014.entry.js.map +1 -0
  703. package/dist/core/p-df957570.entry.js +2 -0
  704. package/dist/core/p-df957570.entry.js.map +1 -0
  705. package/dist/core/p-e0730a5d.entry.js +2 -0
  706. package/dist/core/p-e0730a5d.entry.js.map +1 -0
  707. package/dist/core/p-e1f8d915.entry.js +2 -0
  708. package/dist/core/p-e1f8d915.entry.js.map +1 -0
  709. package/dist/core/p-e4cb5585.entry.js +2 -0
  710. package/dist/core/p-e4cb5585.entry.js.map +1 -0
  711. package/dist/core/p-f073fc69.entry.js +2 -0
  712. package/dist/core/p-f073fc69.entry.js.map +1 -0
  713. package/dist/core/p-f2d9eefe.entry.js +2 -0
  714. package/dist/core/p-f2d9eefe.entry.js.map +1 -0
  715. package/dist/core/p-f7872eef.entry.js +2 -0
  716. package/dist/core/p-f7872eef.entry.js.map +1 -0
  717. package/dist/core/{p-9df32798.entry.js → p-f9dceda0.entry.js} +2 -2
  718. package/dist/core/p-f9dceda0.entry.js.map +1 -0
  719. package/dist/core/p-fac53f92.entry.js +2 -0
  720. package/dist/core/p-fac53f92.entry.js.map +1 -0
  721. package/dist/esm/core.js +1 -1
  722. package/dist/esm/{helpers-003f27c9.js → helpers-2624c32c.js} +65 -22
  723. package/dist/esm/helpers-2624c32c.js.map +1 -0
  724. package/dist/esm/ic-accordion-group.entry.js +14 -15
  725. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  726. package/dist/esm/ic-accordion.entry.js +7 -8
  727. package/dist/esm/ic-accordion.entry.js.map +1 -1
  728. package/dist/esm/ic-alert.entry.js +8 -9
  729. package/dist/esm/ic-alert.entry.js.map +1 -1
  730. package/dist/esm/ic-back-to-top.entry.js +16 -17
  731. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  732. package/dist/esm/ic-badge.entry.js +22 -51
  733. package/dist/esm/ic-badge.entry.js.map +1 -1
  734. package/dist/esm/ic-breadcrumb-group.entry.js +26 -14
  735. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  736. package/dist/esm/ic-breadcrumb.entry.js +53 -8
  737. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  738. package/dist/esm/ic-button_3.entry.js +59 -53
  739. package/dist/esm/ic-button_3.entry.js.map +1 -1
  740. package/dist/esm/ic-card-vertical.entry.js +146 -0
  741. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  742. package/dist/esm/ic-checkbox-group.entry.js +21 -10
  743. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  744. package/dist/esm/ic-checkbox.entry.js +8 -16
  745. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  746. package/dist/esm/ic-chip.entry.js +23 -24
  747. package/dist/esm/ic-chip.entry.js.map +1 -1
  748. package/dist/esm/ic-classification-banner.entry.js +2 -2
  749. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  750. package/dist/esm/ic-data-list.entry.js +28 -0
  751. package/dist/esm/ic-data-list.entry.js.map +1 -0
  752. package/dist/esm/ic-data-row.entry.js +12 -12
  753. package/dist/esm/ic-data-row.entry.js.map +1 -1
  754. package/dist/esm/ic-dialog.entry.js +14 -105
  755. package/dist/esm/ic-dialog.entry.js.map +1 -1
  756. package/dist/esm/ic-divider.entry.js +74 -11
  757. package/dist/esm/ic-divider.entry.js.map +1 -1
  758. package/dist/esm/ic-empty-state.entry.js +9 -8
  759. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  760. package/dist/esm/ic-footer-link-group.entry.js +12 -14
  761. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  762. package/dist/esm/ic-footer-link.entry.js +11 -12
  763. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  764. package/dist/esm/ic-footer.entry.js +11 -13
  765. package/dist/esm/ic-footer.entry.js.map +1 -1
  766. package/dist/esm/ic-hero.entry.js +12 -15
  767. package/dist/esm/ic-hero.entry.js.map +1 -1
  768. package/dist/esm/ic-horizontal-scroll.entry.js +15 -9
  769. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  770. package/dist/esm/ic-input-component-container_3.entry.js +478 -201
  771. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  772. package/dist/esm/ic-input-label_2.entry.js +23 -28
  773. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  774. package/dist/esm/ic-link.entry.js +22 -15
  775. package/dist/esm/ic-link.entry.js.map +1 -1
  776. package/dist/esm/ic-menu-group.entry.js +2 -3
  777. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  778. package/dist/esm/ic-menu-item.entry.js +12 -13
  779. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  780. package/dist/esm/ic-navigation-button.entry.js +12 -10
  781. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  782. package/dist/esm/ic-navigation-group.entry.js +14 -14
  783. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  784. package/dist/esm/ic-navigation-item.entry.js +11 -10
  785. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  786. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  787. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  788. package/dist/esm/ic-page-header.entry.js +10 -10
  789. package/dist/esm/ic-page-header.entry.js.map +1 -1
  790. package/dist/esm/ic-pagination-item.entry.js +8 -12
  791. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  792. package/dist/esm/ic-pagination.entry.js +51 -46
  793. package/dist/esm/ic-pagination.entry.js.map +1 -1
  794. package/dist/esm/ic-popover-menu.entry.js +23 -4
  795. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  796. package/dist/esm/ic-radio-group.entry.js +32 -18
  797. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  798. package/dist/esm/ic-radio-option.entry.js +34 -40
  799. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  800. package/dist/esm/ic-search-bar.entry.js +56 -57
  801. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  802. package/dist/esm/ic-select.entry.js +193 -80
  803. package/dist/esm/ic-select.entry.js.map +1 -1
  804. package/dist/esm/ic-side-navigation.entry.js +19 -22
  805. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  806. package/dist/esm/ic-skeleton.entry.js +5 -6
  807. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  808. package/dist/esm/ic-status-tag.entry.js +8 -16
  809. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  810. package/dist/esm/ic-step.entry.js +41 -46
  811. package/dist/esm/ic-step.entry.js.map +1 -1
  812. package/dist/esm/ic-stepper.entry.js +27 -18
  813. package/dist/esm/ic-stepper.entry.js.map +1 -1
  814. package/dist/esm/ic-switch.entry.js +17 -18
  815. package/dist/esm/ic-switch.entry.js.map +1 -1
  816. package/dist/esm/ic-tab-context.entry.js +34 -28
  817. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  818. package/dist/esm/ic-tab-group.entry.js +9 -11
  819. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  820. package/dist/esm/ic-tab-panel.entry.js +12 -11
  821. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  822. package/dist/esm/ic-tab.entry.js +10 -9
  823. package/dist/esm/ic-tab.entry.js.map +1 -1
  824. package/dist/esm/ic-text-field.entry.js +81 -72
  825. package/dist/esm/ic-text-field.entry.js.map +1 -1
  826. package/dist/esm/ic-theme.entry.js +45 -22
  827. package/dist/esm/ic-theme.entry.js.map +1 -1
  828. package/dist/esm/ic-toast-region.entry.js +0 -7
  829. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  830. package/dist/esm/ic-toast.entry.js +83 -36
  831. package/dist/esm/ic-toast.entry.js.map +1 -1
  832. package/dist/esm/ic-toggle-button-group.entry.js +63 -30
  833. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  834. package/dist/esm/ic-toggle-button.entry.js +65 -34
  835. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  836. package/dist/esm/ic-top-navigation.entry.js +17 -12
  837. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  838. package/dist/esm/ic-typography.entry.js +9 -8
  839. package/dist/esm/ic-typography.entry.js.map +1 -1
  840. package/dist/esm/index-d1d2c456.js +16 -16
  841. package/dist/esm/loader.js +1 -1
  842. package/dist/types/components/ic-accordion/ic-accordion.d.ts +5 -5
  843. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +6 -6
  844. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -9
  845. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -1
  846. package/dist/types/components/ic-badge/ic-badge.d.ts +8 -15
  847. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +17 -5
  848. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +13 -7
  849. package/dist/types/components/ic-button/ic-button.d.ts +10 -7
  850. package/dist/types/components/{ic-card/ic-card.d.ts → ic-card-vertical/ic-card-vertical.d.ts} +10 -6
  851. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +3 -27
  852. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +5 -3
  853. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -11
  854. package/dist/types/components/ic-data-list/ic-data-list.d.ts +20 -0
  855. package/dist/types/components/ic-data-row/ic-data-row.d.ts +4 -4
  856. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -37
  857. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  858. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  859. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +6 -2
  860. package/dist/types/components/ic-footer/ic-footer.d.ts +3 -3
  861. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  862. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +4 -3
  863. package/dist/types/components/ic-hero/ic-hero.d.ts +5 -9
  864. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  865. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -12
  866. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -12
  867. package/dist/types/components/ic-link/ic-link.d.ts +10 -10
  868. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +12 -8
  869. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
  870. package/dist/types/components/ic-menu/ic-menu.d.ts +49 -20
  871. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +5 -5
  872. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
  873. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
  874. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +7 -3
  875. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  876. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -5
  877. package/dist/types/components/ic-pagination/ic-pagination.d.ts +13 -9
  878. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +9 -5
  879. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +5 -0
  880. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +7 -6
  881. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +8 -27
  882. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +17 -18
  883. package/dist/types/components/ic-select/ic-select.d.ts +36 -47
  884. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +4 -4
  885. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  886. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -6
  887. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +9 -10
  888. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +0 -1
  889. package/dist/types/components/ic-step/ic-step.d.ts +11 -6
  890. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  891. package/dist/types/components/ic-stepper/test/basic/ic-stepper-test-examples.d.ts +4 -4
  892. package/dist/types/components/ic-switch/ic-switch.d.ts +4 -8
  893. package/dist/types/components/ic-tab/ic-tab.d.ts +5 -3
  894. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +11 -11
  895. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -10
  896. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +13 -7
  897. package/dist/types/components/ic-text-field/ic-text-field.d.ts +15 -19
  898. package/dist/types/components/ic-theme/ic-theme.d.ts +15 -8
  899. package/dist/types/components/ic-toast/ic-toast.d.ts +8 -1
  900. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +0 -5
  901. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +11 -10
  902. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +15 -5
  903. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +1 -1
  904. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
  905. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +8 -4
  906. package/dist/types/components/ic-typography/ic-typography.d.ts +5 -1
  907. package/dist/types/components.d.ts +647 -662
  908. package/dist/types/utils/helpers.d.ts +16 -8
  909. package/dist/types/utils/types.d.ts +11 -9
  910. package/hydrate/index.js +2155 -1491
  911. package/package.json +13 -12
  912. package/vscode-data.json +827 -467
  913. package/dist/cjs/helpers-6f6991cb.js.map +0 -1
  914. package/dist/cjs/ic-card.cjs.entry.js +0 -149
  915. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  916. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  917. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  918. package/dist/cjs/types-dc22e301.js +0 -16
  919. package/dist/cjs/types-dc22e301.js.map +0 -1
  920. package/dist/collection/components/ic-card/ic-card.js.map +0 -1
  921. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +0 -1
  922. package/dist/collection/components/ic-chip/ic-chip.types.js +0 -2
  923. package/dist/collection/components/ic-chip/ic-chip.types.js.map +0 -1
  924. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +0 -1
  925. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +0 -1
  926. package/dist/components/ic-alert2.js +0 -132
  927. package/dist/components/ic-alert2.js.map +0 -1
  928. package/dist/components/ic-card.js +0 -196
  929. package/dist/components/ic-card.js.map +0 -1
  930. package/dist/components/ic-data-entity.js +0 -53
  931. package/dist/components/ic-data-entity.js.map +0 -1
  932. package/dist/components/ic-text-field2.js +0 -368
  933. package/dist/components/ic-text-field2.js.map +0 -1
  934. package/dist/components/types.js +0 -16
  935. package/dist/components/types.js.map +0 -1
  936. package/dist/core/p-08478a4c.entry.js +0 -2
  937. package/dist/core/p-08478a4c.entry.js.map +0 -1
  938. package/dist/core/p-12bac804.entry.js +0 -2
  939. package/dist/core/p-12bac804.entry.js.map +0 -1
  940. package/dist/core/p-13b2c3a2.entry.js +0 -2
  941. package/dist/core/p-13b2c3a2.entry.js.map +0 -1
  942. package/dist/core/p-168a7440.entry.js +0 -2
  943. package/dist/core/p-168a7440.entry.js.map +0 -1
  944. package/dist/core/p-193fc7d0.entry.js +0 -2
  945. package/dist/core/p-193fc7d0.entry.js.map +0 -1
  946. package/dist/core/p-1e4690f8.entry.js +0 -2
  947. package/dist/core/p-1e4690f8.entry.js.map +0 -1
  948. package/dist/core/p-1f6d36d5.entry.js +0 -2
  949. package/dist/core/p-1f6d36d5.entry.js.map +0 -1
  950. package/dist/core/p-26b7b18f.js +0 -2
  951. package/dist/core/p-26b7b18f.js.map +0 -1
  952. package/dist/core/p-2a11be1e.entry.js +0 -2
  953. package/dist/core/p-2a11be1e.entry.js.map +0 -1
  954. package/dist/core/p-3969d3c0.entry.js.map +0 -1
  955. package/dist/core/p-3ba915a5.entry.js +0 -2
  956. package/dist/core/p-3ba915a5.entry.js.map +0 -1
  957. package/dist/core/p-3e8023ff.entry.js +0 -2
  958. package/dist/core/p-3e8023ff.entry.js.map +0 -1
  959. package/dist/core/p-3eda4e14.entry.js.map +0 -1
  960. package/dist/core/p-4c6dc1b2.entry.js +0 -2
  961. package/dist/core/p-4c6dc1b2.entry.js.map +0 -1
  962. package/dist/core/p-51407872.entry.js +0 -2
  963. package/dist/core/p-51407872.entry.js.map +0 -1
  964. package/dist/core/p-597c221c.entry.js +0 -2
  965. package/dist/core/p-597c221c.entry.js.map +0 -1
  966. package/dist/core/p-65dc77ba.entry.js +0 -2
  967. package/dist/core/p-65dc77ba.entry.js.map +0 -1
  968. package/dist/core/p-6beed7db.entry.js +0 -2
  969. package/dist/core/p-6beed7db.entry.js.map +0 -1
  970. package/dist/core/p-6d8dc552.entry.js +0 -2
  971. package/dist/core/p-6d8dc552.entry.js.map +0 -1
  972. package/dist/core/p-6fae7e1f.entry.js.map +0 -1
  973. package/dist/core/p-72f292f2.entry.js +0 -2
  974. package/dist/core/p-72f292f2.entry.js.map +0 -1
  975. package/dist/core/p-7438ab1f.entry.js.map +0 -1
  976. package/dist/core/p-78f16b1a.entry.js +0 -2
  977. package/dist/core/p-78f16b1a.entry.js.map +0 -1
  978. package/dist/core/p-7b3a4b3f.entry.js +0 -2
  979. package/dist/core/p-7b3a4b3f.entry.js.map +0 -1
  980. package/dist/core/p-7f1594d9.entry.js +0 -2
  981. package/dist/core/p-7f1594d9.entry.js.map +0 -1
  982. package/dist/core/p-8dd2d3df.entry.js +0 -2
  983. package/dist/core/p-8dd2d3df.entry.js.map +0 -1
  984. package/dist/core/p-90433147.entry.js +0 -2
  985. package/dist/core/p-90433147.entry.js.map +0 -1
  986. package/dist/core/p-915e5888.entry.js +0 -2
  987. package/dist/core/p-915e5888.entry.js.map +0 -1
  988. package/dist/core/p-91fab13d.entry.js +0 -2
  989. package/dist/core/p-91fab13d.entry.js.map +0 -1
  990. package/dist/core/p-96e79d69.entry.js +0 -2
  991. package/dist/core/p-96e79d69.entry.js.map +0 -1
  992. package/dist/core/p-9a6790d8.entry.js +0 -2
  993. package/dist/core/p-9a6790d8.entry.js.map +0 -1
  994. package/dist/core/p-9df32798.entry.js.map +0 -1
  995. package/dist/core/p-9ef08234.entry.js +0 -2
  996. package/dist/core/p-9ef08234.entry.js.map +0 -1
  997. package/dist/core/p-a020afbd.entry.js +0 -2
  998. package/dist/core/p-a020afbd.entry.js.map +0 -1
  999. package/dist/core/p-a141ea39.entry.js +0 -2
  1000. package/dist/core/p-a141ea39.entry.js.map +0 -1
  1001. package/dist/core/p-a32016ff.entry.js +0 -2
  1002. package/dist/core/p-a32016ff.entry.js.map +0 -1
  1003. package/dist/core/p-a438656d.entry.js +0 -2
  1004. package/dist/core/p-a438656d.entry.js.map +0 -1
  1005. package/dist/core/p-a9cea205.entry.js +0 -2
  1006. package/dist/core/p-a9cea205.entry.js.map +0 -1
  1007. package/dist/core/p-b21d5f94.entry.js +0 -2
  1008. package/dist/core/p-b21d5f94.entry.js.map +0 -1
  1009. package/dist/core/p-b262eaff.entry.js +0 -2
  1010. package/dist/core/p-b262eaff.entry.js.map +0 -1
  1011. package/dist/core/p-b60912a7.entry.js +0 -2
  1012. package/dist/core/p-b60912a7.entry.js.map +0 -1
  1013. package/dist/core/p-b62735aa.entry.js +0 -2
  1014. package/dist/core/p-b62735aa.entry.js.map +0 -1
  1015. package/dist/core/p-ba06cc95.entry.js +0 -2
  1016. package/dist/core/p-ba06cc95.entry.js.map +0 -1
  1017. package/dist/core/p-ba884064.entry.js +0 -2
  1018. package/dist/core/p-ba884064.entry.js.map +0 -1
  1019. package/dist/core/p-bdaff5c9.entry.js +0 -2
  1020. package/dist/core/p-bdaff5c9.entry.js.map +0 -1
  1021. package/dist/core/p-bfaa257c.entry.js +0 -2
  1022. package/dist/core/p-bfaa257c.entry.js.map +0 -1
  1023. package/dist/core/p-c05474f3.entry.js +0 -2
  1024. package/dist/core/p-c05474f3.entry.js.map +0 -1
  1025. package/dist/core/p-c939d07d.entry.js +0 -2
  1026. package/dist/core/p-c939d07d.entry.js.map +0 -1
  1027. package/dist/core/p-d0299926.entry.js +0 -2
  1028. package/dist/core/p-d0299926.entry.js.map +0 -1
  1029. package/dist/core/p-d3344518.entry.js +0 -2
  1030. package/dist/core/p-d3344518.entry.js.map +0 -1
  1031. package/dist/core/p-d375858e.entry.js +0 -2
  1032. package/dist/core/p-d375858e.entry.js.map +0 -1
  1033. package/dist/core/p-d41c847e.js +0 -2
  1034. package/dist/core/p-d41c847e.js.map +0 -1
  1035. package/dist/core/p-e1ab5945.entry.js +0 -2
  1036. package/dist/core/p-e1ab5945.entry.js.map +0 -1
  1037. package/dist/core/p-e668390c.entry.js +0 -2
  1038. package/dist/core/p-e668390c.entry.js.map +0 -1
  1039. package/dist/core/p-eae017ce.entry.js +0 -2
  1040. package/dist/core/p-eae017ce.entry.js.map +0 -1
  1041. package/dist/core/p-ee6aa6a1.entry.js +0 -2
  1042. package/dist/core/p-ee6aa6a1.entry.js.map +0 -1
  1043. package/dist/core/p-f3599009.entry.js +0 -2
  1044. package/dist/core/p-f3599009.entry.js.map +0 -1
  1045. package/dist/core/p-f39741be.entry.js +0 -2
  1046. package/dist/core/p-f39741be.entry.js.map +0 -1
  1047. package/dist/core/p-f404b35e.entry.js +0 -2
  1048. package/dist/core/p-f404b35e.entry.js.map +0 -1
  1049. package/dist/core/p-f4382f1f.entry.js +0 -2
  1050. package/dist/core/p-f4382f1f.entry.js.map +0 -1
  1051. package/dist/esm/helpers-003f27c9.js.map +0 -1
  1052. package/dist/esm/ic-card.entry.js +0 -145
  1053. package/dist/esm/ic-card.entry.js.map +0 -1
  1054. package/dist/esm/ic-data-entity.entry.js +0 -25
  1055. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  1056. package/dist/esm/types-6f6b41a5.js +0 -16
  1057. package/dist/esm/types-6f6b41a5.js.map +0 -1
  1058. package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
  1059. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +0 -20
@@ -1,33 +1,42 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment, Host } from '@stencil/core/internal/client';
2
2
  import { c as checkIcon } from './check-icon.js';
3
- import { o as onComponentRequiredPropUndefined } from './helpers.js';
3
+ import { H as isMacDevice, o as onComponentRequiredPropUndefined, J as getOptionsWithoutGroupTitlesCount } from './helpers.js';
4
4
  import { d as defineCustomElement$4 } from './ic-button2.js';
5
5
  import { d as defineCustomElement$3 } from './ic-loading-indicator2.js';
6
6
  import { c as createPopper, d as defineCustomElement$2 } from './ic-tooltip2.js';
7
7
  import { d as defineCustomElement$1 } from './ic-typography2.js';
8
8
 
9
- const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{border-radius:var(--ic-border-radius);max-height:0;width:var(--input-width, 20rem);color:var(--ic-color-primary-text);background-color:var(--ic-architectural-white);position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay)}.sc-ic-menu-h:not(.no-focus):focus-within{box-shadow:var(--ic-border-focus)}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border:var(--ic-border-width) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);visibility:hidden;max-height:0;overflow-y:hidden}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.open.sc-ic-menu-h{max-height:none;display:block}.open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;overflow-wrap:anywhere}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 var(--ic-space-1px) var(--ic-space-1px)}.option.sc-ic-menu:first-child{border-radius:var(--ic-space-1px) var(--ic-space-1px) 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-active)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{color:var(--ic-color-secondary-text)}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-color-secondary-text)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-xs);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);color:var(--ic-color-tertiary-text)}.small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-focus-blue) !important;color:var(--ic-color-white-text) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText}}";
9
+ const icMenuCss = "html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type=\"button\"].sc-ic-menu,[type=\"reset\"].sc-ic-menu,[type=\"submit\"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type=\"button\"].sc-ic-menu::-moz-focus-inner,[type=\"reset\"].sc-ic-menu::-moz-focus-inner,[type=\"submit\"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type=\"button\"].sc-ic-menu:-moz-focusring,[type=\"reset\"].sc-ic-menu:-moz-focusring,[type=\"submit\"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type=\"checkbox\"].sc-ic-menu,[type=\"radio\"].sc-ic-menu{box-sizing:border-box;padding:0}[type=\"number\"].sc-ic-menu::-webkit-inner-spin-button,[type=\"number\"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type=\"search\"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type=\"search\"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-menu-list-option-text-color));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-menu-list-option-hover-background-color)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-menu-list-option-pressed-background-color)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n )}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{width:calc(var(--ic-space-lg) * 10 + var(--ic-space-xl))}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-menu-loading-list-option-text-color);--ic-typography-color:var(--ic-menu-loading-list-option-text-color)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-atoms-status-icon-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-xs);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-menu-option-group-label-text-color)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-menu-last-recommended-option-border)}.disabled-option.sc-ic-menu{color:var(--ic-atoms-list-option-text-disabled-light);--ic-typography-color:var(--ic-atoms-list-option-text-disabled-light);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-atoms-list-option-text-focused-light) !important;--ic-typography-color:var(\n --ic-atoms-list-option-text-focused-light\n ) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-menu-option-bar-background-color);visibility:hidden;border-bottom:var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText;--ic-typography-color:GrayText}}";
10
10
 
11
11
  const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
12
12
  constructor() {
13
13
  super();
14
14
  this.__registerHost();
15
+ this.icClear = createEvent(this, "icClear", 7);
15
16
  this.menuKeyPress = createEvent(this, "menuKeyPress", 7);
16
17
  this.menuOptionId = createEvent(this, "menuOptionId", 7);
17
18
  this.menuOptionSelect = createEvent(this, "menuOptionSelect", 7);
19
+ this.menuOptionSelectAll = createEvent(this, "menuOptionSelectAll", 7);
18
20
  this.menuStateChange = createEvent(this, "menuStateChange", 7);
19
- this.menuValueChange = createEvent(this, "menuValueChange", 7);
20
21
  this.retryButtonClicked = createEvent(this, "retryButtonClicked", 7);
21
22
  this.timeoutBlur = createEvent(this, "timeoutBlur", 7);
22
23
  this.ungroupedOptionsSet = createEvent(this, "ungroupedOptionsSet", 7);
24
+ this.ACTIVE_DESCENDANT = "aria-activedescendant";
25
+ this.CLEAR_BUTTON_ID = "clear-button";
26
+ this.SEARCH_BAR_TAG = "IC-SEARCH-BAR";
23
27
  this.disabledOptionSelected = false;
24
28
  this.hasPreviouslyBlurred = false;
25
29
  this.hasTimedOut = false;
26
30
  this.isLoading = false;
31
+ this.isMultiSelect = false;
27
32
  this.isSearchBar = false;
28
33
  this.isSearchableSelect = false;
29
- // Prevents menu re-opening immediately after it is closed on blur when clicking input.
30
- this.preventClickOpen = false;
34
+ this.lastOptionSelected = null; // Index of last option selected
35
+ this.lastOptionFocused = null; // Index of last option focused
36
+ this.multiOptionClicked = null;
37
+ this.preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.
38
+ this.preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.
39
+ this.shiftPressed = false;
31
40
  this.ungroupedOptions = [];
32
41
  this.handleClearListener = () => {
33
42
  this.optionHighlighted = "";
@@ -38,9 +47,16 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
38
47
  };
39
48
  this.handleMenuChange = (open, focusInput) => {
40
49
  this.menuStateChange.emit({ open, focusInput });
41
- if (!open && focusInput !== false) {
42
- this.inputEl.focus();
43
- this.preventClickOpen = false;
50
+ if (!open) {
51
+ if (focusInput !== false) {
52
+ this.inputEl.focus();
53
+ this.preventClickOpen = false;
54
+ }
55
+ // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed
56
+ if (this.isMultiSelect) {
57
+ this.optionHighlighted = undefined;
58
+ this.multiOptionClicked = null;
59
+ }
44
60
  }
45
61
  };
46
62
  this.setNextOptionValue = (selectedOptionIndex) => {
@@ -72,27 +88,37 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
72
88
  }
73
89
  };
74
90
  this.getParentEl = (parent) => {
75
- if (parent.tagName === "IC-SEARCH-BAR") {
91
+ if (parent.tagName === this.SEARCH_BAR_TAG) {
76
92
  this.isSearchBar = true;
77
93
  }
78
- else if (parent.tagName === "IC-SELECT" &&
79
- parent.getAttribute("searchable") !== null &&
80
- parent.getAttribute("searchable") !== undefined) {
81
- this.isSearchableSelect = true;
94
+ else if (parent.tagName === "IC-SELECT") {
95
+ if (parent.getAttribute("searchable") !== null &&
96
+ parent.getAttribute("searchable") !== undefined) {
97
+ this.isSearchableSelect = true;
98
+ }
99
+ else if (parent.getAttribute("multiple") !== null &&
100
+ parent.getAttribute("multiple") !== undefined) {
101
+ this.isMultiSelect = true;
102
+ }
82
103
  }
83
104
  };
105
+ // Open menu when up or down arrow keys are pressed
84
106
  this.arrowBehaviour = (event) => {
85
107
  event.preventDefault();
86
108
  this.handleMenuChange(true);
87
109
  };
88
- this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
110
+ this.getMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
111
+ // Set option that is focused and so should show focus state
89
112
  this.setHighlightedOption = (highlightedIndex) => {
90
- const menuOptions = this.setMenuOptions();
113
+ const menuOptions = this.getMenuOptions();
91
114
  menuOptions[highlightedIndex] &&
92
115
  !menuOptions[highlightedIndex].timedOut &&
93
116
  (this.optionHighlighted =
94
117
  menuOptions[highlightedIndex][this.valueField] || undefined);
95
118
  };
119
+ // Determines keyboard behaviour when selection is automatic
120
+ // (i.e. you don't have to press Enter select an option - just focus on it)
121
+ // and menu is closed
96
122
  this.autoSetInputValueKeyboardOpen = (event) => {
97
123
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
98
124
  this.keyboardNav = false;
@@ -109,147 +135,278 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
109
135
  break;
110
136
  case " ":
111
137
  case "Enter":
112
- if (event.target.id !== "clear-button") {
138
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
113
139
  this.handleMenuChange(true);
114
140
  }
115
141
  break;
116
142
  }
117
143
  };
118
- this.manSetInputValueKeyboardOpen = (event) => {
119
- const menuOptions = this.setMenuOptions();
120
- const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
121
- const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
144
+ this.selectHighlightedOption = (options, highlightedOptionIndex) => {
145
+ if (!this.isLoading && !this.hasTimedOut) {
146
+ this.keyboardNav = true;
147
+ }
122
148
  const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
123
- switch (event.key) {
124
- case "ArrowDown":
125
- this.keyboardNav = true;
126
- this.arrowBehaviour(event);
127
- if (highlightedOptionIndex < menuOptions.length - 1) {
128
- this.setHighlightedOption(highlightedOptionIndex + 1);
129
- this.menuOptionId.emit({
130
- optionId: getOptionId(highlightedOptionIndex + 1),
131
- });
132
- }
133
- else {
134
- this.setHighlightedOption(0);
135
- this.menuOptionId.emit({
136
- optionId: getOptionId(0),
137
- });
149
+ if (isOpen) {
150
+ if (highlightedOptionIndex >= 0) {
151
+ if (options[highlightedOptionIndex] !== undefined) {
152
+ if (this.isSearchBar &&
153
+ options[highlightedOptionIndex].disabled === true) {
154
+ this.disabledOptionSelected = true;
155
+ }
156
+ else {
157
+ this.setInputValue(highlightedOptionIndex);
158
+ }
138
159
  }
139
- this.preventIncorrectTabOrder = false;
140
- this.focusFromSearchKeypress = false;
141
- break;
142
- case "ArrowUp":
143
- this.keyboardNav = true;
144
- this.arrowBehaviour(event);
145
- if (highlightedOptionIndex <= 0 ||
146
- highlightedOptionIndex > menuOptions.length + 1) {
147
- this.setHighlightedOption(menuOptions.length - 1);
160
+ }
161
+ else {
162
+ this.setInputValue(highlightedOptionIndex);
163
+ }
164
+ }
165
+ else {
166
+ this.handleMenuChange(true);
167
+ }
168
+ };
169
+ // Check if option is selected based on the index of the option
170
+ this.isOptionSelected = (index) => {
171
+ const menuOptions = this.getMenuOptions();
172
+ return this.value
173
+ ? this.value.includes(menuOptions[index][this.valueField])
174
+ : false;
175
+ };
176
+ // Deselect currently selected options when shift pressed, but keep certain options selected
177
+ this.deselectSelectedOptions = (optionsToKeepSelected) => {
178
+ const menuOptions = this.getMenuOptions();
179
+ if (this.value) {
180
+ const selectedOptionIndexes = this.value.map((value) => {
181
+ return menuOptions.findIndex((option) => option[this.valueField] === value);
182
+ });
183
+ // Call setInputValue (which toggles the selected state) on options that need to be deselected
184
+ selectedOptionIndexes.forEach((index) => !optionsToKeepSelected.includes(index) && this.setInputValue(index));
185
+ }
186
+ };
187
+ // Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)
188
+ this.manualSetInputValueKeyboardOpen = (event) => {
189
+ const menuOptions = this.getMenuOptions();
190
+ // For preventing focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed
191
+ // (i.e. when user is likely in the middle of executing a keyboard combination to select options)
192
+ const isKeyboardCombination = event.shiftKey || event.metaKey || event.ctrlKey;
193
+ const highlightedOptionIndex = this.getOptionHighlightedIndex();
194
+ const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);
195
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
196
+ // Space press should be equivalent to Enter when multi-select
197
+ if (event.key === " " && this.isMultiSelect) {
198
+ this.handleOptionSelect(event, highlightedOptionIndex);
199
+ }
200
+ else {
201
+ switch (event.key) {
202
+ case "ArrowDown":
203
+ this.keyboardNav = true;
204
+ this.arrowBehaviour(event);
205
+ if (this.multiOptionClicked) {
206
+ // Set focus to option last clicked
207
+ // Prevents it resetting to the top of the menu when user switches to using keyboard
208
+ this.setHighlightedOption(clickedMultiOptionIndex);
209
+ this.multiOptionClicked = null;
210
+ }
211
+ else {
212
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
213
+ if (highlightedOptionIndex < menuOptions.length - 1) {
214
+ this.setHighlightedOption(highlightedOptionIndex + 1);
215
+ this.menuOptionId.emit({
216
+ optionId: getOptionId(highlightedOptionIndex + 1),
217
+ });
218
+ this.handleSingleShiftSelect(event, highlightedOptionIndex + 1, menuOptions);
219
+ }
220
+ else {
221
+ this.setHighlightedOption(0);
222
+ this.menuOptionId.emit({
223
+ optionId: getOptionId(0),
224
+ });
225
+ this.handleSingleShiftSelect(event, 0, menuOptions);
226
+ }
227
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
228
+ if (this.isMultiSelect && this.shiftPressed) {
229
+ this.deselectSelectedOptions([
230
+ highlightedOptionIndex,
231
+ this.getOptionHighlightedIndex(),
232
+ ]);
233
+ this.shiftPressed = false;
234
+ }
235
+ }
236
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
237
+ this.preventIncorrectTabOrder = false;
238
+ this.focusFromSearchKeypress = false;
239
+ break;
240
+ case "ArrowUp":
241
+ this.keyboardNav = true;
242
+ this.arrowBehaviour(event);
243
+ if (this.multiOptionClicked) {
244
+ // Set focus to option last clicked
245
+ // Prevents it resetting to the bottom of the menu when user switches to using keyboard
246
+ this.setHighlightedOption(clickedMultiOptionIndex);
247
+ this.multiOptionClicked = null;
248
+ }
249
+ else {
250
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
251
+ if (highlightedOptionIndex <= 0 ||
252
+ highlightedOptionIndex > menuOptions.length + 1) {
253
+ this.setHighlightedOption(menuOptions.length - 1);
254
+ this.menuOptionId.emit({
255
+ optionId: getOptionId(menuOptions.length - 1),
256
+ });
257
+ this.handleSingleShiftSelect(event, menuOptions.length - 1, menuOptions);
258
+ }
259
+ else {
260
+ this.setHighlightedOption(highlightedOptionIndex - 1);
261
+ this.menuOptionId.emit({
262
+ optionId: getOptionId(highlightedOptionIndex - 1),
263
+ });
264
+ this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);
265
+ }
266
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
267
+ if (this.isMultiSelect && this.shiftPressed) {
268
+ this.deselectSelectedOptions([
269
+ highlightedOptionIndex,
270
+ this.getOptionHighlightedIndex(),
271
+ ]);
272
+ this.shiftPressed = false;
273
+ }
274
+ }
275
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
276
+ this.preventIncorrectTabOrder = false;
277
+ this.focusFromSearchKeypress = false;
278
+ break;
279
+ case "Home": {
280
+ const startOptionIndex = 0;
281
+ this.keyboardNav = true;
282
+ event.preventDefault();
283
+ this.arrowBehaviour(event);
284
+ this.setHighlightedOption(startOptionIndex);
148
285
  this.menuOptionId.emit({
149
- optionId: getOptionId(menuOptions.length - 1),
286
+ optionId: getOptionId(startOptionIndex),
150
287
  });
288
+ if (event.shiftKey && event.ctrlKey) {
289
+ this.handleMultipleShiftSelect(startOptionIndex);
290
+ }
291
+ this.lastOptionFocused = startOptionIndex;
292
+ this.lastOptionSelected = startOptionIndex;
293
+ break;
151
294
  }
152
- else {
153
- this.setHighlightedOption(highlightedOptionIndex - 1);
295
+ case "End": {
296
+ const endOptionIndex = menuOptions.length - 1;
297
+ this.keyboardNav = true;
298
+ event.preventDefault();
299
+ this.arrowBehaviour(event);
300
+ this.setHighlightedOption(endOptionIndex);
154
301
  this.menuOptionId.emit({
155
- optionId: getOptionId(highlightedOptionIndex - 1),
302
+ optionId: getOptionId(endOptionIndex),
156
303
  });
157
- }
158
- this.preventIncorrectTabOrder = false;
159
- this.focusFromSearchKeypress = false;
160
- break;
161
- case "Home":
162
- this.keyboardNav = true;
163
- event.preventDefault();
164
- this.arrowBehaviour(event);
165
- this.setHighlightedOption(0);
166
- this.menuOptionId.emit({
167
- optionId: getOptionId(0),
168
- });
169
- break;
170
- case "End":
171
- this.keyboardNav = true;
172
- event.preventDefault();
173
- this.arrowBehaviour(event);
174
- this.setHighlightedOption(menuOptions.length - 1);
175
- this.menuOptionId.emit({
176
- optionId: getOptionId(menuOptions.length - 1),
177
- });
178
- break;
179
- case " ":
180
- this.keyboardNav = false;
181
- if (this.isSearchBar || this.isSearchableSelect) {
304
+ if (event.shiftKey && event.ctrlKey) {
305
+ this.handleMultipleShiftSelect(endOptionIndex);
306
+ }
307
+ this.lastOptionFocused = endOptionIndex;
308
+ this.lastOptionSelected = endOptionIndex;
182
309
  break;
183
310
  }
184
- else {
185
- if (event.target.id !== "clear-button") {
186
- this.handleMenuChange(true);
311
+ case " ":
312
+ if (!isKeyboardCombination) {
313
+ this.keyboardNav = false;
187
314
  }
188
- }
189
- break;
190
- case "Enter":
191
- event.preventDefault();
192
- this.keyboardNav = false;
193
- if (isOpen) {
194
- if (highlightedOptionIndex >= 0) {
195
- if (menuOptions[highlightedOptionIndex] !== undefined) {
196
- if (this.isSearchBar &&
197
- menuOptions[highlightedOptionIndex].disabled === true) {
198
- this.disabledOptionSelected = true;
199
- }
200
- else {
201
- this.setInputValue(highlightedOptionIndex);
202
- this.value =
203
- menuOptions[highlightedOptionIndex][this.valueField];
204
- }
315
+ if (this.isSearchBar || this.isSearchableSelect) {
316
+ break;
317
+ }
318
+ else {
319
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
320
+ this.handleMenuChange(true);
321
+ }
322
+ }
323
+ break;
324
+ case "Enter":
325
+ event.preventDefault();
326
+ if (!isKeyboardCombination) {
327
+ this.keyboardNav = false;
328
+ }
329
+ this.handleOptionSelect(event, highlightedOptionIndex);
330
+ break;
331
+ case "Escape":
332
+ if (this.open) {
333
+ event.stopImmediatePropagation();
334
+ }
335
+ this.handleMenuChange(false);
336
+ this.menuOptionId.emit({ optionId: undefined });
337
+ break;
338
+ case "a":
339
+ // Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)
340
+ // Otherwise, if a different OS, checks Ctrl key
341
+ if ((isMacDevice() && event.metaKey) ||
342
+ (!isMacDevice() && event.ctrlKey)) {
343
+ this.emitSelectAllEvents();
344
+ this.lastOptionFocused = null;
345
+ this.lastOptionSelected = null;
346
+ }
347
+ break;
348
+ case "Shift":
349
+ case "Tab":
350
+ if (event.key === "Shift") {
351
+ this.shiftPressed = true;
352
+ }
353
+ if (this.isSearchBar) {
354
+ this.keyboardNav = true;
355
+ }
356
+ if (this.isMultiSelect) {
357
+ if (this.open && !event.shiftKey && this.selectAllButton) {
358
+ event.preventDefault();
359
+ this.selectAllButton.focus(); // Move focus to select all button instead of focused option
360
+ this.preventMenuFocus = true;
361
+ this.preventClickOpen = true;
362
+ this.optionHighlighted = undefined; // Stop any option focus states showing when focus moved to select all button
205
363
  }
206
364
  }
207
365
  else {
208
- this.setInputValue(highlightedOptionIndex);
366
+ this.preventIncorrectTabOrder = true;
209
367
  }
210
- }
211
- else {
212
- this.handleMenuChange(true);
213
- }
214
- break;
215
- case "Escape":
216
- if (this.open) {
217
- event.stopImmediatePropagation();
218
- }
219
- this.handleMenuChange(false);
220
- this.menuOptionId.emit({ optionId: undefined });
221
- break;
222
- case "Shift":
223
- case "Tab":
224
- if (this.isSearchBar) {
225
- this.keyboardNav = true;
226
- }
227
- this.preventIncorrectTabOrder = true;
228
- break;
229
- default:
230
- this.keyboardNav = false;
231
- this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
232
- break;
368
+ break;
369
+ default:
370
+ if (!isKeyboardCombination) {
371
+ this.keyboardNav = false;
372
+ }
373
+ this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
374
+ }
233
375
  }
234
376
  };
235
377
  this.setInputValue = (highlightedOptionIndex) => {
236
- const menuOptions = this.setMenuOptions();
378
+ const menuOptions = this.getMenuOptions();
237
379
  if (menuOptions[highlightedOptionIndex] !== undefined) {
238
380
  this.menuOptionSelect.emit({
239
381
  value: menuOptions[highlightedOptionIndex][this.valueField],
240
382
  });
241
- this.optionHighlighted = undefined;
242
- this.menuOptionId.emit({ optionId: undefined });
383
+ if (this.closeOnSelect) {
384
+ this.optionHighlighted = undefined;
385
+ this.menuOptionId.emit({ optionId: undefined });
386
+ }
387
+ }
388
+ if (this.closeOnSelect) {
389
+ if (!this.hasTimedOut) {
390
+ this.handleMenuChange(false);
391
+ }
392
+ else {
393
+ this.parentEl.setFocus();
394
+ }
243
395
  }
244
- if (!this.hasTimedOut)
245
- this.handleMenuChange(false);
246
- else
247
- this.parentEl.setFocus();
248
396
  };
249
397
  this.handleOptionClick = (event) => {
250
398
  const { value, label } = event.target.dataset;
251
- this.menuOptionSelect.emit({ value, label });
252
- this.handleMenuChange(false);
399
+ if (this.isMultiSelect) {
400
+ const menuOptions = this.getMenuOptions();
401
+ const selectedOptionIndex = menuOptions.findIndex((option) => option.value === value);
402
+ this.handleOptionSelect(event, selectedOptionIndex, true);
403
+ this.multiOptionClicked = value;
404
+ }
405
+ else {
406
+ this.menuOptionSelect.emit({ value, label });
407
+ this.handleMenuChange(false);
408
+ }
409
+ this.optionHighlighted = undefined;
253
410
  };
254
411
  this.handleRetry = () => {
255
412
  this.retryButtonClicked.emit({ value: this.value });
@@ -262,13 +419,23 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
262
419
  };
263
420
  this.handleBlur = (event) => {
264
421
  if (event.relatedTarget !== this.inputEl) {
265
- if (!this.menu.contains(event.relatedTarget)) {
422
+ if (event.relatedTarget === this.selectAllButton) {
423
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
424
+ }
425
+ if (!(this.menu.contains(event.relatedTarget) ||
426
+ event.relatedTarget === this.selectAllButton)) {
266
427
  this.handleMenuChange(false, this.hasPreviouslyBlurred);
428
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
429
+ this.lastOptionFocused = null;
430
+ this.lastOptionSelected = null;
267
431
  }
268
432
  }
269
433
  else {
270
434
  this.handleMenuChange(false);
271
435
  this.preventClickOpen = true;
436
+ this.menu.removeAttribute(this.ACTIVE_DESCENDANT);
437
+ this.lastOptionFocused = null;
438
+ this.lastOptionSelected = null;
272
439
  }
273
440
  if (!this.isSearchBar)
274
441
  this.hasPreviouslyBlurred = !!event.relatedTarget;
@@ -281,12 +448,113 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
281
448
  this.autoSetValueOnMenuKeyDown(event);
282
449
  }
283
450
  else if (this.activationType === "manual" && !this.isSearchBar) {
284
- this.manSetInputValueKeyboardOpen(event);
451
+ this.manualSetInputValueKeyboardOpen(event);
452
+ }
453
+ };
454
+ this.handleMenuKeyUp = (event) => {
455
+ if (event.key === "Tab" && event.shiftKey) {
456
+ this.preventClickOpen = false;
457
+ }
458
+ if (event.key === "Enter" && this.disabledOptionSelected) {
459
+ this.disabledOptionSelected = false;
460
+ event.stopImmediatePropagation();
461
+ }
462
+ if (event.key === "Shift") {
463
+ this.shiftPressed = false;
464
+ }
465
+ };
466
+ this.handleSelectAllClick = () => {
467
+ this.keyboardNav = false;
468
+ this.menu.focus();
469
+ this.emitSelectAllEvents();
470
+ this.lastOptionFocused = null;
471
+ this.lastOptionSelected = null;
472
+ };
473
+ this.handleSelectAllBlur = (event) => {
474
+ this.host.classList.remove("ic-select-select-all-focused");
475
+ if (!this.menu.contains(event.relatedTarget)) {
476
+ this.handleMenuChange(false, false);
477
+ }
478
+ };
479
+ this.handleSelectAllFocus = () => {
480
+ this.host.classList.add("ic-select-select-all-focused");
481
+ this.lastOptionFocused = null;
482
+ this.lastOptionSelected = null;
483
+ };
484
+ // Fix for Safari - select all button click was causing menu to close
485
+ this.handleSelectAllMouseDown = (event) => {
486
+ event.preventDefault();
487
+ };
488
+ // When shift key is being used to select contiguous options one by one on a multi-select
489
+ // I.e. holding shift and pressing up and down arrow keys
490
+ this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {
491
+ if (this.isMultiSelect &&
492
+ event.shiftKey &&
493
+ !this.isOptionSelected(optionToSelectIndex)) {
494
+ this.selectHighlightedOption(options, optionToSelectIndex);
495
+ this.lastOptionSelected = optionToSelectIndex;
496
+ }
497
+ };
498
+ // When shift key is being used to select multiple options at once on a multi-select
499
+ // I.e. holding shift when selecting another option
500
+ this.handleMultipleShiftSelect = (lastOptionInSelection, useFocusForSelection = false, firstOptionSelected = null) => {
501
+ this.shiftPressed = false;
502
+ const firstOptionInSelection = firstOptionSelected === null
503
+ ? this.getFirstOptionInSelection(useFocusForSelection)
504
+ : firstOptionSelected;
505
+ if (firstOptionInSelection !== null) {
506
+ const optionsToSelect = [];
507
+ if (firstOptionInSelection < lastOptionInSelection) {
508
+ for (let i = firstOptionInSelection; i < lastOptionInSelection + 1; i++) {
509
+ optionsToSelect.push(i);
510
+ }
511
+ }
512
+ else {
513
+ for (let i = firstOptionInSelection; i > lastOptionInSelection - 1; i--) {
514
+ optionsToSelect.push(i);
515
+ }
516
+ }
517
+ optionsToSelect.forEach((optionIndex) => !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex));
518
+ this.deselectSelectedOptions(optionsToSelect);
519
+ }
520
+ };
521
+ this.handleOptionSelect = (event, optionIndex, useFocusForSelection = false) => {
522
+ const menuOptions = this.getMenuOptions();
523
+ const firstOptionInSelection = this.getFirstOptionInSelection(useFocusForSelection);
524
+ if (event.shiftKey && firstOptionInSelection !== null) {
525
+ this.handleMultipleShiftSelect(optionIndex, useFocusForSelection, firstOptionInSelection);
526
+ }
527
+ else {
528
+ this.selectHighlightedOption(menuOptions, optionIndex);
529
+ }
530
+ this.lastOptionFocused = optionIndex;
531
+ this.lastOptionSelected = optionIndex;
532
+ };
533
+ this.getFirstOptionInSelection = (useFocusForSelection) => {
534
+ return useFocusForSelection && this.lastOptionFocused !== null
535
+ ? this.lastOptionFocused
536
+ : this.lastOptionSelected !== null
537
+ ? this.lastOptionSelected
538
+ : null;
539
+ };
540
+ this.emitSelectAllEvents = () => {
541
+ var _a, _b;
542
+ // Select all if there is either no value or not all options are selected
543
+ // 'true' means select all, 'false' means clear all
544
+ this.menuOptionSelectAll.emit({
545
+ select: !this.value || !(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === this.ungroupedOptions.length),
546
+ });
547
+ // Emit clear event if all options are selected
548
+ if (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) === this.ungroupedOptions.length) {
549
+ this.icClear.emit();
285
550
  }
286
551
  };
287
552
  this.emitMenuKeyPress = (isNavKey, key) => {
288
553
  this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
289
554
  };
555
+ // Determines keyboard behaviour when selection is automatic
556
+ // (i.e. you don't have to press Enter select an option - just focus on it)
557
+ // and menu is focused
290
558
  this.autoSetValueOnMenuKeyDown = (event) => {
291
559
  event.cancelBubble = true;
292
560
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
@@ -346,15 +614,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
346
614
  }
347
615
  this.emitMenuKeyPress(this.keyboardNav, event.key);
348
616
  };
349
- this.handleMenuKeyUp = (event) => {
350
- if (event.key === "Tab" && event.shiftKey) {
351
- this.preventClickOpen = false;
352
- }
353
- if (event.key === "Enter" && this.disabledOptionSelected) {
354
- this.disabledOptionSelected = false;
355
- event.stopImmediatePropagation();
356
- }
357
- };
358
617
  this.getOptionId = (value) => {
359
618
  return `${this.menuId}-${value}`;
360
619
  };
@@ -380,6 +639,10 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
380
639
  }
381
640
  return sorted;
382
641
  };
642
+ this.getOptionHighlightedIndex = () => {
643
+ const menuOptions = this.getMenuOptions();
644
+ return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
645
+ };
383
646
  this.isManualMode = this.activationType === "manual";
384
647
  this.scrollToSelected = (menu) => {
385
648
  const selectedOption = this.selectOnEnter
@@ -391,9 +654,14 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
391
654
  elTop < menu.scrollTop + menu.offsetHeight) {
392
655
  menu.scrollTop = selectedOption.offsetTop;
393
656
  }
657
+ // 'aria-activedescendant' affects screen reader focus
658
+ // https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant
659
+ this.menu.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);
394
660
  selectedOption.focus();
395
661
  }
396
662
  };
663
+ // Set 'ungroupedOptions' variable and emit its value
664
+ // - this is all the options with disabled options and group titles removed
397
665
  this.loadUngroupedOptions = () => {
398
666
  if (this.options.length > 0 && this.options.map) {
399
667
  this.options.map((option) => {
@@ -420,21 +688,24 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
420
688
  this.handleTimeoutBlur = (ev) => {
421
689
  this.timeoutBlur.emit({ ev });
422
690
  };
423
- this.optionContent = (option) => {
424
- var _a;
425
- 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] &&
691
+ this.optionContent = (option, selected) => {
692
+ const showCheckIcon = !!option[this.valueField] &&
426
693
  !!this.value &&
427
- option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
428
- this.parentEl.tagName !== "IC-SEARCH-BAR" && (h("span", { class: "check-icon", innerHTML: checkIcon }))));
694
+ selected &&
695
+ this.parentEl.tagName !== this.SEARCH_BAR_TAG;
696
+ return (h(Fragment, null, option.loading && h("ic-loading-indicator", { size: "icon" }), h("div", { class: {
697
+ "option-text-container": true,
698
+ "show-check-icon": showCheckIcon,
699
+ } }, 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: checkIcon })));
429
700
  };
430
- this.displayOption = (option, index, parentOption) => {
431
- const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
701
+ this.displayOption = (option, selected, index, parentOption) => {
702
+ const { open, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
432
703
  return (h("li", { id: this.getOptionId(option[this.valueField]), class: {
433
704
  option: true,
434
705
  "focused-option": isManualMode
435
706
  ? (keyboardNav || initialOptionsListRender) &&
436
707
  option[this.valueField] === optionHighlighted
437
- : keyboardNav && option[this.valueField] === value,
708
+ : keyboardNav && selected,
438
709
  "last-recommended-option": option.recommended &&
439
710
  options[index + 1] &&
440
711
  !options[index + 1].recommended,
@@ -442,20 +713,21 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
442
713
  "loading-option": option.loading,
443
714
  timeout: option.timedOut,
444
715
  }, role: "option", tabindex: open &&
445
- (option[this.valueField] === value ||
446
- option[this.valueField] === optionHighlighted) &&
716
+ (selected || option[this.valueField] === optionHighlighted) &&
447
717
  keyboardNav
448
718
  ? "0"
449
- : "-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))));
719
+ : "-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))));
450
720
  };
451
721
  this.focusFromSearchKeypress = false;
452
722
  this.initialOptionsListRender = false;
453
723
  this.keyboardNav = false;
454
724
  this.optionHighlighted = undefined;
455
725
  this.preventIncorrectTabOrder = false;
726
+ this.menuOptions = undefined;
456
727
  this.activationType = "automatic";
457
728
  this.anchorEl = undefined;
458
- this.autoFocusOnSelected = true;
729
+ this.autofocusOnSelected = true;
730
+ this.closeOnSelect = true;
459
731
  this.fullWidth = false;
460
732
  this.inputEl = undefined;
461
733
  this.inputLabel = undefined;
@@ -465,8 +737,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
465
737
  this.parentEl = undefined;
466
738
  this.searchMode = "navigation";
467
739
  this.selectOnEnter = false;
468
- this.size = "default";
469
- this.small = false;
740
+ this.size = "medium";
470
741
  this.options = undefined;
471
742
  this.value = undefined;
472
743
  this.valueField = "value";
@@ -483,9 +754,6 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
483
754
  this.ungroupedOptions = [];
484
755
  this.loadUngroupedOptions();
485
756
  }
486
- watchValueHandler() {
487
- this.menuValueChange.emit({ value: this.value });
488
- }
489
757
  connectedCallback() {
490
758
  this.getParentEl(this.parentEl);
491
759
  if (this.isSearchBar) {
@@ -512,7 +780,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
512
780
  }
513
781
  componentDidLoad() {
514
782
  if (this.isSearchBar &&
515
- this.parentEl.disableFilter) {
783
+ this.parentEl.disableAutoFiltering) {
516
784
  this.focusFromSearchKeypress = true;
517
785
  }
518
786
  onComponentRequiredPropUndefined([
@@ -525,16 +793,15 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
525
793
  }
526
794
  componentDidUpdate() {
527
795
  const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);
528
- if (this.open && this.options.length !== 0) {
796
+ if (this.open && this.options.length !== 0 && !this.preventMenuFocus) {
529
797
  if (this.value &&
530
798
  this.keyboardNav &&
531
799
  inputValueInOptions &&
532
- this.autoFocusOnSelected &&
800
+ this.autofocusOnSelected &&
533
801
  !this.isSearchableSelect) {
534
802
  this.scrollToSelected(this.menu);
535
803
  }
536
- else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
537
- this.inputEl.tagName !== "INPUT") {
804
+ else if (this.selectOnEnter) {
538
805
  this.menu.focus();
539
806
  }
540
807
  else if (!!this.optionHighlighted &&
@@ -542,13 +809,18 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
542
809
  !this.preventIncorrectTabOrder) {
543
810
  const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
544
811
  if (highlightedEl) {
812
+ this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);
545
813
  highlightedEl.focus();
546
814
  }
547
815
  }
816
+ else if (this.inputEl.tagName !== "INPUT") {
817
+ this.menu.focus();
818
+ }
548
819
  }
549
820
  if (this.open && !this.value && this.selectOnEnter) {
550
821
  this.scrollToSelected(this.menu);
551
822
  }
823
+ this.preventMenuFocus = false;
552
824
  }
553
825
  componentDidRender() {
554
826
  if (this.open && !this.popperInstance && this.anchorEl) {
@@ -578,7 +850,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
578
850
  this.autoSetInputValueKeyboardOpen(event);
579
851
  }
580
852
  else {
581
- this.manSetInputValueKeyboardOpen(event);
853
+ this.manualSetInputValueKeyboardOpen(event);
582
854
  }
583
855
  }
584
856
  /**
@@ -593,8 +865,9 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
593
865
  * boundary behaviour so sticking with PopperJS.
594
866
  */
595
867
  async initPopperJs(anchor) {
868
+ // Placements set to "-start" to accommodate for custom menu width - menu should always be aligned to the left
596
869
  this.popperInstance = createPopper(anchor, this.host, {
597
- placement: "bottom",
870
+ placement: "bottom-start",
598
871
  modifiers: [
599
872
  {
600
873
  name: "offset",
@@ -605,7 +878,7 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
605
878
  {
606
879
  name: "flip",
607
880
  options: {
608
- fallbackPlacements: ["top"],
881
+ fallbackPlacements: ["top-start"],
609
882
  rootBoundary: "viewport",
610
883
  },
611
884
  },
@@ -626,38 +899,59 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
626
899
  this.focusFromSearchKeypress = true;
627
900
  }
628
901
  render() {
629
- const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, small, open, inputEl, keyboardNav, } = this;
902
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, } = this;
903
+ const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
904
+ const hasNoResults = this.host.classList.contains("no-results");
630
905
  return (h(Host, { class: {
631
- "full-width": fullWidth,
632
- "no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
633
- small: small,
634
- [size]: true,
635
- open: open,
636
- } }, 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) => {
906
+ "ic-menu-full-width": fullWidth,
907
+ "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
908
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
909
+ hasTimedOut ||
910
+ isLoading,
911
+ [`ic-menu-${size}`]: true,
912
+ "ic-menu-open": open && options.length !== 0,
913
+ "ic-menu-multiple": this.isMultiSelect,
914
+ } }, options.length !== 0 && (h("ul", { id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": this.isMultiSelect ? "true" : "false", tabindex: open &&
915
+ !keyboardNav &&
916
+ ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
917
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
918
+ ? "0"
919
+ : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {
637
920
  if (option.children) {
638
921
  if (option.children.length > 0) {
639
- 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))));
922
+ 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 &&
923
+ this.displayOption(childOption, this.isMultiSelect
924
+ ? value === null || value === void 0 ? void 0 : value.includes(childOption[this.valueField])
925
+ : childOption[this.valueField] === value, index, option))));
640
926
  }
641
927
  else {
642
928
  return null;
643
929
  }
644
930
  }
645
931
  else {
646
- return this.displayOption(option, index);
647
- }
648
- })))));
932
+ // Display option only if it has a label (rather than displaying an empty space)
933
+ return (option.label &&
934
+ this.displayOption(option, this.isMultiSelect
935
+ ? value === null || value === void 0 ? void 0 : value.includes(option[this.valueField])
936
+ : option[this.valueField] === value, index));
937
+ }
938
+ }))), options.length !== 0 &&
939
+ this.isMultiSelect &&
940
+ !isLoading &&
941
+ !hasTimedOut &&
942
+ !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)))));
649
943
  }
650
944
  get host() { return this; }
651
945
  static get watchers() { return {
652
946
  "open": ["watchOpenHandler"],
653
- "options": ["watchOptionsHandler"],
654
- "value": ["watchValueHandler"]
947
+ "options": ["watchOptionsHandler"]
655
948
  }; }
656
949
  static get style() { return icMenuCss; }
657
950
  }, [2, "ic-menu", {
658
951
  "activationType": [1, "activation-type"],
659
952
  "anchorEl": [16],
660
- "autoFocusOnSelected": [4, "auto-focus-on-selected"],
953
+ "autofocusOnSelected": [4, "autofocus-on-selected"],
954
+ "closeOnSelect": [4, "close-on-select"],
661
955
  "fullWidth": [4, "full-width"],
662
956
  "inputEl": [16],
663
957
  "inputLabel": [1, "input-label"],
@@ -668,23 +962,22 @@ const Menu = /*@__PURE__*/ proxyCustomElement(class Menu extends HTMLElement {
668
962
  "searchMode": [1, "search-mode"],
669
963
  "selectOnEnter": [4, "select-on-enter"],
670
964
  "size": [1],
671
- "small": [4],
672
965
  "options": [16],
673
- "value": [1025],
966
+ "value": [1],
674
967
  "valueField": [1, "value-field"],
675
968
  "focusFromSearchKeypress": [32],
676
969
  "initialOptionsListRender": [32],
677
970
  "keyboardNav": [32],
678
971
  "optionHighlighted": [32],
679
972
  "preventIncorrectTabOrder": [32],
973
+ "menuOptions": [32],
680
974
  "handleClickOpen": [64],
681
975
  "handleKeyboardOpen": [64],
682
976
  "handleSetFirstOption": [64],
683
977
  "initPopperJs": [64]
684
978
  }, undefined, {
685
979
  "open": ["watchOpenHandler"],
686
- "options": ["watchOptionsHandler"],
687
- "value": ["watchValueHandler"]
980
+ "options": ["watchOptionsHandler"]
688
981
  }]);
689
982
  function defineCustomElement() {
690
983
  if (typeof customElements === "undefined") {