@ukic/web-components 3.0.0 → 3.2.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 +34 -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-789082d4.js} +159 -75
  7. package/dist/cjs/helpers-789082d4.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 +93 -46
  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 +91 -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 +366 -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 +122 -45
  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 +418 -199
  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 +62 -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 +54 -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 +30 -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 +3 -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 +52 -19
  142. package/dist/collection/components/ic-alert/ic-alert.js +164 -50
  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 +160 -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 +722 -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 +2364 -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 +115 -104
  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 +80 -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 +18 -10
  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 +298 -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 +13 -20
  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 +45 -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 +52 -51
  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 +60 -65
  261. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +188 -62
  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 +59 -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 +591 -248
  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 +64 -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 +231 -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 +27 -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 +69 -126
  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 +121 -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 +188 -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 +123 -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 +57 -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 +97 -68
  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 +151 -70
  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 +98 -47
  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 +93 -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 +53 -12
  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 +42 -23
  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 +125 -45
  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 +421 -199
  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 +91 -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 +59 -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 +75 -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-005cd8a8.entry.js +2 -0
  523. package/dist/core/p-005cd8a8.entry.js.map +1 -0
  524. package/dist/core/p-0631c3ab.entry.js +2 -0
  525. package/dist/core/p-0631c3ab.entry.js.map +1 -0
  526. package/dist/core/p-0a8b3967.entry.js +2 -0
  527. package/dist/core/p-0a8b3967.entry.js.map +1 -0
  528. package/dist/core/p-0b4350df.entry.js +2 -0
  529. package/dist/core/p-0b4350df.entry.js.map +1 -0
  530. package/dist/core/p-0e618fc5.entry.js +2 -0
  531. package/dist/core/p-0e618fc5.entry.js.map +1 -0
  532. package/dist/core/p-18ecba80.entry.js +2 -0
  533. package/dist/core/p-18ecba80.entry.js.map +1 -0
  534. package/dist/core/p-1e4cdd2d.entry.js +2 -0
  535. package/dist/core/p-1e4cdd2d.entry.js.map +1 -0
  536. package/dist/core/p-23d059ff.entry.js +2 -0
  537. package/dist/core/p-23d059ff.entry.js.map +1 -0
  538. package/dist/core/{p-54238d16.entry.js → p-23ed8b99.entry.js} +2 -2
  539. package/dist/core/p-23ed8b99.entry.js.map +1 -0
  540. package/dist/core/p-281ce313.js +2 -0
  541. package/dist/core/p-281ce313.js.map +1 -0
  542. package/dist/core/p-30abe545.entry.js +2 -0
  543. package/dist/core/p-30abe545.entry.js.map +1 -0
  544. package/dist/core/p-3132270d.entry.js +2 -0
  545. package/dist/core/p-3132270d.entry.js.map +1 -0
  546. package/dist/core/p-33c86ba6.entry.js +2 -0
  547. package/dist/core/p-33c86ba6.entry.js.map +1 -0
  548. package/dist/core/p-3675c4b4.entry.js +2 -0
  549. package/dist/core/p-3675c4b4.entry.js.map +1 -0
  550. package/dist/core/p-3b185c32.js.map +1 -1
  551. package/dist/core/p-3b5d3e24.entry.js +2 -0
  552. package/dist/core/p-3b5d3e24.entry.js.map +1 -0
  553. package/dist/core/p-3eb7ef1d.entry.js +2 -0
  554. package/dist/core/p-3eb7ef1d.entry.js.map +1 -0
  555. package/dist/core/{p-a87d13b3.entry.js → p-40f2f58e.entry.js} +2 -2
  556. package/dist/core/p-40f2f58e.entry.js.map +1 -0
  557. package/dist/core/p-4245a976.entry.js +2 -0
  558. package/dist/core/p-4245a976.entry.js.map +1 -0
  559. package/dist/core/p-426ec638.js.map +1 -1
  560. package/dist/core/p-44e4e8c1.entry.js +2 -0
  561. package/dist/core/p-44e4e8c1.entry.js.map +1 -0
  562. package/dist/core/p-45432bf5.entry.js +2 -0
  563. package/dist/core/p-45432bf5.entry.js.map +1 -0
  564. package/dist/core/p-4b601e06.entry.js +2 -0
  565. package/dist/core/p-4b601e06.entry.js.map +1 -0
  566. package/dist/core/{p-bf89c86d.entry.js → p-4b6818d9.entry.js} +2 -2
  567. package/dist/core/p-4b6818d9.entry.js.map +1 -0
  568. package/dist/core/p-517d7afb.entry.js +2 -0
  569. package/dist/core/p-517d7afb.entry.js.map +1 -0
  570. package/dist/core/p-5206a978.entry.js +2 -0
  571. package/dist/core/p-5206a978.entry.js.map +1 -0
  572. package/dist/core/p-5d4b0480.entry.js +2 -0
  573. package/dist/core/p-5d4b0480.entry.js.map +1 -0
  574. package/dist/core/p-5e18b899.entry.js +2 -0
  575. package/dist/core/p-5e18b899.entry.js.map +1 -0
  576. package/dist/core/p-6337fe1f.entry.js +2 -0
  577. package/dist/core/p-6337fe1f.entry.js.map +1 -0
  578. package/dist/core/p-63fe83ad.entry.js +2 -0
  579. package/dist/core/p-63fe83ad.entry.js.map +1 -0
  580. package/dist/core/p-68a5aaff.js.map +1 -1
  581. package/dist/core/p-6de6b6b7.entry.js +2 -0
  582. package/dist/core/p-6de6b6b7.entry.js.map +1 -0
  583. package/dist/core/p-70700c7a.entry.js +2 -0
  584. package/dist/core/p-70700c7a.entry.js.map +1 -0
  585. package/dist/core/p-7a0d238b.entry.js +2 -0
  586. package/dist/core/p-7a0d238b.entry.js.map +1 -0
  587. package/dist/core/p-7afc71d0.entry.js +2 -0
  588. package/dist/core/p-7afc71d0.entry.js.map +1 -0
  589. package/dist/core/p-7c0914e7.entry.js +2 -0
  590. package/dist/core/p-7c0914e7.entry.js.map +1 -0
  591. package/dist/core/p-7dfe0284.entry.js +2 -0
  592. package/dist/core/p-7dfe0284.entry.js.map +1 -0
  593. package/dist/core/p-81a12e36.entry.js +2 -0
  594. package/dist/core/p-81a12e36.entry.js.map +1 -0
  595. package/dist/core/p-88924aef.entry.js +2 -0
  596. package/dist/core/p-88924aef.entry.js.map +1 -0
  597. package/dist/core/p-8ba129fc.entry.js +2 -0
  598. package/dist/core/p-8ba129fc.entry.js.map +1 -0
  599. package/dist/core/p-8e4e97b4.js +3 -0
  600. package/dist/core/p-8e4e97b4.js.map +1 -0
  601. package/dist/core/p-950db960.entry.js +2 -0
  602. package/dist/core/p-950db960.entry.js.map +1 -0
  603. package/dist/core/p-959a9cdf.entry.js +2 -0
  604. package/dist/core/p-959a9cdf.entry.js.map +1 -0
  605. package/dist/core/p-9ea9a4ce.entry.js +2 -0
  606. package/dist/core/p-9ea9a4ce.entry.js.map +1 -0
  607. package/dist/core/p-a9c96e3e.entry.js +2 -0
  608. package/dist/core/p-a9c96e3e.entry.js.map +1 -0
  609. package/dist/core/p-abaea607.entry.js +2 -0
  610. package/dist/core/p-abaea607.entry.js.map +1 -0
  611. package/dist/core/p-ac7db165.entry.js +2 -0
  612. package/dist/core/p-ac7db165.entry.js.map +1 -0
  613. package/dist/core/p-acebb05c.entry.js +2 -0
  614. package/dist/core/p-acebb05c.entry.js.map +1 -0
  615. package/dist/core/p-b3ac38c5.entry.js +2 -0
  616. package/dist/core/p-b3ac38c5.entry.js.map +1 -0
  617. package/dist/core/p-b3d6d5be.entry.js +2 -0
  618. package/dist/core/p-b3d6d5be.entry.js.map +1 -0
  619. package/dist/core/p-bbe5596b.entry.js +2 -0
  620. package/dist/core/p-bbe5596b.entry.js.map +1 -0
  621. package/dist/core/p-c04f36c5.entry.js +2 -0
  622. package/dist/core/p-c04f36c5.entry.js.map +1 -0
  623. package/dist/core/p-c2ca6274.entry.js +2 -0
  624. package/dist/core/p-c2ca6274.entry.js.map +1 -0
  625. package/dist/core/p-c2e091d7.js.map +1 -1
  626. package/dist/core/p-c62318a8.entry.js +2 -0
  627. package/dist/core/p-c62318a8.entry.js.map +1 -0
  628. package/dist/core/p-de43d375.entry.js +2 -0
  629. package/dist/core/p-de43d375.entry.js.map +1 -0
  630. package/dist/core/p-e1255160.js +2 -0
  631. package/dist/core/p-e1255160.js.map +1 -0
  632. package/dist/core/p-e2f893f0.entry.js +2 -0
  633. package/dist/core/p-e2f893f0.entry.js.map +1 -0
  634. package/dist/core/p-e56d0db2.entry.js +2 -0
  635. package/dist/core/p-e56d0db2.entry.js.map +1 -0
  636. package/dist/core/p-e586ae7b.entry.js +2 -0
  637. package/dist/core/p-e586ae7b.entry.js.map +1 -0
  638. package/dist/core/p-ef09b450.entry.js +2 -0
  639. package/dist/core/p-ef09b450.entry.js.map +1 -0
  640. package/dist/core/p-f074ef5b.js.map +1 -1
  641. package/dist/core/p-f34eee68.entry.js +2 -0
  642. package/dist/core/p-f34eee68.entry.js.map +1 -0
  643. package/dist/core/p-f3c72ffb.entry.js +2 -0
  644. package/dist/core/p-f3c72ffb.entry.js.map +1 -0
  645. package/dist/core/{p-a0e4d6bd.entry.js → p-f815f8c9.entry.js} +2 -2
  646. package/dist/core/p-f815f8c9.entry.js.map +1 -0
  647. package/dist/core/p-fbde763c.entry.js +2 -0
  648. package/dist/core/p-fbde763c.entry.js.map +1 -0
  649. package/dist/core/p-fc50d582.entry.js +2 -0
  650. package/dist/core/p-fc50d582.entry.js.map +1 -0
  651. package/dist/core/p-fe833509.entry.js +2 -0
  652. package/dist/core/p-fe833509.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-46a2d1fd.js} +152 -71
  658. package/dist/esm/helpers-46a2d1fd.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 +93 -46
  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 +91 -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 +366 -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 +122 -45
  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 +418 -199
  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 +58 -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 +54 -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 +24 -8
  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 +15 -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 +53 -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 +38 -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 +19 -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 +9 -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 +975 -389
  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 +35 -17
  856. package/dist/types/utils/types.d.ts +18 -10
  857. package/hydrate/index.d.ts +53 -12
  858. package/hydrate/index.js +32853 -19673
  859. package/hydrate/index.mjs +34474 -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 +22 -21
  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
@@ -1,7 +1,7 @@
1
1
  import { Host, h, forceUpdate, } from "@stencil/core";
2
- import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
2
+ import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, getOptionsWithoutGroupTitlesCount, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
3
3
  import { IC_INHERITED_ARIA } from "../../utils/constants";
4
- import { IcInformationStatus, IcThemeForegroundEnum, } from "../../utils/types";
4
+ import { IcInformationStatus, } from "../../utils/types";
5
5
  import Expand from "./assets/Expand.svg";
6
6
  import Clear from "./assets/Clear.svg";
7
7
  let inputIds = 0;
@@ -19,14 +19,130 @@ export class Select {
19
19
  this.searchableMenuItemSelected = false;
20
20
  this.ungroupedOptions = [];
21
21
  this.hostMutationObserver = null;
22
+ this.clearButtonFocused = false;
23
+ this.noOptions = null;
24
+ this.open = false;
25
+ this.pressedCharacters = "";
26
+ this.searchableSelectInputValue = null;
27
+ /**
28
+ * If `true`, the disabled state will be set.
29
+ */
30
+ this.disabled = false;
31
+ /**
32
+ * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.
33
+ */
34
+ this.disableAutoFiltering = false;
35
+ /**
36
+ * The text displayed when there are no options in the option list.
37
+ */
38
+ this.emptyOptionListText = "No results found";
39
+ /**
40
+ * If `true`, the select will fill the width of the container.
41
+ */
42
+ this.fullWidth = false;
43
+ /**
44
+ * The helper text that will be displayed for additional field guidance.
45
+ */
46
+ this.helperText = "";
47
+ /**
48
+ * If `true`, the label will be hidden and the required label value will be applied as an aria-label.
49
+ */
50
+ this.hideLabel = false;
51
+ /**
52
+ * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.
53
+ */
54
+ this.includeDescriptionsInSearch = false;
55
+ /**
56
+ * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.
57
+ */
58
+ this.includeGroupTitlesInSearch = false;
59
+ /**
60
+ * The message displayed when external loading times out.
61
+ */
62
+ this.loadingErrorLabel = "Loading Error";
63
+ /**
64
+ * The message displayed whilst the options are being loaded externally.
65
+ */
66
+ this.loadingLabel = "Loading...";
67
+ /**
68
+ * If `true`, multiple options can be selected.
69
+ */
70
+ this.multiple = false;
71
+ /**
72
+ * The name of the control, which is submitted with the form data.
73
+ */
74
+ this.name = this.inputId;
75
+ /**
76
+ * The placeholder value to be displayed.
77
+ */
78
+ this.placeholder = "Select an option";
79
+ /**
80
+ * If `true`, the readonly state will be set.
81
+ */
82
+ this.readonly = false;
83
+ /**
84
+ * If `true`, the select will require a value.
85
+ */
86
+ this.required = false;
87
+ /**
88
+ * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.
89
+ */
90
+ this.searchable = false;
91
+ /**
92
+ * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.
93
+ */
94
+ this.searchMatchPosition = "anywhere";
95
+ /**
96
+ * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.
97
+ */
98
+ this.selectOnEnter = false;
99
+ /**
100
+ * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.
101
+ */
102
+ this.showClearButton = false;
103
+ /**
104
+ * The size of the select.
105
+ */
106
+ this.size = "medium";
107
+ /**
108
+ * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
109
+ */
110
+ this.theme = "inherit";
111
+ /**
112
+ * The validation status - e.g. 'error' | 'warning' | 'success'.
113
+ */
114
+ this.validationStatus = "";
115
+ /**
116
+ * The text to display as the validation message.
117
+ */
118
+ this.validationText = "";
119
+ /**
120
+ * If `true`, the loading state will be triggered when fetching options asynchronously.
121
+ */
122
+ this.loading = false;
123
+ /**
124
+ * The possible selection options.
125
+ */
126
+ this.options = [];
127
+ this.filteredOptions = this.options;
128
+ this.uniqueOptions = this.options;
129
+ /**
130
+ * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.
131
+ */
132
+ this.debounce = 0;
133
+ this.currDebounce = this.debounce;
134
+ this.initialValue = this.value;
135
+ this.inputValueToFilter = this.value;
22
136
  // triggered when attributes of host element change
23
137
  this.hostMutationCallback = (mutationList) => {
24
138
  let forceComponentUpdate = false;
25
139
  mutationList.forEach(({ attributeName, type, addedNodes, removedNodes }) => {
26
- if (MUTABLE_ATTRIBUTES.includes(attributeName)) {
27
- this.inheritedAttributes[attributeName] =
28
- this.el.getAttribute(attributeName);
29
- forceComponentUpdate = true;
140
+ if (attributeName) {
141
+ const attribute = this.el.getAttribute(attributeName);
142
+ if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {
143
+ this.inheritedAttributes[attributeName] = attribute;
144
+ forceComponentUpdate = true;
145
+ }
30
146
  }
31
147
  else if (type === "childList") {
32
148
  forceComponentUpdate = checkSlotInChildMutations(addedNodes, removedNodes, "icon");
@@ -43,21 +159,59 @@ export class Select {
43
159
  this.blurredBecauseButtonPressed = true;
44
160
  this.retryButtonClick = true;
45
161
  this.hasSetDefaultValue = true;
46
- this.icRetryLoad.emit({ value: this.hiddenInputValue });
162
+ this.icRetryLoad.emit({
163
+ value: this.searchable
164
+ ? this.searchableSelectInputValue
165
+ : this.hiddenInputValue,
166
+ });
47
167
  };
48
168
  this.emitIcChange = (value) => {
49
- if (!this.searchable) {
169
+ // If "Select all" button clicked, replace value with new value (array of all option values)
170
+ if (this.multiple && !Array.isArray(value) && value !== null) {
171
+ this.handleMultipleSelectChange(String(value));
172
+ }
173
+ else {
50
174
  this.value = value;
51
175
  }
52
- clearTimeout(this.debounceIcChange);
53
- this.debounceIcChange = window.setTimeout(() => {
54
- this.icChange.emit({ value: value });
55
- }, this.currDebounce);
176
+ const valueToEmit = this.multiple ? this.value : value;
177
+ this.icChange.emit({ value: valueToEmit || null });
56
178
  };
57
- this.emitImmediateIcChange = (value) => {
58
- this.value = value;
59
- clearTimeout(this.debounceIcChange);
60
- this.icChange.emit({ value: value });
179
+ this.emitIcInput = (value) => {
180
+ clearTimeout(this.debounceIcInput);
181
+ this.debounceIcInput = window.setTimeout(() => this.icInput.emit({ value }), this.currDebounce);
182
+ };
183
+ this.setOptions = () => {
184
+ if (!this.hasTimedOut && this.options !== this.noOptions) {
185
+ this.loading = false;
186
+ clearTimeout(this.timeoutTimer);
187
+ if (this.options.length > 0) {
188
+ this.setOptionsValuesFromLabels();
189
+ this.uniqueOptions = this.deduplicateOptions(this.options);
190
+ this.filteredOptions = this.uniqueOptions;
191
+ }
192
+ else {
193
+ this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
194
+ this.uniqueOptions = this.noOptions;
195
+ this.filteredOptions = this.noOptions;
196
+ }
197
+ if (this.isExternalFiltering()) {
198
+ // When searchable select
199
+ this.noOptions = null;
200
+ this.updateSearchableSelectResultAriaLive();
201
+ this.setDefaultValue();
202
+ }
203
+ else {
204
+ if (this.initialOptionsEmpty) {
205
+ this.setDefaultValue();
206
+ this.initialOptionsEmpty = false;
207
+ }
208
+ }
209
+ }
210
+ else {
211
+ if (!this.searchable) {
212
+ this.options = this.noOptions || [];
213
+ }
214
+ }
61
215
  };
62
216
  /**
63
217
  * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn
@@ -102,8 +256,7 @@ export class Select {
102
256
  * Loop through options array and for all options with no value, infer it from the label
103
257
  */
104
258
  this.setOptionsValuesFromLabels = () => {
105
- var _a;
106
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.options.map) {
259
+ if (this.options.length > 0) {
107
260
  this.options.map((option) => {
108
261
  if (!option.value) {
109
262
  option.value = option.label;
@@ -115,11 +268,13 @@ export class Select {
115
268
  this.ungroupedOptions = event.detail.options;
116
269
  };
117
270
  this.setTextColor = () => {
118
- if (this.nativeSelectElement.selectedIndex === 0) {
119
- this.nativeSelectElement.className = "placeholder";
120
- }
121
- else {
122
- this.nativeSelectElement.className = "select-option-selected";
271
+ if (this.nativeSelectElement) {
272
+ if (this.nativeSelectElement.selectedIndex === 0) {
273
+ this.nativeSelectElement.className = "placeholder";
274
+ }
275
+ else {
276
+ this.nativeSelectElement.className = "select-option-selected";
277
+ }
123
278
  }
124
279
  };
125
280
  this.setMenuChange = (open) => {
@@ -130,41 +285,112 @@ export class Select {
130
285
  this.getLabelFromValue = (value) => {
131
286
  return getLabelFromValue(value, this.uniqueOptions);
132
287
  };
288
+ this.getMultipleOptionsString = (selectedValues) => {
289
+ const selectedLabels = selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label);
290
+ return selectedLabels === null || selectedLabels === void 0 ? void 0 : selectedLabels.join(", ");
291
+ };
133
292
  this.getFilteredChildMenuOptions = (option) => {
134
293
  let children = option.children;
135
- if (this.searchable) {
136
- children = getFilteredMenuOptions(option.children, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
137
- }
138
- else {
139
- children = getFilteredMenuOptions(option.children, false, this.pressedCharacters, "start");
294
+ if (option.children) {
295
+ if (this.searchable) {
296
+ children = getFilteredMenuOptions(option.children, !!this.includeDescriptionsInSearch, this.searchableSelectInputValue || "", this.searchMatchPosition);
297
+ }
298
+ else {
299
+ children = getFilteredMenuOptions(option.children, false, this.pressedCharacters, "start");
300
+ }
140
301
  }
141
302
  const newOption = Object.assign({}, option);
142
303
  newOption.children = children;
143
304
  return newOption;
144
305
  };
306
+ // (For multi-select) get value array, i.e. selected option values, in order they appear in option list
307
+ this.getValueSortedByOptions = (value) => {
308
+ const valueArray = value;
309
+ const valuesFromAllOptions = this.ungroupedOptions.map((option) => option.value);
310
+ valueArray.sort((a, b) => valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b));
311
+ return valueArray;
312
+ };
145
313
  this.handleNativeSelectChange = () => {
146
- this.icOptionSelect.emit({ value: this.nativeSelectElement.value });
147
- this.emitImmediateIcChange(this.nativeSelectElement.value);
314
+ if (this.nativeSelectElement) {
315
+ this.icOptionSelect.emit({ value: this.nativeSelectElement.value });
316
+ this.emitIcChange(this.nativeSelectElement.value);
317
+ }
148
318
  this.setTextColor();
149
319
  };
320
+ // Handle option select for when a custom input box and menu is rendered
321
+ // (rather than native <select> - rendered when viewed on a mobile / tablet screen)
150
322
  this.handleCustomSelectChange = (event) => {
151
- if (this.searchable && event.detail.label === this.emptyOptionListText) {
152
- this.searchableSelectElement.focus();
323
+ var _a, _b;
324
+ const value = event.detail.value;
325
+ if (event.detail.label === this.emptyOptionListText) {
326
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
153
327
  return;
154
328
  }
155
329
  if (this.searchable) {
156
- this.value = event.detail.value;
330
+ this.value = value;
157
331
  this.searchableMenuItemSelected = true;
158
332
  // After editing the input, if selecting the same option as before, set the input value to label again
159
333
  if (this.value === this.currValue) {
160
- this.searchableSelectInputValue = this.getLabelFromValue(this.value);
334
+ this.searchableSelectInputValue =
335
+ this.getLabelFromValue(this.value) || null;
161
336
  }
162
337
  this.inputValueToFilter = null;
163
- this.hiddenInputValue = this.getValueFromLabel(this.searchableSelectInputValue);
338
+ this.hiddenInputValue =
339
+ this.getValueFromLabel(this.searchableSelectInputValue) || null;
340
+ }
341
+ if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {
342
+ this.icOptionDeselect.emit({ value });
343
+ }
344
+ else {
345
+ this.icOptionSelect.emit({ value });
164
346
  }
165
347
  this.ariaActiveDescendant = event.detail.optionId;
166
- this.icOptionSelect.emit({ value: event.detail.value });
167
- this.emitIcChange(event.detail.value);
348
+ this.emitIcChange(value);
349
+ };
350
+ // Update selected options - adds / removes them, in order of option list
351
+ // Create new array if value prop is undefined
352
+ this.handleMultipleSelectChange = (value) => {
353
+ if (this.value) {
354
+ let valueArray = this.value.slice();
355
+ if (this.value.includes(value)) {
356
+ const valueIndex = valueArray.indexOf(value);
357
+ valueArray.splice(valueIndex, 1);
358
+ }
359
+ else {
360
+ valueArray.push(value);
361
+ valueArray = this.getValueSortedByOptions(valueArray);
362
+ }
363
+ this.value = valueArray.length === 0 ? null : valueArray;
364
+ }
365
+ else {
366
+ const valueArray = [];
367
+ valueArray.push(value);
368
+ this.value = valueArray;
369
+ }
370
+ };
371
+ this.handleSelectAllChange = (event) => {
372
+ const selectAllOptions = event.detail.select;
373
+ const allEnabledOptions = this.ungroupedOptions.filter((option) => !option.disabled);
374
+ const allValues = allEnabledOptions.map((option) => option.value);
375
+ let newValue;
376
+ if (selectAllOptions) {
377
+ let unselectedValues;
378
+ // Only emit icOptionSelect for all values that are newly selected
379
+ if (this.value) {
380
+ unselectedValues = allValues.filter((value) => this.value && !this.value.includes(value));
381
+ }
382
+ else {
383
+ unselectedValues = allValues;
384
+ }
385
+ unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));
386
+ newValue = allValues;
387
+ }
388
+ else {
389
+ // Only emit icOptionDeselect for values that were selected
390
+ this.value.forEach((value) => this.icOptionDeselect.emit({ value }));
391
+ newValue = null;
392
+ }
393
+ this.emitIcChange(newValue);
168
394
  };
169
395
  this.handleMenuChange = (event) => {
170
396
  this.open = event.detail.open;
@@ -175,18 +401,20 @@ export class Select {
175
401
  // to prevent delay in change event, which should only occur when typing in input
176
402
  this.handleMenuKeyPress = (ev) => {
177
403
  ev.cancelBubble = true;
178
- this.handleCharacterKeyDown(ev.detail.key);
179
- };
180
- this.handleMenuValueChange = (ev) => {
181
- this.value = ev.detail.value;
404
+ if (!this.multiple) {
405
+ this.handleCharacterKeyDown(ev.detail.key);
406
+ }
182
407
  };
183
408
  this.handleFocusIndicatorDisplay = () => {
184
- const focusIndicator = this.el.shadowRoot.querySelector(".focus-indicator");
185
- if (this.open) {
186
- focusIndicator.classList.add("focus-indicator-enabled");
187
- }
188
- else {
189
- focusIndicator.classList.remove("focus-indicator-enabled");
409
+ var _a;
410
+ const focusIndicator = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".focus-indicator");
411
+ if (focusIndicator) {
412
+ if (this.open) {
413
+ focusIndicator.classList.add("focus-indicator-enabled");
414
+ }
415
+ else {
416
+ focusIndicator.classList.remove("focus-indicator-enabled");
417
+ }
190
418
  }
191
419
  };
192
420
  this.handleMouseDown = (event) => {
@@ -194,10 +422,10 @@ export class Select {
194
422
  event.preventDefault();
195
423
  }
196
424
  };
197
- this.isExternalFiltering = () => this.searchable && this.disableAutoFiltering;
425
+ this.isExternalFiltering = () => this.searchable && !!this.disableAutoFiltering;
198
426
  this.handleClick = (event) => {
199
- var _a;
200
- if (!this.open) {
427
+ var _a, _b;
428
+ if (!this.open && this.menu) {
201
429
  if (this.isExternalFiltering()) {
202
430
  this.menu.options = this.filteredOptions;
203
431
  }
@@ -210,50 +438,47 @@ export class Select {
210
438
  }
211
439
  }
212
440
  if (event.detail !== 0) {
213
- this.menu.handleClickOpen();
441
+ (_b = this.menu) === null || _b === void 0 ? void 0 : _b.handleClickOpen();
214
442
  }
215
443
  };
216
444
  this.handleExpandIconMouseDown = (event) => {
445
+ var _a;
217
446
  if (!this.disabled) {
218
447
  event.preventDefault();
219
- this.searchableSelectElement.focus();
448
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
220
449
  this.handleClick(event);
221
450
  }
222
451
  };
223
452
  this.handleClear = (event) => {
453
+ var _a, _b;
224
454
  event.stopPropagation();
225
455
  this.hasTimedOut = false;
226
456
  clearTimeout(this.timeoutTimer);
227
- this.noOptions = null;
228
- this.emitImmediateIcChange(null);
457
+ this.clearInput();
458
+ this.emitIcChange(null);
229
459
  this.icClear.emit();
230
460
  if (this.searchable) {
231
- this.searchableSelectElement.value = null;
232
- this.searchableSelectInputValue = null;
233
- this.filteredOptions = this.uniqueOptions;
234
461
  this.hiddenInputValue = null;
235
- this.searchableSelectElement.focus();
462
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
236
463
  }
237
464
  else {
238
- this.customSelectElement.focus();
465
+ (_b = this.customSelectElement) === null || _b === void 0 ? void 0 : _b.focus();
239
466
  }
240
467
  };
241
468
  this.handleCharacterKeyDown = (key) => {
242
469
  // Only close menu when space is pressed if not being used alongside character keys to quickly select options
243
- if (this.open &&
244
- key === " " &&
245
- this.pressedCharacters.length === 0 &&
246
- !this.hasTimedOut &&
247
- !this.loading) {
470
+ if (this.open && key === " " && this.pressedCharacters.length === 0) {
248
471
  this.setMenuChange(false);
249
472
  }
250
473
  if (key.length === 1 && !this.searchable) {
251
474
  window.clearTimeout(this.characterKeyPressTimer);
252
475
  this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
253
- this.pressedCharacters += key;
254
- this.handleFilter();
255
- if (!this.noOptions) {
256
- this.emitImmediateIcChange(this.filteredOptions[0].value);
476
+ if (!(key === " " && !this.pressedCharacters)) {
477
+ this.pressedCharacters += key;
478
+ this.handleFilter();
479
+ if (!this.noOptions) {
480
+ this.emitIcChange(this.filteredOptions[0].value);
481
+ }
257
482
  }
258
483
  }
259
484
  else {
@@ -267,11 +492,12 @@ export class Select {
267
492
  this.handleCharacterKeyDown(event.key);
268
493
  };
269
494
  this.handleKeyDown = (event) => {
495
+ var _a;
270
496
  if ((event.key !== "Escape" && event.key !== "Tab") || this.open) {
271
497
  event.cancelBubble = true;
272
498
  }
273
499
  const isArrowKey = event.key === "ArrowDown" || event.key === "ArrowUp";
274
- if (!this.open) {
500
+ if (this.menu && !this.open) {
275
501
  if (this.isExternalFiltering() && (event.key === "Enter" || isArrowKey)) {
276
502
  this.menu.options = this.filteredOptions;
277
503
  }
@@ -289,9 +515,11 @@ export class Select {
289
515
  if (!(isArrowKey && this.noOptions !== null)) {
290
516
  if (!(event.key === " " && this.pressedCharacters.length > 0)) {
291
517
  // Keyboard events get passed onto ic-menu
292
- this.menu.handleKeyboardOpen(event);
518
+ (_a = this.menu) === null || _a === void 0 ? void 0 : _a.handleKeyboardOpen(event);
519
+ }
520
+ if (!this.multiple) {
521
+ this.handleCharacterKeyDown(event.key);
293
522
  }
294
- this.handleCharacterKeyDown(event.key);
295
523
  }
296
524
  }
297
525
  };
@@ -320,7 +548,7 @@ export class Select {
320
548
  });
321
549
  let menuOptionsFiltered;
322
550
  if (this.searchable) {
323
- menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.inputValueToFilter, this.searchMatchPosition);
551
+ menuOptionsFiltered = getFilteredMenuOptions(options, !!this.includeDescriptionsInSearch, this.inputValueToFilter || "", this.searchMatchPosition);
324
552
  this.searchableMenuItemSelected = false;
325
553
  }
326
554
  else {
@@ -349,7 +577,7 @@ export class Select {
349
577
  if (isGrouped) {
350
578
  noChildOptionsWhenFiltered = true;
351
579
  newFilteredOptions.map((option) => {
352
- if (option.children.length > 0) {
580
+ if (option.children && option.children.length > 0) {
353
581
  noChildOptionsWhenFiltered = false;
354
582
  }
355
583
  });
@@ -391,13 +619,18 @@ export class Select {
391
619
  };
392
620
  this.getValueFromLabel = (label) => {
393
621
  var _a;
394
- return (_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
622
+ return (label &&
623
+ ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value));
395
624
  };
396
625
  this.handleSearchableSelectInput = (event) => {
397
626
  this.searchableSelectInputValue = event.target.value;
398
- this.icInput.emit({ value: this.searchableSelectInputValue });
399
- this.emitIcChange(this.searchableSelectInputValue);
400
- this.hiddenInputValue = this.searchableSelectInputValue;
627
+ this.emitIcInput(this.searchableSelectInputValue);
628
+ // De-select previous selection when input is edited
629
+ // Only emit icChange once when editing input
630
+ if (this.value != null) {
631
+ this.emitIcChange(null);
632
+ }
633
+ this.hiddenInputValue = null;
401
634
  this.inputValueToFilter = this.searchableSelectInputValue;
402
635
  this.setMenuChange(true);
403
636
  if (!this.disableAutoFiltering) {
@@ -406,7 +639,8 @@ export class Select {
406
639
  }
407
640
  };
408
641
  this.updateSearchableSelectResultAriaLive = () => {
409
- const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(".searchable-select-results-status");
642
+ var _a;
643
+ const searchableSelectResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".searchable-select-results-status");
410
644
  if (searchableSelectResultsStatusEl) {
411
645
  if (this.noOptions !== null) {
412
646
  searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
@@ -416,7 +650,25 @@ export class Select {
416
650
  }
417
651
  }
418
652
  };
419
- this.getDefaultValue = (value) => this.getLabelFromValue(value) || value || null;
653
+ this.updateMultiSelectedCountAriaLive = () => {
654
+ var _a, _b;
655
+ const multiSelectSelectedCountEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".multi-select-selected-count");
656
+ const selectedCount = `${(_b = this.currValue) === null || _b === void 0 ? void 0 : _b.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;
657
+ if (multiSelectSelectedCountEl &&
658
+ multiSelectSelectedCountEl.innerText !== selectedCount) {
659
+ multiSelectSelectedCountEl.innerText = selectedCount;
660
+ }
661
+ };
662
+ this.getDefaultValue = (value) => this.getLabelFromValue(value) || null;
663
+ this.setDefaultValue = () => {
664
+ if (!this.hasSetDefaultValue && this.currValue) {
665
+ this.searchableSelectInputValue = this.searchable
666
+ ? this.getDefaultValue(this.currValue)
667
+ : null;
668
+ this.initialValue = this.currValue;
669
+ this.hasSetDefaultValue = true;
670
+ }
671
+ };
420
672
  this.onFocus = () => {
421
673
  this.icFocus.emit();
422
674
  };
@@ -438,6 +690,10 @@ export class Select {
438
690
  if (isSearchableAndNoFocusedInternalElements) {
439
691
  if (!this.retryButtonClick) {
440
692
  this.setMenuChange(false);
693
+ // Clear input field on blur when searchable if no option is selected
694
+ if (!this.value) {
695
+ this.clearInput();
696
+ }
441
697
  }
442
698
  this.handleFocusIndicatorDisplay();
443
699
  }
@@ -461,98 +717,46 @@ export class Select {
461
717
  this.hiddenInputValue = this.value;
462
718
  }
463
719
  };
464
- this.ariaActiveDescendant = undefined;
465
- this.clearButtonFocused = false;
466
- this.debounceIcChange = undefined;
467
- this.hiddenInputValue = undefined;
468
- this.noOptions = null;
469
- this.open = false;
470
- this.pressedCharacters = "";
471
- this.searchableSelectInputValue = null;
472
- this.disabled = false;
473
- this.disableAutoFiltering = false;
474
- this.emptyOptionListText = "No results found";
475
- this.form = undefined;
476
- this.fullWidth = false;
477
- this.helperText = "";
478
- this.hideLabel = false;
479
- this.includeDescriptionsInSearch = false;
480
- this.includeGroupTitlesInSearch = false;
481
- this.label = undefined;
482
- this.loadingErrorLabel = "Loading Error";
483
- this.loadingLabel = "Loading...";
484
- this.name = this.inputId;
485
- this.placeholder = "Select an option";
486
- this.readonly = false;
487
- this.required = false;
488
- this.searchable = false;
489
- this.searchMatchPosition = "anywhere";
490
- this.selectOnEnter = false;
491
- this.showClearButton = false;
492
- this.size = "default";
493
- this.timeout = undefined;
494
- this.validationStatus = "";
495
- this.validationText = "";
496
- this.loading = false;
497
- this.options = [];
498
- this.filteredOptions = this.options;
499
- this.uniqueOptions = this.options;
500
- this.debounce = 0;
501
- this.currDebounce = this.debounce;
502
- this.value = undefined;
503
- this.initialValue = this.value;
504
- this.inputValueToFilter = this.value;
505
- this.currValue = this.value;
720
+ this.clearInput = () => {
721
+ var _a;
722
+ this.noOptions = null;
723
+ if (this.searchable) {
724
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.setAttribute("value", "");
725
+ this.searchableSelectInputValue = null;
726
+ this.filteredOptions = this.uniqueOptions;
727
+ }
728
+ };
729
+ }
730
+ watchDisabledHandler() {
731
+ removeDisabledFalse(this.disabled, this.el);
506
732
  }
507
733
  loadingHandler(newValue) {
508
- newValue && this.triggerLoading();
734
+ newValue ? this.triggerLoading() : this.setOptions();
509
735
  }
510
736
  watchOptionsHandler() {
511
- var _a;
512
- if (!this.hasTimedOut) {
513
- this.loading = false;
514
- clearTimeout(this.timeoutTimer);
515
- if (this.isExternalFiltering()) {
516
- if (((_a = this.options) === null || _a === void 0 ? void 0 : _a.length) > 0) {
517
- this.setOptionsValuesFromLabels();
518
- this.noOptions = null;
519
- this.uniqueOptions = this.deduplicateOptions(this.options);
520
- this.filteredOptions = this.uniqueOptions;
521
- }
522
- else {
523
- this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
524
- this.uniqueOptions = this.noOptions;
525
- this.filteredOptions = this.noOptions;
526
- }
527
- this.updateSearchableSelectResultAriaLive();
528
- this.setDefaultValue();
529
- }
530
- else {
531
- this.setOptionsValuesFromLabels();
532
- this.uniqueOptions = this.deduplicateOptions(this.options);
533
- this.filteredOptions = this.uniqueOptions;
534
- if (this.initialOptionsEmpty) {
535
- this.setDefaultValue();
536
- this.initialOptionsEmpty = false;
537
- }
538
- }
539
- }
540
- else {
541
- if (!this.searchable) {
542
- this.options = this.noOptions;
543
- }
544
- }
737
+ this.setOptions();
545
738
  }
546
739
  debounceChangedHandler(newValue) {
547
740
  this.updateOnChangeDebounce(newValue);
548
741
  }
549
742
  valueChangedHandler() {
550
743
  if (this.value !== this.currValue) {
551
- this.currValue = this.value;
744
+ if (this.value && this.multiple) {
745
+ this.currValue = this.getMultipleOptionsString(this.value)
746
+ ? this.getValueSortedByOptions(this.value)
747
+ : null;
748
+ this.updateMultiSelectedCountAriaLive();
749
+ }
750
+ else {
751
+ this.currValue = this.getLabelFromValue(this.value)
752
+ ? this.value
753
+ : null;
754
+ }
552
755
  }
553
- if (this.searchable) {
756
+ if (this.searchable && this.value) {
757
+ // Only set if value not null - prevents whole input value being cleared when edited
554
758
  this.searchableSelectInputValue =
555
- this.getLabelFromValue(this.currValue) || this.currValue;
759
+ this.getLabelFromValue(String(this.currValue)) || null;
556
760
  }
557
761
  }
558
762
  openChangedHandler() {
@@ -564,12 +768,15 @@ export class Select {
564
768
  (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
565
769
  }
566
770
  componentWillLoad() {
567
- var _a;
771
+ const valueInOptions = this.multiple
772
+ ? this.getMultipleOptionsString(this.value)
773
+ : this.getLabelFromValue(this.value);
774
+ this.currValue = valueInOptions ? this.value : null;
568
775
  this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);
569
776
  removeDisabledFalse(this.disabled, this.el);
570
777
  this.setOptionsValuesFromLabels();
571
778
  addFormResetListener(this.el, this.handleFormReset);
572
- if (!((_a = this.options) === null || _a === void 0 ? void 0 : _a.length)) {
779
+ if (!this.options.length) {
573
780
  this.initialOptionsEmpty = true;
574
781
  this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
575
782
  this.uniqueOptions = this.noOptions;
@@ -585,7 +792,9 @@ export class Select {
585
792
  if (this.loading) {
586
793
  this.triggerLoading();
587
794
  }
588
- this.hiddenInputValue = this.searchable && this.currValue;
795
+ if (this.searchable) {
796
+ this.hiddenInputValue = this.currValue;
797
+ }
589
798
  this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);
590
799
  this.hostMutationObserver.observe(this.el, {
591
800
  attributes: true,
@@ -622,64 +831,72 @@ export class Select {
622
831
  this.updateSearchableSelectResultAriaLive();
623
832
  }, 800);
624
833
  }
625
- setDefaultValue() {
626
- if (!this.hasSetDefaultValue && this.currValue) {
627
- this.searchableSelectInputValue = this.getDefaultValue(this.currValue);
628
- this.initialValue = this.currValue;
629
- this.hasSetDefaultValue = true;
630
- }
631
- }
632
834
  render() {
633
- const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, } = this;
634
- renderHiddenInput(true, this.el, name, this.searchable ? this.hiddenInputValue : currValue, disabled);
635
- const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
636
- const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
835
+ const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, } = this;
836
+ // HTML inputs only accept 'string' for their value
837
+ // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string
838
+ renderHiddenInput(true, this.el, name || this.inputId, this.searchable ? this.hiddenInputValue : currValue, disabled);
839
+ const invalid = `${validationStatus === IcInformationStatus.Error}`;
840
+ const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, !!this.disabled)).trim();
637
841
  let showLeftIcon = !!this.el.querySelector(`[slot="icon"]`);
638
842
  if (showLeftIcon && (disabled || (readonly && !this.value))) {
639
843
  showLeftIcon = false;
640
844
  }
641
- return (h(Host, { class: {
642
- ["ic-select-disabled"]: disabled,
643
- ["ic-select-searchable"]: searchable,
644
- [`ic-select-${size}`]: size !== "default",
645
- ["ic-select-full-width"]: fullWidth,
646
- }, onBlur: this.onBlur }, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, showLeftIcon && (h("span", { slot: "left-icon", class: {
647
- ["readonly"]: readonly,
845
+ const optionsSelectedCount = `${currValue === null || currValue === void 0 ? void 0 : currValue.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;
846
+ const valueLabelString = multiple
847
+ ? this.getMultipleOptionsString(currValue)
848
+ : this.getLabelFromValue(currValue);
849
+ const isClearable = !disabled &&
850
+ (searchable
851
+ ? this.searchableSelectInputValue
852
+ : currValue && !this.loading && showClearButton);
853
+ return (h(Host, { key: '75cf0d014983dd89d440f68080f01333e6c265ee', class: {
854
+ "ic-select-disabled": !!disabled,
855
+ "ic-select-searchable": !!searchable,
856
+ [`ic-select-${size}`]: size !== "medium",
857
+ "ic-select-full-width": !!fullWidth,
858
+ [`ic-theme-${theme}`]: theme !== "inherit",
859
+ }, onBlur: this.onBlur }, h("ic-input-container", { key: 'eb714cd9445894ca8fd3be546308f19f32d1b54c', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: 'b458a202cdce6dcfad3d92da57714aa44f73d886', for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { key: '4ac767a175604d7e4f86fa46945fc028be835ff2', ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, showLeftIcon && (h("span", { key: '7ac05ef11cda6c03db0b1b9f4573a704581524e0', slot: "left-icon", class: {
860
+ ["readonly"]: !!readonly,
648
861
  ["has-value"]: !!this.value,
649
- } }, h("slot", { name: "icon" }))), readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(currValue)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: this.form }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
862
+ } }, h("slot", { key: 'f09cffc377cfe7eb76d1b8bc4c83ec632a99b2df', name: "icon" }))), readonly ? (h("ic-typography", null, h("p", null, valueLabelString))) : isMobileOrTablet() && !multiple ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: this.form }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
650
863
  if (option.children) {
651
864
  return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label)))));
652
865
  }
653
866
  else {
654
867
  return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label));
655
868
  }
656
- }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: "select-input", role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": this.ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": this.open ? "true" : "false", "aria-invalid": invalid, "aria-required": required ? "true" : "false", "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: this.inputId, value: this.searchableSelectInputValue, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: this.form }), this.searchableSelectInputValue &&
657
- (showClearButton || searchable) && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue && currValue === null
869
+ }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
870
+ "select-input": true,
871
+ "with-clear-button": !!this.searchableSelectInputValue,
872
+ }, role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": this.ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": `${this.open}`, "aria-invalid": invalid, "aria-required": `${required}`, "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: this.inputId, value: this.searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: this.form }), isClearable && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue &&
873
+ (currValue === null || this.loading)
658
874
  ? "Clear input"
659
- : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
660
- ? IcThemeForegroundEnum.Light
661
- : IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
875
+ : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", theme: this.clearButtonFocused ? "light" : "dark" }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
662
876
  "expand-icon": true,
663
877
  "expand-icon-open": this.open,
664
- "expand-icon-filled": !(currValue == null || currValue === ""),
665
- }, innerHTML: Expand, "aria-hidden": "true" }), h("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (h("div", { class: "select-container" }, h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: this.inputId, "aria-label": `${label}, ${this.getLabelFromValue(currValue) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": this.open ? "true" : "false", "aria-owns": menuId, "aria-controls": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("ic-typography", { variant: "body", class: {
878
+ }, innerHTML: Expand, "aria-hidden": "true" }), h("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (h("div", { class: "select-container" }, h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: this.inputId, "aria-label": `${label}, ${(multiple && currValue
879
+ ? `${optionsSelectedCount}, ${valueLabelString}`
880
+ : valueLabelString) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": this.open ? "true" : "false", "aria-owns": menuId, "aria-controls": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("ic-typography", { variant: "body", class: {
666
881
  "value-text": true,
667
- placeholder: this.getLabelFromValue(currValue) === undefined,
668
- } }, this.getLabelFromValue(currValue) || placeholder), h("div", { class: "select-input-end" }, currValue && showClearButton && (h("div", { class: "divider" })), h("span", { class: {
882
+ "with-clear-button": !!isClearable,
883
+ placeholder: !this.loading && multiple
884
+ ? !this.value || this.value.length < 1
885
+ : !this.getLabelFromValue(currValue),
886
+ } }, valueLabelString || placeholder), h("div", { class: "select-input-end" }, isClearable && h("div", { class: "divider" }), h("span", { class: {
669
887
  "expand-icon": true,
670
888
  "expand-icon-open": this.open,
671
- "expand-icon-filled": !(currValue == null || currValue === ""),
672
- }, innerHTML: Expand, "aria-hidden": "true" }))), currValue && showClearButton && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
673
- ? IcThemeForegroundEnum.Light
674
- : IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
889
+ }, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", theme: this.clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (h("ic-menu", { key: '60dac9f71d9787ae401f439dbcd013365c33b713', class: {
675
890
  "no-results": this.loading ||
676
891
  this.hasTimedOut ||
677
892
  (this.noOptions !== null &&
678
893
  this.noOptions[0] &&
679
894
  this.noOptions[0].label === this.emptyOptionListText),
680
- }, ref: (el) => (this.menu = el), inputEl: searchable
895
+ }, ref: (el) => (this.menu = el), inputEl: (searchable
681
896
  ? this.searchableSelectElement
682
- : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : this.uniqueOptions, value: currValue, fullWidth: fullWidth, selectOnEnter: this.selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuKeyPress: this.handleMenuKeyPress, onMenuValueChange: this.handleMenuValueChange, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: this.searchable || this.selectOnEnter ? "manual" : "automatic" })), hasValidationStatus(this.validationStatus, this.disabled) && (h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: this.inputId })))));
897
+ : this.customSelectElement), inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : this.uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: this.selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: this.searchable || multiple || this.selectOnEnter
898
+ ? "manual"
899
+ : "automatic", closeOnSelect: !multiple })), this.multiple && (h("div", { key: '876f1da870c48b21130b246afa988c4fccefdfc6', "aria-live": "polite", role: "status", class: "multi-select-selected-count" })), hasValidationStatus(this.validationStatus, !!this.disabled) && (h("ic-input-validation", { key: '657c2433a3ab425432356227e931cafe4268dd8b', class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText || "", for: this.inputId })))));
683
900
  }
684
901
  static get is() { return "ic-select"; }
685
902
  static get encapsulation() { return "shadow"; }
@@ -701,7 +918,7 @@ export class Select {
701
918
  "mutable": false,
702
919
  "complexType": {
703
920
  "original": "boolean",
704
- "resolved": "boolean",
921
+ "resolved": "boolean | undefined",
705
922
  "references": {}
706
923
  },
707
924
  "required": false,
@@ -710,6 +927,8 @@ export class Select {
710
927
  "tags": [],
711
928
  "text": "If `true`, the disabled state will be set."
712
929
  },
930
+ "getter": false,
931
+ "setter": false,
713
932
  "attribute": "disabled",
714
933
  "reflect": true,
715
934
  "defaultValue": "false"
@@ -719,7 +938,7 @@ export class Select {
719
938
  "mutable": false,
720
939
  "complexType": {
721
940
  "original": "boolean",
722
- "resolved": "boolean",
941
+ "resolved": "boolean | undefined",
723
942
  "references": {}
724
943
  },
725
944
  "required": false,
@@ -728,6 +947,8 @@ export class Select {
728
947
  "tags": [],
729
948
  "text": "If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source."
730
949
  },
950
+ "getter": false,
951
+ "setter": false,
731
952
  "attribute": "disable-auto-filtering",
732
953
  "reflect": false,
733
954
  "defaultValue": "false"
@@ -737,15 +958,17 @@ export class Select {
737
958
  "mutable": false,
738
959
  "complexType": {
739
960
  "original": "string",
740
- "resolved": "string",
961
+ "resolved": "string | undefined",
741
962
  "references": {}
742
963
  },
743
964
  "required": false,
744
- "optional": false,
965
+ "optional": true,
745
966
  "docs": {
746
967
  "tags": [],
747
968
  "text": "The text displayed when there are no options in the option list."
748
969
  },
970
+ "getter": false,
971
+ "setter": false,
749
972
  "attribute": "empty-option-list-text",
750
973
  "reflect": false,
751
974
  "defaultValue": "\"No results found\""
@@ -755,7 +978,7 @@ export class Select {
755
978
  "mutable": false,
756
979
  "complexType": {
757
980
  "original": "string",
758
- "resolved": "string",
981
+ "resolved": "string | undefined",
759
982
  "references": {}
760
983
  },
761
984
  "required": false,
@@ -764,6 +987,8 @@ export class Select {
764
987
  "tags": [],
765
988
  "text": "The <form> element to associate the select with."
766
989
  },
990
+ "getter": false,
991
+ "setter": false,
767
992
  "attribute": "form",
768
993
  "reflect": false
769
994
  },
@@ -772,15 +997,17 @@ export class Select {
772
997
  "mutable": false,
773
998
  "complexType": {
774
999
  "original": "boolean",
775
- "resolved": "boolean",
1000
+ "resolved": "boolean | undefined",
776
1001
  "references": {}
777
1002
  },
778
1003
  "required": false,
779
- "optional": false,
1004
+ "optional": true,
780
1005
  "docs": {
781
1006
  "tags": [],
782
- "text": "If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true."
1007
+ "text": "If `true`, the select will fill the width of the container."
783
1008
  },
1009
+ "getter": false,
1010
+ "setter": false,
784
1011
  "attribute": "full-width",
785
1012
  "reflect": false,
786
1013
  "defaultValue": "false"
@@ -790,7 +1017,7 @@ export class Select {
790
1017
  "mutable": false,
791
1018
  "complexType": {
792
1019
  "original": "string",
793
- "resolved": "string",
1020
+ "resolved": "string | undefined",
794
1021
  "references": {}
795
1022
  },
796
1023
  "required": false,
@@ -799,6 +1026,8 @@ export class Select {
799
1026
  "tags": [],
800
1027
  "text": "The helper text that will be displayed for additional field guidance."
801
1028
  },
1029
+ "getter": false,
1030
+ "setter": false,
802
1031
  "attribute": "helper-text",
803
1032
  "reflect": false,
804
1033
  "defaultValue": "\"\""
@@ -808,7 +1037,7 @@ export class Select {
808
1037
  "mutable": false,
809
1038
  "complexType": {
810
1039
  "original": "boolean",
811
- "resolved": "boolean",
1040
+ "resolved": "boolean | undefined",
812
1041
  "references": {}
813
1042
  },
814
1043
  "required": false,
@@ -817,6 +1046,8 @@ export class Select {
817
1046
  "tags": [],
818
1047
  "text": "If `true`, the label will be hidden and the required label value will be applied as an aria-label."
819
1048
  },
1049
+ "getter": false,
1050
+ "setter": false,
820
1051
  "attribute": "hide-label",
821
1052
  "reflect": false,
822
1053
  "defaultValue": "false"
@@ -826,7 +1057,7 @@ export class Select {
826
1057
  "mutable": false,
827
1058
  "complexType": {
828
1059
  "original": "boolean",
829
- "resolved": "boolean",
1060
+ "resolved": "boolean | undefined",
830
1061
  "references": {}
831
1062
  },
832
1063
  "required": false,
@@ -835,6 +1066,8 @@ export class Select {
835
1066
  "tags": [],
836
1067
  "text": "If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering."
837
1068
  },
1069
+ "getter": false,
1070
+ "setter": false,
838
1071
  "attribute": "include-descriptions-in-search",
839
1072
  "reflect": false,
840
1073
  "defaultValue": "false"
@@ -844,7 +1077,7 @@ export class Select {
844
1077
  "mutable": false,
845
1078
  "complexType": {
846
1079
  "original": "boolean",
847
- "resolved": "boolean",
1080
+ "resolved": "boolean | undefined",
848
1081
  "references": {}
849
1082
  },
850
1083
  "required": false,
@@ -853,6 +1086,8 @@ export class Select {
853
1086
  "tags": [],
854
1087
  "text": "If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering."
855
1088
  },
1089
+ "getter": false,
1090
+ "setter": false,
856
1091
  "attribute": "include-group-titles-in-search",
857
1092
  "reflect": false,
858
1093
  "defaultValue": "false"
@@ -871,6 +1106,8 @@ export class Select {
871
1106
  "tags": [],
872
1107
  "text": "The label for the select."
873
1108
  },
1109
+ "getter": false,
1110
+ "setter": false,
874
1111
  "attribute": "label",
875
1112
  "reflect": false
876
1113
  },
@@ -879,7 +1116,7 @@ export class Select {
879
1116
  "mutable": false,
880
1117
  "complexType": {
881
1118
  "original": "string",
882
- "resolved": "string",
1119
+ "resolved": "string | undefined",
883
1120
  "references": {}
884
1121
  },
885
1122
  "required": false,
@@ -888,6 +1125,8 @@ export class Select {
888
1125
  "tags": [],
889
1126
  "text": "The message displayed when external loading times out."
890
1127
  },
1128
+ "getter": false,
1129
+ "setter": false,
891
1130
  "attribute": "loading-error-label",
892
1131
  "reflect": false,
893
1132
  "defaultValue": "\"Loading Error\""
@@ -897,7 +1136,7 @@ export class Select {
897
1136
  "mutable": false,
898
1137
  "complexType": {
899
1138
  "original": "string",
900
- "resolved": "string",
1139
+ "resolved": "string | undefined",
901
1140
  "references": {}
902
1141
  },
903
1142
  "required": false,
@@ -906,16 +1145,38 @@ export class Select {
906
1145
  "tags": [],
907
1146
  "text": "The message displayed whilst the options are being loaded externally."
908
1147
  },
1148
+ "getter": false,
1149
+ "setter": false,
909
1150
  "attribute": "loading-label",
910
1151
  "reflect": false,
911
1152
  "defaultValue": "\"Loading...\""
912
1153
  },
1154
+ "multiple": {
1155
+ "type": "boolean",
1156
+ "mutable": false,
1157
+ "complexType": {
1158
+ "original": "boolean",
1159
+ "resolved": "boolean | undefined",
1160
+ "references": {}
1161
+ },
1162
+ "required": false,
1163
+ "optional": true,
1164
+ "docs": {
1165
+ "tags": [],
1166
+ "text": "If `true`, multiple options can be selected."
1167
+ },
1168
+ "getter": false,
1169
+ "setter": false,
1170
+ "attribute": "multiple",
1171
+ "reflect": false,
1172
+ "defaultValue": "false"
1173
+ },
913
1174
  "name": {
914
1175
  "type": "string",
915
1176
  "mutable": false,
916
1177
  "complexType": {
917
1178
  "original": "string",
918
- "resolved": "string",
1179
+ "resolved": "string | undefined",
919
1180
  "references": {}
920
1181
  },
921
1182
  "required": false,
@@ -924,6 +1185,8 @@ export class Select {
924
1185
  "tags": [],
925
1186
  "text": "The name of the control, which is submitted with the form data."
926
1187
  },
1188
+ "getter": false,
1189
+ "setter": false,
927
1190
  "attribute": "name",
928
1191
  "reflect": false,
929
1192
  "defaultValue": "this.inputId"
@@ -933,7 +1196,7 @@ export class Select {
933
1196
  "mutable": false,
934
1197
  "complexType": {
935
1198
  "original": "string",
936
- "resolved": "string",
1199
+ "resolved": "string | undefined",
937
1200
  "references": {}
938
1201
  },
939
1202
  "required": false,
@@ -942,6 +1205,8 @@ export class Select {
942
1205
  "tags": [],
943
1206
  "text": "The placeholder value to be displayed."
944
1207
  },
1208
+ "getter": false,
1209
+ "setter": false,
945
1210
  "attribute": "placeholder",
946
1211
  "reflect": false,
947
1212
  "defaultValue": "\"Select an option\""
@@ -951,7 +1216,7 @@ export class Select {
951
1216
  "mutable": false,
952
1217
  "complexType": {
953
1218
  "original": "boolean",
954
- "resolved": "boolean",
1219
+ "resolved": "boolean | undefined",
955
1220
  "references": {}
956
1221
  },
957
1222
  "required": false,
@@ -960,6 +1225,8 @@ export class Select {
960
1225
  "tags": [],
961
1226
  "text": "If `true`, the readonly state will be set."
962
1227
  },
1228
+ "getter": false,
1229
+ "setter": false,
963
1230
  "attribute": "readonly",
964
1231
  "reflect": false,
965
1232
  "defaultValue": "false"
@@ -969,7 +1236,7 @@ export class Select {
969
1236
  "mutable": false,
970
1237
  "complexType": {
971
1238
  "original": "boolean",
972
- "resolved": "boolean",
1239
+ "resolved": "boolean | undefined",
973
1240
  "references": {}
974
1241
  },
975
1242
  "required": false,
@@ -978,6 +1245,8 @@ export class Select {
978
1245
  "tags": [],
979
1246
  "text": "If `true`, the select will require a value."
980
1247
  },
1248
+ "getter": false,
1249
+ "setter": false,
981
1250
  "attribute": "required",
982
1251
  "reflect": false,
983
1252
  "defaultValue": "false"
@@ -987,15 +1256,17 @@ export class Select {
987
1256
  "mutable": false,
988
1257
  "complexType": {
989
1258
  "original": "boolean",
990
- "resolved": "boolean",
1259
+ "resolved": "boolean | undefined",
991
1260
  "references": {}
992
1261
  },
993
1262
  "required": false,
994
1263
  "optional": true,
995
1264
  "docs": {
996
1265
  "tags": [],
997
- "text": "If `true`, a searchable variant of the select will be displayed which can be typed in to filter options."
1266
+ "text": "If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component."
998
1267
  },
1268
+ "getter": false,
1269
+ "setter": false,
999
1270
  "attribute": "searchable",
1000
1271
  "reflect": false,
1001
1272
  "defaultValue": "false"
@@ -1005,7 +1276,7 @@ export class Select {
1005
1276
  "mutable": false,
1006
1277
  "complexType": {
1007
1278
  "original": "IcSearchMatchPositions",
1008
- "resolved": "\"anywhere\" | \"start\"",
1279
+ "resolved": "\"anywhere\" | \"start\" | undefined",
1009
1280
  "references": {
1010
1281
  "IcSearchMatchPositions": {
1011
1282
  "location": "import",
@@ -1020,6 +1291,8 @@ export class Select {
1020
1291
  "tags": [],
1021
1292
  "text": "Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering."
1022
1293
  },
1294
+ "getter": false,
1295
+ "setter": false,
1023
1296
  "attribute": "search-match-position",
1024
1297
  "reflect": false,
1025
1298
  "defaultValue": "\"anywhere\""
@@ -1029,15 +1302,17 @@ export class Select {
1029
1302
  "mutable": false,
1030
1303
  "complexType": {
1031
1304
  "original": "boolean",
1032
- "resolved": "boolean",
1305
+ "resolved": "boolean | undefined",
1033
1306
  "references": {}
1034
1307
  },
1035
1308
  "required": false,
1036
1309
  "optional": true,
1037
1310
  "docs": {
1038
1311
  "tags": [],
1039
- "text": "If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown."
1312
+ "text": "If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select."
1040
1313
  },
1314
+ "getter": false,
1315
+ "setter": false,
1041
1316
  "attribute": "select-on-enter",
1042
1317
  "reflect": false,
1043
1318
  "defaultValue": "false"
@@ -1047,7 +1322,7 @@ export class Select {
1047
1322
  "mutable": false,
1048
1323
  "complexType": {
1049
1324
  "original": "boolean",
1050
- "resolved": "boolean",
1325
+ "resolved": "boolean | undefined",
1051
1326
  "references": {}
1052
1327
  },
1053
1328
  "required": false,
@@ -1056,6 +1331,8 @@ export class Select {
1056
1331
  "tags": [],
1057
1332
  "text": "If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select."
1058
1333
  },
1334
+ "getter": false,
1335
+ "setter": false,
1059
1336
  "attribute": "show-clear-button",
1060
1337
  "reflect": false,
1061
1338
  "defaultValue": "false"
@@ -1065,7 +1342,7 @@ export class Select {
1065
1342
  "mutable": false,
1066
1343
  "complexType": {
1067
1344
  "original": "IcSizes",
1068
- "resolved": "\"default\" | \"large\" | \"small\"",
1345
+ "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
1069
1346
  "references": {
1070
1347
  "IcSizes": {
1071
1348
  "location": "import",
@@ -1078,18 +1355,20 @@ export class Select {
1078
1355
  "optional": true,
1079
1356
  "docs": {
1080
1357
  "tags": [],
1081
- "text": "The size of the select component."
1358
+ "text": "The size of the select."
1082
1359
  },
1360
+ "getter": false,
1361
+ "setter": false,
1083
1362
  "attribute": "size",
1084
1363
  "reflect": false,
1085
- "defaultValue": "\"default\""
1364
+ "defaultValue": "\"medium\""
1086
1365
  },
1087
1366
  "timeout": {
1088
1367
  "type": "number",
1089
1368
  "mutable": false,
1090
1369
  "complexType": {
1091
1370
  "original": "number",
1092
- "resolved": "number",
1371
+ "resolved": "number | undefined",
1093
1372
  "references": {}
1094
1373
  },
1095
1374
  "required": false,
@@ -1098,15 +1377,43 @@ export class Select {
1098
1377
  "tags": [],
1099
1378
  "text": "If using external filtering, set a timeout for when loading takes too long."
1100
1379
  },
1380
+ "getter": false,
1381
+ "setter": false,
1101
1382
  "attribute": "timeout",
1102
1383
  "reflect": false
1103
1384
  },
1385
+ "theme": {
1386
+ "type": "string",
1387
+ "mutable": false,
1388
+ "complexType": {
1389
+ "original": "IcThemeMode",
1390
+ "resolved": "\"dark\" | \"inherit\" | \"light\" | undefined",
1391
+ "references": {
1392
+ "IcThemeMode": {
1393
+ "location": "import",
1394
+ "path": "../../utils/types",
1395
+ "id": "src/utils/types.ts::IcThemeMode"
1396
+ }
1397
+ }
1398
+ },
1399
+ "required": false,
1400
+ "optional": true,
1401
+ "docs": {
1402
+ "tags": [],
1403
+ "text": "Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component."
1404
+ },
1405
+ "getter": false,
1406
+ "setter": false,
1407
+ "attribute": "theme",
1408
+ "reflect": false,
1409
+ "defaultValue": "\"inherit\""
1410
+ },
1104
1411
  "validationStatus": {
1105
1412
  "type": "string",
1106
1413
  "mutable": false,
1107
1414
  "complexType": {
1108
1415
  "original": "IcInformationStatusOrEmpty",
1109
- "resolved": "\"\" | \"error\" | \"success\" | \"warning\"",
1416
+ "resolved": "\"\" | \"error\" | \"success\" | \"warning\" | undefined",
1110
1417
  "references": {
1111
1418
  "IcInformationStatusOrEmpty": {
1112
1419
  "location": "import",
@@ -1121,6 +1428,8 @@ export class Select {
1121
1428
  "tags": [],
1122
1429
  "text": "The validation status - e.g. 'error' | 'warning' | 'success'."
1123
1430
  },
1431
+ "getter": false,
1432
+ "setter": false,
1124
1433
  "attribute": "validation-status",
1125
1434
  "reflect": false,
1126
1435
  "defaultValue": "\"\""
@@ -1130,7 +1439,7 @@ export class Select {
1130
1439
  "mutable": false,
1131
1440
  "complexType": {
1132
1441
  "original": "string",
1133
- "resolved": "string",
1442
+ "resolved": "string | undefined",
1134
1443
  "references": {}
1135
1444
  },
1136
1445
  "required": false,
@@ -1139,6 +1448,8 @@ export class Select {
1139
1448
  "tags": [],
1140
1449
  "text": "The text to display as the validation message."
1141
1450
  },
1451
+ "getter": false,
1452
+ "setter": false,
1142
1453
  "attribute": "validation-text",
1143
1454
  "reflect": false,
1144
1455
  "defaultValue": "\"\""
@@ -1148,7 +1459,7 @@ export class Select {
1148
1459
  "mutable": true,
1149
1460
  "complexType": {
1150
1461
  "original": "boolean",
1151
- "resolved": "boolean",
1462
+ "resolved": "boolean | undefined",
1152
1463
  "references": {}
1153
1464
  },
1154
1465
  "required": false,
@@ -1157,6 +1468,8 @@ export class Select {
1157
1468
  "tags": [],
1158
1469
  "text": "If `true`, the loading state will be triggered when fetching options asynchronously."
1159
1470
  },
1471
+ "getter": false,
1472
+ "setter": false,
1160
1473
  "attribute": "loading",
1161
1474
  "reflect": false,
1162
1475
  "defaultValue": "false"
@@ -1166,7 +1479,7 @@ export class Select {
1166
1479
  "mutable": false,
1167
1480
  "complexType": {
1168
1481
  "original": "IcMenuOption[]",
1169
- "resolved": "IcMenuOption[]",
1482
+ "resolved": "IcMenuOption[] | undefined",
1170
1483
  "references": {
1171
1484
  "IcMenuOption": {
1172
1485
  "location": "import",
@@ -1181,6 +1494,8 @@ export class Select {
1181
1494
  "tags": [],
1182
1495
  "text": "The possible selection options."
1183
1496
  },
1497
+ "getter": false,
1498
+ "setter": false,
1184
1499
  "defaultValue": "[]"
1185
1500
  },
1186
1501
  "debounce": {
@@ -1188,15 +1503,17 @@ export class Select {
1188
1503
  "mutable": false,
1189
1504
  "complexType": {
1190
1505
  "original": "number",
1191
- "resolved": "number",
1506
+ "resolved": "number | undefined",
1192
1507
  "references": {}
1193
1508
  },
1194
1509
  "required": false,
1195
1510
  "optional": true,
1196
1511
  "docs": {
1197
1512
  "tags": [],
1198
- "text": "The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke."
1513
+ "text": "The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke."
1199
1514
  },
1515
+ "getter": false,
1516
+ "setter": false,
1200
1517
  "attribute": "debounce",
1201
1518
  "reflect": false,
1202
1519
  "defaultValue": "0"
@@ -1205,16 +1522,18 @@ export class Select {
1205
1522
  "type": "string",
1206
1523
  "mutable": true,
1207
1524
  "complexType": {
1208
- "original": "string",
1209
- "resolved": "string",
1525
+ "original": "string | string[] | null",
1526
+ "resolved": "null | string | string[] | undefined",
1210
1527
  "references": {}
1211
1528
  },
1212
1529
  "required": false,
1213
1530
  "optional": true,
1214
1531
  "docs": {
1215
1532
  "tags": [],
1216
- "text": "The value of the select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input."
1533
+ "text": "The value of the select, reflected by the value of the currently selected option.\nFor the searchable variant, the value is also reflected by the user input.\nFor the multi-select variant, the value must be an array of option values."
1217
1534
  },
1535
+ "getter": false,
1536
+ "setter": false,
1218
1537
  "attribute": "value",
1219
1538
  "reflect": false
1220
1539
  }
@@ -1224,7 +1543,7 @@ export class Select {
1224
1543
  return {
1225
1544
  "ariaActiveDescendant": {},
1226
1545
  "clearButtonFocused": {},
1227
- "debounceIcChange": {},
1546
+ "debounceIcInput": {},
1228
1547
  "hiddenInputValue": {},
1229
1548
  "noOptions": {},
1230
1549
  "open": {},
@@ -1265,13 +1584,13 @@ export class Select {
1265
1584
  "text": "Emitted when the value changes."
1266
1585
  },
1267
1586
  "complexType": {
1268
- "original": "IcValueEventDetail",
1269
- "resolved": "IcValueEventDetail",
1587
+ "original": "IcMultiValueEventDetail",
1588
+ "resolved": "IcMultiValueEventDetail",
1270
1589
  "references": {
1271
- "IcValueEventDetail": {
1590
+ "IcMultiValueEventDetail": {
1272
1591
  "location": "import",
1273
1592
  "path": "../../utils/types",
1274
- "id": "src/utils/types.ts::IcValueEventDetail"
1593
+ "id": "src/utils/types.ts::IcMultiValueEventDetail"
1275
1594
  }
1276
1595
  }
1277
1596
  }
@@ -1283,7 +1602,7 @@ export class Select {
1283
1602
  "composed": true,
1284
1603
  "docs": {
1285
1604
  "tags": [],
1286
- "text": "Emitted when the clear button is clicked."
1605
+ "text": "Emitted when the clear or clear all button is clicked."
1287
1606
  },
1288
1607
  "complexType": {
1289
1608
  "original": "void",
@@ -1331,13 +1650,13 @@ export class Select {
1331
1650
  "text": "Emitted when a keyboard input occurred."
1332
1651
  },
1333
1652
  "complexType": {
1334
- "original": "IcValueEventDetail",
1335
- "resolved": "IcValueEventDetail",
1653
+ "original": "IcMultiValueEventDetail",
1654
+ "resolved": "IcMultiValueEventDetail",
1336
1655
  "references": {
1337
- "IcValueEventDetail": {
1656
+ "IcMultiValueEventDetail": {
1338
1657
  "location": "import",
1339
1658
  "path": "../../utils/types",
1340
- "id": "src/utils/types.ts::IcValueEventDetail"
1659
+ "id": "src/utils/types.ts::IcMultiValueEventDetail"
1341
1660
  }
1342
1661
  }
1343
1662
  }
@@ -1364,7 +1683,28 @@ export class Select {
1364
1683
  "composed": true,
1365
1684
  "docs": {
1366
1685
  "tags": [],
1367
- "text": "Emitted when an option is highlighted within the menu.\nHighlighting a menu item will also trigger an `icChange/onIcChange` due to the value being updated."
1686
+ "text": "Emitted when an option is selected.\nSelecting an option will also trigger an `icChange/onIcChange` due to the value being updated."
1687
+ },
1688
+ "complexType": {
1689
+ "original": "IcOptionSelectEventDetail",
1690
+ "resolved": "IcOptionSelectEventDetail",
1691
+ "references": {
1692
+ "IcOptionSelectEventDetail": {
1693
+ "location": "import",
1694
+ "path": "../ic-menu/ic-menu.types",
1695
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail"
1696
+ }
1697
+ }
1698
+ }
1699
+ }, {
1700
+ "method": "icOptionDeselect",
1701
+ "name": "icOptionDeselect",
1702
+ "bubbles": true,
1703
+ "cancelable": true,
1704
+ "composed": true,
1705
+ "docs": {
1706
+ "tags": [],
1707
+ "text": "Emitted when `multiple` is `true` and an option is deselected."
1368
1708
  },
1369
1709
  "complexType": {
1370
1710
  "original": "IcOptionSelectEventDetail",
@@ -1388,13 +1728,13 @@ export class Select {
1388
1728
  "text": "Emitted when the 'retry loading' button is clicked for a searchable variant."
1389
1729
  },
1390
1730
  "complexType": {
1391
- "original": "IcValueEventDetail",
1392
- "resolved": "IcValueEventDetail",
1731
+ "original": "IcMultiValueEventDetail",
1732
+ "resolved": "IcMultiValueEventDetail",
1393
1733
  "references": {
1394
- "IcValueEventDetail": {
1734
+ "IcMultiValueEventDetail": {
1395
1735
  "location": "import",
1396
1736
  "path": "../../utils/types",
1397
- "id": "src/utils/types.ts::IcValueEventDetail"
1737
+ "id": "src/utils/types.ts::IcMultiValueEventDetail"
1398
1738
  }
1399
1739
  }
1400
1740
  }
@@ -1424,6 +1764,9 @@ export class Select {
1424
1764
  static get elementRef() { return "el"; }
1425
1765
  static get watchers() {
1426
1766
  return [{
1767
+ "propName": "disabled",
1768
+ "methodName": "watchDisabledHandler"
1769
+ }, {
1427
1770
  "propName": "loading",
1428
1771
  "methodName": "loadingHandler"
1429
1772
  }, {