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