@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 { r as registerInstance, c as createEvent, f as forceUpdate, h, H as Host, g as getElement } from './index-a7a720e7.js';
2
- import { G as checkSlotInChildMutations, F as getLabelFromValue, B as getFilteredMenuOptions, H as getOptionsWithoutGroupTitlesCount, r as removeDisabledFalse, k as removeFormResetListener, x as inheritAttributes, j as addFormResetListener, b as onComponentRequiredPropUndefined, l as renderHiddenInput, n as getInputDescribedByText, q as hasValidationStatus, J as isMobileOrTablet, y as IC_INHERITED_ARIA, K as IcInformationStatus } from './helpers-46a2d1fd.js';
2
+ import { G as checkSlotInChildMutations, C as getLabelFromValue, B as getFilteredMenuOptions, H as getOptionsWithoutGroupTitlesCount, r as removeDisabledFalse, k as removeFormResetListener, x as inheritAttributes, j as addFormResetListener, b as onComponentRequiredPropUndefined, l as renderHiddenInput, n as getInputDescribedByText, q as hasValidationStatus, i as isSlotUsed, J as isMobileOrTablet, y as IC_INHERITED_ARIA, K as IcInformationStatus } from './helpers-f2ffaa7c.js';
3
3
 
4
4
  const Expand = `<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
5
5
  <path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />
@@ -29,11 +29,14 @@ const Select = class {
29
29
  this.icOptionSelect = createEvent(this, "icOptionSelect", 7);
30
30
  this.icOptionDeselect = createEvent(this, "icOptionDeselect", 7);
31
31
  this.icRetryLoad = createEvent(this, "icRetryLoad", 7);
32
+ this.blurredBecauseButtonPressed = false;
32
33
  this.hasSetDefaultValue = false;
34
+ this.hasTimedOut = false;
33
35
  this.inheritedAttributes = {};
34
36
  this.initialOptionsEmpty = false;
35
37
  this.inputId = `ic-select-input-${inputIds++}`;
36
38
  this.menuId = `${this.inputId}-menu`;
39
+ this.retryButtonClick = false;
37
40
  this.searchableMenuItemSelected = false;
38
41
  this.ungroupedOptions = [];
39
42
  this.hostMutationObserver = null;
@@ -149,6 +152,12 @@ const Select = class {
149
152
  */
150
153
  this.debounce = 0;
151
154
  this.currDebounce = this.debounce;
155
+ /**
156
+ * The value of the select, reflected by the value of the currently selected option.
157
+ * For the searchable variant, the value is also reflected by the user input.
158
+ * For the multi-select variant, the value must be an array of option values.
159
+ */
160
+ this.value = null;
152
161
  this.initialValue = this.value;
153
162
  this.inputValueToFilter = this.value;
154
163
  // triggered when attributes of host element change
@@ -186,13 +195,27 @@ const Select = class {
186
195
  this.emitIcChange = (value) => {
187
196
  // If "Select all" button clicked, replace value with new value (array of all option values)
188
197
  if (this.multiple && !Array.isArray(value) && value !== null) {
189
- this.handleMultipleSelectChange(String(value));
198
+ // Update selected options - adds / removes them, in order of option list
199
+ // Create new array if value prop is undefined
200
+ if (this.value) {
201
+ let valueArray = this.value.slice();
202
+ if (this.value.includes(value)) {
203
+ valueArray.splice(valueArray.indexOf(value), 1);
204
+ }
205
+ else {
206
+ valueArray.push(value);
207
+ valueArray = this.getValueSortedByOptions(valueArray);
208
+ }
209
+ this.value = valueArray.length === 0 ? null : valueArray;
210
+ }
211
+ else {
212
+ this.value = [value];
213
+ }
190
214
  }
191
215
  else {
192
216
  this.value = value;
193
217
  }
194
- const valueToEmit = this.multiple ? this.value : value;
195
- this.icChange.emit({ value: valueToEmit || null });
218
+ this.icChange.emit({ value: this.multiple ? this.value : value });
196
219
  };
197
220
  this.emitIcInput = (value) => {
198
221
  clearTimeout(this.debounceIcInput);
@@ -205,30 +228,25 @@ const Select = class {
205
228
  if (this.options.length > 0) {
206
229
  this.setOptionsValuesFromLabels();
207
230
  this.uniqueOptions = this.deduplicateOptions(this.options);
208
- this.filteredOptions = this.uniqueOptions;
209
231
  }
210
232
  else {
211
233
  this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
212
234
  this.uniqueOptions = this.noOptions;
213
- this.filteredOptions = this.noOptions;
214
235
  }
236
+ this.filteredOptions = this.uniqueOptions;
215
237
  if (this.isExternalFiltering()) {
216
238
  // When searchable select
217
239
  this.noOptions = null;
218
240
  this.updateSearchableSelectResultAriaLive();
219
241
  this.setDefaultValue();
220
242
  }
221
- else {
222
- if (this.initialOptionsEmpty) {
223
- this.setDefaultValue();
224
- this.initialOptionsEmpty = false;
225
- }
243
+ else if (this.initialOptionsEmpty) {
244
+ this.setDefaultValue();
245
+ this.initialOptionsEmpty = false;
226
246
  }
227
247
  }
228
- else {
229
- if (!this.searchable) {
230
- this.options = this.noOptions || [];
231
- }
248
+ else if (!this.searchable) {
249
+ this.options = this.noOptions || [];
232
250
  }
233
251
  };
234
252
  /**
@@ -239,11 +257,10 @@ const Select = class {
239
257
  this.deduplicateOptions = (options) => {
240
258
  const uniqueValues = [];
241
259
  const dedupedOptions = [];
242
- let dedupedChildren;
243
260
  options.forEach((option) => {
244
261
  if (option.children) {
245
262
  //If an option has children, we will loop through them
246
- dedupedChildren = [];
263
+ const dedupedChildren = [];
247
264
  option.children.forEach((child) => {
248
265
  if (uniqueValues.includes(child.value)) {
249
266
  console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);
@@ -254,8 +271,7 @@ const Select = class {
254
271
  }
255
272
  });
256
273
  // construct a modified option, inserting the deduplicated children alongside the original information
257
- const modifiedParent = Object.assign(Object.assign({}, option), { children: dedupedChildren });
258
- dedupedOptions.push(modifiedParent);
274
+ dedupedOptions.push(Object.assign(Object.assign({}, option), { children: dedupedChildren }));
259
275
  }
260
276
  else {
261
277
  // If an option does not have children, assess to see if it's value has been included already
@@ -287,12 +303,10 @@ const Select = class {
287
303
  };
288
304
  this.setTextColor = () => {
289
305
  if (this.nativeSelectElement) {
290
- if (this.nativeSelectElement.selectedIndex === 0) {
291
- this.nativeSelectElement.className = "placeholder";
292
- }
293
- else {
294
- this.nativeSelectElement.className = "select-option-selected";
295
- }
306
+ this.nativeSelectElement.className =
307
+ this.nativeSelectElement.selectedIndex === 0
308
+ ? "placeholder"
309
+ : "select-option-selected";
296
310
  }
297
311
  };
298
312
  this.setMenuChange = (open) => {
@@ -300,27 +314,12 @@ const Select = class {
300
314
  this.open = open;
301
315
  }
302
316
  };
303
- this.getLabelFromValue = (value) => {
304
- return getLabelFromValue(value, this.uniqueOptions);
305
- };
306
- this.getMultipleOptionsString = (selectedValues) => {
307
- const selectedLabels = selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label);
308
- return selectedLabels === null || selectedLabels === void 0 ? void 0 : selectedLabels.join(", ");
309
- };
310
- this.getFilteredChildMenuOptions = (option) => {
311
- let children = option.children;
312
- if (option.children) {
313
- if (this.searchable) {
314
- children = getFilteredMenuOptions(option.children, !!this.includeDescriptionsInSearch, this.searchableSelectInputValue || "", this.searchMatchPosition);
315
- }
316
- else {
317
- children = getFilteredMenuOptions(option.children, false, this.pressedCharacters, "start");
318
- }
319
- }
320
- const newOption = Object.assign({}, option);
321
- newOption.children = children;
322
- return newOption;
323
- };
317
+ this.getLabelFromValue = (value) => getLabelFromValue(value, this.uniqueOptions);
318
+ this.getMultipleOptionsString = (selectedValues) => selectedValues === null || selectedValues === void 0 ? void 0 : selectedValues.map((value) => this.getLabelFromValue(value)).filter((label) => !!label).join(", ");
319
+ this.getFilteredChildMenuOptions = (option) => (Object.assign(Object.assign({}, option), { children: option.children &&
320
+ getFilteredMenuOptions(option.children, this.searchable && !!this.includeDescriptionsInSearch, this.searchable
321
+ ? this.searchableSelectInputValue || ""
322
+ : this.pressedCharacters, this.searchable ? this.searchMatchPosition : "start") }));
324
323
  // (For multi-select) get value array, i.e. selected option values, in order they appear in option list
325
324
  this.getValueSortedByOptions = (value) => {
326
325
  const valueArray = value;
@@ -339,13 +338,13 @@ const Select = class {
339
338
  // (rather than native <select> - rendered when viewed on a mobile / tablet screen)
340
339
  this.handleCustomSelectChange = (event) => {
341
340
  var _a, _b;
342
- const value = event.detail.value;
343
- if (event.detail.label === this.emptyOptionListText) {
341
+ const { value, label, optionId } = event.detail;
342
+ if (label === this.emptyOptionListText) {
344
343
  (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
345
344
  return;
346
345
  }
347
346
  if (this.searchable) {
348
- this.value = value;
347
+ this.value = value || null;
349
348
  this.searchableMenuItemSelected = true;
350
349
  // After editing the input, if selecting the same option as before, set the input value to label again
351
350
  if (this.value === this.currValue) {
@@ -356,64 +355,39 @@ const Select = class {
356
355
  this.hiddenInputValue =
357
356
  this.getValueFromLabel(this.searchableSelectInputValue) || null;
358
357
  }
359
- if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {
360
- this.icOptionDeselect.emit({ value });
361
- }
362
- else {
363
- this.icOptionSelect.emit({ value });
364
- }
365
- this.ariaActiveDescendant = event.detail.optionId;
366
- this.emitIcChange(value);
367
- };
368
- // Update selected options - adds / removes them, in order of option list
369
- // Create new array if value prop is undefined
370
- this.handleMultipleSelectChange = (value) => {
371
- if (this.value) {
372
- let valueArray = this.value.slice();
373
- if (this.value.includes(value)) {
374
- const valueIndex = valueArray.indexOf(value);
375
- valueArray.splice(valueIndex, 1);
358
+ if (value) {
359
+ if (this.multiple && ((_b = this.value) === null || _b === void 0 ? void 0 : _b.includes(value))) {
360
+ this.icOptionDeselect.emit({ value });
376
361
  }
377
362
  else {
378
- valueArray.push(value);
379
- valueArray = this.getValueSortedByOptions(valueArray);
363
+ this.icOptionSelect.emit({ value });
380
364
  }
381
- this.value = valueArray.length === 0 ? null : valueArray;
382
365
  }
383
- else {
384
- const valueArray = [];
385
- valueArray.push(value);
386
- this.value = valueArray;
387
- }
388
- };
389
- this.handleSelectAllChange = (event) => {
390
- const selectAllOptions = event.detail.select;
391
- const allEnabledOptions = this.ungroupedOptions.filter((option) => !option.disabled);
392
- const allValues = allEnabledOptions.map((option) => option.value);
393
- let newValue;
394
- if (selectAllOptions) {
395
- let unselectedValues;
366
+ this.ariaActiveDescendant = optionId;
367
+ this.emitIcChange(value || null);
368
+ };
369
+ this.handleSelectAllChange = ({ detail, }) => {
370
+ const allValues = this.ungroupedOptions
371
+ .filter((option) => !option.disabled)
372
+ .map((option) => option.value);
373
+ if (detail.select) {
396
374
  // Only emit icOptionSelect for all values that are newly selected
397
- if (this.value) {
398
- unselectedValues = allValues.filter((value) => this.value && !this.value.includes(value));
399
- }
400
- else {
401
- unselectedValues = allValues;
402
- }
375
+ const unselectedValues = this.value
376
+ ? allValues.filter((value) => this.value && !this.value.includes(value))
377
+ : allValues;
403
378
  unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));
404
- newValue = allValues;
405
379
  }
406
380
  else {
407
381
  // Only emit icOptionDeselect for values that were selected
408
382
  this.value.forEach((value) => this.icOptionDeselect.emit({ value }));
409
- newValue = null;
410
383
  }
411
- this.emitIcChange(newValue);
384
+ this.emitIcChange(detail.select ? allValues : null);
412
385
  };
413
386
  this.handleMenuChange = (event) => {
414
387
  this.open = event.detail.open;
415
388
  this.pressedCharacters = "";
416
- this.searchable && this.handleFocusIndicatorDisplay();
389
+ if (this.searchable)
390
+ this.handleFocusIndicatorDisplay();
417
391
  };
418
392
  // clears the debounce delay when navigating the menu with arrow keys etc
419
393
  // to prevent delay in change event, which should only occur when typing in input
@@ -488,19 +462,18 @@ const Select = class {
488
462
  if (this.open && key === " " && this.pressedCharacters.length === 0) {
489
463
  this.setMenuChange(false);
490
464
  }
491
- if (key.length === 1 && !this.searchable) {
492
- window.clearTimeout(this.characterKeyPressTimer);
493
- this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
494
- if (!(key === " " && !this.pressedCharacters)) {
495
- this.pressedCharacters += key;
496
- this.handleFilter();
497
- if (!this.noOptions) {
498
- this.emitIcChange(this.filteredOptions[0].value);
499
- }
500
- }
501
- }
502
- else {
465
+ if (key.length !== 1 || this.searchable) {
503
466
  this.pressedCharacters = "";
467
+ return;
468
+ }
469
+ window.clearTimeout(this.characterKeyPressTimer);
470
+ this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
471
+ if (key !== " " || !!this.pressedCharacters) {
472
+ this.pressedCharacters += key;
473
+ this.handleFilter();
474
+ if (!this.noOptions) {
475
+ this.emitIcChange(this.filteredOptions[0].value);
476
+ }
504
477
  }
505
478
  };
506
479
  this.handleNativeSelectKeyDown = (event) => {
@@ -519,19 +492,17 @@ const Select = class {
519
492
  if (this.isExternalFiltering() && (event.key === "Enter" || isArrowKey)) {
520
493
  this.menu.options = this.filteredOptions;
521
494
  }
522
- else {
523
- if (!this.hasTimedOut) {
524
- this.noOptions = null;
525
- this.menu.options = this.uniqueOptions;
526
- }
495
+ else if (!this.hasTimedOut) {
496
+ this.noOptions = null;
497
+ this.menu.options = this.uniqueOptions;
527
498
  }
528
499
  }
529
500
  if (this.open && event.key === "Enter") {
530
501
  this.setMenuChange(false);
531
502
  }
532
503
  else {
533
- if (!(isArrowKey && this.noOptions !== null)) {
534
- if (!(event.key === " " && this.pressedCharacters.length > 0)) {
504
+ if (!isArrowKey || this.noOptions === null) {
505
+ if (event.key !== " " || this.pressedCharacters.length <= 0) {
535
506
  // Keyboard events get passed onto ic-menu
536
507
  (_a = this.menu) === null || _a === void 0 ? void 0 : _a.handleKeyboardOpen(event);
537
508
  }
@@ -547,9 +518,9 @@ const Select = class {
547
518
  this.handleClearButtonBlur = (ev) => {
548
519
  var _a;
549
520
  const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
550
- if (!(this.searchableSelectElement &&
551
- ev.relatedTarget === this.searchableSelectElement) &&
552
- !(retryButton && ev.relatedTarget === retryButton)) {
521
+ if ((!this.searchableSelectElement ||
522
+ ev.relatedTarget !== this.searchableSelectElement) &&
523
+ (!retryButton || ev.relatedTarget !== retryButton)) {
553
524
  this.setMenuChange(false);
554
525
  this.handleFocusIndicatorDisplay();
555
526
  }
@@ -558,12 +529,8 @@ const Select = class {
558
529
  this.handleFilter = () => {
559
530
  var _a;
560
531
  const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);
561
- let isGrouped = false;
532
+ const isGrouped = options.some((option) => !!option.children);
562
533
  let newFilteredOptions = [];
563
- options.map((option) => {
564
- if (option.children)
565
- isGrouped = true;
566
- });
567
534
  let menuOptionsFiltered;
568
535
  if (this.searchable) {
569
536
  menuOptionsFiltered = getFilteredMenuOptions(options, !!this.includeDescriptionsInSearch, this.inputValueToFilter || "", this.searchMatchPosition);
@@ -577,30 +544,14 @@ const Select = class {
577
544
  newFilteredOptions = menuOptionsFiltered;
578
545
  }
579
546
  else if (isGrouped) {
580
- options.map((option) => {
581
- if (this.includeGroupTitlesInSearch) {
582
- if (menuOptionsFiltered.indexOf(option) !== -1) {
583
- newFilteredOptions.push(option);
584
- }
585
- else {
586
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
587
- }
588
- }
589
- else {
590
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
591
- }
592
- });
593
- }
594
- let noChildOptionsWhenFiltered = false;
595
- if (isGrouped) {
596
- noChildOptionsWhenFiltered = true;
597
- newFilteredOptions.map((option) => {
598
- if (option.children && option.children.length > 0) {
599
- noChildOptionsWhenFiltered = false;
600
- }
601
- });
602
- }
603
- if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
547
+ newFilteredOptions = options.map((option) => this.includeGroupTitlesInSearch &&
548
+ menuOptionsFiltered.indexOf(option) !== -1
549
+ ? option
550
+ : this.getFilteredChildMenuOptions(option));
551
+ }
552
+ if (newFilteredOptions.length > 0 &&
553
+ (!isGrouped ||
554
+ newFilteredOptions.some(({ children }) => children && children.length > 0))) {
604
555
  this.noOptions = null;
605
556
  this.filteredOptions = newFilteredOptions;
606
557
  }
@@ -635,11 +586,7 @@ const Select = class {
635
586
  }, this.timeout);
636
587
  }
637
588
  };
638
- this.getValueFromLabel = (label) => {
639
- var _a;
640
- return (label &&
641
- ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value));
642
- };
589
+ this.getValueFromLabel = (label) => { var _a; return label && ((_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value); };
643
590
  this.handleSearchableSelectInput = (event) => {
644
591
  this.searchableSelectInputValue = event.target.value;
645
592
  this.emitIcInput(this.searchableSelectInputValue);
@@ -653,19 +600,18 @@ const Select = class {
653
600
  this.setMenuChange(true);
654
601
  if (!this.disableAutoFiltering) {
655
602
  this.handleFilter();
656
- this.debounceAriaLiveUpdate();
603
+ clearTimeout(this.debounceAria);
604
+ window.setTimeout(() => {
605
+ this.updateSearchableSelectResultAriaLive();
606
+ }, 800);
657
607
  }
658
608
  };
659
609
  this.updateSearchableSelectResultAriaLive = () => {
660
610
  var _a;
661
611
  const searchableSelectResultsStatusEl = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(".searchable-select-results-status");
662
612
  if (searchableSelectResultsStatusEl) {
663
- if (this.noOptions !== null) {
664
- searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
665
- }
666
- else {
667
- searchableSelectResultsStatusEl.innerText = "";
668
- }
613
+ searchableSelectResultsStatusEl.innerText =
614
+ this.noOptions !== null ? this.emptyOptionListText : "";
669
615
  }
670
616
  };
671
617
  this.updateMultiSelectedCountAriaLive = () => {
@@ -699,13 +645,12 @@ const Select = class {
699
645
  return;
700
646
  }
701
647
  const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
702
- const isSearchableAndNoFocusedInternalElements = this.searchable &&
648
+ if (this.searchable &&
703
649
  !!this.menu &&
704
650
  target !== this.menu &&
705
651
  !Array.from(this.menu.querySelectorAll("[role='option']")).includes(target) &&
706
- !(this.clearButton && target === this.clearButton) &&
707
- !(retryButton && target === retryButton);
708
- if (isSearchableAndNoFocusedInternalElements) {
652
+ (!this.clearButton || target !== this.clearButton) &&
653
+ (!retryButton || target !== retryButton)) {
709
654
  if (!this.retryButtonClick) {
710
655
  this.setMenuChange(false);
711
656
  // Clear input field on blur when searchable if no option is selected
@@ -744,6 +689,7 @@ const Select = class {
744
689
  this.filteredOptions = this.uniqueOptions;
745
690
  }
746
691
  };
692
+ this.renderNativeOption = (option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === this.currValue }, option.label));
747
693
  }
748
694
  watchDisabledHandler() {
749
695
  removeDisabledFalse(this.disabled, this.el);
@@ -755,7 +701,9 @@ const Select = class {
755
701
  this.setOptions();
756
702
  }
757
703
  debounceChangedHandler(newValue) {
758
- this.updateOnChangeDebounce(newValue);
704
+ if (this.currDebounce !== newValue) {
705
+ this.currDebounce = newValue;
706
+ }
759
707
  }
760
708
  valueChangedHandler() {
761
709
  if (this.value !== this.currValue) {
@@ -838,83 +786,59 @@ const Select = class {
838
786
  this.searchableSelectElement.focus();
839
787
  }
840
788
  }
841
- updateOnChangeDebounce(newValue) {
842
- if (this.currDebounce !== newValue) {
843
- this.currDebounce = newValue;
844
- }
845
- }
846
- debounceAriaLiveUpdate() {
847
- clearTimeout(this.debounceAria);
848
- window.setTimeout(() => {
849
- this.updateSearchableSelectResultAriaLive();
850
- }, 800);
851
- }
852
789
  render() {
853
- const { size, disabled, fullWidth, helperText, hideLabel, label, menuId, multiple, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, theme, } = this;
790
+ var _a;
791
+ 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;
854
792
  // HTML inputs only accept 'string' for their value
855
793
  // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string
856
- renderHiddenInput(true, this.el, name || this.inputId, this.searchable ? this.hiddenInputValue : currValue, disabled);
794
+ renderHiddenInput(this.el, searchable ? hiddenInputValue : currValue, name || inputId, disabled);
857
795
  const invalid = `${validationStatus === IcInformationStatus.Error}`;
858
- const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, !!this.disabled)).trim();
859
- let showLeftIcon = !!this.el.querySelector(`[slot="icon"]`);
860
- if (showLeftIcon && (disabled || (readonly && !this.value))) {
861
- showLeftIcon = false;
862
- }
863
- const optionsSelectedCount = `${currValue === null || currValue === void 0 ? void 0 : currValue.length} of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;
796
+ const describedBy = getInputDescribedByText(inputId, helperText !== "", hasValidationStatus(validationStatus, !!disabled)).trim();
864
797
  const valueLabelString = multiple
865
798
  ? this.getMultipleOptionsString(currValue)
866
799
  : this.getLabelFromValue(currValue);
867
800
  const isClearable = !disabled &&
868
801
  (searchable
869
- ? this.searchableSelectInputValue
870
- : currValue && !this.loading && showClearButton);
871
- return (h(Host, { key: '75cf0d014983dd89d440f68080f01333e6c265ee', class: {
872
- "ic-select-disabled": !!disabled,
873
- "ic-select-searchable": !!searchable,
802
+ ? !!searchableSelectInputValue
803
+ : !!currValue && !loading && showClearButton);
804
+ return (h(Host, { key: 'd128625d13fdd5c5ee1710116f071f42c9f9820f', class: {
805
+ "ic-select-disabled": disabled,
806
+ "ic-select-searchable": searchable,
874
807
  [`ic-select-${size}`]: size !== "medium",
875
- "ic-select-full-width": !!fullWidth,
808
+ "ic-select-full-width": fullWidth,
876
809
  [`ic-theme-${theme}`]: theme !== "inherit",
877
- }, 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: {
878
- ["readonly"]: !!readonly,
879
- ["has-value"]: !!this.value,
880
- } }, 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) => {
881
- if (option.children) {
882
- return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label)))));
883
- }
884
- else {
885
- return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label));
886
- }
887
- }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
810
+ }, 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") &&
811
+ !disabled &&
812
+ (!readonly || !!value) && (h("span", { key: '21933fa4367b40e02fc41692a35f612f0c6c17d5', slot: "left-icon", class: {
813
+ readonly,
814
+ "has-value": !!value,
815
+ } }, 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: {
888
816
  "select-input": true,
889
- "with-clear-button": !!this.searchableSelectInputValue,
890
- }, 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 &&
891
- (currValue === null || this.loading)
817
+ "with-clear-button": !!searchableSelectInputValue,
818
+ }, 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 &&
819
+ (currValue === null || loading)
892
820
  ? "Clear input"
893
- : "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: {
821
+ : "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: {
894
822
  "expand-icon": true,
895
- "expand-icon-open": this.open,
896
- }, 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
897
- ? `${optionsSelectedCount}, ${valueLabelString}`
898
- : 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: {
823
+ "expand-icon-open": open,
824
+ }, 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
825
+ ? `${currValue.length} of ${getOptionsWithoutGroupTitlesCount(options)} selected, ${valueLabelString}`
826
+ : 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: {
899
827
  "value-text": true,
900
- "with-clear-button": !!isClearable,
901
- placeholder: !this.loading && multiple
902
- ? !this.value || this.value.length < 1
828
+ "with-clear-button": isClearable,
829
+ placeholder: !loading && multiple
830
+ ? !value || value.length < 1
903
831
  : !this.getLabelFromValue(currValue),
904
832
  } }, valueLabelString || placeholder), h("div", { class: "select-input-end" }, isClearable && h("div", { class: "divider" }), h("span", { class: {
905
833
  "expand-icon": true,
906
- "expand-icon-open": this.open,
907
- }, 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: {
908
- "no-results": this.loading ||
909
- this.hasTimedOut ||
910
- (this.noOptions !== null &&
911
- this.noOptions[0] &&
912
- this.noOptions[0].label === this.emptyOptionListText),
913
- }, ref: (el) => (this.menu = el), inputEl: (searchable
834
+ "expand-icon-open": open,
835
+ }, 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: {
836
+ "no-results": loading ||
837
+ hasTimedOut ||
838
+ ((_a = noOptions === null || noOptions === void 0 ? void 0 : noOptions[0]) === null || _a === void 0 ? void 0 : _a.label) === emptyOptionListText,
839
+ }, ref: (el) => (this.menu = el), inputEl: searchable
914
840
  ? this.searchableSelectElement
915
- : 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
916
- ? "manual"
917
- : "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 })))));
841
+ : 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 })))));
918
842
  }
919
843
  static get delegatesFocus() { return true; }
920
844
  get el() { return getElement(this); }