@ukic/web-components 3.3.0 → 3.5.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 (554) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-fc4016d2.js → helpers-931fd72e.js} +30 -32
  3. package/dist/cjs/helpers-931fd72e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +10 -8
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  13. package/dist/cjs/ic-button_3.cjs.entry.js +138 -145
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +8 -13
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  25. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-hero.cjs.entry.js +7 -6
  31. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +33 -27
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +36 -13
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +12 -22
  38. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js +31 -39
  42. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js +121 -166
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js +65 -62
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  48. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  49. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -6
  54. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +68 -34
  57. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-select.cjs.entry.js +142 -218
  60. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js +35 -17
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  67. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  72. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +16 -11
  75. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +54 -68
  80. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-toggle-button.cjs.entry.js +62 -64
  82. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js +74 -66
  84. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/collection/ag-theme-icds.css +24 -4
  88. package/dist/collection/components/ic-accordion/ic-accordion.js +9 -7
  89. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  90. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +1 -1
  91. package/dist/collection/components/ic-alert/ic-alert.css +4 -0
  92. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  93. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  94. package/dist/collection/components/ic-button/ic-button.css +0 -8
  95. package/dist/collection/components/ic-button/ic-button.js +3 -3
  96. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  97. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +3 -0
  98. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -1
  99. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -11
  100. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  101. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +10 -2
  102. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -3
  103. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +22 -0
  105. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  106. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  107. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  108. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  109. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  110. package/dist/collection/components/ic-hero/ic-hero.css +13 -4
  111. package/dist/collection/components/ic-hero/ic-hero.js +5 -4
  112. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  113. package/dist/collection/components/ic-hero/ic-hero.stories.js +1 -0
  114. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  115. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  116. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  117. package/dist/collection/components/ic-input-label/ic-input-label.css +2 -1
  118. package/dist/collection/components/ic-input-label/ic-input-label.js +31 -8
  119. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  120. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  121. package/dist/collection/components/ic-link/ic-link.js +12 -25
  122. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  123. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +3 -3
  124. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +210 -211
  125. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  126. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +1 -1
  127. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  128. package/dist/collection/components/ic-menu/ic-menu.js +94 -47
  129. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  130. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  131. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -47
  132. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  133. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +144 -170
  134. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  135. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +10 -14
  136. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +80 -74
  137. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  138. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  139. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  140. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  141. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  142. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +3 -0
  143. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  144. package/dist/collection/components/ic-radio-group/ic-radio-group.css +10 -2
  145. package/dist/collection/components/ic-radio-group/ic-radio-group.js +7 -4
  146. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  147. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +22 -0
  148. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  149. package/dist/collection/components/ic-search-bar/ic-search-bar.js +96 -34
  150. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +29 -18
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +197 -271
  154. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  155. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +21 -13
  156. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +21 -13
  157. package/dist/collection/components/ic-select/ic-select_(single).stories.js +47 -30
  158. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +54 -16
  159. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  160. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +390 -0
  161. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  162. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  163. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  164. package/dist/collection/components/ic-step/ic-step.js +13 -13
  165. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  166. package/dist/collection/components/ic-switch/ic-switch.css +1 -4
  167. package/dist/collection/components/ic-switch/ic-switch.js +5 -4
  168. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  169. package/dist/collection/components/ic-switch/ic-switch.stories.js +8 -1
  170. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  171. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  172. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  173. package/dist/collection/components/ic-text-field/ic-text-field.js +21 -14
  174. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  175. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  176. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  177. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  178. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  179. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +40 -7
  180. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +80 -82
  181. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  182. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -88
  183. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  184. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -2
  185. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +1 -0
  186. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -81
  187. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  188. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  189. package/dist/collection/utils/constants.js +1 -1
  190. package/dist/collection/utils/constants.js.map +1 -1
  191. package/dist/collection/utils/helpers.js +27 -30
  192. package/dist/collection/utils/helpers.js.map +1 -1
  193. package/dist/components/helpers.js +29 -32
  194. package/dist/components/helpers.js.map +1 -1
  195. package/dist/components/ic-accordion.js +9 -7
  196. package/dist/components/ic-accordion.js.map +1 -1
  197. package/dist/components/ic-alert.js +1 -1
  198. package/dist/components/ic-alert.js.map +1 -1
  199. package/dist/components/ic-breadcrumb-group.js +2 -2
  200. package/dist/components/ic-breadcrumb2.js +2 -2
  201. package/dist/components/ic-button2.js +4 -4
  202. package/dist/components/ic-button2.js.map +1 -1
  203. package/dist/components/ic-card-vertical.js +1 -1
  204. package/dist/components/ic-card-vertical.js.map +1 -1
  205. package/dist/components/ic-checkbox-group.js +4 -4
  206. package/dist/components/ic-checkbox-group.js.map +1 -1
  207. package/dist/components/ic-checkbox.js +7 -12
  208. package/dist/components/ic-checkbox.js.map +1 -1
  209. package/dist/components/ic-data-list.js +2 -2
  210. package/dist/components/ic-data-row.js +2 -2
  211. package/dist/components/ic-dialog.js +1 -1
  212. package/dist/components/ic-empty-state.js +2 -2
  213. package/dist/components/ic-footer-link.js +2 -2
  214. package/dist/components/ic-hero.js +6 -5
  215. package/dist/components/ic-hero.js.map +1 -1
  216. package/dist/components/ic-horizontal-scroll2.js +5 -5
  217. package/dist/components/ic-input-component-container2.js +3 -3
  218. package/dist/components/ic-input-container2.js +2 -2
  219. package/dist/components/ic-input-label2.js +33 -10
  220. package/dist/components/ic-input-label2.js.map +1 -1
  221. package/dist/components/ic-input-validation2.js +3 -3
  222. package/dist/components/ic-link2.js +12 -24
  223. package/dist/components/ic-link2.js.map +1 -1
  224. package/dist/components/ic-loading-indicator2.js +139 -143
  225. package/dist/components/ic-loading-indicator2.js.map +1 -1
  226. package/dist/components/ic-menu-group.js +1 -1
  227. package/dist/components/ic-menu2.js +30 -22
  228. package/dist/components/ic-menu2.js.map +1 -1
  229. package/dist/components/ic-navigation-button.js +32 -41
  230. package/dist/components/ic-navigation-button.js.map +1 -1
  231. package/dist/components/ic-navigation-group.js +122 -167
  232. package/dist/components/ic-navigation-group.js.map +1 -1
  233. package/dist/components/ic-navigation-item.js +68 -63
  234. package/dist/components/ic-navigation-item.js.map +1 -1
  235. package/dist/components/ic-navigation-menu2.js +5 -5
  236. package/dist/components/ic-page-header.js +6 -6
  237. package/dist/components/ic-pagination-item2.js +2 -2
  238. package/dist/components/ic-pagination.js +4 -4
  239. package/dist/components/ic-popover-menu.js +5 -5
  240. package/dist/components/ic-popover-menu.js.map +1 -1
  241. package/dist/components/ic-radio-group.js +5 -5
  242. package/dist/components/ic-radio-group.js.map +1 -1
  243. package/dist/components/ic-radio-option.js +4 -4
  244. package/dist/components/ic-radio-option.js.map +1 -1
  245. package/dist/components/ic-search-bar.js +72 -34
  246. package/dist/components/ic-search-bar.js.map +1 -1
  247. package/dist/components/ic-section-container2.js +2 -2
  248. package/dist/components/ic-select.js +141 -217
  249. package/dist/components/ic-select.js.map +1 -1
  250. package/dist/components/ic-side-navigation.js +36 -17
  251. package/dist/components/ic-side-navigation.js.map +1 -1
  252. package/dist/components/ic-skeleton.js +2 -2
  253. package/dist/components/ic-skip-link.js +2 -2
  254. package/dist/components/ic-status-tag.js +2 -2
  255. package/dist/components/ic-step.js +13 -13
  256. package/dist/components/ic-stepper.js +2 -2
  257. package/dist/components/ic-switch.js +5 -5
  258. package/dist/components/ic-switch.js.map +1 -1
  259. package/dist/components/ic-tab-context.js +1 -1
  260. package/dist/components/ic-tab-group.js +2 -2
  261. package/dist/components/ic-tab-panel.js +2 -2
  262. package/dist/components/ic-tab-panel.js.map +1 -1
  263. package/dist/components/ic-text-field.js +17 -11
  264. package/dist/components/ic-text-field.js.map +1 -1
  265. package/dist/components/ic-theme.js +2 -2
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast.js +4 -4
  268. package/dist/components/ic-toggle-button-group.js +53 -67
  269. package/dist/components/ic-toggle-button-group.js.map +1 -1
  270. package/dist/components/ic-toggle-button.js +62 -64
  271. package/dist/components/ic-toggle-button.js.map +1 -1
  272. package/dist/components/ic-tooltip2.js +2 -2
  273. package/dist/components/ic-top-navigation.js +75 -67
  274. package/dist/components/ic-top-navigation.js.map +1 -1
  275. package/dist/components/ic-typography2.js +2 -2
  276. package/dist/core/ag-theme-icds.css +24 -4
  277. package/dist/core/core.css +29 -25
  278. package/dist/core/core.esm.js +1 -1
  279. package/dist/core/core.esm.js.map +1 -1
  280. package/dist/core/{p-b371a498.entry.js → p-0f3a56bb.entry.js} +2 -2
  281. package/dist/core/p-0f3a56bb.entry.js.map +1 -0
  282. package/dist/core/{p-72c117b6.entry.js → p-0f86ea09.entry.js} +2 -2
  283. package/dist/core/p-1228fd8c.entry.js +2 -0
  284. package/dist/core/{p-b8da5c07.entry.js.map → p-1228fd8c.entry.js.map} +1 -1
  285. package/dist/core/p-1286b234.entry.js +2 -0
  286. package/dist/core/p-1286b234.entry.js.map +1 -0
  287. package/dist/core/{p-8c4f7c63.entry.js → p-13e65198.entry.js} +2 -2
  288. package/dist/core/{p-fbf57f0a.entry.js → p-20a6dc40.entry.js} +2 -2
  289. package/dist/core/p-20a6dc40.entry.js.map +1 -0
  290. package/dist/core/{p-cdf56a5d.entry.js → p-21ed856c.entry.js} +2 -2
  291. package/dist/core/p-21ed856c.entry.js.map +1 -0
  292. package/dist/core/p-226406d6.entry.js +2 -0
  293. package/dist/core/{p-70a6cff1.entry.js → p-24bb2265.entry.js} +2 -2
  294. package/dist/core/{p-d45d66c0.entry.js → p-2b342b23.entry.js} +2 -2
  295. package/dist/core/p-334672c1.entry.js +2 -0
  296. package/dist/core/p-334672c1.entry.js.map +1 -0
  297. package/dist/core/{p-8b5022bc.entry.js → p-3448c713.entry.js} +2 -2
  298. package/dist/core/p-37900547.entry.js +2 -0
  299. package/dist/core/p-37900547.entry.js.map +1 -0
  300. package/dist/core/p-3abaa877.entry.js +2 -0
  301. package/dist/core/p-3abaa877.entry.js.map +1 -0
  302. package/dist/core/{p-ef36181d.entry.js → p-3afc2870.entry.js} +2 -2
  303. package/dist/core/{p-aad10013.entry.js → p-3d7d2ff4.entry.js} +2 -2
  304. package/dist/core/p-41bb4db1.entry.js +2 -0
  305. package/dist/core/p-41bb4db1.entry.js.map +1 -0
  306. package/dist/core/{p-788c96ac.entry.js → p-44902a33.entry.js} +2 -2
  307. package/dist/core/{p-628c32b8.entry.js → p-476eac8c.entry.js} +2 -2
  308. package/dist/core/{p-9479f272.entry.js → p-49ca3f54.entry.js} +2 -2
  309. package/dist/core/{p-ebab7a9e.entry.js → p-4dfc41e7.entry.js} +2 -2
  310. package/dist/core/{p-83764268.entry.js → p-5026eeaf.entry.js} +2 -2
  311. package/dist/core/{p-2c17cc67.entry.js → p-54ea7120.entry.js} +2 -2
  312. package/dist/core/{p-a17499ff.entry.js → p-5b2bf9bb.entry.js} +2 -2
  313. package/dist/core/{p-0a436c47.entry.js → p-5d9b23ce.entry.js} +2 -2
  314. package/dist/core/p-5d9b23ce.entry.js.map +1 -0
  315. package/dist/core/{p-c9a4fe37.entry.js → p-5f9d1977.entry.js} +2 -2
  316. package/dist/core/p-5f9d1977.entry.js.map +1 -0
  317. package/dist/core/{p-1b2690b4.entry.js → p-6c10e1a2.entry.js} +2 -2
  318. package/dist/core/p-6c10e1a2.entry.js.map +1 -0
  319. package/dist/core/{p-1440847f.entry.js → p-6cb81f35.entry.js} +2 -2
  320. package/dist/core/{p-df88ff5b.entry.js → p-6dd73165.entry.js} +2 -2
  321. package/dist/core/p-7ead8535.entry.js +2 -0
  322. package/dist/core/p-7ead8535.entry.js.map +1 -0
  323. package/dist/core/{p-c8cf1ad5.entry.js → p-831e884c.entry.js} +2 -2
  324. package/dist/core/{p-267a19d4.entry.js → p-85f735ed.entry.js} +2 -2
  325. package/dist/core/p-89f493f3.entry.js +2 -0
  326. package/dist/core/p-89f493f3.entry.js.map +1 -0
  327. package/dist/core/{p-00bc353b.entry.js → p-8da025b5.entry.js} +2 -2
  328. package/dist/core/p-990c37aa.entry.js +2 -0
  329. package/dist/core/p-990c37aa.entry.js.map +1 -0
  330. package/dist/core/p-9e039aba.entry.js +2 -0
  331. package/dist/core/p-9e039aba.entry.js.map +1 -0
  332. package/dist/core/{p-bc2ca778.entry.js → p-9e051db4.entry.js} +2 -2
  333. package/dist/core/{p-a0161990.entry.js → p-9edc5973.entry.js} +2 -2
  334. package/dist/core/{p-2c371198.entry.js → p-a14025cc.entry.js} +2 -2
  335. package/dist/core/p-a7286727.entry.js +2 -0
  336. package/dist/core/p-a7286727.entry.js.map +1 -0
  337. package/dist/core/{p-c4663e1a.entry.js → p-ab4e8b4a.entry.js} +2 -2
  338. package/dist/core/{p-42a7d0b6.entry.js → p-ab7a5536.entry.js} +2 -2
  339. package/dist/core/{p-26dfc4db.entry.js → p-ac73cfb8.entry.js} +2 -2
  340. package/dist/core/{p-f0388d68.entry.js → p-ad374f0b.entry.js} +2 -2
  341. package/dist/core/p-ad374f0b.entry.js.map +1 -0
  342. package/dist/core/{p-513628ef.entry.js → p-b08bb522.entry.js} +2 -2
  343. package/dist/core/{p-1be17f22.entry.js → p-b1b27b7e.entry.js} +2 -2
  344. package/dist/core/p-b40ecf16.js +2 -0
  345. package/dist/core/p-b40ecf16.js.map +1 -0
  346. package/dist/core/{p-10e1e227.entry.js → p-b59007a3.entry.js} +2 -2
  347. package/dist/core/{p-16f55230.entry.js → p-b811c7a1.entry.js} +2 -2
  348. package/dist/core/p-b811c7a1.entry.js.map +1 -0
  349. package/dist/core/p-bae2df5e.entry.js +2 -0
  350. package/dist/core/p-bae2df5e.entry.js.map +1 -0
  351. package/dist/core/{p-bdc72446.entry.js → p-c8555360.entry.js} +2 -2
  352. package/dist/core/{p-a4f9b5bf.entry.js → p-ced2e6ca.entry.js} +2 -2
  353. package/dist/core/{p-9ca147f3.entry.js → p-d281c3cf.entry.js} +2 -2
  354. package/dist/core/p-d32c377d.entry.js +2 -0
  355. package/dist/core/p-d32c377d.entry.js.map +1 -0
  356. package/dist/core/p-d4a77f80.entry.js +2 -0
  357. package/dist/core/p-d4a77f80.entry.js.map +1 -0
  358. package/dist/core/{p-9c47521d.entry.js → p-d7476f6d.entry.js} +2 -2
  359. package/dist/core/{p-1838d1e9.entry.js → p-e107d1dd.entry.js} +2 -2
  360. package/dist/core/p-e506ec91.entry.js +2 -0
  361. package/dist/core/p-e506ec91.entry.js.map +1 -0
  362. package/dist/core/{p-b9459ba2.entry.js → p-fc5661ac.entry.js} +2 -2
  363. package/dist/core/p-fca45edb.entry.js +2 -0
  364. package/dist/core/p-fca45edb.entry.js.map +1 -0
  365. package/dist/esm/core.js +1 -1
  366. package/dist/esm/{helpers-f2ffaa7c.js → helpers-91abc444.js} +30 -33
  367. package/dist/esm/helpers-91abc444.js.map +1 -0
  368. package/dist/esm/ic-accordion-group.entry.js +1 -1
  369. package/dist/esm/ic-accordion.entry.js +10 -8
  370. package/dist/esm/ic-accordion.entry.js.map +1 -1
  371. package/dist/esm/ic-alert.entry.js +2 -2
  372. package/dist/esm/ic-alert.entry.js.map +1 -1
  373. package/dist/esm/ic-back-to-top.entry.js +1 -1
  374. package/dist/esm/ic-badge.entry.js +1 -1
  375. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  376. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  377. package/dist/esm/ic-button_3.entry.js +138 -145
  378. package/dist/esm/ic-button_3.entry.js.map +1 -1
  379. package/dist/esm/ic-card-vertical.entry.js +2 -2
  380. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  381. package/dist/esm/ic-checkbox-group.entry.js +5 -5
  382. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  383. package/dist/esm/ic-checkbox.entry.js +8 -13
  384. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  385. package/dist/esm/ic-chip.entry.js +1 -1
  386. package/dist/esm/ic-data-list.entry.js +2 -2
  387. package/dist/esm/ic-data-row.entry.js +3 -3
  388. package/dist/esm/ic-dialog.entry.js +2 -2
  389. package/dist/esm/ic-divider.entry.js +1 -1
  390. package/dist/esm/ic-empty-state.entry.js +3 -3
  391. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  392. package/dist/esm/ic-footer-link.entry.js +3 -3
  393. package/dist/esm/ic-footer.entry.js +1 -1
  394. package/dist/esm/ic-hero.entry.js +7 -6
  395. package/dist/esm/ic-hero.entry.js.map +1 -1
  396. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  397. package/dist/esm/ic-input-component-container_3.entry.js +33 -27
  398. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  399. package/dist/esm/ic-input-label_2.entry.js +36 -13
  400. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  401. package/dist/esm/ic-link.entry.js +12 -22
  402. package/dist/esm/ic-link.entry.js.map +1 -1
  403. package/dist/esm/ic-menu-group.entry.js +2 -2
  404. package/dist/esm/ic-menu-item.entry.js +1 -1
  405. package/dist/esm/ic-navigation-button.entry.js +31 -39
  406. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  407. package/dist/esm/ic-navigation-group.entry.js +121 -166
  408. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  409. package/dist/esm/ic-navigation-item.entry.js +65 -62
  410. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  411. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  412. package/dist/esm/ic-page-header.entry.js +7 -7
  413. package/dist/esm/ic-pagination-item.entry.js +2 -2
  414. package/dist/esm/ic-pagination.entry.js +5 -5
  415. package/dist/esm/ic-popover-menu.entry.js +6 -6
  416. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  417. package/dist/esm/ic-radio-group.entry.js +6 -6
  418. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  419. package/dist/esm/ic-radio-option.entry.js +5 -5
  420. package/dist/esm/ic-search-bar.entry.js +68 -34
  421. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  422. package/dist/esm/ic-section-container.entry.js +2 -2
  423. package/dist/esm/ic-select.entry.js +142 -218
  424. package/dist/esm/ic-select.entry.js.map +1 -1
  425. package/dist/esm/ic-side-navigation.entry.js +35 -17
  426. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  427. package/dist/esm/ic-skeleton.entry.js +2 -2
  428. package/dist/esm/ic-skip-link.entry.js +2 -2
  429. package/dist/esm/ic-status-tag.entry.js +3 -3
  430. package/dist/esm/ic-step.entry.js +14 -14
  431. package/dist/esm/ic-stepper.entry.js +3 -3
  432. package/dist/esm/ic-switch.entry.js +6 -6
  433. package/dist/esm/ic-switch.entry.js.map +1 -1
  434. package/dist/esm/ic-tab-context.entry.js +1 -1
  435. package/dist/esm/ic-tab-group.entry.js +3 -3
  436. package/dist/esm/ic-tab-panel.entry.js +2 -2
  437. package/dist/esm/ic-tab.entry.js +1 -1
  438. package/dist/esm/ic-text-field.entry.js +16 -11
  439. package/dist/esm/ic-text-field.entry.js.map +1 -1
  440. package/dist/esm/ic-theme.entry.js +2 -2
  441. package/dist/esm/ic-toast-region.entry.js +1 -1
  442. package/dist/esm/ic-toast.entry.js +4 -4
  443. package/dist/esm/ic-toggle-button-group.entry.js +54 -68
  444. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  445. package/dist/esm/ic-toggle-button.entry.js +62 -64
  446. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  447. package/dist/esm/ic-top-navigation.entry.js +75 -67
  448. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  449. package/dist/esm/ic-typography.entry.js +3 -3
  450. package/dist/esm/loader.js +1 -1
  451. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  452. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -0
  453. package/dist/types/components/ic-link/ic-link.d.ts +2 -3
  454. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +28 -32
  455. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -0
  456. package/dist/types/components/ic-menu/ic-menu.d.ts +19 -12
  457. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -5
  458. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +8 -19
  459. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -7
  460. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +3 -0
  461. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +13 -0
  462. package/dist/types/components/ic-select/ic-select.d.ts +37 -38
  463. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  464. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  465. package/dist/types/components/ic-text-field/ic-text-field.d.ts +4 -2
  466. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -11
  467. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +10 -12
  468. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +10 -8
  469. package/dist/types/components.d.ts +122 -94
  470. package/dist/types/utils/constants.d.ts +1 -1
  471. package/dist/types/utils/helpers.d.ts +1 -1
  472. package/hydrate/index.js +1047 -1100
  473. package/hydrate/index.mjs +1047 -1100
  474. package/package.json +3 -5
  475. package/vscode-data.json +16 -4
  476. package/dist/cjs/helpers-fc4016d2.js.map +0 -1
  477. package/dist/core/p-0a436c47.entry.js.map +0 -1
  478. package/dist/core/p-15b7adaf.entry.js +0 -2
  479. package/dist/core/p-15b7adaf.entry.js.map +0 -1
  480. package/dist/core/p-16f55230.entry.js.map +0 -1
  481. package/dist/core/p-18714198.entry.js +0 -2
  482. package/dist/core/p-18714198.entry.js.map +0 -1
  483. package/dist/core/p-1b2690b4.entry.js.map +0 -1
  484. package/dist/core/p-206c2a26.entry.js +0 -2
  485. package/dist/core/p-206c2a26.entry.js.map +0 -1
  486. package/dist/core/p-2e44cf53.entry.js +0 -2
  487. package/dist/core/p-2e44cf53.entry.js.map +0 -1
  488. package/dist/core/p-730d2f6e.entry.js +0 -2
  489. package/dist/core/p-730d2f6e.entry.js.map +0 -1
  490. package/dist/core/p-7fb79e87.entry.js +0 -2
  491. package/dist/core/p-7fb79e87.entry.js.map +0 -1
  492. package/dist/core/p-8242c24f.js +0 -2
  493. package/dist/core/p-8242c24f.js.map +0 -1
  494. package/dist/core/p-910f5f14.entry.js +0 -2
  495. package/dist/core/p-910f5f14.entry.js.map +0 -1
  496. package/dist/core/p-9cfc2bac.entry.js +0 -2
  497. package/dist/core/p-9cfc2bac.entry.js.map +0 -1
  498. package/dist/core/p-b371a498.entry.js.map +0 -1
  499. package/dist/core/p-b7568944.entry.js +0 -2
  500. package/dist/core/p-b7568944.entry.js.map +0 -1
  501. package/dist/core/p-b8da5c07.entry.js +0 -2
  502. package/dist/core/p-ba600947.entry.js +0 -2
  503. package/dist/core/p-ba600947.entry.js.map +0 -1
  504. package/dist/core/p-c45023b7.entry.js +0 -2
  505. package/dist/core/p-c45023b7.entry.js.map +0 -1
  506. package/dist/core/p-c9a4fe37.entry.js.map +0 -1
  507. package/dist/core/p-cdf56a5d.entry.js.map +0 -1
  508. package/dist/core/p-d6c50565.entry.js +0 -2
  509. package/dist/core/p-d6c50565.entry.js.map +0 -1
  510. package/dist/core/p-d975bf2f.entry.js +0 -2
  511. package/dist/core/p-d975bf2f.entry.js.map +0 -1
  512. package/dist/core/p-dede4974.entry.js +0 -2
  513. package/dist/core/p-dede4974.entry.js.map +0 -1
  514. package/dist/core/p-e86a6d2d.entry.js +0 -2
  515. package/dist/core/p-eeab3a2e.entry.js +0 -2
  516. package/dist/core/p-eeab3a2e.entry.js.map +0 -1
  517. package/dist/core/p-f0388d68.entry.js.map +0 -1
  518. package/dist/core/p-fbf57f0a.entry.js.map +0 -1
  519. package/dist/esm/helpers-f2ffaa7c.js.map +0 -1
  520. /package/dist/core/{p-72c117b6.entry.js.map → p-0f86ea09.entry.js.map} +0 -0
  521. /package/dist/core/{p-8c4f7c63.entry.js.map → p-13e65198.entry.js.map} +0 -0
  522. /package/dist/core/{p-e86a6d2d.entry.js.map → p-226406d6.entry.js.map} +0 -0
  523. /package/dist/core/{p-70a6cff1.entry.js.map → p-24bb2265.entry.js.map} +0 -0
  524. /package/dist/core/{p-d45d66c0.entry.js.map → p-2b342b23.entry.js.map} +0 -0
  525. /package/dist/core/{p-8b5022bc.entry.js.map → p-3448c713.entry.js.map} +0 -0
  526. /package/dist/core/{p-ef36181d.entry.js.map → p-3afc2870.entry.js.map} +0 -0
  527. /package/dist/core/{p-aad10013.entry.js.map → p-3d7d2ff4.entry.js.map} +0 -0
  528. /package/dist/core/{p-788c96ac.entry.js.map → p-44902a33.entry.js.map} +0 -0
  529. /package/dist/core/{p-628c32b8.entry.js.map → p-476eac8c.entry.js.map} +0 -0
  530. /package/dist/core/{p-9479f272.entry.js.map → p-49ca3f54.entry.js.map} +0 -0
  531. /package/dist/core/{p-ebab7a9e.entry.js.map → p-4dfc41e7.entry.js.map} +0 -0
  532. /package/dist/core/{p-83764268.entry.js.map → p-5026eeaf.entry.js.map} +0 -0
  533. /package/dist/core/{p-2c17cc67.entry.js.map → p-54ea7120.entry.js.map} +0 -0
  534. /package/dist/core/{p-a17499ff.entry.js.map → p-5b2bf9bb.entry.js.map} +0 -0
  535. /package/dist/core/{p-1440847f.entry.js.map → p-6cb81f35.entry.js.map} +0 -0
  536. /package/dist/core/{p-df88ff5b.entry.js.map → p-6dd73165.entry.js.map} +0 -0
  537. /package/dist/core/{p-c8cf1ad5.entry.js.map → p-831e884c.entry.js.map} +0 -0
  538. /package/dist/core/{p-267a19d4.entry.js.map → p-85f735ed.entry.js.map} +0 -0
  539. /package/dist/core/{p-00bc353b.entry.js.map → p-8da025b5.entry.js.map} +0 -0
  540. /package/dist/core/{p-bc2ca778.entry.js.map → p-9e051db4.entry.js.map} +0 -0
  541. /package/dist/core/{p-a0161990.entry.js.map → p-9edc5973.entry.js.map} +0 -0
  542. /package/dist/core/{p-2c371198.entry.js.map → p-a14025cc.entry.js.map} +0 -0
  543. /package/dist/core/{p-c4663e1a.entry.js.map → p-ab4e8b4a.entry.js.map} +0 -0
  544. /package/dist/core/{p-42a7d0b6.entry.js.map → p-ab7a5536.entry.js.map} +0 -0
  545. /package/dist/core/{p-26dfc4db.entry.js.map → p-ac73cfb8.entry.js.map} +0 -0
  546. /package/dist/core/{p-513628ef.entry.js.map → p-b08bb522.entry.js.map} +0 -0
  547. /package/dist/core/{p-1be17f22.entry.js.map → p-b1b27b7e.entry.js.map} +0 -0
  548. /package/dist/core/{p-10e1e227.entry.js.map → p-b59007a3.entry.js.map} +0 -0
  549. /package/dist/core/{p-bdc72446.entry.js.map → p-c8555360.entry.js.map} +0 -0
  550. /package/dist/core/{p-a4f9b5bf.entry.js.map → p-ced2e6ca.entry.js.map} +0 -0
  551. /package/dist/core/{p-9ca147f3.entry.js.map → p-d281c3cf.entry.js.map} +0 -0
  552. /package/dist/core/{p-9c47521d.entry.js.map → p-d7476f6d.entry.js.map} +0 -0
  553. /package/dist/core/{p-1838d1e9.entry.js.map → p-e107d1dd.entry.js.map} +0 -0
  554. /package/dist/core/{p-b9459ba2.entry.js.map → p-fc5661ac.entry.js.map} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { Host, h, forceUpdate, } from "@stencil/core";
2
- import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, getOptionsWithoutGroupTitlesCount, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, } from "../../utils/helpers";
2
+ import { getInputDescribedByText, getLabelFromValue, hasValidationStatus, inheritAttributes, onComponentRequiredPropUndefined, renderHiddenInput, isMobileOrTablet, getFilteredMenuOptions, getOptionsWithoutGroupTitlesCount, addFormResetListener, removeFormResetListener, removeDisabledFalse, checkSlotInChildMutations, isSlotUsed, } from "../../utils/helpers";
3
3
  import { IC_INHERITED_ARIA } from "../../utils/constants";
4
4
  import { IcInformationStatus, } from "../../utils/types";
5
5
  import Expand from "./assets/Expand.svg";
@@ -7,15 +7,19 @@ import Clear from "./assets/Clear.svg";
7
7
  let inputIds = 0;
8
8
  const MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, "tabindex", "title"];
9
9
  /**
10
+ * @slot helper-text - Content is set as the helper text for the select.
10
11
  * @slot icon - Content will be placed to the left of the select text input.
11
12
  */
12
13
  export class Select {
13
14
  constructor() {
15
+ this.blurredBecauseButtonPressed = false;
14
16
  this.hasSetDefaultValue = false;
17
+ this.hasTimedOut = false;
15
18
  this.inheritedAttributes = {};
16
19
  this.initialOptionsEmpty = false;
17
20
  this.inputId = `ic-select-input-${inputIds++}`;
18
21
  this.menuId = `${this.inputId}-menu`;
22
+ this.retryButtonClick = false;
19
23
  this.searchableMenuItemSelected = false;
20
24
  this.ungroupedOptions = [];
21
25
  this.hostMutationObserver = null;
@@ -131,6 +135,12 @@ export class Select {
131
135
  */
132
136
  this.debounce = 0;
133
137
  this.currDebounce = this.debounce;
138
+ /**
139
+ * The value of the select, reflected by the value of the currently selected option.
140
+ * For the searchable variant, the value is also reflected by the user input.
141
+ * For the multi-select variant, the value must be an array of option values.
142
+ */
143
+ this.value = null;
134
144
  this.initialValue = this.value;
135
145
  this.inputValueToFilter = this.value;
136
146
  // triggered when attributes of host element change
@@ -168,13 +178,27 @@ export class Select {
168
178
  this.emitIcChange = (value) => {
169
179
  // If "Select all" button clicked, replace value with new value (array of all option values)
170
180
  if (this.multiple && !Array.isArray(value) && value !== null) {
171
- this.handleMultipleSelectChange(String(value));
181
+ // Update selected options - adds / removes them, in order of option list
182
+ // Create new array if value prop is undefined
183
+ if (this.value) {
184
+ let valueArray = this.value.slice();
185
+ if (this.value.includes(value)) {
186
+ valueArray.splice(valueArray.indexOf(value), 1);
187
+ }
188
+ else {
189
+ valueArray.push(value);
190
+ valueArray = this.getValueSortedByOptions(valueArray);
191
+ }
192
+ this.value = valueArray.length === 0 ? null : valueArray;
193
+ }
194
+ else {
195
+ this.value = [value];
196
+ }
172
197
  }
173
198
  else {
174
199
  this.value = value;
175
200
  }
176
- const valueToEmit = this.multiple ? this.value : value;
177
- this.icChange.emit({ value: valueToEmit || null });
201
+ this.icChange.emit({ value: this.multiple ? this.value : value });
178
202
  };
179
203
  this.emitIcInput = (value) => {
180
204
  clearTimeout(this.debounceIcInput);
@@ -187,30 +211,25 @@ export class Select {
187
211
  if (this.options.length > 0) {
188
212
  this.setOptionsValuesFromLabels();
189
213
  this.uniqueOptions = this.deduplicateOptions(this.options);
190
- this.filteredOptions = this.uniqueOptions;
191
214
  }
192
215
  else {
193
216
  this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
194
217
  this.uniqueOptions = this.noOptions;
195
- this.filteredOptions = this.noOptions;
196
218
  }
219
+ this.filteredOptions = this.uniqueOptions;
197
220
  if (this.isExternalFiltering()) {
198
221
  // When searchable select
199
222
  this.noOptions = null;
200
223
  this.updateSearchableSelectResultAriaLive();
201
224
  this.setDefaultValue();
202
225
  }
203
- else {
204
- if (this.initialOptionsEmpty) {
205
- this.setDefaultValue();
206
- this.initialOptionsEmpty = false;
207
- }
226
+ else if (this.initialOptionsEmpty) {
227
+ this.setDefaultValue();
228
+ this.initialOptionsEmpty = false;
208
229
  }
209
230
  }
210
- else {
211
- if (!this.searchable) {
212
- this.options = this.noOptions || [];
213
- }
231
+ else if (!this.searchable) {
232
+ this.options = this.noOptions || [];
214
233
  }
215
234
  };
216
235
  /**
@@ -221,11 +240,10 @@ export class Select {
221
240
  this.deduplicateOptions = (options) => {
222
241
  const uniqueValues = [];
223
242
  const dedupedOptions = [];
224
- let dedupedChildren;
225
243
  options.forEach((option) => {
226
244
  if (option.children) {
227
245
  //If an option has children, we will loop through them
228
- dedupedChildren = [];
246
+ const dedupedChildren = [];
229
247
  option.children.forEach((child) => {
230
248
  if (uniqueValues.includes(child.value)) {
231
249
  console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);
@@ -236,8 +254,7 @@ export class Select {
236
254
  }
237
255
  });
238
256
  // construct a modified option, inserting the deduplicated children alongside the original information
239
- const modifiedParent = Object.assign(Object.assign({}, option), { children: dedupedChildren });
240
- dedupedOptions.push(modifiedParent);
257
+ dedupedOptions.push(Object.assign(Object.assign({}, option), { children: dedupedChildren }));
241
258
  }
242
259
  else {
243
260
  // If an option does not have children, assess to see if it's value has been included already
@@ -269,12 +286,10 @@ export class Select {
269
286
  };
270
287
  this.setTextColor = () => {
271
288
  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
- }
289
+ this.nativeSelectElement.className =
290
+ this.nativeSelectElement.selectedIndex === 0
291
+ ? "placeholder"
292
+ : "select-option-selected";
278
293
  }
279
294
  };
280
295
  this.setMenuChange = (open) => {
@@ -282,27 +297,12 @@ export class Select {
282
297
  this.open = open;
283
298
  }
284
299
  };
285
- this.getLabelFromValue = (value) => {
286
- return getLabelFromValue(value, this.uniqueOptions);
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
- };
292
- this.getFilteredChildMenuOptions = (option) => {
293
- let children = option.children;
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
- }
301
- }
302
- const newOption = Object.assign({}, option);
303
- newOption.children = children;
304
- return newOption;
305
- };
300
+ this.getLabelFromValue = (value) => getLabelFromValue(value, this.uniqueOptions);
301
+ this.getMultipleOptionsString = (selectedValues) => selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label).join(", ");
302
+ this.getFilteredChildMenuOptions = (option) => (Object.assign(Object.assign({}, option), { children: option.children &&
303
+ getFilteredMenuOptions(option.children, this.searchable && !!this.includeDescriptionsInSearch, this.searchable
304
+ ? this.searchableSelectInputValue || ""
305
+ : this.pressedCharacters, this.searchable ? this.searchMatchPosition : "start") }));
306
306
  // (For multi-select) get value array, i.e. selected option values, in order they appear in option list
307
307
  this.getValueSortedByOptions = (value) => {
308
308
  const valueArray = value;
@@ -321,13 +321,13 @@ export class Select {
321
321
  // (rather than native <select> - rendered when viewed on a mobile / tablet screen)
322
322
  this.handleCustomSelectChange = (event) => {
323
323
  var _a, _b;
324
- const value = event.detail.value;
325
- if (event.detail.label === this.emptyOptionListText) {
324
+ const { value, label, optionId } = event.detail;
325
+ if (label === this.emptyOptionListText) {
326
326
  (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
327
327
  return;
328
328
  }
329
329
  if (this.searchable) {
330
- this.value = value;
330
+ this.value = value || null;
331
331
  this.searchableMenuItemSelected = true;
332
332
  // After editing the input, if selecting the same option as before, set the input value to label again
333
333
  if (this.value === this.currValue) {
@@ -338,64 +338,39 @@ export class Select {
338
338
  this.hiddenInputValue =
339
339
  this.getValueFromLabel(this.searchableSelectInputValue) || null;
340
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 });
346
- }
347
- this.ariaActiveDescendant = event.detail.optionId;
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);
341
+ if (value) {
342
+ if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {
343
+ this.icOptionDeselect.emit({ value });
358
344
  }
359
345
  else {
360
- valueArray.push(value);
361
- valueArray = this.getValueSortedByOptions(valueArray);
346
+ this.icOptionSelect.emit({ value });
362
347
  }
363
- this.value = valueArray.length === 0 ? null : valueArray;
364
- }
365
- else {
366
- const valueArray = [];
367
- valueArray.push(value);
368
- this.value = valueArray;
369
348
  }
349
+ this.ariaActiveDescendant = optionId;
350
+ this.emitIcChange(value || null);
370
351
  };
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;
352
+ this.handleSelectAllChange = ({ detail, }) => {
353
+ const allValues = this.ungroupedOptions
354
+ .filter((option) => !option.disabled)
355
+ .map((option) => option.value);
356
+ if (detail.select) {
378
357
  // 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
- }
358
+ const unselectedValues = this.value
359
+ ? allValues.filter((value) => this.value && !this.value.includes(value))
360
+ : allValues;
385
361
  unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));
386
- newValue = allValues;
387
362
  }
388
363
  else {
389
364
  // Only emit icOptionDeselect for values that were selected
390
365
  this.value.forEach((value) => this.icOptionDeselect.emit({ value }));
391
- newValue = null;
392
366
  }
393
- this.emitIcChange(newValue);
367
+ this.emitIcChange(detail.select ? allValues : null);
394
368
  };
395
369
  this.handleMenuChange = (event) => {
396
370
  this.open = event.detail.open;
397
371
  this.pressedCharacters = "";
398
- this.searchable && this.handleFocusIndicatorDisplay();
372
+ if (this.searchable)
373
+ this.handleFocusIndicatorDisplay();
399
374
  };
400
375
  // clears the debounce delay when navigating the menu with arrow keys etc
401
376
  // to prevent delay in change event, which should only occur when typing in input
@@ -470,19 +445,18 @@ export class Select {
470
445
  if (this.open && key === " " && this.pressedCharacters.length === 0) {
471
446
  this.setMenuChange(false);
472
447
  }
473
- if (key.length === 1 && !this.searchable) {
474
- window.clearTimeout(this.characterKeyPressTimer);
475
- this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
476
- if (!(key === " " && !this.pressedCharacters)) {
477
- this.pressedCharacters += key;
478
- this.handleFilter();
479
- if (!this.noOptions) {
480
- this.emitIcChange(this.filteredOptions[0].value);
481
- }
482
- }
483
- }
484
- else {
448
+ if (key.length !== 1 || this.searchable) {
485
449
  this.pressedCharacters = "";
450
+ return;
451
+ }
452
+ window.clearTimeout(this.characterKeyPressTimer);
453
+ this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
454
+ if (key !== " " || !!this.pressedCharacters) {
455
+ this.pressedCharacters += key;
456
+ this.handleFilter();
457
+ if (!this.noOptions) {
458
+ this.emitIcChange(this.filteredOptions[0].value);
459
+ }
486
460
  }
487
461
  };
488
462
  this.handleNativeSelectKeyDown = (event) => {
@@ -501,19 +475,17 @@ export class Select {
501
475
  if (this.isExternalFiltering() && (event.key === "Enter" || isArrowKey)) {
502
476
  this.menu.options = this.filteredOptions;
503
477
  }
504
- else {
505
- if (!this.hasTimedOut) {
506
- this.noOptions = null;
507
- this.menu.options = this.uniqueOptions;
508
- }
478
+ else if (!this.hasTimedOut) {
479
+ this.noOptions = null;
480
+ this.menu.options = this.uniqueOptions;
509
481
  }
510
482
  }
511
483
  if (this.open && event.key === "Enter") {
512
484
  this.setMenuChange(false);
513
485
  }
514
486
  else {
515
- if (!(isArrowKey && this.noOptions !== null)) {
516
- if (!(event.key === " " && this.pressedCharacters.length > 0)) {
487
+ if (!isArrowKey || this.noOptions === null) {
488
+ if (event.key !== " " || this.pressedCharacters.length <= 0) {
517
489
  // Keyboard events get passed onto ic-menu
518
490
  (_a = this.menu) === null || _a === void 0 ? void 0 : _a.handleKeyboardOpen(event);
519
491
  }
@@ -529,9 +501,9 @@ export class Select {
529
501
  this.handleClearButtonBlur = (ev) => {
530
502
  var _a;
531
503
  const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
532
- if (!(this.searchableSelectElement &&
533
- ev.relatedTarget === this.searchableSelectElement) &&
534
- !(retryButton && ev.relatedTarget === retryButton)) {
504
+ if ((!this.searchableSelectElement ||
505
+ ev.relatedTarget !== this.searchableSelectElement) &&
506
+ (!retryButton || ev.relatedTarget !== retryButton)) {
535
507
  this.setMenuChange(false);
536
508
  this.handleFocusIndicatorDisplay();
537
509
  }
@@ -540,12 +512,8 @@ export class Select {
540
512
  this.handleFilter = () => {
541
513
  var _a;
542
514
  const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);
543
- let isGrouped = false;
515
+ const isGrouped = options.some((option) => !!option.children);
544
516
  let newFilteredOptions = [];
545
- options.map((option) => {
546
- if (option.children)
547
- isGrouped = true;
548
- });
549
517
  let menuOptionsFiltered;
550
518
  if (this.searchable) {
551
519
  menuOptionsFiltered = getFilteredMenuOptions(options, !!this.includeDescriptionsInSearch, this.inputValueToFilter || "", this.searchMatchPosition);
@@ -559,30 +527,14 @@ export class Select {
559
527
  newFilteredOptions = menuOptionsFiltered;
560
528
  }
561
529
  else if (isGrouped) {
562
- options.map((option) => {
563
- if (this.includeGroupTitlesInSearch) {
564
- if (menuOptionsFiltered.indexOf(option) !== -1) {
565
- newFilteredOptions.push(option);
566
- }
567
- else {
568
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
569
- }
570
- }
571
- else {
572
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
573
- }
574
- });
530
+ newFilteredOptions = options.map((option) => this.includeGroupTitlesInSearch &&
531
+ menuOptionsFiltered.indexOf(option) !== -1
532
+ ? option
533
+ : this.getFilteredChildMenuOptions(option));
575
534
  }
576
- let noChildOptionsWhenFiltered = false;
577
- if (isGrouped) {
578
- noChildOptionsWhenFiltered = true;
579
- newFilteredOptions.map((option) => {
580
- if (option.children && option.children.length > 0) {
581
- noChildOptionsWhenFiltered = false;
582
- }
583
- });
584
- }
585
- if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
535
+ if (newFilteredOptions.length > 0 &&
536
+ (!isGrouped ||
537
+ newFilteredOptions.some(({ children }) => children && children.length > 0))) {
586
538
  this.noOptions = null;
587
539
  this.filteredOptions = newFilteredOptions;
588
540
  }
@@ -617,11 +569,7 @@ export class Select {
617
569
  }, this.timeout);
618
570
  }
619
571
  };
620
- this.getValueFromLabel = (label) => {
621
- var _a;
622
- return (label &&
623
- ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value));
624
- };
572
+ this.getValueFromLabel = (label) => { var _a; return label && ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value); };
625
573
  this.handleSearchableSelectInput = (event) => {
626
574
  this.searchableSelectInputValue = event.target.value;
627
575
  this.emitIcInput(this.searchableSelectInputValue);
@@ -635,19 +583,18 @@ export class Select {
635
583
  this.setMenuChange(true);
636
584
  if (!this.disableAutoFiltering) {
637
585
  this.handleFilter();
638
- this.debounceAriaLiveUpdate();
586
+ clearTimeout(this.debounceAria);
587
+ window.setTimeout(() => {
588
+ this.updateSearchableSelectResultAriaLive();
589
+ }, 800);
639
590
  }
640
591
  };
641
592
  this.updateSearchableSelectResultAriaLive = () => {
642
593
  var _a;
643
594
  const searchableSelectResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".searchable-select-results-status");
644
595
  if (searchableSelectResultsStatusEl) {
645
- if (this.noOptions !== null) {
646
- searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
647
- }
648
- else {
649
- searchableSelectResultsStatusEl.innerText = "";
650
- }
596
+ searchableSelectResultsStatusEl.innerText =
597
+ this.noOptions !== null ? this.emptyOptionListText : "";
651
598
  }
652
599
  };
653
600
  this.updateMultiSelectedCountAriaLive = () => {
@@ -681,13 +628,12 @@ export class Select {
681
628
  return;
682
629
  }
683
630
  const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
684
- const isSearchableAndNoFocusedInternalElements = this.searchable &&
631
+ if (this.searchable &&
685
632
  !!this.menu &&
686
633
  target !== this.menu &&
687
634
  !Array.from(this.menu.querySelectorAll("[role='option']")).includes(target) &&
688
- !(this.clearButton && target === this.clearButton) &&
689
- !(retryButton && target === retryButton);
690
- if (isSearchableAndNoFocusedInternalElements) {
635
+ (!this.clearButton || target !== this.clearButton) &&
636
+ (!retryButton || target !== retryButton)) {
691
637
  if (!this.retryButtonClick) {
692
638
  this.setMenuChange(false);
693
639
  // Clear input field on blur when searchable if no option is selected
@@ -726,6 +672,7 @@ export class Select {
726
672
  this.filteredOptions = this.uniqueOptions;
727
673
  }
728
674
  };
675
+ this.renderNativeOption = (option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === this.currValue }, option.label));
729
676
  }
730
677
  watchDisabledHandler() {
731
678
  removeDisabledFalse(this.disabled, this.el);
@@ -737,7 +684,9 @@ export class Select {
737
684
  this.setOptions();
738
685
  }
739
686
  debounceChangedHandler(newValue) {
740
- this.updateOnChangeDebounce(newValue);
687
+ if (this.currDebounce !== newValue) {
688
+ this.currDebounce = newValue;
689
+ }
741
690
  }
742
691
  valueChangedHandler() {
743
692
  if (this.value !== this.currValue) {
@@ -820,83 +769,59 @@ export class Select {
820
769
  this.searchableSelectElement.focus();
821
770
  }
822
771
  }
823
- updateOnChangeDebounce(newValue) {
824
- if (this.currDebounce !== newValue) {
825
- this.currDebounce = newValue;
826
- }
827
- }
828
- debounceAriaLiveUpdate() {
829
- clearTimeout(this.debounceAria);
830
- window.setTimeout(() => {
831
- this.updateSearchableSelectResultAriaLive();
832
- }, 800);
833
- }
834
772
  render() {
835
- const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, } = this;
773
+ var _a;
774
+ const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, hiddenInputValue, open, inputId, searchableSelectInputValue, loading, value, emptyOptionListText, uniqueOptions, selectOnEnter, form, inheritedAttributes, ariaActiveDescendant, hasTimedOut, noOptions, filteredOptions, clearButtonFocused, } = this;
836
775
  // HTML inputs only accept 'string' for their value
837
776
  // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string
838
- renderHiddenInput(this.el, this.searchable ? this.hiddenInputValue : currValue, name || this.inputId, disabled);
777
+ renderHiddenInput(this.el, searchable ? hiddenInputValue : currValue, name || inputId, disabled);
839
778
  const invalid = `${validationStatus === IcInformationStatus.Error}`;
840
- const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, !!this.disabled)).trim();
841
- let showLeftIcon = !!this.el.querySelector(`[slot="icon"]`);
842
- if (showLeftIcon && (disabled || (readonly && !this.value))) {
843
- showLeftIcon = false;
844
- }
845
- const optionsSelectedCount = `${currValue === null || currValue === void 0 ? void 0 : currValue.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;
779
+ const describedBy = getInputDescribedByText(this.el, inputId, helperText !== "", hasValidationStatus(validationStatus, !!disabled)).trim();
846
780
  const valueLabelString = multiple
847
781
  ? this.getMultipleOptionsString(currValue)
848
782
  : this.getLabelFromValue(currValue);
849
783
  const isClearable = !disabled &&
850
784
  (searchable
851
- ? this.searchableSelectInputValue
852
- : currValue && !this.loading && showClearButton);
853
- return (h(Host, { key: '456f6fa40aca4f93fba6e0c43c57cc171c358ede', class: {
854
- "ic-select-disabled": !!disabled,
855
- "ic-select-searchable": !!searchable,
785
+ ? !!searchableSelectInputValue
786
+ : !!currValue && !loading && showClearButton);
787
+ return (h(Host, { key: '4772c66e1053f7c19cafff3753af54715eab05d9', class: {
788
+ "ic-select-disabled": disabled,
789
+ "ic-select-searchable": searchable,
856
790
  [`ic-select-${size}`]: size !== "medium",
857
- "ic-select-full-width": !!fullWidth,
791
+ "ic-select-full-width": fullWidth,
858
792
  [`ic-theme-${theme}`]: theme !== "inherit",
859
- }, onBlur: this.onBlur }, h("ic-input-container", { key: 'f97234577ffc014d5da69a0ebbf8abac0a97e034', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: 'a6a1bf8152904b7a845de920bd9717c76ea47f2e', for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { key: '6515fb2dca1c45d6388123ea2d75f5de57f1bc36', ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, showLeftIcon && (h("span", { key: '0f70c956b1be70903d518c3dc787fc3980a0c205', slot: "left-icon", class: {
860
- ["readonly"]: !!readonly,
861
- ["has-value"]: !!this.value,
862
- } }, h("slot", { key: '7e602e257167e4397fc131b118da86b0e3d38583', 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) => {
863
- if (option.children) {
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)))));
865
- }
866
- else {
867
- return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label));
868
- }
869
- }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
793
+ }, onBlur: this.onBlur }, h("ic-input-container", { key: '8d4a5a0b53f01cc6740b9fc1f5fa0805e45c8169', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: '37e19194734f052932dd6ac7c56994f67802a1bd', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h("slot", { key: '3b27f513ffc78d514c7695b1e5941041837efd55', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: 'a5bf5d711e23862ec08fb8f8e85ce0beec436ccc', ref: (el) => (this.anchorEl = el), class: { "menu-open": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, "icon") &&
794
+ !disabled &&
795
+ (!readonly || !!value) && (h("span", { key: '42fc8c78302cde968d3c96ad72c9aac66652829e', slot: "left-icon", class: {
796
+ readonly,
797
+ "has-value": !!value,
798
+ } }, h("slot", { key: '0cf7160335785716303e4e2e602be1a2d975098e', 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: inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => option.children ? (h("optgroup", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option))))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
870
799
  "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)
800
+ "with-clear-button": !!searchableSelectInputValue,
801
+ }, role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": `${open}`, "aria-invalid": invalid, "aria-required": `${required}`, "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: inputId, value: searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: form }), isClearable && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": searchableSelectInputValue &&
802
+ (currValue === null || loading)
874
803
  ? "Clear input"
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: {
804
+ : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", theme: clearButtonFocused ? "light" : "dark" }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
876
805
  "expand-icon": true,
877
- "expand-icon-open": this.open,
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: {
806
+ "expand-icon-open": open,
807
+ }, 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: inputId, "aria-label": `${label}, ${(multiple && currValue
808
+ ? `${currValue.length} of ${getOptionsWithoutGroupTitlesCount(options)} selected, ${valueLabelString}`
809
+ : valueLabelString) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": `${open}`, "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: {
881
810
  "value-text": true,
882
- "with-clear-button": !!isClearable,
883
- placeholder: !this.loading && multiple
884
- ? !this.value || this.value.length < 1
811
+ "with-clear-button": isClearable,
812
+ placeholder: !loading && multiple
813
+ ? !value || value.length < 1
885
814
  : !this.getLabelFromValue(currValue),
886
815
  } }, valueLabelString || placeholder), h("div", { class: "select-input-end" }, isClearable && h("div", { class: "divider" }), h("span", { class: {
887
816
  "expand-icon": true,
888
- "expand-icon-open": this.open,
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: 'f54e79314035d2c04a47292eb9e8e2ecd4421545', class: {
890
- "no-results": this.loading ||
891
- this.hasTimedOut ||
892
- (this.noOptions !== null &&
893
- this.noOptions[0] &&
894
- this.noOptions[0].label === this.emptyOptionListText),
895
- }, ref: (el) => (this.menu = el), inputEl: (searchable
817
+ "expand-icon-open": open,
818
+ }, 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: clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (h("ic-menu", { key: '3c09e05b72ddab09e9cfe2fb3ba2e403964dcb37', class: {
819
+ "no-results": loading ||
820
+ hasTimedOut ||
821
+ ((_a = noOptions === null || noOptions === void 0 ? void 0 : noOptions[0]) === null || _a === void 0 ? void 0 : _a.label) === emptyOptionListText,
822
+ }, ref: (el) => (this.menu = el), inputEl: searchable
896
823
  ? this.searchableSelectElement
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: 'b1a65d56087d6603846cdd9cfc8c086e49597001', "aria-live": "polite", role: "status", class: "multi-select-selected-count" })), hasValidationStatus(this.validationStatus, !!this.disabled) && (h("ic-input-validation", { key: 'e5553be7be57e5ae847bcd1a4d2525b18c4d1429', class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText || "", for: this.inputId })))));
824
+ : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: searchable ? filteredOptions : uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: 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: searchable || multiple || selectOnEnter ? "manual" : "automatic", closeOnSelect: !multiple })), multiple && (h("div", { key: '744fd85d0482cc49928b5d167691a58ff87d22ab', "aria-live": "polite", role: "status", class: "multi-select-selected-count" })), hasValidationStatus(validationStatus, disabled) && (h("ic-input-validation", { key: '034f52ca6c0b23f29d784ec342a83e9434a0e352', class: { "menu-open": open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: inputId })))));
900
825
  }
901
826
  static get is() { return "ic-select"; }
902
827
  static get encapsulation() { return "shadow"; }
@@ -918,11 +843,11 @@ export class Select {
918
843
  "mutable": false,
919
844
  "complexType": {
920
845
  "original": "boolean",
921
- "resolved": "boolean | undefined",
846
+ "resolved": "boolean",
922
847
  "references": {}
923
848
  },
924
849
  "required": false,
925
- "optional": true,
850
+ "optional": false,
926
851
  "docs": {
927
852
  "tags": [],
928
853
  "text": "If `true`, the disabled state will be set."
@@ -938,11 +863,11 @@ export class Select {
938
863
  "mutable": false,
939
864
  "complexType": {
940
865
  "original": "boolean",
941
- "resolved": "boolean | undefined",
866
+ "resolved": "boolean",
942
867
  "references": {}
943
868
  },
944
869
  "required": false,
945
- "optional": true,
870
+ "optional": false,
946
871
  "docs": {
947
872
  "tags": [],
948
873
  "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."
@@ -958,11 +883,11 @@ export class Select {
958
883
  "mutable": false,
959
884
  "complexType": {
960
885
  "original": "string",
961
- "resolved": "string | undefined",
886
+ "resolved": "string",
962
887
  "references": {}
963
888
  },
964
889
  "required": false,
965
- "optional": true,
890
+ "optional": false,
966
891
  "docs": {
967
892
  "tags": [],
968
893
  "text": "The text displayed when there are no options in the option list."
@@ -997,11 +922,11 @@ export class Select {
997
922
  "mutable": false,
998
923
  "complexType": {
999
924
  "original": "boolean",
1000
- "resolved": "boolean | undefined",
925
+ "resolved": "boolean",
1001
926
  "references": {}
1002
927
  },
1003
928
  "required": false,
1004
- "optional": true,
929
+ "optional": false,
1005
930
  "docs": {
1006
931
  "tags": [],
1007
932
  "text": "If `true`, the select will fill the width of the container."
@@ -1017,11 +942,11 @@ export class Select {
1017
942
  "mutable": false,
1018
943
  "complexType": {
1019
944
  "original": "string",
1020
- "resolved": "string | undefined",
945
+ "resolved": "string",
1021
946
  "references": {}
1022
947
  },
1023
948
  "required": false,
1024
- "optional": true,
949
+ "optional": false,
1025
950
  "docs": {
1026
951
  "tags": [],
1027
952
  "text": "The helper text that will be displayed for additional field guidance."
@@ -1037,11 +962,11 @@ export class Select {
1037
962
  "mutable": false,
1038
963
  "complexType": {
1039
964
  "original": "boolean",
1040
- "resolved": "boolean | undefined",
965
+ "resolved": "boolean",
1041
966
  "references": {}
1042
967
  },
1043
968
  "required": false,
1044
- "optional": true,
969
+ "optional": false,
1045
970
  "docs": {
1046
971
  "tags": [],
1047
972
  "text": "If `true`, the label will be hidden and the required label value will be applied as an aria-label."
@@ -1057,11 +982,11 @@ export class Select {
1057
982
  "mutable": false,
1058
983
  "complexType": {
1059
984
  "original": "boolean",
1060
- "resolved": "boolean | undefined",
985
+ "resolved": "boolean",
1061
986
  "references": {}
1062
987
  },
1063
988
  "required": false,
1064
- "optional": true,
989
+ "optional": false,
1065
990
  "docs": {
1066
991
  "tags": [],
1067
992
  "text": "If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering."
@@ -1077,11 +1002,11 @@ export class Select {
1077
1002
  "mutable": false,
1078
1003
  "complexType": {
1079
1004
  "original": "boolean",
1080
- "resolved": "boolean | undefined",
1005
+ "resolved": "boolean",
1081
1006
  "references": {}
1082
1007
  },
1083
1008
  "required": false,
1084
- "optional": true,
1009
+ "optional": false,
1085
1010
  "docs": {
1086
1011
  "tags": [],
1087
1012
  "text": "If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering."
@@ -1116,11 +1041,11 @@ export class Select {
1116
1041
  "mutable": false,
1117
1042
  "complexType": {
1118
1043
  "original": "string",
1119
- "resolved": "string | undefined",
1044
+ "resolved": "string",
1120
1045
  "references": {}
1121
1046
  },
1122
1047
  "required": false,
1123
- "optional": true,
1048
+ "optional": false,
1124
1049
  "docs": {
1125
1050
  "tags": [],
1126
1051
  "text": "The message displayed when external loading times out."
@@ -1136,11 +1061,11 @@ export class Select {
1136
1061
  "mutable": false,
1137
1062
  "complexType": {
1138
1063
  "original": "string",
1139
- "resolved": "string | undefined",
1064
+ "resolved": "string",
1140
1065
  "references": {}
1141
1066
  },
1142
1067
  "required": false,
1143
- "optional": true,
1068
+ "optional": false,
1144
1069
  "docs": {
1145
1070
  "tags": [],
1146
1071
  "text": "The message displayed whilst the options are being loaded externally."
@@ -1156,11 +1081,11 @@ export class Select {
1156
1081
  "mutable": false,
1157
1082
  "complexType": {
1158
1083
  "original": "boolean",
1159
- "resolved": "boolean | undefined",
1084
+ "resolved": "boolean",
1160
1085
  "references": {}
1161
1086
  },
1162
1087
  "required": false,
1163
- "optional": true,
1088
+ "optional": false,
1164
1089
  "docs": {
1165
1090
  "tags": [],
1166
1091
  "text": "If `true`, multiple options can be selected."
@@ -1176,11 +1101,11 @@ export class Select {
1176
1101
  "mutable": false,
1177
1102
  "complexType": {
1178
1103
  "original": "string",
1179
- "resolved": "string | undefined",
1104
+ "resolved": "string",
1180
1105
  "references": {}
1181
1106
  },
1182
1107
  "required": false,
1183
- "optional": true,
1108
+ "optional": false,
1184
1109
  "docs": {
1185
1110
  "tags": [],
1186
1111
  "text": "The name of the control, which is submitted with the form data."
@@ -1196,11 +1121,11 @@ export class Select {
1196
1121
  "mutable": false,
1197
1122
  "complexType": {
1198
1123
  "original": "string",
1199
- "resolved": "string | undefined",
1124
+ "resolved": "string",
1200
1125
  "references": {}
1201
1126
  },
1202
1127
  "required": false,
1203
- "optional": true,
1128
+ "optional": false,
1204
1129
  "docs": {
1205
1130
  "tags": [],
1206
1131
  "text": "The placeholder value to be displayed."
@@ -1216,11 +1141,11 @@ export class Select {
1216
1141
  "mutable": false,
1217
1142
  "complexType": {
1218
1143
  "original": "boolean",
1219
- "resolved": "boolean | undefined",
1144
+ "resolved": "boolean",
1220
1145
  "references": {}
1221
1146
  },
1222
1147
  "required": false,
1223
- "optional": true,
1148
+ "optional": false,
1224
1149
  "docs": {
1225
1150
  "tags": [],
1226
1151
  "text": "If `true`, the readonly state will be set."
@@ -1236,11 +1161,11 @@ export class Select {
1236
1161
  "mutable": false,
1237
1162
  "complexType": {
1238
1163
  "original": "boolean",
1239
- "resolved": "boolean | undefined",
1164
+ "resolved": "boolean",
1240
1165
  "references": {}
1241
1166
  },
1242
1167
  "required": false,
1243
- "optional": true,
1168
+ "optional": false,
1244
1169
  "docs": {
1245
1170
  "tags": [],
1246
1171
  "text": "If `true`, the select will require a value."
@@ -1256,11 +1181,11 @@ export class Select {
1256
1181
  "mutable": false,
1257
1182
  "complexType": {
1258
1183
  "original": "boolean",
1259
- "resolved": "boolean | undefined",
1184
+ "resolved": "boolean",
1260
1185
  "references": {}
1261
1186
  },
1262
1187
  "required": false,
1263
- "optional": true,
1188
+ "optional": false,
1264
1189
  "docs": {
1265
1190
  "tags": [],
1266
1191
  "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."
@@ -1276,7 +1201,7 @@ export class Select {
1276
1201
  "mutable": false,
1277
1202
  "complexType": {
1278
1203
  "original": "IcSearchMatchPositions",
1279
- "resolved": "\"anywhere\" | \"start\" | undefined",
1204
+ "resolved": "\"anywhere\" | \"start\"",
1280
1205
  "references": {
1281
1206
  "IcSearchMatchPositions": {
1282
1207
  "location": "import",
@@ -1286,7 +1211,7 @@ export class Select {
1286
1211
  }
1287
1212
  },
1288
1213
  "required": false,
1289
- "optional": true,
1214
+ "optional": false,
1290
1215
  "docs": {
1291
1216
  "tags": [],
1292
1217
  "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."
@@ -1302,11 +1227,11 @@ export class Select {
1302
1227
  "mutable": false,
1303
1228
  "complexType": {
1304
1229
  "original": "boolean",
1305
- "resolved": "boolean | undefined",
1230
+ "resolved": "boolean",
1306
1231
  "references": {}
1307
1232
  },
1308
1233
  "required": false,
1309
- "optional": true,
1234
+ "optional": false,
1310
1235
  "docs": {
1311
1236
  "tags": [],
1312
1237
  "text": "If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select."
@@ -1322,11 +1247,11 @@ export class Select {
1322
1247
  "mutable": false,
1323
1248
  "complexType": {
1324
1249
  "original": "boolean",
1325
- "resolved": "boolean | undefined",
1250
+ "resolved": "boolean",
1326
1251
  "references": {}
1327
1252
  },
1328
1253
  "required": false,
1329
- "optional": true,
1254
+ "optional": false,
1330
1255
  "docs": {
1331
1256
  "tags": [],
1332
1257
  "text": "If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select."
@@ -1342,7 +1267,7 @@ export class Select {
1342
1267
  "mutable": false,
1343
1268
  "complexType": {
1344
1269
  "original": "IcSizes",
1345
- "resolved": "\"large\" | \"medium\" | \"small\" | undefined",
1270
+ "resolved": "\"large\" | \"medium\" | \"small\"",
1346
1271
  "references": {
1347
1272
  "IcSizes": {
1348
1273
  "location": "import",
@@ -1352,7 +1277,7 @@ export class Select {
1352
1277
  }
1353
1278
  },
1354
1279
  "required": false,
1355
- "optional": true,
1280
+ "optional": false,
1356
1281
  "docs": {
1357
1282
  "tags": [],
1358
1283
  "text": "The size of the select."
@@ -1387,7 +1312,7 @@ export class Select {
1387
1312
  "mutable": false,
1388
1313
  "complexType": {
1389
1314
  "original": "IcThemeMode",
1390
- "resolved": "\"dark\" | \"inherit\" | \"light\" | undefined",
1315
+ "resolved": "\"dark\" | \"inherit\" | \"light\"",
1391
1316
  "references": {
1392
1317
  "IcThemeMode": {
1393
1318
  "location": "import",
@@ -1397,7 +1322,7 @@ export class Select {
1397
1322
  }
1398
1323
  },
1399
1324
  "required": false,
1400
- "optional": true,
1325
+ "optional": false,
1401
1326
  "docs": {
1402
1327
  "tags": [],
1403
1328
  "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."
@@ -1413,7 +1338,7 @@ export class Select {
1413
1338
  "mutable": false,
1414
1339
  "complexType": {
1415
1340
  "original": "IcInformationStatusOrEmpty",
1416
- "resolved": "\"\" | \"error\" | \"success\" | \"warning\" | undefined",
1341
+ "resolved": "\"\" | \"error\" | \"success\" | \"warning\"",
1417
1342
  "references": {
1418
1343
  "IcInformationStatusOrEmpty": {
1419
1344
  "location": "import",
@@ -1423,7 +1348,7 @@ export class Select {
1423
1348
  }
1424
1349
  },
1425
1350
  "required": false,
1426
- "optional": true,
1351
+ "optional": false,
1427
1352
  "docs": {
1428
1353
  "tags": [],
1429
1354
  "text": "The validation status - e.g. 'error' | 'warning' | 'success'."
@@ -1439,11 +1364,11 @@ export class Select {
1439
1364
  "mutable": false,
1440
1365
  "complexType": {
1441
1366
  "original": "string",
1442
- "resolved": "string | undefined",
1367
+ "resolved": "string",
1443
1368
  "references": {}
1444
1369
  },
1445
1370
  "required": false,
1446
- "optional": true,
1371
+ "optional": false,
1447
1372
  "docs": {
1448
1373
  "tags": [],
1449
1374
  "text": "The text to display as the validation message."
@@ -1459,11 +1384,11 @@ export class Select {
1459
1384
  "mutable": true,
1460
1385
  "complexType": {
1461
1386
  "original": "boolean",
1462
- "resolved": "boolean | undefined",
1387
+ "resolved": "boolean",
1463
1388
  "references": {}
1464
1389
  },
1465
1390
  "required": false,
1466
- "optional": true,
1391
+ "optional": false,
1467
1392
  "docs": {
1468
1393
  "tags": [],
1469
1394
  "text": "If `true`, the loading state will be triggered when fetching options asynchronously."
@@ -1479,7 +1404,7 @@ export class Select {
1479
1404
  "mutable": false,
1480
1405
  "complexType": {
1481
1406
  "original": "IcMenuOption[]",
1482
- "resolved": "IcMenuOption[] | undefined",
1407
+ "resolved": "IcMenuOption[]",
1483
1408
  "references": {
1484
1409
  "IcMenuOption": {
1485
1410
  "location": "import",
@@ -1489,7 +1414,7 @@ export class Select {
1489
1414
  }
1490
1415
  },
1491
1416
  "required": false,
1492
- "optional": true,
1417
+ "optional": false,
1493
1418
  "docs": {
1494
1419
  "tags": [],
1495
1420
  "text": "The possible selection options."
@@ -1503,11 +1428,11 @@ export class Select {
1503
1428
  "mutable": false,
1504
1429
  "complexType": {
1505
1430
  "original": "number",
1506
- "resolved": "number | undefined",
1431
+ "resolved": "number",
1507
1432
  "references": {}
1508
1433
  },
1509
1434
  "required": false,
1510
- "optional": true,
1435
+ "optional": false,
1511
1436
  "docs": {
1512
1437
  "tags": [],
1513
1438
  "text": "The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke."
@@ -1523,11 +1448,11 @@ export class Select {
1523
1448
  "mutable": true,
1524
1449
  "complexType": {
1525
1450
  "original": "string | string[] | null",
1526
- "resolved": "null | string | string[] | undefined",
1451
+ "resolved": "null | string | string[]",
1527
1452
  "references": {}
1528
1453
  },
1529
1454
  "required": false,
1530
- "optional": true,
1455
+ "optional": false,
1531
1456
  "docs": {
1532
1457
  "tags": [],
1533
1458
  "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."
@@ -1535,7 +1460,8 @@ export class Select {
1535
1460
  "getter": false,
1536
1461
  "setter": false,
1537
1462
  "attribute": "value",
1538
- "reflect": false
1463
+ "reflect": false,
1464
+ "defaultValue": "null"
1539
1465
  }
1540
1466
  };
1541
1467
  }