@ukic/web-components 3.0.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1143) hide show
  1. package/README.md +6 -5
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +13 -11
  5. package/dist/cjs/core.cjs.js.map +1 -1
  6. package/dist/cjs/{helpers-94b33ab0.js → helpers-a0a128bd.js} +155 -50
  7. package/dist/cjs/helpers-a0a128bd.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +38 -22
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +75 -46
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +50 -30
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +32 -16
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +67 -42
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +114 -63
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +78 -18
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +341 -168
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +93 -72
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +51 -14
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +55 -31
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +64 -32
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +22 -6
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +17 -7
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +31 -20
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +170 -114
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-divider.cjs.entry.js +95 -12
  41. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-empty-state.cjs.entry.js +21 -24
  43. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -14
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +15 -16
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +52 -30
  49. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-hero.cjs.entry.js +35 -32
  51. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +40 -21
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +587 -244
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +65 -40
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-link.cjs.entry.js +43 -28
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +6 -7
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +41 -33
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +32 -24
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js +69 -44
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js +115 -43
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js +55 -33
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-page-header.cjs.entry.js +53 -31
  73. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js +37 -24
  75. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination.cjs.entry.js +76 -36
  77. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js +97 -60
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js +103 -48
  81. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js +70 -39
  83. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-search-bar.cjs.entry.js +195 -108
  85. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  87. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-select.cjs.entry.js +385 -163
  89. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +119 -79
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +15 -8
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
  95. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-status-tag.cjs.entry.js +30 -10
  97. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-step.cjs.entry.js +37 -37
  99. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-stepper.cjs.entry.js +60 -36
  101. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-switch.cjs.entry.js +63 -31
  103. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js +112 -152
  105. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-group.cjs.entry.js +18 -14
  107. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js +19 -15
  109. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab.cjs.entry.js +31 -22
  111. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-text-field.cjs.entry.js +235 -87
  113. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-theme.cjs.entry.js +52 -23
  115. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +8 -3
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +30 -23
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +117 -35
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +110 -23
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +65 -35
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-typography.cjs.entry.js +59 -30
  127. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  128. package/dist/cjs/index-d337cd8a.js +2611 -0
  129. package/dist/cjs/index-d337cd8a.js.map +1 -0
  130. package/dist/cjs/loader.cjs.js +5 -3
  131. package/dist/cjs/loader.cjs.js.map +1 -1
  132. package/dist/collection/ag-theme-icds.css +218 -0
  133. package/dist/collection/collection-manifest.json +8 -7
  134. package/dist/collection/components/ic-accordion/ic-accordion.css +27 -17
  135. package/dist/collection/components/ic-accordion/ic-accordion.js +116 -76
  136. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  137. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  138. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +2 -8
  139. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +65 -37
  140. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  141. package/dist/collection/components/ic-alert/ic-alert.css +50 -19
  142. package/dist/collection/components/ic-alert/ic-alert.js +113 -34
  143. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  144. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  145. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +54 -20
  146. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +86 -14
  147. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  148. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +216 -0
  149. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.css +44 -11
  151. package/dist/collection/components/ic-badge/ic-badge.js +136 -53
  152. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  153. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  154. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +32 -8
  155. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +142 -46
  156. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  157. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +165 -84
  158. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  159. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  160. package/dist/collection/components/ic-button/ic-button.css +709 -429
  161. package/dist/collection/components/ic-button/ic-button.js +331 -139
  162. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  163. package/dist/collection/components/ic-button/ic-button.stories.js +2387 -0
  164. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  165. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +102 -107
  166. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +160 -86
  167. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  168. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  169. package/dist/collection/components/ic-checkbox/ic-checkbox.css +78 -35
  170. package/dist/collection/components/ic-checkbox/ic-checkbox.js +123 -45
  171. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  172. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +20 -1
  173. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +108 -23
  174. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  175. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  176. package/dist/collection/components/ic-chip/ic-chip.css +66 -48
  177. package/dist/collection/components/ic-chip/ic-chip.js +126 -38
  178. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  179. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  180. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +20 -10
  181. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -8
  182. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  183. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  184. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -1
  185. package/dist/collection/components/ic-data-list/ic-data-list.js +47 -8
  186. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  187. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  188. package/dist/collection/components/ic-data-row/ic-data-row.css +5 -2
  189. package/dist/collection/components/ic-data-row/ic-data-row.js +64 -21
  190. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  191. package/dist/collection/components/ic-dialog/ic-dialog.css +16 -9
  192. package/dist/collection/components/ic-dialog/ic-dialog.js +248 -144
  193. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  194. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1118 -0
  195. package/dist/collection/components/ic-divider/ic-divider.css +295 -4
  196. package/dist/collection/components/ic-divider/ic-divider.js +272 -12
  197. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  198. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  199. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  200. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  201. package/dist/collection/components/ic-empty-state/ic-empty-state.css +17 -2
  202. package/dist/collection/components/ic-empty-state/ic-empty-state.js +63 -28
  203. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  204. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  205. package/dist/collection/components/ic-footer/ic-footer.css +25 -17
  206. package/dist/collection/components/ic-footer/ic-footer.js +72 -38
  207. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  208. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  209. package/dist/collection/components/ic-footer-link/ic-footer-link.css +28 -5
  210. package/dist/collection/components/ic-footer-link/ic-footer-link.js +32 -22
  211. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  212. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +14 -18
  213. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +12 -12
  214. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  215. package/dist/collection/components/ic-hero/ic-hero.css +25 -10
  216. package/dist/collection/components/ic-hero/ic-hero.js +66 -45
  217. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  218. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  219. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +2 -6
  220. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +97 -22
  221. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  222. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +51 -18
  223. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +74 -64
  224. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  225. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  226. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  227. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -20
  228. package/dist/collection/components/ic-input-label/ic-input-label.js +97 -41
  229. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  230. package/dist/collection/components/ic-input-validation/ic-input-validation.css +12 -3
  231. package/dist/collection/components/ic-input-validation/ic-input-validation.js +36 -19
  232. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  233. package/dist/collection/components/ic-link/ic-link.css +66 -25
  234. package/dist/collection/components/ic-link/ic-link.js +107 -59
  235. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  236. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  237. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +20 -13
  238. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +183 -102
  239. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  240. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  241. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  242. package/dist/collection/components/ic-menu/ic-menu.css +116 -23
  243. package/dist/collection/components/ic-menu/ic-menu.js +640 -257
  244. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  245. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  246. package/dist/collection/components/ic-menu-group/ic-menu-group.css +3 -2
  247. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  248. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  249. package/dist/collection/components/ic-menu-item/ic-menu-item.css +43 -23
  250. package/dist/collection/components/ic-menu-item/ic-menu-item.js +115 -48
  251. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  252. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +18 -0
  253. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +77 -29
  254. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  255. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +54 -49
  256. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +158 -47
  257. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  258. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  259. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  260. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +40 -64
  261. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +181 -60
  262. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  263. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +13 -5
  264. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +84 -32
  265. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  266. package/dist/collection/components/ic-page-header/ic-page-header.css +7 -3
  267. package/dist/collection/components/ic-page-header/ic-page-header.js +99 -35
  268. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  269. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  270. package/dist/collection/components/ic-pagination/ic-pagination.css +24 -1
  271. package/dist/collection/components/ic-pagination/ic-pagination.js +157 -73
  272. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  273. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  274. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +54 -15
  275. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +99 -52
  276. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  277. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +8 -4
  278. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +184 -69
  279. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  280. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +573 -0
  281. package/dist/collection/components/ic-radio-group/ic-radio-group.css +17 -1
  282. package/dist/collection/components/ic-radio-group/ic-radio-group.js +162 -59
  283. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  284. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +474 -0
  285. package/dist/collection/components/ic-radio-option/ic-radio-option.css +58 -27
  286. package/dist/collection/components/ic-radio-option/ic-radio-option.js +130 -47
  287. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  288. package/dist/collection/components/ic-search-bar/ic-search-bar.css +109 -16
  289. package/dist/collection/components/ic-search-bar/ic-search-bar.js +342 -147
  290. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  291. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  292. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  293. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  294. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  295. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  296. package/dist/collection/components/ic-select/ic-select.css +105 -55
  297. package/dist/collection/components/ic-select/ic-select.js +558 -212
  298. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  299. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  300. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  301. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  302. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +63 -38
  303. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +162 -100
  304. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  305. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2547 -0
  306. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  307. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -27
  308. package/dist/collection/components/ic-skeleton/ic-skeleton.js +29 -13
  309. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  310. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  311. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  312. package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
  313. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  314. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  315. package/dist/collection/components/ic-status-tag/ic-status-tag.css +21 -17
  316. package/dist/collection/components/ic-status-tag/ic-status-tag.js +80 -10
  317. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  318. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  319. package/dist/collection/components/ic-step/ic-step.css +70 -124
  320. package/dist/collection/components/ic-step/ic-step.js +95 -42
  321. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  322. package/dist/collection/components/ic-stepper/ic-stepper.js +96 -54
  323. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  324. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +281 -0
  325. package/dist/collection/components/ic-switch/ic-switch.css +30 -48
  326. package/dist/collection/components/ic-switch/ic-switch.js +106 -48
  327. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  328. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  329. package/dist/collection/components/ic-tab/ic-tab.css +53 -17
  330. package/dist/collection/components/ic-tab/ic-tab.js +97 -51
  331. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  332. package/dist/collection/components/ic-tab-context/ic-tab-context.js +170 -180
  333. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  334. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  335. package/dist/collection/components/ic-tab-group/ic-tab-group.css +14 -7
  336. package/dist/collection/components/ic-tab-group/ic-tab-group.js +70 -38
  337. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  338. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +7 -3
  339. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +86 -29
  340. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  341. package/dist/collection/components/ic-text-field/ic-text-field.css +64 -8
  342. package/dist/collection/components/ic-text-field/ic-text-field.js +484 -154
  343. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  344. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1048 -0
  345. package/dist/collection/components/ic-theme/ic-theme.js +93 -35
  346. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  347. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  348. package/dist/collection/components/ic-toast/ic-toast.css +41 -17
  349. package/dist/collection/components/ic-toast/ic-toast.js +49 -29
  350. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  351. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  352. package/dist/collection/components/ic-toast-region/ic-toast-region.js +12 -5
  353. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  354. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +190 -58
  355. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +226 -63
  356. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  357. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  358. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  359. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +228 -64
  360. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  361. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  362. package/dist/collection/components/ic-tooltip/ic-tooltip.css +14 -5
  363. package/dist/collection/components/ic-tooltip/ic-tooltip.js +93 -36
  364. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  365. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  366. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +55 -21
  367. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +122 -50
  368. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  369. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1091 -0
  370. package/dist/collection/components/ic-typography/ic-typography.css +11 -7
  371. package/dist/collection/components/ic-typography/ic-typography.js +101 -32
  372. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  373. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  374. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  375. package/dist/collection/patterns/z-index.stories.js +474 -0
  376. package/dist/collection/utils/constants.js +40 -1
  377. package/dist/collection/utils/constants.js.map +1 -1
  378. package/dist/collection/utils/helpers.js +93 -43
  379. package/dist/collection/utils/helpers.js.map +1 -1
  380. package/dist/collection/utils/testa11y.helpers.js +2 -1
  381. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  382. package/dist/collection/utils/types.js +6 -6
  383. package/dist/collection/utils/types.js.map +1 -1
  384. package/dist/components/helpers.js +147 -45
  385. package/dist/components/helpers.js.map +1 -1
  386. package/dist/components/ic-accordion-group.js +38 -21
  387. package/dist/components/ic-accordion-group.js.map +1 -1
  388. package/dist/components/ic-accordion.js +76 -45
  389. package/dist/components/ic-accordion.js.map +1 -1
  390. package/dist/components/ic-alert.js +52 -30
  391. package/dist/components/ic-alert.js.map +1 -1
  392. package/dist/components/ic-back-to-top.js +33 -14
  393. package/dist/components/ic-back-to-top.js.map +1 -1
  394. package/dist/components/ic-badge.js +69 -42
  395. package/dist/components/ic-badge.js.map +1 -1
  396. package/dist/components/ic-breadcrumb-group.js +119 -64
  397. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  398. package/dist/components/ic-breadcrumb2.js +81 -17
  399. package/dist/components/ic-breadcrumb2.js.map +1 -1
  400. package/dist/components/ic-button2.js +190 -79
  401. package/dist/components/ic-button2.js.map +1 -1
  402. package/dist/components/ic-card-vertical.js +98 -74
  403. package/dist/components/ic-card-vertical.js.map +1 -1
  404. package/dist/components/ic-checkbox-group.js +54 -13
  405. package/dist/components/ic-checkbox-group.js.map +1 -1
  406. package/dist/components/ic-checkbox.js +56 -29
  407. package/dist/components/ic-checkbox.js.map +1 -1
  408. package/dist/components/ic-chip.js +68 -31
  409. package/dist/components/ic-chip.js.map +1 -1
  410. package/dist/components/ic-classification-banner.js +21 -5
  411. package/dist/components/ic-classification-banner.js.map +1 -1
  412. package/dist/components/ic-data-list.js +18 -7
  413. package/dist/components/ic-data-list.js.map +1 -1
  414. package/dist/components/ic-data-row.js +31 -18
  415. package/dist/components/ic-data-row.js.map +1 -1
  416. package/dist/components/ic-dialog.js +172 -114
  417. package/dist/components/ic-dialog.js.map +1 -1
  418. package/dist/components/ic-divider2.js +110 -14
  419. package/dist/components/ic-divider2.js.map +1 -1
  420. package/dist/components/ic-empty-state.js +23 -24
  421. package/dist/components/ic-empty-state.js.map +1 -1
  422. package/dist/components/ic-footer-link-group.js +12 -13
  423. package/dist/components/ic-footer-link-group.js.map +1 -1
  424. package/dist/components/ic-footer-link.js +15 -15
  425. package/dist/components/ic-footer-link.js.map +1 -1
  426. package/dist/components/ic-footer.js +52 -30
  427. package/dist/components/ic-footer.js.map +1 -1
  428. package/dist/components/ic-hero.js +36 -33
  429. package/dist/components/ic-hero.js.map +1 -1
  430. package/dist/components/ic-horizontal-scroll2.js +41 -20
  431. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  432. package/dist/components/ic-input-component-container2.js +48 -36
  433. package/dist/components/ic-input-component-container2.js.map +1 -1
  434. package/dist/components/ic-input-container2.js +12 -5
  435. package/dist/components/ic-input-container2.js.map +1 -1
  436. package/dist/components/ic-input-label2.js +43 -24
  437. package/dist/components/ic-input-label2.js.map +1 -1
  438. package/dist/components/ic-input-validation2.js +22 -15
  439. package/dist/components/ic-input-validation2.js.map +1 -1
  440. package/dist/components/ic-link2.js +45 -29
  441. package/dist/components/ic-link2.js.map +1 -1
  442. package/dist/components/ic-loading-indicator2.js +109 -68
  443. package/dist/components/ic-loading-indicator2.js.map +1 -1
  444. package/dist/components/ic-menu-group.js +5 -5
  445. package/dist/components/ic-menu-group.js.map +1 -1
  446. package/dist/components/ic-menu-item2.js +46 -35
  447. package/dist/components/ic-menu-item2.js.map +1 -1
  448. package/dist/components/ic-menu2.js +535 -209
  449. package/dist/components/ic-menu2.js.map +1 -1
  450. package/dist/components/ic-navigation-button.js +33 -24
  451. package/dist/components/ic-navigation-button.js.map +1 -1
  452. package/dist/components/ic-navigation-group.js +72 -44
  453. package/dist/components/ic-navigation-group.js.map +1 -1
  454. package/dist/components/ic-navigation-item.js +118 -43
  455. package/dist/components/ic-navigation-item.js.map +1 -1
  456. package/dist/components/ic-navigation-menu2.js +55 -31
  457. package/dist/components/ic-navigation-menu2.js.map +1 -1
  458. package/dist/components/ic-page-header.js +53 -29
  459. package/dist/components/ic-page-header.js.map +1 -1
  460. package/dist/components/ic-pagination-item2.js +39 -23
  461. package/dist/components/ic-pagination-item2.js.map +1 -1
  462. package/dist/components/ic-pagination.js +77 -34
  463. package/dist/components/ic-pagination.js.map +1 -1
  464. package/dist/components/ic-popover-menu.js +99 -59
  465. package/dist/components/ic-popover-menu.js.map +1 -1
  466. package/dist/components/ic-radio-group.js +105 -47
  467. package/dist/components/ic-radio-group.js.map +1 -1
  468. package/dist/components/ic-radio-option.js +72 -38
  469. package/dist/components/ic-radio-option.js.map +1 -1
  470. package/dist/components/ic-search-bar.js +210 -132
  471. package/dist/components/ic-search-bar.js.map +1 -1
  472. package/dist/components/ic-section-container2.js +11 -4
  473. package/dist/components/ic-section-container2.js.map +1 -1
  474. package/dist/components/ic-select.js +388 -163
  475. package/dist/components/ic-select.js.map +1 -1
  476. package/dist/components/ic-side-navigation.js +119 -79
  477. package/dist/components/ic-side-navigation.js.map +1 -1
  478. package/dist/components/ic-skeleton.js +15 -8
  479. package/dist/components/ic-skeleton.js.map +1 -1
  480. package/dist/components/ic-skip-link.d.ts +11 -0
  481. package/dist/components/ic-skip-link.js +83 -0
  482. package/dist/components/ic-skip-link.js.map +1 -0
  483. package/dist/components/ic-status-tag.js +30 -7
  484. package/dist/components/ic-status-tag.js.map +1 -1
  485. package/dist/components/ic-step.js +37 -35
  486. package/dist/components/ic-step.js.map +1 -1
  487. package/dist/components/ic-stepper.js +61 -35
  488. package/dist/components/ic-stepper.js.map +1 -1
  489. package/dist/components/ic-switch.js +65 -31
  490. package/dist/components/ic-switch.js.map +1 -1
  491. package/dist/components/ic-tab-context.js +116 -154
  492. package/dist/components/ic-tab-context.js.map +1 -1
  493. package/dist/components/ic-tab-group.js +19 -14
  494. package/dist/components/ic-tab-group.js.map +1 -1
  495. package/dist/components/ic-tab-panel.js +22 -16
  496. package/dist/components/ic-tab-panel.js.map +1 -1
  497. package/dist/components/ic-tab.js +32 -22
  498. package/dist/components/ic-tab.js.map +1 -1
  499. package/dist/components/ic-text-field.js +504 -1
  500. package/dist/components/ic-text-field.js.map +1 -1
  501. package/dist/components/ic-theme.js +57 -25
  502. package/dist/components/ic-theme.js.map +1 -1
  503. package/dist/components/ic-toast-region.js +7 -2
  504. package/dist/components/ic-toast-region.js.map +1 -1
  505. package/dist/components/ic-toast.js +29 -22
  506. package/dist/components/ic-toast.js.map +1 -1
  507. package/dist/components/ic-toggle-button-group.js +129 -36
  508. package/dist/components/ic-toggle-button-group.js.map +1 -1
  509. package/dist/components/ic-toggle-button.js +121 -29
  510. package/dist/components/ic-toggle-button.js.map +1 -1
  511. package/dist/components/ic-tooltip2.js +47 -25
  512. package/dist/components/ic-tooltip2.js.map +1 -1
  513. package/dist/components/ic-top-navigation.js +66 -35
  514. package/dist/components/ic-top-navigation.js.map +1 -1
  515. package/dist/components/ic-typography2.js +58 -27
  516. package/dist/components/ic-typography2.js.map +1 -1
  517. package/dist/core/ag-theme-icds.css +218 -0
  518. package/dist/core/core.css +1737 -64
  519. package/dist/core/core.esm.js +1 -1
  520. package/dist/core/core.esm.js.map +1 -1
  521. package/dist/core/index.esm.js.map +1 -1
  522. package/dist/core/p-06d97789.entry.js +2 -0
  523. package/dist/core/p-06d97789.entry.js.map +1 -0
  524. package/dist/core/{p-54238d16.entry.js → p-071f4748.entry.js} +2 -2
  525. package/dist/core/p-071f4748.entry.js.map +1 -0
  526. package/dist/core/p-09070f61.entry.js +2 -0
  527. package/dist/core/p-09070f61.entry.js.map +1 -0
  528. package/dist/core/p-0c0ac69d.entry.js +2 -0
  529. package/dist/core/p-0c0ac69d.entry.js.map +1 -0
  530. package/dist/core/p-0d016565.entry.js +2 -0
  531. package/dist/core/p-0d016565.entry.js.map +1 -0
  532. package/dist/core/p-0e96d4d8.entry.js +2 -0
  533. package/dist/core/p-0e96d4d8.entry.js.map +1 -0
  534. package/dist/core/p-10cd26dc.entry.js +2 -0
  535. package/dist/core/p-10cd26dc.entry.js.map +1 -0
  536. package/dist/core/{p-a87d13b3.entry.js → p-110486f0.entry.js} +2 -2
  537. package/dist/core/p-110486f0.entry.js.map +1 -0
  538. package/dist/core/p-116ad73d.entry.js +2 -0
  539. package/dist/core/p-116ad73d.entry.js.map +1 -0
  540. package/dist/core/p-1171a945.entry.js +2 -0
  541. package/dist/core/p-1171a945.entry.js.map +1 -0
  542. package/dist/core/p-17cf7b50.entry.js +2 -0
  543. package/dist/core/p-17cf7b50.entry.js.map +1 -0
  544. package/dist/core/p-1ac08e6d.entry.js +2 -0
  545. package/dist/core/p-1ac08e6d.entry.js.map +1 -0
  546. package/dist/core/p-1f455336.entry.js +2 -0
  547. package/dist/core/p-1f455336.entry.js.map +1 -0
  548. package/dist/core/p-20c4d90b.entry.js +2 -0
  549. package/dist/core/p-20c4d90b.entry.js.map +1 -0
  550. package/dist/core/p-2537f33e.entry.js +2 -0
  551. package/dist/core/p-2537f33e.entry.js.map +1 -0
  552. package/dist/core/p-264ce7a0.entry.js +2 -0
  553. package/dist/core/p-264ce7a0.entry.js.map +1 -0
  554. package/dist/core/p-28656111.entry.js +2 -0
  555. package/dist/core/p-28656111.entry.js.map +1 -0
  556. package/dist/core/p-2b1a331b.entry.js +2 -0
  557. package/dist/core/p-2b1a331b.entry.js.map +1 -0
  558. package/dist/core/p-33243fff.entry.js +2 -0
  559. package/dist/core/p-33243fff.entry.js.map +1 -0
  560. package/dist/core/p-37df68fe.entry.js +2 -0
  561. package/dist/core/p-37df68fe.entry.js.map +1 -0
  562. package/dist/core/p-3b185c32.js.map +1 -1
  563. package/dist/core/p-426ec638.js.map +1 -1
  564. package/dist/core/p-44e32417.entry.js +2 -0
  565. package/dist/core/p-44e32417.entry.js.map +1 -0
  566. package/dist/core/p-45595f98.entry.js +2 -0
  567. package/dist/core/p-45595f98.entry.js.map +1 -0
  568. package/dist/core/p-49768069.entry.js +2 -0
  569. package/dist/core/p-49768069.entry.js.map +1 -0
  570. package/dist/core/p-4c68494c.entry.js +2 -0
  571. package/dist/core/p-4c68494c.entry.js.map +1 -0
  572. package/dist/core/p-4f2a1950.entry.js +2 -0
  573. package/dist/core/p-4f2a1950.entry.js.map +1 -0
  574. package/dist/core/p-50f4d151.entry.js +2 -0
  575. package/dist/core/p-50f4d151.entry.js.map +1 -0
  576. package/dist/core/p-55a37101.entry.js +2 -0
  577. package/dist/core/p-55a37101.entry.js.map +1 -0
  578. package/dist/core/p-5c349c9d.entry.js +2 -0
  579. package/dist/core/p-5c349c9d.entry.js.map +1 -0
  580. package/dist/core/p-5e1fd097.entry.js +2 -0
  581. package/dist/core/p-5e1fd097.entry.js.map +1 -0
  582. package/dist/core/p-68a5aaff.js.map +1 -1
  583. package/dist/core/p-69e4daec.entry.js +2 -0
  584. package/dist/core/p-69e4daec.entry.js.map +1 -0
  585. package/dist/core/p-701696aa.entry.js +2 -0
  586. package/dist/core/p-701696aa.entry.js.map +1 -0
  587. package/dist/core/p-729745d3.entry.js +2 -0
  588. package/dist/core/p-729745d3.entry.js.map +1 -0
  589. package/dist/core/p-73fc198f.entry.js +2 -0
  590. package/dist/core/p-73fc198f.entry.js.map +1 -0
  591. package/dist/core/p-74600ed8.entry.js +2 -0
  592. package/dist/core/p-74600ed8.entry.js.map +1 -0
  593. package/dist/core/p-78e7a859.entry.js +2 -0
  594. package/dist/core/p-78e7a859.entry.js.map +1 -0
  595. package/dist/core/p-7e79bd0e.entry.js +2 -0
  596. package/dist/core/p-7e79bd0e.entry.js.map +1 -0
  597. package/dist/core/p-7eaf8da8.entry.js +2 -0
  598. package/dist/core/p-7eaf8da8.entry.js.map +1 -0
  599. package/dist/core/p-811d447b.entry.js +2 -0
  600. package/dist/core/p-811d447b.entry.js.map +1 -0
  601. package/dist/core/p-85734ebf.entry.js +2 -0
  602. package/dist/core/p-85734ebf.entry.js.map +1 -0
  603. package/dist/core/p-85b7d931.entry.js +2 -0
  604. package/dist/core/p-85b7d931.entry.js.map +1 -0
  605. package/dist/core/{p-a0e4d6bd.entry.js → p-8856dff4.entry.js} +2 -2
  606. package/dist/core/p-8856dff4.entry.js.map +1 -0
  607. package/dist/core/p-8b268274.entry.js +2 -0
  608. package/dist/core/p-8b268274.entry.js.map +1 -0
  609. package/dist/core/p-8e4e97b4.js +3 -0
  610. package/dist/core/p-8e4e97b4.js.map +1 -0
  611. package/dist/core/p-972671ea.entry.js +2 -0
  612. package/dist/core/p-972671ea.entry.js.map +1 -0
  613. package/dist/core/p-98328cb9.entry.js +2 -0
  614. package/dist/core/p-98328cb9.entry.js.map +1 -0
  615. package/dist/core/p-a103068b.entry.js +2 -0
  616. package/dist/core/p-a103068b.entry.js.map +1 -0
  617. package/dist/core/p-a20a7cd3.entry.js +2 -0
  618. package/dist/core/p-a20a7cd3.entry.js.map +1 -0
  619. package/dist/core/p-a22658fb.entry.js +2 -0
  620. package/dist/core/p-a22658fb.entry.js.map +1 -0
  621. package/dist/core/p-a55e7988.entry.js +2 -0
  622. package/dist/core/p-a55e7988.entry.js.map +1 -0
  623. package/dist/core/p-a71055c9.entry.js +2 -0
  624. package/dist/core/p-a71055c9.entry.js.map +1 -0
  625. package/dist/core/p-a794b724.entry.js +2 -0
  626. package/dist/core/p-a794b724.entry.js.map +1 -0
  627. package/dist/core/p-b21b4fea.entry.js +2 -0
  628. package/dist/core/p-b21b4fea.entry.js.map +1 -0
  629. package/dist/core/p-b953b22f.entry.js +2 -0
  630. package/dist/core/p-b953b22f.entry.js.map +1 -0
  631. package/dist/core/p-c2e091d7.js.map +1 -1
  632. package/dist/core/p-c9726fbd.entry.js +2 -0
  633. package/dist/core/p-c9726fbd.entry.js.map +1 -0
  634. package/dist/core/p-d981598e.entry.js +2 -0
  635. package/dist/core/p-d981598e.entry.js.map +1 -0
  636. package/dist/core/p-d9aec0dd.entry.js +2 -0
  637. package/dist/core/p-d9aec0dd.entry.js.map +1 -0
  638. package/dist/core/p-e1255160.js +2 -0
  639. package/dist/core/p-e1255160.js.map +1 -0
  640. package/dist/core/p-ed8957da.js +2 -0
  641. package/dist/core/p-ed8957da.js.map +1 -0
  642. package/dist/core/p-f074ef5b.js.map +1 -1
  643. package/dist/core/p-f3315216.entry.js +2 -0
  644. package/dist/core/p-f3315216.entry.js.map +1 -0
  645. package/dist/core/p-f34efc17.entry.js +2 -0
  646. package/dist/core/p-f34efc17.entry.js.map +1 -0
  647. package/dist/core/p-f43f411a.entry.js +2 -0
  648. package/dist/core/p-f43f411a.entry.js.map +1 -0
  649. package/dist/core/{p-bf89c86d.entry.js → p-fa02a267.entry.js} +2 -2
  650. package/dist/core/p-fa02a267.entry.js.map +1 -0
  651. package/dist/core/p-ff995eb8.entry.js +2 -0
  652. package/dist/core/p-ff995eb8.entry.js.map +1 -0
  653. package/dist/esm/app-globals-0f993ce5.js +5 -0
  654. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  655. package/dist/esm/core.js +14 -12
  656. package/dist/esm/core.js.map +1 -1
  657. package/dist/esm/{helpers-35ac5e03.js → helpers-dd035d0d.js} +148 -46
  658. package/dist/esm/helpers-dd035d0d.js.map +1 -0
  659. package/dist/esm/ic-accordion-group.entry.js +38 -22
  660. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  661. package/dist/esm/ic-accordion.entry.js +75 -46
  662. package/dist/esm/ic-accordion.entry.js.map +1 -1
  663. package/dist/esm/ic-alert.entry.js +50 -30
  664. package/dist/esm/ic-alert.entry.js.map +1 -1
  665. package/dist/esm/ic-back-to-top.entry.js +32 -16
  666. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  667. package/dist/esm/ic-badge.entry.js +67 -42
  668. package/dist/esm/ic-badge.entry.js.map +1 -1
  669. package/dist/esm/ic-breadcrumb-group.entry.js +114 -63
  670. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  671. package/dist/esm/ic-breadcrumb.entry.js +78 -18
  672. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  673. package/dist/esm/ic-button_3.entry.js +341 -168
  674. package/dist/esm/ic-button_3.entry.js.map +1 -1
  675. package/dist/esm/ic-card-vertical.entry.js +93 -72
  676. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  677. package/dist/esm/ic-checkbox-group.entry.js +51 -14
  678. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  679. package/dist/esm/ic-checkbox.entry.js +55 -31
  680. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  681. package/dist/esm/ic-chip.entry.js +64 -32
  682. package/dist/esm/ic-chip.entry.js.map +1 -1
  683. package/dist/esm/ic-classification-banner.entry.js +22 -6
  684. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  685. package/dist/esm/ic-data-list.entry.js +17 -7
  686. package/dist/esm/ic-data-list.entry.js.map +1 -1
  687. package/dist/esm/ic-data-row.entry.js +31 -20
  688. package/dist/esm/ic-data-row.entry.js.map +1 -1
  689. package/dist/esm/ic-dialog.entry.js +170 -114
  690. package/dist/esm/ic-dialog.entry.js.map +1 -1
  691. package/dist/esm/ic-divider.entry.js +95 -12
  692. package/dist/esm/ic-divider.entry.js.map +1 -1
  693. package/dist/esm/ic-empty-state.entry.js +21 -24
  694. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  695. package/dist/esm/ic-footer-link-group.entry.js +12 -14
  696. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  697. package/dist/esm/ic-footer-link.entry.js +15 -16
  698. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  699. package/dist/esm/ic-footer.entry.js +52 -30
  700. package/dist/esm/ic-footer.entry.js.map +1 -1
  701. package/dist/esm/ic-hero.entry.js +35 -32
  702. package/dist/esm/ic-hero.entry.js.map +1 -1
  703. package/dist/esm/ic-horizontal-scroll.entry.js +40 -21
  704. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  705. package/dist/esm/ic-input-component-container_3.entry.js +587 -244
  706. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  707. package/dist/esm/ic-input-label_2.entry.js +62 -37
  708. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  709. package/dist/esm/ic-link.entry.js +43 -28
  710. package/dist/esm/ic-link.entry.js.map +1 -1
  711. package/dist/esm/ic-menu-group.entry.js +6 -7
  712. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  713. package/dist/esm/ic-menu-item.entry.js +41 -33
  714. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  715. package/dist/esm/ic-navigation-button.entry.js +32 -24
  716. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  717. package/dist/esm/ic-navigation-group.entry.js +69 -44
  718. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  719. package/dist/esm/ic-navigation-item.entry.js +115 -43
  720. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  721. package/dist/esm/ic-navigation-menu.entry.js +55 -33
  722. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  723. package/dist/esm/ic-page-header.entry.js +53 -31
  724. package/dist/esm/ic-page-header.entry.js.map +1 -1
  725. package/dist/esm/ic-pagination-item.entry.js +37 -24
  726. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  727. package/dist/esm/ic-pagination.entry.js +76 -36
  728. package/dist/esm/ic-pagination.entry.js.map +1 -1
  729. package/dist/esm/ic-popover-menu.entry.js +97 -60
  730. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  731. package/dist/esm/ic-radio-group.entry.js +103 -48
  732. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  733. package/dist/esm/ic-radio-option.entry.js +70 -39
  734. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  735. package/dist/esm/ic-search-bar.entry.js +195 -108
  736. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  737. package/dist/esm/ic-section-container.entry.js +12 -5
  738. package/dist/esm/ic-section-container.entry.js.map +1 -1
  739. package/dist/esm/ic-select.entry.js +385 -163
  740. package/dist/esm/ic-select.entry.js.map +1 -1
  741. package/dist/esm/ic-side-navigation.entry.js +119 -79
  742. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  743. package/dist/esm/ic-skeleton.entry.js +15 -8
  744. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  745. package/dist/esm/ic-skip-link.entry.js +51 -0
  746. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  747. package/dist/esm/ic-status-tag.entry.js +30 -10
  748. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  749. package/dist/esm/ic-step.entry.js +37 -37
  750. package/dist/esm/ic-step.entry.js.map +1 -1
  751. package/dist/esm/ic-stepper.entry.js +60 -36
  752. package/dist/esm/ic-stepper.entry.js.map +1 -1
  753. package/dist/esm/ic-switch.entry.js +63 -31
  754. package/dist/esm/ic-switch.entry.js.map +1 -1
  755. package/dist/esm/ic-tab-context.entry.js +112 -152
  756. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  757. package/dist/esm/ic-tab-group.entry.js +18 -14
  758. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  759. package/dist/esm/ic-tab-panel.entry.js +19 -15
  760. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  761. package/dist/esm/ic-tab.entry.js +31 -22
  762. package/dist/esm/ic-tab.entry.js.map +1 -1
  763. package/dist/esm/ic-text-field.entry.js +229 -81
  764. package/dist/esm/ic-text-field.entry.js.map +1 -1
  765. package/dist/esm/ic-theme.entry.js +52 -23
  766. package/dist/esm/ic-theme.entry.js.map +1 -1
  767. package/dist/esm/ic-toast-region.entry.js +8 -3
  768. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  769. package/dist/esm/ic-toast.entry.js +30 -23
  770. package/dist/esm/ic-toast.entry.js.map +1 -1
  771. package/dist/esm/ic-toggle-button-group.entry.js +117 -35
  772. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  773. package/dist/esm/ic-toggle-button.entry.js +110 -23
  774. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  775. package/dist/esm/ic-top-navigation.entry.js +65 -35
  776. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  777. package/dist/esm/ic-typography.entry.js +59 -30
  778. package/dist/esm/ic-typography.entry.js.map +1 -1
  779. package/dist/esm/index-a7a720e7.js +2580 -0
  780. package/dist/esm/index-a7a720e7.js.map +1 -0
  781. package/dist/esm/loader.js +6 -4
  782. package/dist/esm/loader.js.map +1 -1
  783. package/dist/types/components/ic-accordion/ic-accordion.d.ts +10 -8
  784. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +9 -9
  785. package/dist/types/components/ic-alert/ic-alert.d.ts +10 -2
  786. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +11 -2
  787. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  788. package/dist/types/components/ic-badge/ic-badge.d.ts +11 -5
  789. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +19 -6
  790. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +16 -9
  791. package/dist/types/components/ic-button/ic-button.d.ts +19 -13
  792. package/dist/types/components/ic-button/ic-button.types.d.ts +0 -1
  793. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +9 -5
  794. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +17 -12
  795. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +15 -8
  796. package/dist/types/components/ic-chip/ic-chip.d.ts +13 -2
  797. package/dist/types/components/ic-data-list/ic-data-list.d.ts +6 -2
  798. package/dist/types/components/ic-data-row/ic-data-row.d.ts +7 -3
  799. package/dist/types/components/ic-dialog/ic-dialog.d.ts +21 -12
  800. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  801. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  802. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -2
  803. package/dist/types/components/ic-footer/ic-footer.d.ts +8 -7
  804. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  805. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -2
  806. package/dist/types/components/ic-hero/ic-hero.d.ts +6 -7
  807. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  808. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -11
  809. package/dist/types/components/ic-input-label/ic-input-label.d.ts +10 -6
  810. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  811. package/dist/types/components/ic-link/ic-link.d.ts +10 -6
  812. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +12 -8
  813. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
  814. package/dist/types/components/ic-menu/ic-menu.d.ts +56 -23
  815. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  816. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +13 -6
  817. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -4
  818. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +25 -9
  819. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  820. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +22 -11
  821. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +10 -3
  822. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  823. package/dist/types/components/ic-pagination/ic-pagination.d.ts +19 -14
  824. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +14 -9
  825. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +13 -11
  826. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +15 -10
  827. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +16 -9
  828. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +26 -14
  829. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  830. package/dist/types/components/ic-select/ic-select.d.ts +52 -32
  831. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +15 -15
  832. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  833. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -2
  834. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  835. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -0
  836. package/dist/types/components/ic-step/ic-step.d.ts +5 -0
  837. package/dist/types/components/ic-stepper/ic-stepper.d.ts +7 -5
  838. package/dist/types/components/ic-switch/ic-switch.d.ts +8 -7
  839. package/dist/types/components/ic-tab/ic-tab.d.ts +8 -5
  840. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +19 -12
  841. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -5
  842. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +9 -3
  843. package/dist/types/components/ic-text-field/ic-text-field.d.ts +59 -34
  844. package/dist/types/components/ic-theme/ic-theme.d.ts +15 -8
  845. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  846. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +2 -1
  847. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +17 -8
  848. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +21 -5
  849. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +6 -1
  850. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +16 -12
  851. package/dist/types/components/ic-typography/ic-typography.d.ts +6 -2
  852. package/dist/types/components.d.ts +960 -383
  853. package/dist/types/stencil-public-runtime.d.ts +9 -10
  854. package/dist/types/utils/constants.d.ts +1 -0
  855. package/dist/types/utils/helpers.d.ts +31 -17
  856. package/dist/types/utils/types.d.ts +17 -10
  857. package/hydrate/index.d.ts +53 -12
  858. package/hydrate/index.js +32876 -19763
  859. package/hydrate/index.mjs +34407 -0
  860. package/hydrate/package.json +7 -1
  861. package/loader/cdn.js +1 -3
  862. package/loader/index.cjs.js +1 -3
  863. package/loader/index.d.ts +3 -0
  864. package/loader/index.es2017.js +1 -3
  865. package/loader/index.js +1 -3
  866. package/package.json +21 -20
  867. package/vscode-data.json +1017 -653
  868. package/dist/cjs/helpers-94b33ab0.js.map +0 -1
  869. package/dist/cjs/index-f982899d.js +0 -3047
  870. package/dist/cjs/index-f982899d.js.map +0 -1
  871. package/dist/cjs/types-dc22e301.js +0 -16
  872. package/dist/cjs/types-dc22e301.js.map +0 -1
  873. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -346
  874. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  875. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  876. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  877. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -197
  878. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  879. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -131
  880. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  881. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -264
  882. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  883. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -118
  884. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  885. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  886. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  887. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  888. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  889. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -173
  890. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  891. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -281
  892. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  893. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -169
  894. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  895. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  896. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  897. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  898. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  899. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  900. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  901. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -428
  902. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  903. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -24
  904. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  905. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -140
  906. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  907. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  908. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  909. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  910. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  911. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -91
  912. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  913. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -180
  914. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  915. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -145
  916. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  917. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  918. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  919. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -98
  920. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  921. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  922. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  923. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -217
  924. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  925. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -148
  926. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  927. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -760
  928. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  929. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  930. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  931. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -108
  932. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  933. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  934. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  935. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  936. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  937. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -118
  938. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  939. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  940. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  941. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  942. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  943. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -380
  944. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  945. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -76
  946. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  947. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  948. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  949. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +0 -339
  950. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +0 -1
  951. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -380
  952. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  953. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +0 -1106
  954. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +0 -1
  955. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -584
  956. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  957. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  958. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  959. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1439
  960. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  961. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  962. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  963. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  964. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  965. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -43
  966. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  967. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  968. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  969. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +0 -49
  970. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +0 -1
  971. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  972. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  973. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -104
  974. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  975. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -159
  976. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  977. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  978. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  979. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  980. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  981. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -284
  982. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  983. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  984. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  985. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  986. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  987. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -77
  988. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  989. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  990. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  991. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  992. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  993. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -116
  994. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  995. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -150
  996. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  997. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +0 -109
  998. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +0 -1
  999. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -307
  1000. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  1001. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  1002. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  1003. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +0 -39
  1004. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +0 -1
  1005. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -393
  1006. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  1007. package/dist/collection/testspec.setup.js +0 -63
  1008. package/dist/collection/testspec.setup.js.map +0 -1
  1009. package/dist/components/ic-text-field2.js +0 -354
  1010. package/dist/components/ic-text-field2.js.map +0 -1
  1011. package/dist/components/types.js +0 -16
  1012. package/dist/components/types.js.map +0 -1
  1013. package/dist/core/p-05d32a4f.entry.js +0 -2
  1014. package/dist/core/p-05d32a4f.entry.js.map +0 -1
  1015. package/dist/core/p-086a6d4f.entry.js +0 -2
  1016. package/dist/core/p-086a6d4f.entry.js.map +0 -1
  1017. package/dist/core/p-0a00a786.entry.js +0 -2
  1018. package/dist/core/p-0a00a786.entry.js.map +0 -1
  1019. package/dist/core/p-145fcef3.entry.js +0 -2
  1020. package/dist/core/p-145fcef3.entry.js.map +0 -1
  1021. package/dist/core/p-15367990.entry.js +0 -2
  1022. package/dist/core/p-15367990.entry.js.map +0 -1
  1023. package/dist/core/p-1737bf2c.entry.js +0 -2
  1024. package/dist/core/p-1737bf2c.entry.js.map +0 -1
  1025. package/dist/core/p-1ace2b02.entry.js +0 -2
  1026. package/dist/core/p-1ace2b02.entry.js.map +0 -1
  1027. package/dist/core/p-1e371012.entry.js +0 -2
  1028. package/dist/core/p-1e371012.entry.js.map +0 -1
  1029. package/dist/core/p-1f227289.entry.js +0 -2
  1030. package/dist/core/p-1f227289.entry.js.map +0 -1
  1031. package/dist/core/p-24275b92.entry.js +0 -2
  1032. package/dist/core/p-24275b92.entry.js.map +0 -1
  1033. package/dist/core/p-26b7b18f.js +0 -2
  1034. package/dist/core/p-26b7b18f.js.map +0 -1
  1035. package/dist/core/p-29e6c33f.entry.js +0 -2
  1036. package/dist/core/p-29e6c33f.entry.js.map +0 -1
  1037. package/dist/core/p-2a6f01ad.entry.js +0 -2
  1038. package/dist/core/p-2a6f01ad.entry.js.map +0 -1
  1039. package/dist/core/p-2f86c53b.entry.js +0 -2
  1040. package/dist/core/p-2f86c53b.entry.js.map +0 -1
  1041. package/dist/core/p-319e40c0.entry.js +0 -2
  1042. package/dist/core/p-319e40c0.entry.js.map +0 -1
  1043. package/dist/core/p-346c6920.entry.js +0 -2
  1044. package/dist/core/p-346c6920.entry.js.map +0 -1
  1045. package/dist/core/p-4b1445b3.entry.js +0 -2
  1046. package/dist/core/p-4b1445b3.entry.js.map +0 -1
  1047. package/dist/core/p-4b621c67.entry.js +0 -2
  1048. package/dist/core/p-4b621c67.entry.js.map +0 -1
  1049. package/dist/core/p-4ca2b177.entry.js +0 -2
  1050. package/dist/core/p-4ca2b177.entry.js.map +0 -1
  1051. package/dist/core/p-54238d16.entry.js.map +0 -1
  1052. package/dist/core/p-5515ad19.entry.js +0 -2
  1053. package/dist/core/p-5515ad19.entry.js.map +0 -1
  1054. package/dist/core/p-5c8081d6.entry.js +0 -2
  1055. package/dist/core/p-5c8081d6.entry.js.map +0 -1
  1056. package/dist/core/p-5f941f3a.entry.js +0 -2
  1057. package/dist/core/p-5f941f3a.entry.js.map +0 -1
  1058. package/dist/core/p-5fd293b3.entry.js +0 -2
  1059. package/dist/core/p-5fd293b3.entry.js.map +0 -1
  1060. package/dist/core/p-60721d95.entry.js +0 -2
  1061. package/dist/core/p-60721d95.entry.js.map +0 -1
  1062. package/dist/core/p-64a5a1d8.entry.js +0 -2
  1063. package/dist/core/p-64a5a1d8.entry.js.map +0 -1
  1064. package/dist/core/p-65e36461.entry.js +0 -2
  1065. package/dist/core/p-65e36461.entry.js.map +0 -1
  1066. package/dist/core/p-66363c7d.entry.js +0 -2
  1067. package/dist/core/p-66363c7d.entry.js.map +0 -1
  1068. package/dist/core/p-69728d76.entry.js +0 -2
  1069. package/dist/core/p-69728d76.entry.js.map +0 -1
  1070. package/dist/core/p-6b328c76.entry.js +0 -2
  1071. package/dist/core/p-6b328c76.entry.js.map +0 -1
  1072. package/dist/core/p-6b5ddacd.entry.js +0 -2
  1073. package/dist/core/p-6b5ddacd.entry.js.map +0 -1
  1074. package/dist/core/p-6b5e91e2.js +0 -3
  1075. package/dist/core/p-6b5e91e2.js.map +0 -1
  1076. package/dist/core/p-7b3d6577.entry.js +0 -2
  1077. package/dist/core/p-7b3d6577.entry.js.map +0 -1
  1078. package/dist/core/p-7d45828d.entry.js +0 -2
  1079. package/dist/core/p-7d45828d.entry.js.map +0 -1
  1080. package/dist/core/p-893eca54.entry.js +0 -2
  1081. package/dist/core/p-893eca54.entry.js.map +0 -1
  1082. package/dist/core/p-8ee262a4.entry.js +0 -2
  1083. package/dist/core/p-8ee262a4.entry.js.map +0 -1
  1084. package/dist/core/p-8f93d92b.entry.js +0 -2
  1085. package/dist/core/p-8f93d92b.entry.js.map +0 -1
  1086. package/dist/core/p-90bb13d2.entry.js +0 -2
  1087. package/dist/core/p-90bb13d2.entry.js.map +0 -1
  1088. package/dist/core/p-9189a82d.entry.js +0 -2
  1089. package/dist/core/p-9189a82d.entry.js.map +0 -1
  1090. package/dist/core/p-9190a84d.entry.js +0 -2
  1091. package/dist/core/p-9190a84d.entry.js.map +0 -1
  1092. package/dist/core/p-93f50a1a.entry.js +0 -2
  1093. package/dist/core/p-93f50a1a.entry.js.map +0 -1
  1094. package/dist/core/p-9474baf3.entry.js +0 -2
  1095. package/dist/core/p-9474baf3.entry.js.map +0 -1
  1096. package/dist/core/p-9857f6b0.entry.js +0 -2
  1097. package/dist/core/p-9857f6b0.entry.js.map +0 -1
  1098. package/dist/core/p-a0e4d6bd.entry.js.map +0 -1
  1099. package/dist/core/p-a1b9a808.entry.js +0 -2
  1100. package/dist/core/p-a1b9a808.entry.js.map +0 -1
  1101. package/dist/core/p-a79bec03.entry.js +0 -2
  1102. package/dist/core/p-a79bec03.entry.js.map +0 -1
  1103. package/dist/core/p-a84a4675.entry.js +0 -2
  1104. package/dist/core/p-a84a4675.entry.js.map +0 -1
  1105. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  1106. package/dist/core/p-a928c7b3.entry.js +0 -2
  1107. package/dist/core/p-a928c7b3.entry.js.map +0 -1
  1108. package/dist/core/p-bf89c86d.entry.js.map +0 -1
  1109. package/dist/core/p-d0524c73.js +0 -2
  1110. package/dist/core/p-d0524c73.js.map +0 -1
  1111. package/dist/core/p-d24410ca.entry.js +0 -2
  1112. package/dist/core/p-d24410ca.entry.js.map +0 -1
  1113. package/dist/core/p-d52ca420.entry.js +0 -2
  1114. package/dist/core/p-d52ca420.entry.js.map +0 -1
  1115. package/dist/core/p-d67a30ca.entry.js +0 -2
  1116. package/dist/core/p-d67a30ca.entry.js.map +0 -1
  1117. package/dist/core/p-de27c59e.entry.js +0 -2
  1118. package/dist/core/p-de27c59e.entry.js.map +0 -1
  1119. package/dist/core/p-dec339ba.entry.js +0 -2
  1120. package/dist/core/p-dec339ba.entry.js.map +0 -1
  1121. package/dist/core/p-e4335135.entry.js +0 -2
  1122. package/dist/core/p-e4335135.entry.js.map +0 -1
  1123. package/dist/core/p-e56a2a06.entry.js +0 -2
  1124. package/dist/core/p-e56a2a06.entry.js.map +0 -1
  1125. package/dist/core/p-e696dc2a.entry.js +0 -2
  1126. package/dist/core/p-e696dc2a.entry.js.map +0 -1
  1127. package/dist/core/p-f0501be1.entry.js +0 -2
  1128. package/dist/core/p-f0501be1.entry.js.map +0 -1
  1129. package/dist/core/p-f50462df.entry.js +0 -2
  1130. package/dist/core/p-f50462df.entry.js.map +0 -1
  1131. package/dist/core/p-feb80f37.entry.js +0 -2
  1132. package/dist/core/p-feb80f37.entry.js.map +0 -1
  1133. package/dist/esm/helpers-35ac5e03.js.map +0 -1
  1134. package/dist/esm/index-d1d2c456.js +0 -3016
  1135. package/dist/esm/index-d1d2c456.js.map +0 -1
  1136. package/dist/esm/polyfills/core-js.js +0 -11
  1137. package/dist/esm/polyfills/dom.js +0 -79
  1138. package/dist/esm/polyfills/es5-html-element.js +0 -1
  1139. package/dist/esm/polyfills/index.js +0 -34
  1140. package/dist/esm/polyfills/system.js +0 -6
  1141. package/dist/esm/types-6f6b41a5.js +0 -16
  1142. package/dist/esm/types-6f6b41a5.js.map +0 -1
  1143. package/dist/types/testspec.setup.d.ts +0 -15
@@ -2,104 +2,172 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-f982899d.js');
6
- const types = require('./types-dc22e301.js');
7
- const helpers = require('./helpers-94b33ab0.js');
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-a0a128bd.js');
8
7
  const checkIcon = require('./check-icon-7225d79b.js');
9
8
  const popper = require('./popper-31badbf8.js');
10
9
 
11
- const icInputComponentContainerCss = "ic-input-component-container{display:flex;border:var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--ic-architectural-white);box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.ic-input-component-container-full-width{width:100%}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed var(--ic-architectural-200)}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-readonly:hover{border:none;padding:0}ic-input-component-container.ic-input-component-container-error{border:var(--ic-error-border-default);padding:0}ic-input-component-container.ic-input-component-container-error:hover{border:var(--ic-error-border-hover)}ic-input-component-container.ic-input-component-container-error:focus-within{border:var(--ic-error-border-pressed)}ic-input-component-container.ic-input-component-container-warning{border:var(--ic-warning-border-default);padding:0}ic-input-component-container.ic-input-component-container-warning:hover{border:var(--ic-warning-border-hover)}ic-input-component-container.ic-input-component-container-warning:focus-within{border:var(--ic-warning-border-pressed)}ic-input-component-container.ic-input-component-container-success{border:var(--ic-success-border-default);padding:0}ic-input-component-container.ic-input-component-container-success:hover{border:var(--ic-success-border-hover)}ic-input-component-container.ic-input-component-container-success:focus-within{border:var(--ic-success-border-pressed)}ic-input-component-container.ic-input-component-container-small{height:var(--ic-space-xl)}ic-input-component-container.ic-input-component-container-large{height:var(--ic-space-xxl)}ic-input-component-container.ic-input-component-container-multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-multiline .icon-container,ic-input-component-container.ic-input-component-container-multiline.ic-input-component-container-small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.ic-input-component-container-readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.ic-input-component-container-disabled ::-moz-placeholder{display:none}ic-input-component-container.ic-input-component-container-disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-border-hover);color:var(--ic-action-dark-hover)}ic-input-component-container:focus{border:var(--ic-border-pressed)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.ic-input-component-container-dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-border-width) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed GrayText}}";
10
+ const icInputComponentContainerCss = "ic-input-component-container{display:flex;border:var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;min-height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--input-bg-color, var(--ic-color-background-primary));box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.ic-input-component-container-full-width{width:100%}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed\n var(--border-color-disabled, var(--ic-color-border-neutral-disabled))}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-small.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-large.ic-input-component-container-readonly{height:auto;background:transparent}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-readonly:hover{border:none;padding:0}ic-input-component-container.ic-input-component-container-error{border:var(--ic-space-xxxs) solid\n var(--border-color-error, var(--ic-color-border-error));padding:0}ic-input-component-container.ic-input-component-container-error:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-error-hover, var(--ic-color-border-error-hover))}ic-input-component-container.ic-input-component-container-error:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-error-pressed, var(--ic-color-border-error-pressed))}ic-input-component-container.ic-input-component-container-warning{border:var(--ic-space-xxxs) solid\n var(--border-color-warning, var(--ic-color-border-warning));padding:0}ic-input-component-container.ic-input-component-container-warning:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-warning-hover, var(--ic-color-border-warning-hover))}ic-input-component-container.ic-input-component-container-warning:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-warning-pressed, var(--ic-color-border-warning-pressed))}ic-input-component-container.ic-input-component-container-success{border:var(--ic-space-xxxs) solid\n var(--border-color-success, var(--ic-color-border-success));padding:0}ic-input-component-container.ic-input-component-container-success:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-success-hover, var(--ic-color-border-success-hover))}ic-input-component-container.ic-input-component-container-success:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-success-pressed, var(--ic-color-border-success-pressed))}ic-input-component-container.ic-input-component-container-small{height:var(--ic-space-xl);min-height:var(--ic-space-xl)}ic-input-component-container.ic-input-component-container-large{height:var(--ic-space-xxl);min-height:var(--ic-space-xxl)}ic-input-component-container.ic-input-component-container-multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-multiline .icon-container,ic-input-component-container.ic-input-component-container-multiline.ic-input-component-container-small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.ic-input-component-container-readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.ic-input-component-container-disabled ::-moz-placeholder{display:none}ic-input-component-container.ic-input-component-container-disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container .inline-success>svg{fill:var(--ic-input-component-container-success-icon-inline-color);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-input-component-container-hover-border);border-color:var(--border-color-hover, var(--ic-color-border-neutral-hover));color:var(--ic-action-monochrome-hover-dark)}ic-input-component-container:focus{border:var(--ic-border-pressed);border-color:var(\n --border-color-pressed,\n var(--ic-color-border-neutral-pressed)\n )}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.ic-input-component-container-dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-border-width) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed GrayText}}";
11
+ const IcInputComponentContainerStyle0 = icInputComponentContainerCss;
12
12
 
13
13
  const InputComponentContainer = class {
14
14
  constructor(hostRef) {
15
15
  index.registerInstance(this, hostRef);
16
- this.hostMutationCallback = (mutationList) => {
17
- if (mutationList.some(({ type, addedNodes, removedNodes }) => type === "childList"
18
- ? helpers.checkSlotInChildMutations(addedNodes, removedNodes, "left-icon")
19
- : false)) {
20
- index.forceUpdate(this);
21
- }
22
- };
23
- this.appearance = "default";
16
+ /**
17
+ * If `true`, the disabled state will be set.
18
+ */
24
19
  this.disabled = false;
20
+ /**
21
+ * If `true`, the input component container will fill the width of the container it is in.
22
+ */
25
23
  this.fullWidth = false;
24
+ /**
25
+ * If `true`, the input component container will allow for multiple lines.
26
+ */
26
27
  this.multiLine = false;
28
+ /**
29
+ * If `true`, the readonly state will be set.
30
+ */
27
31
  this.readonly = false;
28
- this.size = "default";
32
+ /**
33
+ * The size of the input component container component.
34
+ */
35
+ this.size = "medium";
36
+ /**
37
+ * If `true`, the validation will display inline.
38
+ */
29
39
  this.validationInline = false;
40
+ /**
41
+ * The validation status of the input component container - e.g. 'error' | 'warning' | 'success'.
42
+ */
30
43
  this.validationStatus = "";
31
44
  }
45
+ watchDisabledHandler() {
46
+ helpers.removeDisabledFalse(this.disabled, this.el);
47
+ }
48
+ componentWillLoad() {
49
+ helpers.removeDisabledFalse(this.disabled, this.el);
50
+ }
32
51
  componentDidLoad() {
33
- this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
52
+ this.hostMutationObserver = new MutationObserver((mutationList) => helpers.renderDynamicChildSlots(mutationList, "left-icon", this));
34
53
  this.hostMutationObserver.observe(this.el, { childList: true });
35
54
  }
36
55
  render() {
37
- const { size, validationStatus, disabled, readonly, multiLine, fullWidth, appearance, validationInline, } = this;
38
- const hasValidationStatus = this.validationStatus !== "" && !this.disabled && !this.readonly
39
- ? true
40
- : false;
41
- return (index.h(index.Host, { class: {
56
+ const { size, validationStatus, disabled, readonly, multiLine, fullWidth, validationInline, } = this;
57
+ return (index.h(index.Host, { key: 'bda1921fbfbb0d1fabf871e360aaabfbc1e6d2c5', class: {
42
58
  [`ic-input-component-container-${size}`]: true,
43
- [`ic-input-component-container-${validationStatus}`]: hasValidationStatus,
44
- [`ic-input-component-container-disabled`]: disabled,
45
- [`ic-input-component-container-readonly`]: readonly,
46
- ["ic-input-component-container-multiline"]: multiLine,
47
- ["ic-input-component-container-full-width"]: fullWidth,
48
- ["ic-input-component-container-dark"]: appearance === "dark",
49
- }, "aria-disabled": disabled && `${disabled}` }, index.h("div", { class: {
50
- "focus-indicator": true,
51
- dark: appearance === "dark",
52
- } }, helpers.slotHasContent(this.el, "left-icon") && (index.h("div", { class: {
53
- ["icon-container"]: true,
54
- } }, index.h("slot", { name: "left-icon" }))), index.h("slot", null), validationInline &&
55
- validationStatus === types.IcInformationStatus.Success && (index.h("span", { class: {
56
- ["inline-success"]: true,
57
- }, innerHTML: helpers.successIcon })))));
59
+ [`ic-input-component-container-${validationStatus}`]: validationStatus !== "" && !disabled && !readonly,
60
+ "ic-input-component-container-disabled": !!disabled,
61
+ "ic-input-component-container-readonly": !!readonly,
62
+ "ic-input-component-container-multiline": !!multiLine,
63
+ "ic-input-component-container-full-width": !!fullWidth,
64
+ }, "aria-disabled": disabled ? "true" : null }, index.h("div", { key: '6a7712e2529a513c00f9da17a55523520231d006', class: "focus-indicator" }, helpers.slotHasContent(this.el, "left-icon") && (index.h("div", { key: 'aeb5d95413df5982199725cecf2b43db73c92152', class: "icon-container" }, index.h("slot", { key: '3aab6c1ac278d1c16b60a14a14aa09876d236c4b', name: "left-icon" }))), index.h("slot", { key: 'f7bf8859b60a36b4a3e5cb6b601ceec41a9915a7' }), validationInline &&
65
+ validationStatus === helpers.IcInformationStatus.Success && (index.h("span", { key: '96e20884d38b475f5ae810ce3b557cd670e702e4', class: "inline-success", innerHTML: helpers.successIcon })))));
58
66
  }
59
67
  get el() { return index.getElement(this); }
68
+ static get watchers() { return {
69
+ "disabled": ["watchDisabledHandler"]
70
+ }; }
60
71
  };
61
- InputComponentContainer.style = icInputComponentContainerCss;
72
+ InputComponentContainer.style = IcInputComponentContainerStyle0;
62
73
 
63
74
  const icInputContainerCss = "ic-input-container .component-container{display:flex;flex-direction:column}";
75
+ const IcInputContainerStyle0 = icInputContainerCss;
64
76
 
65
77
  const InputContainer = class {
66
78
  constructor(hostRef) {
67
79
  index.registerInstance(this, hostRef);
80
+ /**
81
+ * If `true`, the disabled state will be set.
82
+ */
68
83
  this.disabled = false;
84
+ /**
85
+ * If `true`, the readonly state will be set.
86
+ */
69
87
  this.readonly = false;
70
88
  }
71
89
  render() {
72
- return (index.h(index.Host, null, index.h("div", { class: {
90
+ return (index.h(index.Host, { key: '0bc0baafaedce6b4aa3cdcb02c12a9a2287ed9aa' }, index.h("div", { key: '16d0909afb78eaf2709d62542af57024e99f162e', class: {
73
91
  ["component-container"]: true,
74
- ["disabled"]: this.disabled,
75
- ["readonly"]: this.readonly,
76
- } }, index.h("slot", null))));
92
+ ["disabled"]: !!this.disabled,
93
+ ["readonly"]: !!this.readonly,
94
+ } }, index.h("slot", { key: '8c1e04687c0566467282e7b72a65468419bbfa15' }))));
77
95
  }
78
96
  };
79
- InputContainer.style = icInputContainerCss;
97
+ InputContainer.style = IcInputContainerStyle0;
80
98
 
81
- 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{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(.ic-menu-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}.ic-menu-open.sc-ic-menu-h{max-height:none;display:block}.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-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}.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 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)}.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-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}}";
99
+ 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}}";
100
+ const IcMenuStyle0 = icMenuCss;
82
101
 
83
102
  const Menu = class {
84
103
  constructor(hostRef) {
85
104
  index.registerInstance(this, hostRef);
105
+ this.icClear = index.createEvent(this, "icClear", 7);
86
106
  this.menuKeyPress = index.createEvent(this, "menuKeyPress", 7);
87
107
  this.menuOptionId = index.createEvent(this, "menuOptionId", 7);
88
108
  this.menuOptionSelect = index.createEvent(this, "menuOptionSelect", 7);
109
+ this.menuOptionSelectAll = index.createEvent(this, "menuOptionSelectAll", 7);
89
110
  this.menuStateChange = index.createEvent(this, "menuStateChange", 7);
90
- this.menuValueChange = index.createEvent(this, "menuValueChange", 7);
91
111
  this.retryButtonClicked = index.createEvent(this, "retryButtonClicked", 7);
92
112
  this.timeoutBlur = index.createEvent(this, "timeoutBlur", 7);
93
113
  this.ungroupedOptionsSet = index.createEvent(this, "ungroupedOptionsSet", 7);
114
+ this.ACTIVE_DESCENDANT = "aria-activedescendant";
115
+ this.CLEAR_BUTTON_ID = "clear-button";
116
+ this.SEARCH_BAR_TAG = "IC-SEARCH-BAR";
94
117
  this.disabledOptionSelected = false;
95
118
  this.hasPreviouslyBlurred = false;
96
119
  this.hasTimedOut = false;
97
120
  this.isLoading = false;
121
+ this.isMultiSelect = false;
98
122
  this.isSearchBar = false;
99
123
  this.isSearchableSelect = false;
100
- // Prevents menu re-opening immediately after it is closed on blur when clicking input.
101
- this.preventClickOpen = false;
124
+ this.lastOptionSelected = null; // Index of last option selected
125
+ this.lastOptionFocused = null; // Index of last option focused
126
+ this.multiOptionClicked = null;
127
+ this.preventClickOpen = false; // Prevents menu re-opening immediately after it is closed on blur when clicking input.
128
+ this.preventMenuFocus = false; // (When multiple) ensures focus moves straight to select all button from menu.
129
+ this.shiftPressed = false;
102
130
  this.ungroupedOptions = [];
131
+ this.focusFromSearchKeypress = false;
132
+ this.initialOptionsListRender = false;
133
+ this.keyboardNav = false;
134
+ this.preventIncorrectTabOrder = false;
135
+ /**
136
+ * Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.
137
+ */
138
+ this.activationType = "automatic";
139
+ /**
140
+ * @internal If `true`, autofocus will be applied on selected item when menu is open.
141
+ */
142
+ this.autofocusOnSelected = true;
143
+ /**
144
+ * If `true`, the menu will close when an option is selected.
145
+ */
146
+ this.closeOnSelect = true;
147
+ /**
148
+ * If `true`, the menu will fill the width of the container.
149
+ */
150
+ this.fullWidth = false;
151
+ /**
152
+ * The custom name for the label field for IcMenuOption.
153
+ */
154
+ this.labelField = "label";
155
+ /**
156
+ * Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.
157
+ */
158
+ this.searchMode = "navigation";
159
+ /**
160
+ * @internal If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.
161
+ */
162
+ this.selectOnEnter = false;
163
+ /**
164
+ * The size of the menu.
165
+ */
166
+ this.size = "medium";
167
+ /**
168
+ * The custom name for the value field for IcMenuOption.
169
+ */
170
+ this.valueField = "value";
103
171
  this.handleClearListener = () => {
104
172
  this.optionHighlighted = "";
105
173
  };
@@ -109,9 +177,16 @@ const Menu = class {
109
177
  };
110
178
  this.handleMenuChange = (open, focusInput) => {
111
179
  this.menuStateChange.emit({ open, focusInput });
112
- if (!open && focusInput !== false) {
113
- this.inputEl.focus();
114
- this.preventClickOpen = false;
180
+ if (!open) {
181
+ if (focusInput !== false) {
182
+ this.inputEl.focus();
183
+ this.preventClickOpen = false;
184
+ }
185
+ // Reset optionHighlighted so previously highlighted option doesn't get reselected when Enter pressed
186
+ if (this.isMultiSelect) {
187
+ this.optionHighlighted = undefined;
188
+ this.multiOptionClicked = null;
189
+ }
115
190
  }
116
191
  };
117
192
  this.setNextOptionValue = (selectedOptionIndex) => {
@@ -143,27 +218,37 @@ const Menu = class {
143
218
  }
144
219
  };
145
220
  this.getParentEl = (parent) => {
146
- if (parent.tagName === "IC-SEARCH-BAR") {
221
+ if (parent.tagName === this.SEARCH_BAR_TAG) {
147
222
  this.isSearchBar = true;
148
223
  }
149
- else if (parent.tagName === "IC-SELECT" &&
150
- parent.getAttribute("searchable") !== null &&
151
- parent.getAttribute("searchable") !== undefined) {
152
- this.isSearchableSelect = true;
224
+ else if (parent.tagName === "IC-SELECT") {
225
+ if (parent.getAttribute("searchable") !== null &&
226
+ parent.getAttribute("searchable") !== undefined) {
227
+ this.isSearchableSelect = true;
228
+ }
229
+ else if (parent.getAttribute("multiple") !== null &&
230
+ parent.getAttribute("multiple") !== undefined) {
231
+ this.isMultiSelect = true;
232
+ }
153
233
  }
154
234
  };
235
+ // Open menu when up or down arrow keys are pressed
155
236
  this.arrowBehaviour = (event) => {
156
237
  event.preventDefault();
157
238
  this.handleMenuChange(true);
158
239
  };
159
- this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
240
+ this.getMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;
241
+ // Set option that is focused and so should show focus state
160
242
  this.setHighlightedOption = (highlightedIndex) => {
161
- const menuOptions = this.setMenuOptions();
243
+ const menuOptions = this.getMenuOptions();
162
244
  menuOptions[highlightedIndex] &&
163
245
  !menuOptions[highlightedIndex].timedOut &&
164
246
  (this.optionHighlighted =
165
247
  menuOptions[highlightedIndex][this.valueField] || undefined);
166
248
  };
249
+ // Determines keyboard behaviour when selection is automatic
250
+ // (i.e. you don't have to press Enter select an option - just focus on it)
251
+ // and menu is closed
167
252
  this.autoSetInputValueKeyboardOpen = (event) => {
168
253
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
169
254
  this.keyboardNav = false;
@@ -180,147 +265,278 @@ const Menu = class {
180
265
  break;
181
266
  case " ":
182
267
  case "Enter":
183
- if (event.target.id !== "clear-button") {
268
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
184
269
  this.handleMenuChange(true);
185
270
  }
186
271
  break;
187
272
  }
188
273
  };
189
- this.manSetInputValueKeyboardOpen = (event) => {
190
- const menuOptions = this.setMenuOptions();
191
- const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
192
- const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
274
+ this.selectHighlightedOption = (options, highlightedOptionIndex) => {
275
+ if (!this.isLoading && !this.hasTimedOut) {
276
+ this.keyboardNav = true;
277
+ }
193
278
  const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;
194
- switch (event.key) {
195
- case "ArrowDown":
196
- this.keyboardNav = true;
197
- this.arrowBehaviour(event);
198
- if (highlightedOptionIndex < menuOptions.length - 1) {
199
- this.setHighlightedOption(highlightedOptionIndex + 1);
200
- this.menuOptionId.emit({
201
- optionId: getOptionId(highlightedOptionIndex + 1),
202
- });
203
- }
204
- else {
205
- this.setHighlightedOption(0);
206
- this.menuOptionId.emit({
207
- optionId: getOptionId(0),
208
- });
279
+ if (isOpen) {
280
+ if (highlightedOptionIndex >= 0) {
281
+ if (options[highlightedOptionIndex] !== undefined) {
282
+ if (this.isSearchBar &&
283
+ options[highlightedOptionIndex].disabled === true) {
284
+ this.disabledOptionSelected = true;
285
+ }
286
+ else {
287
+ this.setInputValue(highlightedOptionIndex);
288
+ }
209
289
  }
210
- this.preventIncorrectTabOrder = false;
211
- this.focusFromSearchKeypress = false;
212
- break;
213
- case "ArrowUp":
214
- this.keyboardNav = true;
215
- this.arrowBehaviour(event);
216
- if (highlightedOptionIndex <= 0 ||
217
- highlightedOptionIndex > menuOptions.length + 1) {
218
- this.setHighlightedOption(menuOptions.length - 1);
290
+ }
291
+ else {
292
+ this.setInputValue(highlightedOptionIndex);
293
+ }
294
+ }
295
+ else {
296
+ this.handleMenuChange(true);
297
+ }
298
+ };
299
+ // Check if option is selected based on the index of the option
300
+ this.isOptionSelected = (index) => {
301
+ const menuOptions = this.getMenuOptions();
302
+ return this.value
303
+ ? this.value.includes(menuOptions[index][this.valueField])
304
+ : false;
305
+ };
306
+ // Deselect currently selected options when shift pressed, but keep certain options selected
307
+ this.deselectSelectedOptions = (optionsToKeepSelected) => {
308
+ const menuOptions = this.getMenuOptions();
309
+ if (this.value) {
310
+ const selectedOptionIndexes = this.value.map((value) => {
311
+ return menuOptions.findIndex((option) => option[this.valueField] === value);
312
+ });
313
+ // Call setInputValue (which toggles the selected state) on options that need to be deselected
314
+ selectedOptionIndexes.forEach((index) => !optionsToKeepSelected.includes(index) && this.setInputValue(index));
315
+ }
316
+ };
317
+ // Determines keyboard behaviour when selection is manual (i.e. when you have to press Enter to select an option)
318
+ this.manualSetInputValueKeyboardOpen = (event) => {
319
+ const menuOptions = this.getMenuOptions();
320
+ // For preventing focus disappearing on currently focused option when Shift / Cmd / Ctrl pressed
321
+ // (i.e. when user is likely in the middle of executing a keyboard combination to select options)
322
+ const isKeyboardCombination = event.shiftKey || event.metaKey || event.ctrlKey;
323
+ const highlightedOptionIndex = this.getOptionHighlightedIndex();
324
+ const clickedMultiOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.multiOptionClicked);
325
+ const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll("li"))[index]) === null || _a === void 0 ? void 0 : _a.id; };
326
+ // Space press should be equivalent to Enter when multi-select
327
+ if (event.key === " " && this.isMultiSelect) {
328
+ this.handleOptionSelect(event, highlightedOptionIndex);
329
+ }
330
+ else {
331
+ switch (event.key) {
332
+ case "ArrowDown":
333
+ this.keyboardNav = true;
334
+ this.arrowBehaviour(event);
335
+ if (this.multiOptionClicked) {
336
+ // Set focus to option last clicked
337
+ // Prevents it resetting to the top of the menu when user switches to using keyboard
338
+ this.setHighlightedOption(clickedMultiOptionIndex);
339
+ this.multiOptionClicked = null;
340
+ }
341
+ else {
342
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
343
+ if (highlightedOptionIndex < menuOptions.length - 1) {
344
+ this.setHighlightedOption(highlightedOptionIndex + 1);
345
+ this.menuOptionId.emit({
346
+ optionId: getOptionId(highlightedOptionIndex + 1),
347
+ });
348
+ this.handleSingleShiftSelect(event, highlightedOptionIndex + 1, menuOptions);
349
+ }
350
+ else {
351
+ this.setHighlightedOption(0);
352
+ this.menuOptionId.emit({
353
+ optionId: getOptionId(0),
354
+ });
355
+ this.handleSingleShiftSelect(event, 0, menuOptions);
356
+ }
357
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
358
+ if (this.isMultiSelect && this.shiftPressed) {
359
+ this.deselectSelectedOptions([
360
+ highlightedOptionIndex,
361
+ this.getOptionHighlightedIndex(),
362
+ ]);
363
+ this.shiftPressed = false;
364
+ }
365
+ }
366
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
367
+ this.preventIncorrectTabOrder = false;
368
+ this.focusFromSearchKeypress = false;
369
+ break;
370
+ case "ArrowUp":
371
+ this.keyboardNav = true;
372
+ this.arrowBehaviour(event);
373
+ if (this.multiOptionClicked) {
374
+ // Set focus to option last clicked
375
+ // Prevents it resetting to the bottom of the menu when user switches to using keyboard
376
+ this.setHighlightedOption(clickedMultiOptionIndex);
377
+ this.multiOptionClicked = null;
378
+ }
379
+ else {
380
+ this.handleSingleShiftSelect(event, highlightedOptionIndex, menuOptions);
381
+ if (highlightedOptionIndex <= 0 ||
382
+ highlightedOptionIndex > menuOptions.length + 1) {
383
+ this.setHighlightedOption(menuOptions.length - 1);
384
+ this.menuOptionId.emit({
385
+ optionId: getOptionId(menuOptions.length - 1),
386
+ });
387
+ this.handleSingleShiftSelect(event, menuOptions.length - 1, menuOptions);
388
+ }
389
+ else {
390
+ this.setHighlightedOption(highlightedOptionIndex - 1);
391
+ this.menuOptionId.emit({
392
+ optionId: getOptionId(highlightedOptionIndex - 1),
393
+ });
394
+ this.handleSingleShiftSelect(event, highlightedOptionIndex - 1, menuOptions);
395
+ }
396
+ // Deselect currently selected options if arrow was pressed for first time after shift is held
397
+ if (this.isMultiSelect && this.shiftPressed) {
398
+ this.deselectSelectedOptions([
399
+ highlightedOptionIndex,
400
+ this.getOptionHighlightedIndex(),
401
+ ]);
402
+ this.shiftPressed = false;
403
+ }
404
+ }
405
+ this.lastOptionFocused = this.getOptionHighlightedIndex();
406
+ this.preventIncorrectTabOrder = false;
407
+ this.focusFromSearchKeypress = false;
408
+ break;
409
+ case "Home": {
410
+ const startOptionIndex = 0;
411
+ this.keyboardNav = true;
412
+ event.preventDefault();
413
+ this.arrowBehaviour(event);
414
+ this.setHighlightedOption(startOptionIndex);
219
415
  this.menuOptionId.emit({
220
- optionId: getOptionId(menuOptions.length - 1),
416
+ optionId: getOptionId(startOptionIndex),
221
417
  });
418
+ if (event.shiftKey && event.ctrlKey) {
419
+ this.handleMultipleShiftSelect(startOptionIndex);
420
+ }
421
+ this.lastOptionFocused = startOptionIndex;
422
+ this.lastOptionSelected = startOptionIndex;
423
+ break;
222
424
  }
223
- else {
224
- this.setHighlightedOption(highlightedOptionIndex - 1);
425
+ case "End": {
426
+ const endOptionIndex = menuOptions.length - 1;
427
+ this.keyboardNav = true;
428
+ event.preventDefault();
429
+ this.arrowBehaviour(event);
430
+ this.setHighlightedOption(endOptionIndex);
225
431
  this.menuOptionId.emit({
226
- optionId: getOptionId(highlightedOptionIndex - 1),
432
+ optionId: getOptionId(endOptionIndex),
227
433
  });
228
- }
229
- this.preventIncorrectTabOrder = false;
230
- this.focusFromSearchKeypress = false;
231
- break;
232
- case "Home":
233
- this.keyboardNav = true;
234
- event.preventDefault();
235
- this.arrowBehaviour(event);
236
- this.setHighlightedOption(0);
237
- this.menuOptionId.emit({
238
- optionId: getOptionId(0),
239
- });
240
- break;
241
- case "End":
242
- this.keyboardNav = true;
243
- event.preventDefault();
244
- this.arrowBehaviour(event);
245
- this.setHighlightedOption(menuOptions.length - 1);
246
- this.menuOptionId.emit({
247
- optionId: getOptionId(menuOptions.length - 1),
248
- });
249
- break;
250
- case " ":
251
- this.keyboardNav = false;
252
- if (this.isSearchBar || this.isSearchableSelect) {
434
+ if (event.shiftKey && event.ctrlKey) {
435
+ this.handleMultipleShiftSelect(endOptionIndex);
436
+ }
437
+ this.lastOptionFocused = endOptionIndex;
438
+ this.lastOptionSelected = endOptionIndex;
253
439
  break;
254
440
  }
255
- else {
256
- if (event.target.id !== "clear-button") {
257
- this.handleMenuChange(true);
441
+ case " ":
442
+ if (!isKeyboardCombination) {
443
+ this.keyboardNav = false;
258
444
  }
259
- }
260
- break;
261
- case "Enter":
262
- event.preventDefault();
263
- this.keyboardNav = false;
264
- if (isOpen) {
265
- if (highlightedOptionIndex >= 0) {
266
- if (menuOptions[highlightedOptionIndex] !== undefined) {
267
- if (this.isSearchBar &&
268
- menuOptions[highlightedOptionIndex].disabled === true) {
269
- this.disabledOptionSelected = true;
270
- }
271
- else {
272
- this.setInputValue(highlightedOptionIndex);
273
- this.value =
274
- menuOptions[highlightedOptionIndex][this.valueField];
275
- }
445
+ if (this.isSearchBar || this.isSearchableSelect) {
446
+ break;
447
+ }
448
+ else {
449
+ if (event.target.id !== this.CLEAR_BUTTON_ID) {
450
+ this.handleMenuChange(true);
451
+ }
452
+ }
453
+ break;
454
+ case "Enter":
455
+ event.preventDefault();
456
+ if (!isKeyboardCombination) {
457
+ this.keyboardNav = false;
458
+ }
459
+ this.handleOptionSelect(event, highlightedOptionIndex);
460
+ break;
461
+ case "Escape":
462
+ if (this.open) {
463
+ event.stopImmediatePropagation();
464
+ }
465
+ this.handleMenuChange(false);
466
+ this.menuOptionId.emit({ optionId: undefined });
467
+ break;
468
+ case "a":
469
+ // Checks if Cmd (meta) key is pressed if Mac device (while excluding meta key on Windows)
470
+ // Otherwise, if a different OS, checks Ctrl key
471
+ if ((helpers.isMacDevice() && event.metaKey) ||
472
+ (!helpers.isMacDevice() && event.ctrlKey)) {
473
+ this.emitSelectAllEvents();
474
+ this.lastOptionFocused = null;
475
+ this.lastOptionSelected = null;
476
+ }
477
+ break;
478
+ case "Shift":
479
+ case "Tab":
480
+ if (event.key === "Shift") {
481
+ this.shiftPressed = true;
482
+ }
483
+ if (this.isSearchBar) {
484
+ this.keyboardNav = true;
485
+ }
486
+ if (this.isMultiSelect) {
487
+ if (this.open && !event.shiftKey && this.selectAllButton) {
488
+ event.preventDefault();
489
+ this.selectAllButton.focus(); // Move focus to select all button instead of focused option
490
+ this.preventMenuFocus = true;
491
+ this.preventClickOpen = true;
492
+ this.optionHighlighted = undefined; // Stop any option focus states showing when focus moved to select all button
276
493
  }
277
494
  }
278
495
  else {
279
- this.setInputValue(highlightedOptionIndex);
496
+ this.preventIncorrectTabOrder = true;
280
497
  }
281
- }
282
- else {
283
- this.handleMenuChange(true);
284
- }
285
- break;
286
- case "Escape":
287
- if (this.open) {
288
- event.stopImmediatePropagation();
289
- }
290
- this.handleMenuChange(false);
291
- this.menuOptionId.emit({ optionId: undefined });
292
- break;
293
- case "Shift":
294
- case "Tab":
295
- if (this.isSearchBar) {
296
- this.keyboardNav = true;
297
- }
298
- this.preventIncorrectTabOrder = true;
299
- break;
300
- default:
301
- this.keyboardNav = false;
302
- this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
303
- break;
498
+ break;
499
+ default:
500
+ if (!isKeyboardCombination) {
501
+ this.keyboardNav = false;
502
+ }
503
+ this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);
504
+ }
304
505
  }
305
506
  };
306
507
  this.setInputValue = (highlightedOptionIndex) => {
307
- const menuOptions = this.setMenuOptions();
508
+ const menuOptions = this.getMenuOptions();
308
509
  if (menuOptions[highlightedOptionIndex] !== undefined) {
309
510
  this.menuOptionSelect.emit({
310
511
  value: menuOptions[highlightedOptionIndex][this.valueField],
311
512
  });
312
- this.optionHighlighted = undefined;
313
- this.menuOptionId.emit({ optionId: undefined });
513
+ if (this.closeOnSelect) {
514
+ this.optionHighlighted = undefined;
515
+ this.menuOptionId.emit({ optionId: undefined });
516
+ }
517
+ }
518
+ if (this.closeOnSelect) {
519
+ if (!this.hasTimedOut) {
520
+ this.handleMenuChange(false);
521
+ }
522
+ else {
523
+ this.parentEl.setFocus();
524
+ }
314
525
  }
315
- if (!this.hasTimedOut)
316
- this.handleMenuChange(false);
317
- else
318
- this.parentEl.setFocus();
319
526
  };
320
527
  this.handleOptionClick = (event) => {
321
528
  const { value, label } = event.target.dataset;
322
- this.menuOptionSelect.emit({ value, label });
323
- this.handleMenuChange(false);
529
+ if (this.isMultiSelect) {
530
+ const menuOptions = this.getMenuOptions();
531
+ const selectedOptionIndex = menuOptions.findIndex((option) => option.value === value);
532
+ this.handleOptionSelect(event, selectedOptionIndex, true);
533
+ this.multiOptionClicked = value || null;
534
+ }
535
+ else {
536
+ this.menuOptionSelect.emit({ value, label });
537
+ this.handleMenuChange(false);
538
+ }
539
+ this.optionHighlighted = undefined;
324
540
  };
325
541
  this.handleRetry = () => {
326
542
  this.retryButtonClicked.emit({ value: this.value });
@@ -332,14 +548,25 @@ const Menu = class {
332
548
  }
333
549
  };
334
550
  this.handleBlur = (event) => {
551
+ var _a, _b, _c, _d;
335
552
  if (event.relatedTarget !== this.inputEl) {
336
- if (!this.menu.contains(event.relatedTarget)) {
553
+ if (event.relatedTarget === this.selectAllButton) {
554
+ (_a = this.menu) === null || _a === void 0 ? void 0 : _a.removeAttribute(this.ACTIVE_DESCENDANT);
555
+ }
556
+ if (!(((_b = this.menu) === null || _b === void 0 ? void 0 : _b.contains(event.relatedTarget)) ||
557
+ event.relatedTarget === this.selectAllButton)) {
337
558
  this.handleMenuChange(false, this.hasPreviouslyBlurred);
559
+ (_c = this.menu) === null || _c === void 0 ? void 0 : _c.removeAttribute(this.ACTIVE_DESCENDANT);
560
+ this.lastOptionFocused = null;
561
+ this.lastOptionSelected = null;
338
562
  }
339
563
  }
340
564
  else {
341
565
  this.handleMenuChange(false);
342
566
  this.preventClickOpen = true;
567
+ (_d = this.menu) === null || _d === void 0 ? void 0 : _d.removeAttribute(this.ACTIVE_DESCENDANT);
568
+ this.lastOptionFocused = null;
569
+ this.lastOptionSelected = null;
343
570
  }
344
571
  if (!this.isSearchBar)
345
572
  this.hasPreviouslyBlurred = !!event.relatedTarget;
@@ -352,12 +579,115 @@ const Menu = class {
352
579
  this.autoSetValueOnMenuKeyDown(event);
353
580
  }
354
581
  else if (this.activationType === "manual" && !this.isSearchBar) {
355
- this.manSetInputValueKeyboardOpen(event);
582
+ this.manualSetInputValueKeyboardOpen(event);
583
+ }
584
+ };
585
+ this.handleMenuKeyUp = (event) => {
586
+ if (event.key === "Tab" && event.shiftKey) {
587
+ this.preventClickOpen = false;
588
+ }
589
+ if (event.key === "Enter" && this.disabledOptionSelected) {
590
+ this.disabledOptionSelected = false;
591
+ event.stopImmediatePropagation();
592
+ }
593
+ if (event.key === "Shift") {
594
+ this.shiftPressed = false;
595
+ }
596
+ };
597
+ this.handleSelectAllClick = () => {
598
+ var _a;
599
+ this.keyboardNav = false;
600
+ (_a = this.menu) === null || _a === void 0 ? void 0 : _a.focus();
601
+ this.emitSelectAllEvents();
602
+ this.lastOptionFocused = null;
603
+ this.lastOptionSelected = null;
604
+ };
605
+ this.handleSelectAllBlur = (event) => {
606
+ var _a;
607
+ this.host.classList.remove("ic-select-select-all-focused");
608
+ if (!((_a = this.menu) === null || _a === void 0 ? void 0 : _a.contains(event.relatedTarget))) {
609
+ this.handleMenuChange(false, false);
610
+ }
611
+ };
612
+ this.handleSelectAllFocus = () => {
613
+ this.host.classList.add("ic-select-select-all-focused");
614
+ this.lastOptionFocused = null;
615
+ this.lastOptionSelected = null;
616
+ };
617
+ // Fix for Safari - select all button click was causing menu to close
618
+ this.handleSelectAllMouseDown = (event) => {
619
+ event.preventDefault();
620
+ };
621
+ // When shift key is being used to select contiguous options one by one on a multi-select
622
+ // I.e. holding shift and pressing up and down arrow keys
623
+ this.handleSingleShiftSelect = (event, optionToSelectIndex, options) => {
624
+ if (this.isMultiSelect &&
625
+ event.shiftKey &&
626
+ !this.isOptionSelected(optionToSelectIndex)) {
627
+ this.selectHighlightedOption(options, optionToSelectIndex);
628
+ this.lastOptionSelected = optionToSelectIndex;
629
+ }
630
+ };
631
+ // When shift key is being used to select multiple options at once on a multi-select
632
+ // I.e. holding shift when selecting another option
633
+ this.handleMultipleShiftSelect = (lastOptionInSelection, useFocusForSelection = false, firstOptionSelected = null) => {
634
+ this.shiftPressed = false;
635
+ const firstOptionInSelection = firstOptionSelected === null
636
+ ? this.getFirstOptionInSelection(useFocusForSelection)
637
+ : firstOptionSelected;
638
+ if (firstOptionInSelection !== null) {
639
+ const optionsToSelect = [];
640
+ if (firstOptionInSelection < lastOptionInSelection) {
641
+ for (let i = firstOptionInSelection; i < lastOptionInSelection + 1; i++) {
642
+ optionsToSelect.push(i);
643
+ }
644
+ }
645
+ else {
646
+ for (let i = firstOptionInSelection; i > lastOptionInSelection - 1; i--) {
647
+ optionsToSelect.push(i);
648
+ }
649
+ }
650
+ optionsToSelect.forEach((optionIndex) => !this.isOptionSelected(optionIndex) && this.setInputValue(optionIndex));
651
+ this.deselectSelectedOptions(optionsToSelect);
652
+ }
653
+ };
654
+ this.handleOptionSelect = (event, optionIndex, useFocusForSelection = false) => {
655
+ const menuOptions = this.getMenuOptions();
656
+ const firstOptionInSelection = this.getFirstOptionInSelection(useFocusForSelection);
657
+ if (event.shiftKey && firstOptionInSelection !== null) {
658
+ this.handleMultipleShiftSelect(optionIndex, useFocusForSelection, firstOptionInSelection);
659
+ }
660
+ else {
661
+ this.selectHighlightedOption(menuOptions, optionIndex);
662
+ }
663
+ this.lastOptionFocused = optionIndex;
664
+ this.lastOptionSelected = optionIndex;
665
+ };
666
+ this.getFirstOptionInSelection = (useFocusForSelection) => {
667
+ return useFocusForSelection && this.lastOptionFocused !== null
668
+ ? this.lastOptionFocused
669
+ : this.lastOptionSelected !== null
670
+ ? this.lastOptionSelected
671
+ : null;
672
+ };
673
+ this.emitSelectAllEvents = () => {
674
+ var _a, _b;
675
+ // Select all if there is either no value or not all options are selected
676
+ // 'true' means select all, 'false' means clear all
677
+ this.menuOptionSelectAll.emit({
678
+ select: !this.value || !(((_a = this.value) === null || _a === void 0 ? void 0 : _a.length) === this.ungroupedOptions.length),
679
+ });
680
+ // Emit clear event if all options are selected
681
+ if (((_b = this.value) === null || _b === void 0 ? void 0 : _b.length) === this.ungroupedOptions.length) {
682
+ this.icClear.emit();
356
683
  }
357
684
  };
358
685
  this.emitMenuKeyPress = (isNavKey, key) => {
359
686
  this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });
360
687
  };
688
+ // Determines keyboard behaviour when selection is automatic
689
+ // (i.e. you don't have to press Enter select an option - just focus on it)
690
+ // and menu is focused
361
691
  this.autoSetValueOnMenuKeyDown = (event) => {
362
692
  event.cancelBubble = true;
363
693
  const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);
@@ -417,15 +747,6 @@ const Menu = class {
417
747
  }
418
748
  this.emitMenuKeyPress(this.keyboardNav, event.key);
419
749
  };
420
- this.handleMenuKeyUp = (event) => {
421
- if (event.key === "Tab" && event.shiftKey) {
422
- this.preventClickOpen = false;
423
- }
424
- if (event.key === "Enter" && this.disabledOptionSelected) {
425
- this.disabledOptionSelected = false;
426
- event.stopImmediatePropagation();
427
- }
428
- };
429
750
  this.getOptionId = (value) => {
430
751
  return `${this.menuId}-${value}`;
431
752
  };
@@ -451,8 +772,13 @@ const Menu = class {
451
772
  }
452
773
  return sorted;
453
774
  };
775
+ this.getOptionHighlightedIndex = () => {
776
+ const menuOptions = this.getMenuOptions();
777
+ return menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);
778
+ };
454
779
  this.isManualMode = this.activationType === "manual";
455
780
  this.scrollToSelected = (menu) => {
781
+ var _a;
456
782
  const selectedOption = this.selectOnEnter
457
783
  ? this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`)
458
784
  : menu.querySelector(".option[aria-selected='true']");
@@ -462,9 +788,14 @@ const Menu = class {
462
788
  elTop < menu.scrollTop + menu.offsetHeight) {
463
789
  menu.scrollTop = selectedOption.offsetTop;
464
790
  }
791
+ // 'aria-activedescendant' affects screen reader focus
792
+ // https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/#kbd_focus_activedescendant
793
+ (_a = this.menu) === null || _a === void 0 ? void 0 : _a.setAttribute(this.ACTIVE_DESCENDANT, selectedOption.id);
465
794
  selectedOption.focus();
466
795
  }
467
796
  };
797
+ // Set 'ungroupedOptions' variable and emit its value
798
+ // - this is all the options with disabled options and group titles removed
468
799
  this.loadUngroupedOptions = () => {
469
800
  if (this.options.length > 0 && this.options.map) {
470
801
  this.options.map((option) => {
@@ -480,66 +811,51 @@ const Menu = class {
480
811
  this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });
481
812
  };
482
813
  this.setMenuScrollbar = () => {
814
+ var _a;
483
815
  let optionsHeight = 0;
484
816
  this.host
485
817
  .querySelectorAll(".option")
486
818
  .forEach((option) => (optionsHeight += option.clientHeight));
487
819
  if (optionsHeight >= 320) {
488
- this.menu.classList.add("menu-scroll");
820
+ (_a = this.menu) === null || _a === void 0 ? void 0 : _a.classList.add("menu-scroll");
489
821
  }
490
822
  };
491
823
  this.handleTimeoutBlur = (ev) => {
492
824
  this.timeoutBlur.emit({ ev });
493
825
  };
494
- this.optionContent = (option) => {
826
+ this.optionContent = (option, selected) => {
495
827
  var _a;
496
- return (index.h(index.Fragment, null, option.loading && index.h("ic-loading-indicator", { size: "icon" }), index.h("div", { class: "option-text-container" }, index.h("div", { class: "option-label" }, option.icon && (index.h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), index.h("ic-typography", { variant: "body", "aria-hidden": "true" }, option[this.labelField])), option.description && (index.h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, index.h("p", null, option.description))), option.element && (index.h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), !!option[this.valueField] &&
828
+ const showCheckIcon = !!option[this.valueField] &&
497
829
  !!this.value &&
498
- option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&
499
- this.parentEl.tagName !== "IC-SEARCH-BAR" && (index.h("span", { class: "check-icon", innerHTML: checkIcon.Check }))));
830
+ selected &&
831
+ ((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.tagName) !== this.SEARCH_BAR_TAG;
832
+ return (index.h(index.Fragment, null, option.loading && index.h("ic-loading-indicator", { size: "icon" }), index.h("div", { class: {
833
+ "option-text-container": true,
834
+ "show-check-icon": showCheckIcon,
835
+ } }, index.h("div", { class: "option-label" }, option.icon && (index.h("div", { class: "option-icon", innerHTML: option.icon, "aria-hidden": "true" })), index.h("ic-typography", { variant: "body", "aria-hidden": "true" }, option[this.labelField])), option.description && (index.h("ic-typography", { id: `${this.getOptionId(option[this.valueField])}-description`, class: "option-description", variant: "caption", "aria-hidden": "true" }, index.h("p", null, option.description))), option.element && (index.h("div", { class: "option-element", innerHTML: option.element.component, "aria-hidden": "true" }))), showCheckIcon && index.h("span", { class: "check-icon", innerHTML: checkIcon.Check })));
500
836
  };
501
- this.displayOption = (option, index$1, parentOption) => {
502
- const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
837
+ this.displayOption = (option, selected, index$1, parentOption) => {
838
+ const { open, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;
503
839
  return (index.h("li", { id: this.getOptionId(option[this.valueField]), class: {
504
840
  option: true,
505
841
  "focused-option": isManualMode
506
842
  ? (keyboardNav || initialOptionsListRender) &&
507
843
  option[this.valueField] === optionHighlighted
508
- : keyboardNav && option[this.valueField] === value,
509
- "last-recommended-option": option.recommended &&
844
+ : keyboardNav && selected,
845
+ "last-recommended-option": !!(option.recommended &&
510
846
  options[index$1 + 1] &&
511
- !options[index$1 + 1].recommended,
512
- "disabled-option": option.disabled,
513
- "loading-option": option.loading,
514
- timeout: option.timedOut,
847
+ !options[index$1 + 1].recommended),
848
+ "disabled-option": !!option.disabled,
849
+ "loading-option": !!option.loading,
850
+ timeout: !!option.timedOut,
515
851
  }, role: "option", tabindex: open &&
516
- (option[this.valueField] === value ||
517
- option[this.valueField] === optionHighlighted) &&
852
+ (selected || option[this.valueField] === optionHighlighted) &&
518
853
  keyboardNav
519
854
  ? "0"
520
- : "-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 ? (index.h(index.Fragment, null, index.h("div", { class: "loading-error-info" }, index.h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, index.h("title", { id: "error-title" }, "Error"), index.h("g", { id: "close-octagon" }, index.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" }))), index.h("ic-typography", { variant: "label" }, option[this.labelField])), index.h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option))));
855
+ : "-1", "aria-label": this.getOptionAriaLabel(option, parentOption), "aria-selected": selected ? "true" : "false", "aria-disabled": option.disabled ? "true" : "false", onClick: !option.timedOut && !option.loading
856
+ ? this.handleOptionClick
857
+ : undefined, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, "data-value": option[this.valueField], "data-label": option[this.labelField] }, option.timedOut ? (index.h(index.Fragment, null, index.h("div", { class: "loading-error-info" }, index.h("svg", { class: "error-icon-svg", "aria-labelledby": "error-title", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#000000" }, index.h("title", { id: "error-title" }, "Error"), index.h("g", { id: "close-octagon" }, index.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" }))), index.h("ic-typography", { variant: "label" }, option[this.labelField])), index.h("ic-button", { size: "small", variant: "tertiary", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: "retry-button" }, "Retry"))) : (this.optionContent(option, selected))));
521
858
  };
522
- this.focusFromSearchKeypress = false;
523
- this.initialOptionsListRender = false;
524
- this.keyboardNav = false;
525
- this.optionHighlighted = undefined;
526
- this.preventIncorrectTabOrder = false;
527
- this.activationType = "automatic";
528
- this.anchorEl = undefined;
529
- this.autoFocusOnSelected = true;
530
- this.fullWidth = false;
531
- this.inputEl = undefined;
532
- this.inputLabel = undefined;
533
- this.labelField = "label";
534
- this.menuId = undefined;
535
- this.open = undefined;
536
- this.parentEl = undefined;
537
- this.searchMode = "navigation";
538
- this.selectOnEnter = false;
539
- this.size = "default";
540
- this.options = undefined;
541
- this.value = undefined;
542
- this.valueField = "value";
543
859
  }
544
860
  watchOpenHandler() {
545
861
  if (!this.open && this.popperInstance) {
@@ -553,11 +869,8 @@ const Menu = class {
553
869
  this.ungroupedOptions = [];
554
870
  this.loadUngroupedOptions();
555
871
  }
556
- watchValueHandler() {
557
- this.menuValueChange.emit({ value: this.value });
558
- }
559
872
  connectedCallback() {
560
- this.getParentEl(this.parentEl);
873
+ this.parentEl && this.getParentEl(this.parentEl);
561
874
  if (this.isSearchBar) {
562
875
  if (this.searchMode === "navigation")
563
876
  this.setHighlightedOption(0);
@@ -565,19 +878,20 @@ const Menu = class {
565
878
  }
566
879
  }
567
880
  disconnectedCallback() {
881
+ var _a, _b;
568
882
  if (this.popperInstance) {
569
883
  this.popperInstance.destroy();
570
884
  }
571
- this.parentEl.removeEventListener("icClear", this.handleClearListener);
572
- this.parentEl.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
885
+ (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener("icClear", this.handleClearListener);
886
+ (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener("icSubmitSearch", this.handleSubmitSearch);
573
887
  }
574
888
  componentWillLoad() {
575
- var _a, _b;
889
+ var _a, _b, _c, _d;
576
890
  this.loadUngroupedOptions();
577
- this.parentEl.addEventListener("icClear", this.handleClearListener);
578
- this.parentEl.addEventListener("icSubmitSearch", this.handleSubmitSearch);
579
- this.hasTimedOut = (_a = this.options) === null || _a === void 0 ? void 0 : _a.some((opt) => opt.timedOut);
580
- this.isLoading = (_b = this.options) === null || _b === void 0 ? void 0 : _b.some((opt) => opt.loading);
891
+ (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.addEventListener("icClear", this.handleClearListener);
892
+ (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.addEventListener("icSubmitSearch", this.handleSubmitSearch);
893
+ this.hasTimedOut = (_c = this.options) === null || _c === void 0 ? void 0 : _c.some((opt) => opt.timedOut);
894
+ this.isLoading = (_d = this.options) === null || _d === void 0 ? void 0 : _d.some((opt) => opt.loading);
581
895
  }
582
896
  componentDidLoad() {
583
897
  if (this.isSearchBar &&
@@ -594,16 +908,18 @@ const Menu = class {
594
908
  }
595
909
  componentDidUpdate() {
596
910
  const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);
597
- if (this.open && this.options.length !== 0) {
911
+ if (this.menu &&
912
+ this.open &&
913
+ this.options.length !== 0 &&
914
+ !this.preventMenuFocus) {
598
915
  if (this.value &&
599
916
  this.keyboardNav &&
600
917
  inputValueInOptions &&
601
- this.autoFocusOnSelected &&
918
+ this.autofocusOnSelected &&
602
919
  !this.isSearchableSelect) {
603
920
  this.scrollToSelected(this.menu);
604
921
  }
605
- else if (this.inputEl.tagName !== "IC-TEXT-FIELD" &&
606
- this.inputEl.tagName !== "INPUT") {
922
+ else if (this.selectOnEnter) {
607
923
  this.menu.focus();
608
924
  }
609
925
  else if (!!this.optionHighlighted &&
@@ -611,13 +927,18 @@ const Menu = class {
611
927
  !this.preventIncorrectTabOrder) {
612
928
  const highlightedEl = this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);
613
929
  if (highlightedEl) {
930
+ this.menu.setAttribute(this.ACTIVE_DESCENDANT, highlightedEl.id);
614
931
  highlightedEl.focus();
615
932
  }
616
933
  }
934
+ else if (this.inputEl.tagName !== "INPUT") {
935
+ this.menu.focus();
936
+ }
617
937
  }
618
- if (this.open && !this.value && this.selectOnEnter) {
938
+ if (this.menu && this.open && !this.value && this.selectOnEnter) {
619
939
  this.scrollToSelected(this.menu);
620
940
  }
941
+ this.preventMenuFocus = false;
621
942
  }
622
943
  componentDidRender() {
623
944
  if (this.open && !this.popperInstance && this.anchorEl) {
@@ -647,7 +968,7 @@ const Menu = class {
647
968
  this.autoSetInputValueKeyboardOpen(event);
648
969
  }
649
970
  else {
650
- this.manSetInputValueKeyboardOpen(event);
971
+ this.manualSetInputValueKeyboardOpen(event);
651
972
  }
652
973
  }
653
974
  /**
@@ -662,8 +983,9 @@ const Menu = class {
662
983
  * boundary behaviour so sticking with PopperJS.
663
984
  */
664
985
  async initPopperJs(anchor) {
986
+ // Placements set to "-start" to accommodate for custom menu width - menu should always be aligned to the left
665
987
  this.popperInstance = popper.createPopper(anchor, this.host, {
666
- placement: "bottom",
988
+ placement: "bottom-start",
667
989
  modifiers: [
668
990
  {
669
991
  name: "offset",
@@ -674,7 +996,7 @@ const Menu = class {
674
996
  {
675
997
  name: "flip",
676
998
  options: {
677
- fallbackPlacements: ["top"],
999
+ fallbackPlacements: ["top-start"],
678
1000
  rootBoundary: "viewport",
679
1001
  },
680
1002
  },
@@ -695,34 +1017,55 @@ const Menu = class {
695
1017
  this.focusFromSearchKeypress = true;
696
1018
  }
697
1019
  render() {
698
- const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, } = this;
699
- return (index.h(index.Host, { class: {
700
- "ic-menu-full-width": fullWidth,
701
- "ic-menu-no-focus": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" || hasTimedOut || isLoading,
1020
+ const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, } = this;
1021
+ const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
1022
+ const hasNoResults = this.host.classList.contains("no-results");
1023
+ return (index.h(index.Host, { key: 'da6a6114d695c99a303ddae835ebbdb81c4bf0e8', class: {
1024
+ "ic-menu-full-width": !!fullWidth,
1025
+ "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
1026
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
1027
+ hasTimedOut ||
1028
+ isLoading,
702
1029
  [`ic-menu-${size}`]: true,
703
- "ic-menu-open": open,
704
- } }, options.length !== 0 && (index.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$1) => {
1030
+ "ic-menu-open": open && options.length !== 0,
1031
+ "ic-menu-multiple": this.isMultiSelect,
1032
+ } }, options.length !== 0 && (index.h("ul", { key: '8a6b17763235c84e94621e2f83c3a02302f5a8bc', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": this.isMultiSelect ? "true" : "false", tabindex: open &&
1033
+ !keyboardNav &&
1034
+ ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
1035
+ (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
1036
+ ? "0"
1037
+ : "-1", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index$1) => {
705
1038
  if (option.children) {
706
1039
  if (option.children.length > 0) {
707
- return (index.h("div", null, index.h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, index.h("p", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index$1, option))));
1040
+ return (index.h("div", null, index.h("ic-typography", { class: "option-group-title", role: "presentation", variant: "subtitle-small" }, index.h("p", null, option[this.labelField])), option.children.map((childOption) => childOption.label &&
1041
+ this.displayOption(childOption, this.isMultiSelect
1042
+ ? value === null || value === void 0 ? void 0 : value.includes(childOption[this.valueField])
1043
+ : childOption[this.valueField] === value, index$1, option))));
708
1044
  }
709
1045
  else {
710
1046
  return null;
711
1047
  }
712
1048
  }
713
1049
  else {
714
- return this.displayOption(option, index$1);
1050
+ // Display option only if it has a label (rather than displaying an empty space)
1051
+ return (option.label &&
1052
+ this.displayOption(option, this.isMultiSelect
1053
+ ? value === null || value === void 0 ? void 0 : value.includes(option[this.valueField])
1054
+ : option[this.valueField] === value, index$1));
715
1055
  }
716
- })))));
1056
+ }))), options.length !== 0 &&
1057
+ this.isMultiSelect &&
1058
+ !isLoading &&
1059
+ !hasTimedOut &&
1060
+ !hasNoResults && (index.h("div", { key: '453d9a11e3933a48aa85f39f686bdf98a6ba0953', class: "option-bar" }, index.h("ic-typography", { key: '8ca77bff0d3fbbc4264e83ff815f2de5ff98670c' }, index.h("p", { key: '6262a580c6071c81146e082f2e839a06efd90461' }, `${value ? value.length : 0}/${helpers.getOptionsWithoutGroupTitlesCount(this.options)} selected`)), index.h("ic-button", { key: '192c92dec9525bc2bf3fe386414b292483d25d72', 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)))));
717
1061
  }
718
1062
  get host() { return index.getElement(this); }
719
1063
  static get watchers() { return {
720
1064
  "open": ["watchOpenHandler"],
721
- "options": ["watchOptionsHandler"],
722
- "value": ["watchValueHandler"]
1065
+ "options": ["watchOptionsHandler"]
723
1066
  }; }
724
1067
  };
725
- Menu.style = icMenuCss;
1068
+ Menu.style = IcMenuStyle0;
726
1069
 
727
1070
  exports.ic_input_component_container = InputComponentContainer;
728
1071
  exports.ic_input_container = InputContainer;