@ukic/web-components 2.7.0 → 2.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1117) hide show
  1. package/dist/cjs/core.cjs.js +3 -3
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-0d63359f.js → helpers-3f91f63a.js} +292 -292
  4. package/dist/cjs/helpers-3f91f63a.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +71 -71
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +99 -99
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +58 -58
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +121 -121
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +146 -146
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +172 -166
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +55 -53
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +616 -607
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card.cjs.entry.js +106 -106
  22. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +60 -60
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +95 -95
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +67 -65
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +23 -23
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-entity.cjs.entry.js +18 -18
  32. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-row.cjs.entry.js +75 -75
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +339 -318
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +16 -16
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +24 -24
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +55 -55
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +50 -50
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +78 -78
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +62 -62
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +151 -151
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +682 -673
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +63 -63
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +55 -55
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +12 -12
  58. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js +100 -100
  60. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js +79 -76
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +284 -284
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +153 -153
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +106 -103
  68. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-page-header.cjs.entry.js +93 -93
  70. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js +42 -42
  72. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination.cjs.entry.js +196 -195
  74. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +229 -260
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +156 -156
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +128 -128
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +475 -475
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-section-container.cjs.entry.js +15 -15
  84. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-select.cjs.entry.js +640 -639
  86. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-side-navigation.cjs.entry.js +424 -426
  88. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-skeleton.cjs.entry.js +43 -43
  90. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-status-tag.cjs.entry.js +30 -30
  92. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-step.cjs.entry.js +121 -121
  94. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-stepper.cjs.entry.js +200 -200
  96. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-switch.cjs.entry.js +78 -78
  98. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-context.cjs.entry.js +252 -252
  100. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-group.cjs.entry.js +24 -24
  102. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-panel.cjs.entry.js +31 -31
  104. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab.cjs.entry.js +86 -86
  106. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-text-field.cjs.entry.js +209 -217
  108. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-theme.cjs.entry.js +51 -51
  110. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast-region.cjs.entry.js +47 -46
  112. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toast.cjs.entry.js +145 -145
  114. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-top-navigation.cjs.entry.js +198 -195
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-typography.cjs.entry.js +118 -118
  118. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  119. package/dist/{esm/index-813020f1.js → cjs/index-152d1fe5.js} +634 -376
  120. package/dist/cjs/index-152d1fe5.js.map +1 -0
  121. package/dist/cjs/loader.cjs.js +2 -2
  122. package/dist/cjs/types-dc22e301.js +16 -0
  123. package/dist/cjs/{types-7d67439f.js.map → types-dc22e301.js.map} +1 -1
  124. package/dist/collection/collection-manifest.json +2 -2
  125. package/dist/collection/components/ic-accordion/ic-accordion.js +276 -276
  126. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  127. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js +39 -39
  128. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.e2e.js.map +1 -1
  129. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +215 -215
  130. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  131. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +200 -200
  132. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  133. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js +5 -5
  134. package/dist/collection/components/ic-accordion-group/test/a11y/ic-accordion-group.test.a11y.js.map +1 -1
  135. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js +70 -67
  136. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.e2e.js.map +1 -1
  137. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +73 -70
  138. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +231 -231
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js +5 -5
  142. package/dist/collection/components/ic-alert/test/a11y/ic-alert.test.a11y.js.map +1 -1
  143. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js +12 -12
  144. package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -1
  145. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +44 -44
  146. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  147. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +3 -3
  148. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +159 -159
  149. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  150. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js +14 -14
  151. package/dist/collection/components/ic-back-to-top/test/a11y/ic-back-to-top.test.a11y.js.map +1 -1
  152. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js +43 -43
  153. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.e2e.js.map +1 -1
  154. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +102 -102
  155. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  156. package/dist/collection/components/ic-badge/ic-badge.js +385 -385
  157. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  158. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js +10 -10
  159. package/dist/collection/components/ic-badge/test/a11y/ic-badge.test.a11y.js.map +1 -1
  160. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +172 -172
  161. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  162. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +9 -1
  163. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +186 -157
  164. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  165. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +43 -43
  166. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  167. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +250 -220
  168. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  169. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js +10 -10
  170. package/dist/collection/components/ic-breadcrumb-group/test/a11y/ic-breadcrumb-group.test.a11y.js.map +1 -1
  171. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js +34 -34
  172. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.e2e.js.map +1 -1
  173. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +156 -118
  174. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  175. package/dist/collection/components/ic-button/ic-button.css +17 -1
  176. package/dist/collection/components/ic-button/ic-button.js +798 -773
  177. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  178. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js +5 -5
  179. package/dist/collection/components/ic-button/test/a11y/ic-button.test.a11y.js.map +1 -1
  180. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js +114 -114
  181. package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -1
  182. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +249 -236
  183. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  184. package/dist/collection/components/ic-card/ic-card.css +1 -1
  185. package/dist/collection/components/ic-card/ic-card.js +375 -375
  186. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  187. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js +15 -15
  188. package/dist/collection/components/ic-card/test/a11y/ic-card.test.a11y.js.map +1 -1
  189. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js +19 -19
  190. package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -1
  191. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +147 -147
  192. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -1
  193. package/dist/collection/components/ic-checkbox/ic-checkbox.css +11 -11
  194. package/dist/collection/components/ic-checkbox/ic-checkbox.js +474 -474
  195. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  196. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +302 -302
  197. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  198. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js +5 -5
  199. package/dist/collection/components/ic-checkbox-group/test/a11y/ic-checkbox-group.test.a11y.js.map +1 -1
  200. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js +124 -124
  201. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.e2e.js.map +1 -1
  202. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +148 -148
  203. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  204. package/dist/collection/components/ic-chip/ic-chip.css +9 -1
  205. package/dist/collection/components/ic-chip/ic-chip.js +291 -271
  206. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  207. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js +5 -5
  208. package/dist/collection/components/ic-chip/test/a11y/ic-chip.test.a11y.js.map +1 -1
  209. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +81 -81
  210. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  211. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +132 -132
  212. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  213. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js +5 -5
  214. package/dist/collection/components/ic-classification-banner/test/a11y/ic-classification-banner.test.a11y.js.map +1 -1
  215. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +55 -55
  216. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -1
  217. package/dist/collection/components/ic-data-entity/ic-data-entity.css +1 -1
  218. package/dist/collection/components/ic-data-entity/ic-data-entity.js +92 -92
  219. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  220. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js +5 -5
  221. package/dist/collection/components/ic-data-entity/test/a11y/ic-data-entity.test.a11y.js.map +1 -1
  222. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js +28 -28
  223. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +1 -1
  224. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  225. package/dist/collection/components/ic-data-row/ic-data-row.js +170 -170
  226. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  227. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js +15 -13
  228. package/dist/collection/components/ic-data-row/test/a11y/ic-data-row.test.a11y.js.map +1 -1
  229. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +61 -61
  230. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  231. package/dist/collection/components/ic-dialog/ic-dialog.css +56 -22
  232. package/dist/collection/components/ic-dialog/ic-dialog.js +765 -726
  233. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  234. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +5 -5
  235. package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -1
  236. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +207 -126
  237. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -1
  238. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +573 -574
  239. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  240. package/dist/collection/components/ic-divider/ic-divider.js +38 -38
  241. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  242. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +17 -17
  243. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  244. package/dist/collection/components/ic-empty-state/ic-empty-state.js +151 -151
  245. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  246. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +5 -5
  247. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -1
  248. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +52 -52
  249. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -1
  250. package/dist/collection/components/ic-footer/ic-footer.js +242 -242
  251. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  252. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js +15 -13
  253. package/dist/collection/components/ic-footer/test/a11y/ic-footer.test.a11y.js.map +1 -1
  254. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js +25 -25
  255. package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -1
  256. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +108 -108
  257. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  258. package/dist/collection/components/ic-footer-link/ic-footer-link.js +190 -190
  259. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  260. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js +13 -13
  261. package/dist/collection/components/ic-footer-link/test/a11y/ic-footer-link.test.a11y.js.map +1 -1
  262. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +36 -36
  263. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  264. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +107 -107
  265. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  266. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js +13 -13
  267. package/dist/collection/components/ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.js.map +1 -1
  268. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +52 -52
  269. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  270. package/dist/collection/components/ic-hero/ic-hero.js +292 -292
  271. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  272. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js +5 -5
  273. package/dist/collection/components/ic-hero/test/a11y/ic-hero.test.a11y.js.map +1 -1
  274. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +62 -62
  275. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  276. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +241 -240
  277. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  278. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js +17 -15
  279. package/dist/collection/components/ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.js.map +1 -1
  280. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +145 -145
  281. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  282. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +4 -4
  283. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +248 -248
  284. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  285. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +49 -49
  286. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  287. package/dist/collection/components/ic-input-container/ic-input-container.js +62 -62
  288. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  289. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +19 -19
  290. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -1
  291. package/dist/collection/components/ic-input-label/ic-input-label.js +211 -211
  292. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  293. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +37 -37
  294. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  295. package/dist/collection/components/ic-input-validation/ic-input-validation.js +139 -139
  296. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  297. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +31 -31
  298. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  299. package/dist/collection/components/ic-link/ic-link.js +248 -248
  300. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  301. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js +5 -5
  302. package/dist/collection/components/ic-link/test/a11y/ic-link.test.a11y.js.map +1 -1
  303. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +92 -92
  304. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  305. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +416 -415
  306. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  307. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js +5 -5
  308. package/dist/collection/components/ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.js.map +1 -1
  309. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js +25 -25
  310. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.e2e.js.map +1 -1
  311. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +114 -114
  312. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  313. package/dist/collection/components/ic-menu/ic-menu.css +1 -5
  314. package/dist/collection/components/ic-menu/ic-menu.js +1271 -1213
  315. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  316. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +684 -667
  317. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  318. package/dist/collection/components/ic-menu-group/ic-menu-group.js +41 -41
  319. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  320. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +16 -16
  321. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +1 -1
  322. package/dist/collection/components/ic-menu-item/ic-menu-item.js +378 -378
  323. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  324. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +67 -67
  325. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  326. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +262 -259
  327. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  328. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +41 -41
  329. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  330. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  331. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +380 -380
  332. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  333. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js +14 -12
  334. package/dist/collection/components/ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.js.map +1 -1
  335. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +242 -242
  336. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  337. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +11 -5
  338. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +446 -446
  339. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  340. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js +14 -12
  341. package/dist/collection/components/ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.js.map +1 -1
  342. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +78 -78
  343. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  344. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +7 -3
  345. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +187 -184
  346. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  347. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +25 -25
  348. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -1
  349. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +104 -104
  350. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +1 -1
  351. package/dist/collection/components/ic-page-header/ic-page-header.js +286 -286
  352. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  353. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js +5 -5
  354. package/dist/collection/components/ic-page-header/test/a11y/ic-page-header.test.a11y.js.map +1 -1
  355. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js +66 -66
  356. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.e2e.js.map +1 -1
  357. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +82 -82
  358. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  359. package/dist/collection/components/ic-pagination/ic-pagination.js +487 -482
  360. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  361. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js +5 -5
  362. package/dist/collection/components/ic-pagination/test/a11y/ic-pagination.test.a11y.js.map +1 -1
  363. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js +103 -103
  364. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -1
  365. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +304 -303
  366. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  367. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +225 -225
  368. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  369. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +434 -465
  370. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  371. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js +5 -5
  372. package/dist/collection/components/ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.js.map +1 -1
  373. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js +29 -26
  374. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.e2e.js.map +1 -1
  375. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +283 -283
  376. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  377. package/dist/collection/components/ic-radio-group/ic-radio-group.js +429 -429
  378. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  379. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js +5 -5
  380. package/dist/collection/components/ic-radio-group/test/a11y/ic-radio-group.test.a11y.js.map +1 -1
  381. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +218 -218
  382. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
  383. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +238 -238
  384. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  385. package/dist/collection/components/ic-radio-option/ic-radio-option.css +8 -8
  386. package/dist/collection/components/ic-radio-option/ic-radio-option.js +479 -479
  387. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  388. package/dist/collection/components/ic-search-bar/ic-search-bar.css +1 -1
  389. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1381 -1381
  390. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  391. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js +5 -5
  392. package/dist/collection/components/ic-search-bar/test/a11y/ic-search-bar.test.a11y.js.map +1 -1
  393. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +992 -1008
  394. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  395. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +568 -568
  396. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  397. package/dist/collection/components/ic-section-container/ic-section-container.js +70 -70
  398. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  399. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +28 -28
  400. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -1
  401. package/dist/collection/components/ic-select/ic-select.css +1 -1
  402. package/dist/collection/components/ic-select/ic-select.js +1466 -1447
  403. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  404. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js +5 -5
  405. package/dist/collection/components/ic-select/test/a11y/ic-select.test.a11y.js.map +1 -1
  406. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +1563 -1562
  407. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  408. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1299 -1299
  409. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  410. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +675 -654
  411. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  412. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  413. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js +5 -5
  414. package/dist/collection/components/ic-side-navigation/test/a11y/ic-side-navigation.test.a11y.js.map +1 -1
  415. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js +463 -464
  416. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.e2e.js.map +1 -1
  417. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +143 -143
  418. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  419. package/dist/collection/components/ic-skeleton/ic-skeleton.js +127 -127
  420. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  421. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js +5 -5
  422. package/dist/collection/components/ic-skeleton/test/a11y/ic-skeleton.test.a11y.js.map +1 -1
  423. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +38 -38
  424. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  425. package/dist/collection/components/ic-status-tag/ic-status-tag.css +4 -4
  426. package/dist/collection/components/ic-status-tag/ic-status-tag.js +194 -194
  427. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  428. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js +5 -5
  429. package/dist/collection/components/ic-status-tag/test/a11y/ic-status-tag.test.a11y.js.map +1 -1
  430. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +14 -14
  431. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  432. package/dist/collection/components/ic-step/ic-step.css +7 -1
  433. package/dist/collection/components/ic-step/ic-step.js +385 -385
  434. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  435. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +87 -87
  436. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  437. package/dist/collection/components/ic-stepper/ic-stepper.js +306 -306
  438. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  439. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js +10 -10
  440. package/dist/collection/components/ic-stepper/test/a11y/ic-stepper.test.a11y.js.map +1 -1
  441. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +36 -36
  442. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -1
  443. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +350 -350
  444. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  445. package/dist/collection/components/ic-switch/ic-switch.css +3 -2
  446. package/dist/collection/components/ic-switch/ic-switch.js +355 -355
  447. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  448. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js +5 -5
  449. package/dist/collection/components/ic-switch/test/a11y/ic-switch.test.a11y.js.map +1 -1
  450. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +88 -88
  451. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  452. package/dist/collection/components/ic-tab/ic-tab.js +350 -350
  453. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  454. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +26 -26
  455. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -1
  456. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +93 -93
  457. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  458. package/dist/collection/components/ic-tab-context/ic-tab-context.js +442 -441
  459. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  460. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js +5 -5
  461. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +1 -1
  462. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +213 -213
  463. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -1
  464. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +250 -250
  465. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  466. package/dist/collection/components/ic-tab-group/ic-tab-group.css +1 -1
  467. package/dist/collection/components/ic-tab-group/ic-tab-group.js +117 -117
  468. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  469. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +444 -1
  470. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +191 -191
  471. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  472. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +29 -29
  473. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -1
  474. package/dist/collection/components/ic-text-field/ic-text-field.js +1114 -1122
  475. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  476. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js +5 -5
  477. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +1 -1
  478. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +94 -94
  479. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +1 -1
  480. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +194 -194
  481. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  482. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +92 -92
  483. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  484. package/dist/collection/components/ic-theme/ic-theme.js +99 -99
  485. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  486. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +65 -65
  487. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  488. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +53 -53
  489. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  490. package/dist/collection/components/ic-toast/ic-toast.js +368 -368
  491. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  492. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js +10 -10
  493. package/dist/collection/components/ic-toast/test/a11y/ic-toast.test.a11y.js.map +1 -1
  494. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js +66 -66
  495. package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -1
  496. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +180 -180
  497. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  498. package/dist/collection/components/ic-toast-region/ic-toast-region.js +115 -110
  499. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  500. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +58 -58
  501. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  502. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -2
  503. package/dist/collection/components/ic-tooltip/ic-tooltip.js +347 -329
  504. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  505. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js +5 -5
  506. package/dist/collection/components/ic-tooltip/test/a11y/ic-tooltip.test.a11y.js.map +1 -1
  507. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +105 -105
  508. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  509. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +276 -276
  510. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  511. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +3 -7
  512. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +432 -414
  513. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  514. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js +20 -18
  515. package/dist/collection/components/ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.js.map +1 -1
  516. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js +43 -43
  517. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.e2e.js.map +1 -1
  518. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js +191 -191
  519. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.mobile.e2e.js.map +1 -1
  520. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +187 -172
  521. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  522. package/dist/collection/components/ic-typography/ic-typography.js +270 -270
  523. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  524. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js +5 -5
  525. package/dist/collection/components/ic-typography/test/a11y/ic-typography.test.a11y.js.map +1 -1
  526. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js +25 -25
  527. package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -1
  528. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +276 -276
  529. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  530. package/dist/collection/testspec.setup.js +32 -32
  531. package/dist/collection/testspec.setup.js.map +1 -1
  532. package/dist/collection/utils/constants.js +55 -55
  533. package/dist/collection/utils/constants.js.map +1 -1
  534. package/dist/collection/utils/helpers.js +235 -235
  535. package/dist/collection/utils/helpers.js.map +1 -1
  536. package/dist/collection/utils/testa11y.helpers.js +2 -2
  537. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  538. package/dist/collection/utils/types.js +6 -6
  539. package/dist/collection/utils/types.js.map +1 -1
  540. package/dist/components/helpers.js +290 -290
  541. package/dist/components/helpers.js.map +1 -1
  542. package/dist/components/ic-accordion-group.d.ts +2 -2
  543. package/dist/components/ic-accordion-group.js +112 -112
  544. package/dist/components/ic-accordion-group.js.map +1 -1
  545. package/dist/components/ic-accordion.d.ts +2 -2
  546. package/dist/components/ic-accordion.js +125 -125
  547. package/dist/components/ic-accordion.js.map +1 -1
  548. package/dist/components/ic-alert.d.ts +2 -2
  549. package/dist/components/ic-alert2.js +98 -98
  550. package/dist/components/ic-alert2.js.map +1 -1
  551. package/dist/components/ic-back-to-top.d.ts +2 -2
  552. package/dist/components/ic-back-to-top.js +144 -144
  553. package/dist/components/ic-back-to-top.js.map +1 -1
  554. package/dist/components/ic-badge.d.ts +2 -2
  555. package/dist/components/ic-badge.js +174 -174
  556. package/dist/components/ic-badge.js.map +1 -1
  557. package/dist/components/ic-breadcrumb-group.d.ts +2 -2
  558. package/dist/components/ic-breadcrumb-group.js +199 -192
  559. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  560. package/dist/components/ic-breadcrumb.d.ts +2 -2
  561. package/dist/components/ic-breadcrumb2.js +78 -75
  562. package/dist/components/ic-breadcrumb2.js.map +1 -1
  563. package/dist/components/ic-button.d.ts +2 -2
  564. package/dist/components/ic-button2.js +312 -304
  565. package/dist/components/ic-button2.js.map +1 -1
  566. package/dist/components/ic-card.d.ts +2 -2
  567. package/dist/components/ic-card.js +156 -156
  568. package/dist/components/ic-card.js.map +1 -1
  569. package/dist/components/ic-checkbox-group.d.ts +2 -2
  570. package/dist/components/ic-checkbox-group.js +97 -97
  571. package/dist/components/ic-checkbox-group.js.map +1 -1
  572. package/dist/components/ic-checkbox.d.ts +2 -2
  573. package/dist/components/ic-checkbox.js +131 -131
  574. package/dist/components/ic-checkbox.js.map +1 -1
  575. package/dist/components/ic-chip.d.ts +2 -2
  576. package/dist/components/ic-chip.js +99 -96
  577. package/dist/components/ic-chip.js.map +1 -1
  578. package/dist/components/ic-classification-banner.d.ts +2 -2
  579. package/dist/components/ic-classification-banner.js +47 -47
  580. package/dist/components/ic-classification-banner.js.map +1 -1
  581. package/dist/components/ic-data-entity.d.ts +2 -2
  582. package/dist/components/ic-data-entity.js +40 -40
  583. package/dist/components/ic-data-entity.js.map +1 -1
  584. package/dist/components/ic-data-row.d.ts +2 -2
  585. package/dist/components/ic-data-row.js +98 -98
  586. package/dist/components/ic-data-row.js.map +1 -1
  587. package/dist/components/ic-dialog.d.ts +2 -2
  588. package/dist/components/ic-dialog.js +400 -378
  589. package/dist/components/ic-dialog.js.map +1 -1
  590. package/dist/components/ic-divider.d.ts +2 -2
  591. package/dist/components/ic-divider2.js +28 -28
  592. package/dist/components/ic-divider2.js.map +1 -1
  593. package/dist/components/ic-empty-state.d.ts +2 -2
  594. package/dist/components/ic-empty-state.js +47 -47
  595. package/dist/components/ic-empty-state.js.map +1 -1
  596. package/dist/components/ic-footer-link-group.d.ts +2 -2
  597. package/dist/components/ic-footer-link-group.js +82 -82
  598. package/dist/components/ic-footer-link-group.js.map +1 -1
  599. package/dist/components/ic-footer-link.d.ts +2 -2
  600. package/dist/components/ic-footer-link.js +71 -71
  601. package/dist/components/ic-footer-link.js.map +1 -1
  602. package/dist/components/ic-footer.d.ts +2 -2
  603. package/dist/components/ic-footer.js +108 -108
  604. package/dist/components/ic-footer.js.map +1 -1
  605. package/dist/components/ic-hero.d.ts +2 -2
  606. package/dist/components/ic-hero.js +98 -98
  607. package/dist/components/ic-hero.js.map +1 -1
  608. package/dist/components/ic-horizontal-scroll.d.ts +2 -2
  609. package/dist/components/ic-horizontal-scroll2.js +189 -189
  610. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  611. package/dist/components/ic-input-component-container.d.ts +2 -2
  612. package/dist/components/ic-input-component-container2.js +62 -62
  613. package/dist/components/ic-input-component-container2.js.map +1 -1
  614. package/dist/components/ic-input-container.d.ts +2 -2
  615. package/dist/components/ic-input-container2.js +28 -28
  616. package/dist/components/ic-input-container2.js.map +1 -1
  617. package/dist/components/ic-input-label.d.ts +2 -2
  618. package/dist/components/ic-input-label2.js +62 -62
  619. package/dist/components/ic-input-label2.js.map +1 -1
  620. package/dist/components/ic-input-validation.d.ts +2 -2
  621. package/dist/components/ic-input-validation2.js +50 -50
  622. package/dist/components/ic-input-validation2.js.map +1 -1
  623. package/dist/components/ic-link.d.ts +2 -2
  624. package/dist/components/ic-link2.js +76 -76
  625. package/dist/components/ic-link2.js.map +1 -1
  626. package/dist/components/ic-loading-indicator.d.ts +2 -2
  627. package/dist/components/ic-loading-indicator2.js +211 -210
  628. package/dist/components/ic-loading-indicator2.js.map +1 -1
  629. package/dist/components/ic-menu-group.d.ts +2 -2
  630. package/dist/components/ic-menu-group.js +30 -30
  631. package/dist/components/ic-menu-group.js.map +1 -1
  632. package/dist/components/ic-menu-item.d.ts +2 -2
  633. package/dist/components/ic-menu-item2.js +144 -144
  634. package/dist/components/ic-menu-item2.js.map +1 -1
  635. package/dist/components/ic-menu.d.ts +2 -2
  636. package/dist/components/ic-menu2.js +694 -682
  637. package/dist/components/ic-menu2.js.map +1 -1
  638. package/dist/components/ic-navigation-button.d.ts +2 -2
  639. package/dist/components/ic-navigation-button.js +121 -118
  640. package/dist/components/ic-navigation-button.js.map +1 -1
  641. package/dist/components/ic-navigation-group.d.ts +2 -2
  642. package/dist/components/ic-navigation-group.js +311 -311
  643. package/dist/components/ic-navigation-group.js.map +1 -1
  644. package/dist/components/ic-navigation-item.d.ts +2 -2
  645. package/dist/components/ic-navigation-item.js +195 -195
  646. package/dist/components/ic-navigation-item.js.map +1 -1
  647. package/dist/components/ic-navigation-menu.d.ts +2 -2
  648. package/dist/components/ic-navigation-menu2.js +140 -137
  649. package/dist/components/ic-navigation-menu2.js.map +1 -1
  650. package/dist/components/ic-page-header.d.ts +2 -2
  651. package/dist/components/ic-page-header.js +147 -147
  652. package/dist/components/ic-page-header.js.map +1 -1
  653. package/dist/components/ic-pagination-item.d.ts +2 -2
  654. package/dist/components/ic-pagination-item2.js +67 -67
  655. package/dist/components/ic-pagination-item2.js.map +1 -1
  656. package/dist/components/ic-pagination.d.ts +2 -2
  657. package/dist/components/ic-pagination.js +253 -252
  658. package/dist/components/ic-pagination.js.map +1 -1
  659. package/dist/components/ic-popover-menu.d.ts +2 -2
  660. package/dist/components/ic-popover-menu.js +278 -309
  661. package/dist/components/ic-popover-menu.js.map +1 -1
  662. package/dist/components/ic-radio-group.d.ts +2 -2
  663. package/dist/components/ic-radio-group.js +200 -200
  664. package/dist/components/ic-radio-group.js.map +1 -1
  665. package/dist/components/ic-radio-option.d.ts +2 -2
  666. package/dist/components/ic-radio-option.js +163 -163
  667. package/dist/components/ic-radio-option.js.map +1 -1
  668. package/dist/components/ic-search-bar.d.ts +2 -2
  669. package/dist/components/ic-search-bar.js +581 -581
  670. package/dist/components/ic-search-bar.js.map +1 -1
  671. package/dist/components/ic-section-container.d.ts +2 -2
  672. package/dist/components/ic-section-container2.js +31 -31
  673. package/dist/components/ic-section-container2.js.map +1 -1
  674. package/dist/components/ic-select.d.ts +2 -2
  675. package/dist/components/ic-select.js +752 -750
  676. package/dist/components/ic-select.js.map +1 -1
  677. package/dist/components/ic-side-navigation.d.ts +2 -2
  678. package/dist/components/ic-side-navigation.js +479 -481
  679. package/dist/components/ic-side-navigation.js.map +1 -1
  680. package/dist/components/ic-skeleton.d.ts +2 -2
  681. package/dist/components/ic-skeleton.js +64 -64
  682. package/dist/components/ic-skeleton.js.map +1 -1
  683. package/dist/components/ic-status-tag.d.ts +2 -2
  684. package/dist/components/ic-status-tag.js +54 -54
  685. package/dist/components/ic-status-tag.js.map +1 -1
  686. package/dist/components/ic-step.d.ts +2 -2
  687. package/dist/components/ic-step.js +157 -157
  688. package/dist/components/ic-step.js.map +1 -1
  689. package/dist/components/ic-stepper.d.ts +2 -2
  690. package/dist/components/ic-stepper.js +223 -223
  691. package/dist/components/ic-stepper.js.map +1 -1
  692. package/dist/components/ic-switch.d.ts +2 -2
  693. package/dist/components/ic-switch.js +115 -115
  694. package/dist/components/ic-switch.js.map +1 -1
  695. package/dist/components/ic-tab-context.d.ts +2 -2
  696. package/dist/components/ic-tab-context.js +271 -271
  697. package/dist/components/ic-tab-context.js.map +1 -1
  698. package/dist/components/ic-tab-group.d.ts +2 -2
  699. package/dist/components/ic-tab-group.js +65 -65
  700. package/dist/components/ic-tab-group.js.map +1 -1
  701. package/dist/components/ic-tab-panel.d.ts +2 -2
  702. package/dist/components/ic-tab-panel.js +48 -48
  703. package/dist/components/ic-tab-panel.js.map +1 -1
  704. package/dist/components/ic-tab.d.ts +2 -2
  705. package/dist/components/ic-tab.js +112 -112
  706. package/dist/components/ic-tab.js.map +1 -1
  707. package/dist/components/ic-text-field.d.ts +2 -2
  708. package/dist/components/ic-text-field2.js +292 -300
  709. package/dist/components/ic-text-field2.js.map +1 -1
  710. package/dist/components/ic-theme.d.ts +2 -2
  711. package/dist/components/ic-theme.js +65 -65
  712. package/dist/components/ic-theme.js.map +1 -1
  713. package/dist/components/ic-toast-region.d.ts +2 -2
  714. package/dist/components/ic-toast-region.js +63 -62
  715. package/dist/components/ic-toast-region.js.map +1 -1
  716. package/dist/components/ic-toast.d.ts +2 -2
  717. package/dist/components/ic-toast.js +187 -187
  718. package/dist/components/ic-toast.js.map +1 -1
  719. package/dist/components/ic-tooltip.d.ts +2 -2
  720. package/dist/components/ic-tooltip2.js +214 -212
  721. package/dist/components/ic-tooltip2.js.map +1 -1
  722. package/dist/components/ic-top-navigation.d.ts +2 -2
  723. package/dist/components/ic-top-navigation.js +263 -260
  724. package/dist/components/ic-top-navigation.js.map +1 -1
  725. package/dist/components/ic-typography.d.ts +2 -2
  726. package/dist/components/ic-typography2.js +142 -142
  727. package/dist/components/ic-typography2.js.map +1 -1
  728. package/dist/components/types.js +6 -6
  729. package/dist/components/types.js.map +1 -1
  730. package/dist/core/core.css +2 -2
  731. package/dist/core/core.esm.js +1 -1
  732. package/dist/core/core.esm.js.map +1 -1
  733. package/dist/core/p-02159742.entry.js +2 -0
  734. package/dist/core/p-02159742.entry.js.map +1 -0
  735. package/dist/core/p-056f8a67.entry.js +2 -0
  736. package/dist/core/p-056f8a67.entry.js.map +1 -0
  737. package/dist/core/{p-08b59078.entry.js → p-11736fbe.entry.js} +2 -2
  738. package/dist/core/{p-ba495175.entry.js → p-15466b42.entry.js} +2 -2
  739. package/dist/core/{p-ba495175.entry.js.map → p-15466b42.entry.js.map} +1 -1
  740. package/dist/core/{p-eb063498.entry.js → p-15624e08.entry.js} +2 -2
  741. package/dist/core/p-15624e08.entry.js.map +1 -0
  742. package/dist/core/{p-5fcd202e.entry.js → p-15ef0674.entry.js} +2 -2
  743. package/dist/core/{p-88ea1e49.entry.js → p-180e36b1.entry.js} +2 -2
  744. package/dist/core/p-22c024ee.entry.js +2 -0
  745. package/dist/core/p-22c024ee.entry.js.map +1 -0
  746. package/dist/core/{p-613aa265.js → p-26b7b18f.js} +1 -1
  747. package/dist/core/{p-932fb4b7.entry.js → p-287ab47c.entry.js} +2 -2
  748. package/dist/core/{p-69948c3e.entry.js → p-2b24b4bf.entry.js} +2 -2
  749. package/dist/core/p-31969be6.entry.js +2 -0
  750. package/dist/core/p-31969be6.entry.js.map +1 -0
  751. package/dist/core/{p-475b7bd2.entry.js → p-335fc5e4.entry.js} +2 -2
  752. package/dist/core/{p-c9ef9f5c.entry.js → p-366bcb17.entry.js} +2 -2
  753. package/dist/core/{p-ed256f1d.entry.js → p-3a0ef91e.entry.js} +2 -2
  754. package/dist/core/p-498eb7ad.entry.js +2 -0
  755. package/dist/core/p-498eb7ad.entry.js.map +1 -0
  756. package/dist/core/p-51f9f329.entry.js +2 -0
  757. package/dist/core/p-51f9f329.entry.js.map +1 -0
  758. package/dist/core/{p-f019219c.entry.js → p-529d8955.entry.js} +2 -2
  759. package/dist/core/p-52e063d3.js +3 -0
  760. package/dist/core/p-52e063d3.js.map +1 -0
  761. package/dist/core/p-5c7e339f.entry.js +2 -0
  762. package/dist/core/p-5c7e339f.entry.js.map +1 -0
  763. package/dist/core/p-5f9d69ef.entry.js +2 -0
  764. package/dist/core/p-5f9d69ef.entry.js.map +1 -0
  765. package/dist/core/{p-2c30b583.entry.js → p-60c4604f.entry.js} +2 -2
  766. package/dist/core/p-6bc431b2.entry.js +2 -0
  767. package/dist/core/p-6bc431b2.entry.js.map +1 -0
  768. package/dist/core/{p-ccac1730.entry.js → p-6d3f9501.entry.js} +2 -2
  769. package/dist/core/{p-536b3c97.entry.js → p-6eb0421d.entry.js} +2 -2
  770. package/dist/core/{p-48525498.entry.js → p-765bdd98.entry.js} +2 -2
  771. package/dist/core/{p-3a814fc4.entry.js → p-7f887c1e.entry.js} +2 -2
  772. package/dist/core/{p-752f0f9a.entry.js → p-8a83f391.entry.js} +2 -2
  773. package/dist/core/p-8a83f391.entry.js.map +1 -0
  774. package/dist/core/{p-e3bffcae.entry.js → p-94e88827.entry.js} +2 -2
  775. package/dist/core/{p-8fb4f0c0.js → p-95a864bf.js} +2 -2
  776. package/dist/core/{p-c0c62df4.entry.js → p-9639e33f.entry.js} +2 -2
  777. package/dist/core/p-9639e33f.entry.js.map +1 -0
  778. package/dist/core/p-96da1e85.entry.js +2 -0
  779. package/dist/core/p-96da1e85.entry.js.map +1 -0
  780. package/dist/core/p-988991d3.entry.js +2 -0
  781. package/dist/core/p-988991d3.entry.js.map +1 -0
  782. package/dist/core/{p-0c82048e.entry.js → p-9c30720d.entry.js} +2 -2
  783. package/dist/core/p-aa0a9870.entry.js +2 -0
  784. package/dist/core/p-aa0a9870.entry.js.map +1 -0
  785. package/dist/core/{p-76563540.entry.js → p-ad36a704.entry.js} +2 -2
  786. package/dist/core/p-b0088956.entry.js +2 -0
  787. package/dist/core/p-b0088956.entry.js.map +1 -0
  788. package/dist/core/p-b39ecae2.entry.js +2 -0
  789. package/dist/core/p-b39ecae2.entry.js.map +1 -0
  790. package/dist/core/{p-2265e418.entry.js → p-b6a575c3.entry.js} +2 -2
  791. package/dist/core/{p-fbc8a739.entry.js → p-b9736cf4.entry.js} +2 -2
  792. package/dist/core/{p-025f9d2a.entry.js → p-b99f9e89.entry.js} +2 -2
  793. package/dist/core/{p-b0ce60a0.entry.js → p-c2452388.entry.js} +2 -2
  794. package/dist/core/{p-345fe84a.entry.js → p-c770e7a2.entry.js} +2 -2
  795. package/dist/core/p-ca178add.entry.js +2 -0
  796. package/dist/core/p-ca178add.entry.js.map +1 -0
  797. package/dist/core/p-ca48e97a.entry.js +2 -0
  798. package/dist/core/p-ca48e97a.entry.js.map +1 -0
  799. package/dist/core/p-cd8de4c5.entry.js +2 -0
  800. package/dist/core/p-cd8de4c5.entry.js.map +1 -0
  801. package/dist/core/{p-a4397df4.entry.js → p-cfc930f6.entry.js} +2 -2
  802. package/dist/core/{p-3a15202f.entry.js → p-d18450f9.entry.js} +2 -2
  803. package/dist/core/p-d18450f9.entry.js.map +1 -0
  804. package/dist/core/p-daebb58a.entry.js +2 -0
  805. package/dist/core/p-daebb58a.entry.js.map +1 -0
  806. package/dist/core/p-dbb5b008.entry.js +2 -0
  807. package/dist/core/p-dbb5b008.entry.js.map +1 -0
  808. package/dist/core/p-e278242f.entry.js +2 -0
  809. package/dist/core/p-e278242f.entry.js.map +1 -0
  810. package/dist/core/{p-af9f1caa.entry.js → p-e5abfadd.entry.js} +2 -2
  811. package/dist/core/p-e5abfadd.entry.js.map +1 -0
  812. package/dist/core/{p-41c6eaa1.entry.js → p-e9738c74.entry.js} +2 -2
  813. package/dist/core/p-ea17e371.entry.js +2 -0
  814. package/dist/core/p-ea17e371.entry.js.map +1 -0
  815. package/dist/core/{p-e2fd542e.entry.js → p-edd29edc.entry.js} +2 -2
  816. package/dist/core/p-edec0936.entry.js +2 -0
  817. package/dist/core/p-edec0936.entry.js.map +1 -0
  818. package/dist/core/p-ee97e2a5.entry.js +2 -0
  819. package/dist/core/p-ee97e2a5.entry.js.map +1 -0
  820. package/dist/core/{p-8b18346a.entry.js → p-f0809037.entry.js} +2 -2
  821. package/dist/core/p-f0809037.entry.js.map +1 -0
  822. package/dist/core/{p-5bb6c79b.entry.js → p-f2e6b9ef.entry.js} +2 -2
  823. package/dist/core/{p-cf4bacee.entry.js → p-fdb4b48f.entry.js} +2 -2
  824. package/dist/esm/core.js +4 -4
  825. package/dist/esm/core.js.map +1 -1
  826. package/dist/esm/{helpers-24f6e762.js → helpers-c597f246.js} +292 -292
  827. package/dist/esm/helpers-c597f246.js.map +1 -0
  828. package/dist/esm/ic-accordion-group.entry.js +71 -71
  829. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  830. package/dist/esm/ic-accordion.entry.js +99 -99
  831. package/dist/esm/ic-accordion.entry.js.map +1 -1
  832. package/dist/esm/ic-alert.entry.js +58 -58
  833. package/dist/esm/ic-alert.entry.js.map +1 -1
  834. package/dist/esm/ic-back-to-top.entry.js +121 -121
  835. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  836. package/dist/esm/ic-badge.entry.js +146 -146
  837. package/dist/esm/ic-badge.entry.js.map +1 -1
  838. package/dist/esm/ic-breadcrumb-group.entry.js +172 -166
  839. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  840. package/dist/esm/ic-breadcrumb.entry.js +55 -53
  841. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  842. package/dist/esm/ic-button_3.entry.js +616 -607
  843. package/dist/esm/ic-button_3.entry.js.map +1 -1
  844. package/dist/esm/ic-card.entry.js +106 -106
  845. package/dist/esm/ic-card.entry.js.map +1 -1
  846. package/dist/esm/ic-checkbox-group.entry.js +60 -60
  847. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  848. package/dist/esm/ic-checkbox.entry.js +95 -95
  849. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  850. package/dist/esm/ic-chip.entry.js +67 -65
  851. package/dist/esm/ic-chip.entry.js.map +1 -1
  852. package/dist/esm/ic-classification-banner.entry.js +23 -23
  853. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  854. package/dist/esm/ic-data-entity.entry.js +18 -18
  855. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  856. package/dist/esm/ic-data-row.entry.js +75 -75
  857. package/dist/esm/ic-data-row.entry.js.map +1 -1
  858. package/dist/esm/ic-dialog.entry.js +339 -318
  859. package/dist/esm/ic-dialog.entry.js.map +1 -1
  860. package/dist/esm/ic-divider.entry.js +16 -16
  861. package/dist/esm/ic-divider.entry.js.map +1 -1
  862. package/dist/esm/ic-empty-state.entry.js +24 -24
  863. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  864. package/dist/esm/ic-footer-link-group.entry.js +55 -55
  865. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  866. package/dist/esm/ic-footer-link.entry.js +50 -50
  867. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  868. package/dist/esm/ic-footer.entry.js +78 -78
  869. package/dist/esm/ic-footer.entry.js.map +1 -1
  870. package/dist/esm/ic-hero.entry.js +62 -62
  871. package/dist/esm/ic-hero.entry.js.map +1 -1
  872. package/dist/esm/ic-horizontal-scroll.entry.js +151 -151
  873. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  874. package/dist/esm/ic-input-component-container_3.entry.js +682 -673
  875. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  876. package/dist/esm/ic-input-label_2.entry.js +63 -63
  877. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  878. package/dist/esm/ic-link.entry.js +55 -55
  879. package/dist/esm/ic-link.entry.js.map +1 -1
  880. package/dist/esm/ic-menu-group.entry.js +12 -12
  881. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  882. package/dist/esm/ic-menu-item.entry.js +100 -100
  883. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  884. package/dist/esm/ic-navigation-button.entry.js +79 -76
  885. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  886. package/dist/esm/ic-navigation-group.entry.js +284 -284
  887. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  888. package/dist/esm/ic-navigation-item.entry.js +153 -153
  889. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  890. package/dist/esm/ic-navigation-menu.entry.js +106 -103
  891. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  892. package/dist/esm/ic-page-header.entry.js +93 -93
  893. package/dist/esm/ic-page-header.entry.js.map +1 -1
  894. package/dist/esm/ic-pagination-item.entry.js +42 -42
  895. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  896. package/dist/esm/ic-pagination.entry.js +196 -195
  897. package/dist/esm/ic-pagination.entry.js.map +1 -1
  898. package/dist/esm/ic-popover-menu.entry.js +229 -260
  899. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  900. package/dist/esm/ic-radio-group.entry.js +156 -156
  901. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  902. package/dist/esm/ic-radio-option.entry.js +128 -128
  903. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  904. package/dist/esm/ic-search-bar.entry.js +475 -475
  905. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  906. package/dist/esm/ic-section-container.entry.js +15 -15
  907. package/dist/esm/ic-section-container.entry.js.map +1 -1
  908. package/dist/esm/ic-select.entry.js +640 -639
  909. package/dist/esm/ic-select.entry.js.map +1 -1
  910. package/dist/esm/ic-side-navigation.entry.js +424 -426
  911. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  912. package/dist/esm/ic-skeleton.entry.js +43 -43
  913. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  914. package/dist/esm/ic-status-tag.entry.js +30 -30
  915. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  916. package/dist/esm/ic-step.entry.js +121 -121
  917. package/dist/esm/ic-step.entry.js.map +1 -1
  918. package/dist/esm/ic-stepper.entry.js +200 -200
  919. package/dist/esm/ic-stepper.entry.js.map +1 -1
  920. package/dist/esm/ic-switch.entry.js +78 -78
  921. package/dist/esm/ic-switch.entry.js.map +1 -1
  922. package/dist/esm/ic-tab-context.entry.js +252 -252
  923. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  924. package/dist/esm/ic-tab-group.entry.js +24 -24
  925. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  926. package/dist/esm/ic-tab-panel.entry.js +31 -31
  927. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  928. package/dist/esm/ic-tab.entry.js +86 -86
  929. package/dist/esm/ic-tab.entry.js.map +1 -1
  930. package/dist/esm/ic-text-field.entry.js +209 -217
  931. package/dist/esm/ic-text-field.entry.js.map +1 -1
  932. package/dist/esm/ic-theme.entry.js +51 -51
  933. package/dist/esm/ic-theme.entry.js.map +1 -1
  934. package/dist/esm/ic-toast-region.entry.js +47 -46
  935. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  936. package/dist/esm/ic-toast.entry.js +145 -145
  937. package/dist/esm/ic-toast.entry.js.map +1 -1
  938. package/dist/esm/ic-top-navigation.entry.js +198 -195
  939. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  940. package/dist/esm/ic-typography.entry.js +118 -118
  941. package/dist/esm/ic-typography.entry.js.map +1 -1
  942. package/dist/{cjs/index-4f8c900f.js → esm/index-05003e1c.js} +603 -407
  943. package/dist/esm/index-05003e1c.js.map +1 -0
  944. package/dist/esm/loader.js +3 -3
  945. package/dist/esm/types-6f6b41a5.js +16 -0
  946. package/dist/esm/{types-b2398b37.js.map → types-6f6b41a5.js.map} +1 -1
  947. package/dist/node.d.ts +12 -0
  948. package/dist/types/components/ic-accordion/ic-accordion.d.ts +48 -48
  949. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +30 -30
  950. package/dist/types/components/ic-alert/ic-alert.d.ts +40 -40
  951. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +23 -23
  952. package/dist/types/components/ic-badge/ic-badge.d.ts +57 -57
  953. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +30 -25
  954. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +43 -38
  955. package/dist/types/components/ic-button/ic-button.d.ts +142 -137
  956. package/dist/types/components/ic-card/ic-card.d.ts +68 -68
  957. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +91 -91
  958. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +50 -50
  959. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.types.d.ts +6 -6
  960. package/dist/types/components/ic-chip/ic-chip.d.ts +50 -46
  961. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +21 -21
  962. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +14 -14
  963. package/dist/types/components/ic-data-row/ic-data-row.d.ts +34 -34
  964. package/dist/types/components/ic-dialog/ic-dialog.d.ts +139 -128
  965. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  966. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +27 -27
  967. package/dist/types/components/ic-footer/ic-footer.d.ts +41 -41
  968. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +35 -35
  969. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +17 -17
  970. package/dist/types/components/ic-hero/ic-hero.d.ts +51 -51
  971. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +41 -41
  972. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +42 -42
  973. package/dist/types/components/ic-input-container/ic-input-container.d.ts +9 -9
  974. package/dist/types/components/ic-input-label/ic-input-label.d.ts +38 -38
  975. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +23 -23
  976. package/dist/types/components/ic-link/ic-link.d.ts +44 -44
  977. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +76 -76
  978. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +3 -3
  979. package/dist/types/components/ic-menu/ic-menu.d.ts +183 -173
  980. package/dist/types/components/ic-menu/ic-menu.types.d.ts +6 -6
  981. package/dist/types/components/ic-menu-group/ic-menu-group.d.ts +6 -6
  982. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +66 -66
  983. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +47 -47
  984. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +62 -62
  985. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +80 -80
  986. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +29 -29
  987. package/dist/types/components/ic-page-header/ic-page-header.d.ts +48 -48
  988. package/dist/types/components/ic-pagination/ic-pagination.d.ts +78 -77
  989. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +1 -1
  990. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +42 -42
  991. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +60 -60
  992. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +67 -67
  993. package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +5 -5
  994. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +89 -89
  995. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +248 -248
  996. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  997. package/dist/types/components/ic-section-container/ic-section-container.d.ts +9 -9
  998. package/dist/types/components/ic-select/ic-select.d.ts +269 -265
  999. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +103 -97
  1000. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +10 -6
  1001. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +19 -19
  1002. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +31 -31
  1003. package/dist/types/components/ic-step/ic-step.d.ts +51 -51
  1004. package/dist/types/components/ic-stepper/ic-stepper.d.ts +40 -40
  1005. package/dist/types/components/ic-switch/ic-switch.d.ts +73 -73
  1006. package/dist/types/components/ic-switch/ic-switch.types.d.ts +2 -2
  1007. package/dist/types/components/ic-tab/ic-tab.d.ts +51 -51
  1008. package/dist/types/components/ic-tab/ic-tab.types.d.ts +4 -4
  1009. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +59 -59
  1010. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +19 -19
  1011. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +33 -33
  1012. package/dist/types/components/ic-text-field/ic-text-field.d.ts +214 -213
  1013. package/dist/types/components/ic-theme/ic-theme.d.ts +14 -14
  1014. package/dist/types/components/ic-toast/ic-toast.d.ts +58 -58
  1015. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +16 -15
  1016. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +54 -50
  1017. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +78 -72
  1018. package/dist/types/components/ic-typography/ic-typography.d.ts +54 -54
  1019. package/dist/types/components.d.ts +415 -3
  1020. package/dist/types/stencil-public-runtime.d.ts +29 -0
  1021. package/dist/types/testspec.setup.d.ts +7 -7
  1022. package/dist/types/utils/constants.d.ts +26 -26
  1023. package/dist/types/utils/helpers.d.ts +7 -7
  1024. package/dist/types/utils/types.d.ts +31 -31
  1025. package/hydrate/index.d.ts +2 -2
  1026. package/hydrate/index.js +16042 -14263
  1027. package/package.json +5 -4
  1028. package/vscode-data.json +3939 -0
  1029. package/dist/cjs/helpers-0d63359f.js.map +0 -1
  1030. package/dist/cjs/index-4f8c900f.js.map +0 -1
  1031. package/dist/cjs/types-7d67439f.js +0 -16
  1032. package/dist/core/p-03329fd0.entry.js +0 -2
  1033. package/dist/core/p-03329fd0.entry.js.map +0 -1
  1034. package/dist/core/p-0dc4f225.entry.js +0 -2
  1035. package/dist/core/p-0dc4f225.entry.js.map +0 -1
  1036. package/dist/core/p-12124e24.entry.js +0 -2
  1037. package/dist/core/p-12124e24.entry.js.map +0 -1
  1038. package/dist/core/p-1cf2a6aa.entry.js +0 -2
  1039. package/dist/core/p-1cf2a6aa.entry.js.map +0 -1
  1040. package/dist/core/p-39c8111d.entry.js +0 -2
  1041. package/dist/core/p-39c8111d.entry.js.map +0 -1
  1042. package/dist/core/p-3a15202f.entry.js.map +0 -1
  1043. package/dist/core/p-3fd897c9.entry.js +0 -2
  1044. package/dist/core/p-3fd897c9.entry.js.map +0 -1
  1045. package/dist/core/p-432f8ff0.entry.js +0 -2
  1046. package/dist/core/p-432f8ff0.entry.js.map +0 -1
  1047. package/dist/core/p-4559600a.entry.js +0 -2
  1048. package/dist/core/p-4559600a.entry.js.map +0 -1
  1049. package/dist/core/p-59bdafff.entry.js +0 -2
  1050. package/dist/core/p-59bdafff.entry.js.map +0 -1
  1051. package/dist/core/p-5b487daa.entry.js +0 -2
  1052. package/dist/core/p-5b487daa.entry.js.map +0 -1
  1053. package/dist/core/p-5ca39ed5.entry.js +0 -2
  1054. package/dist/core/p-5ca39ed5.entry.js.map +0 -1
  1055. package/dist/core/p-752f0f9a.entry.js.map +0 -1
  1056. package/dist/core/p-763d0822.entry.js +0 -2
  1057. package/dist/core/p-763d0822.entry.js.map +0 -1
  1058. package/dist/core/p-7bb3c340.entry.js +0 -2
  1059. package/dist/core/p-7bb3c340.entry.js.map +0 -1
  1060. package/dist/core/p-8b18346a.entry.js.map +0 -1
  1061. package/dist/core/p-9ccfb863.entry.js +0 -2
  1062. package/dist/core/p-9ccfb863.entry.js.map +0 -1
  1063. package/dist/core/p-9d124fc7.js +0 -3
  1064. package/dist/core/p-9d124fc7.js.map +0 -1
  1065. package/dist/core/p-a448d873.entry.js +0 -2
  1066. package/dist/core/p-a448d873.entry.js.map +0 -1
  1067. package/dist/core/p-af9f1caa.entry.js.map +0 -1
  1068. package/dist/core/p-b77ab20a.entry.js +0 -2
  1069. package/dist/core/p-b77ab20a.entry.js.map +0 -1
  1070. package/dist/core/p-c0c62df4.entry.js.map +0 -1
  1071. package/dist/core/p-c36cbd8a.entry.js +0 -2
  1072. package/dist/core/p-c36cbd8a.entry.js.map +0 -1
  1073. package/dist/core/p-e2903ce9.entry.js +0 -2
  1074. package/dist/core/p-e2903ce9.entry.js.map +0 -1
  1075. package/dist/core/p-ea6ad791.entry.js +0 -2
  1076. package/dist/core/p-ea6ad791.entry.js.map +0 -1
  1077. package/dist/core/p-eb063498.entry.js.map +0 -1
  1078. package/dist/core/p-ec82fa24.entry.js +0 -2
  1079. package/dist/core/p-ec82fa24.entry.js.map +0 -1
  1080. package/dist/core/p-f00e510b.entry.js +0 -2
  1081. package/dist/core/p-f00e510b.entry.js.map +0 -1
  1082. package/dist/core/p-f69fb26b.entry.js +0 -2
  1083. package/dist/core/p-f69fb26b.entry.js.map +0 -1
  1084. package/dist/core/p-fe6e0c0e.entry.js +0 -2
  1085. package/dist/core/p-fe6e0c0e.entry.js.map +0 -1
  1086. package/dist/esm/helpers-24f6e762.js.map +0 -1
  1087. package/dist/esm/index-813020f1.js.map +0 -1
  1088. package/dist/esm/types-b2398b37.js +0 -16
  1089. /package/dist/core/{p-08b59078.entry.js.map → p-11736fbe.entry.js.map} +0 -0
  1090. /package/dist/core/{p-5fcd202e.entry.js.map → p-15ef0674.entry.js.map} +0 -0
  1091. /package/dist/core/{p-88ea1e49.entry.js.map → p-180e36b1.entry.js.map} +0 -0
  1092. /package/dist/core/{p-613aa265.js.map → p-26b7b18f.js.map} +0 -0
  1093. /package/dist/core/{p-932fb4b7.entry.js.map → p-287ab47c.entry.js.map} +0 -0
  1094. /package/dist/core/{p-69948c3e.entry.js.map → p-2b24b4bf.entry.js.map} +0 -0
  1095. /package/dist/core/{p-475b7bd2.entry.js.map → p-335fc5e4.entry.js.map} +0 -0
  1096. /package/dist/core/{p-c9ef9f5c.entry.js.map → p-366bcb17.entry.js.map} +0 -0
  1097. /package/dist/core/{p-ed256f1d.entry.js.map → p-3a0ef91e.entry.js.map} +0 -0
  1098. /package/dist/core/{p-f019219c.entry.js.map → p-529d8955.entry.js.map} +0 -0
  1099. /package/dist/core/{p-2c30b583.entry.js.map → p-60c4604f.entry.js.map} +0 -0
  1100. /package/dist/core/{p-ccac1730.entry.js.map → p-6d3f9501.entry.js.map} +0 -0
  1101. /package/dist/core/{p-536b3c97.entry.js.map → p-6eb0421d.entry.js.map} +0 -0
  1102. /package/dist/core/{p-48525498.entry.js.map → p-765bdd98.entry.js.map} +0 -0
  1103. /package/dist/core/{p-3a814fc4.entry.js.map → p-7f887c1e.entry.js.map} +0 -0
  1104. /package/dist/core/{p-e3bffcae.entry.js.map → p-94e88827.entry.js.map} +0 -0
  1105. /package/dist/core/{p-8fb4f0c0.js.map → p-95a864bf.js.map} +0 -0
  1106. /package/dist/core/{p-0c82048e.entry.js.map → p-9c30720d.entry.js.map} +0 -0
  1107. /package/dist/core/{p-76563540.entry.js.map → p-ad36a704.entry.js.map} +0 -0
  1108. /package/dist/core/{p-2265e418.entry.js.map → p-b6a575c3.entry.js.map} +0 -0
  1109. /package/dist/core/{p-fbc8a739.entry.js.map → p-b9736cf4.entry.js.map} +0 -0
  1110. /package/dist/core/{p-025f9d2a.entry.js.map → p-b99f9e89.entry.js.map} +0 -0
  1111. /package/dist/core/{p-b0ce60a0.entry.js.map → p-c2452388.entry.js.map} +0 -0
  1112. /package/dist/core/{p-345fe84a.entry.js.map → p-c770e7a2.entry.js.map} +0 -0
  1113. /package/dist/core/{p-a4397df4.entry.js.map → p-cfc930f6.entry.js.map} +0 -0
  1114. /package/dist/core/{p-41c6eaa1.entry.js.map → p-e9738c74.entry.js.map} +0 -0
  1115. /package/dist/core/{p-e2fd542e.entry.js.map → p-edd29edc.entry.js.map} +0 -0
  1116. /package/dist/core/{p-5bb6c79b.entry.js.map → p-f2e6b9ef.entry.js.map} +0 -0
  1117. /package/dist/core/{p-cf4bacee.entry.js.map → p-fdb4b48f.entry.js.map} +0 -0
@@ -7,1481 +7,1500 @@ import Clear from "./assets/Clear.svg";
7
7
  let inputIds = 0;
8
8
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
9
  export class Select {
10
- constructor() {
11
- this.hasSetDefaultValue = false;
12
- this.inheritedAttributes = {};
13
- this.initialOptionsEmpty = false;
14
- this.inputId = `ic-select-input-${inputIds++}`;
15
- this.menuId = `${this.inputId}-menu`;
16
- this.searchableMenuItemSelected = false;
17
- this.ungroupedOptions = [];
18
- this.handleRetry = (ev) => {
19
- var _a;
20
- if (ev.detail.keyPressed)
21
- (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
22
- this.blurredBecauseButtonPressed = true;
23
- this.retryButtonClick = true;
24
- this.hasSetDefaultValue = true;
25
- this.icRetryLoad.emit({ value: this.hiddenInputValue });
26
- };
27
- this.emitIcChange = (value) => {
28
- if (!this.searchable) {
29
- this.value = value;
30
- }
31
- clearTimeout(this.debounceIcChange);
32
- this.debounceIcChange = window.setTimeout(() => {
33
- this.icChange.emit({ value: value });
34
- }, this.currDebounce);
35
- };
36
- this.emitImmediateIcChange = (value) => {
37
- this.value = value;
38
- clearTimeout(this.debounceIcChange);
39
- this.icChange.emit({ value: value });
40
- };
41
- /**
42
- * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn
43
- * @param options array of IcMenuOptions
44
- * @returns a new options object, with all entries possessing a duplicate 'value' field removed
45
- */
46
- this.deduplicateOptions = (options) => {
47
- const uniqueValues = [];
48
- const dedupedOptions = [];
49
- let dedupedChildren;
50
- options.forEach((option) => {
51
- if (option.children) {
52
- //If an option has children, we will loop through them
53
- dedupedChildren = [];
54
- option.children.forEach((child) => {
55
- if (uniqueValues.includes(child.value)) {
56
- console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);
10
+ constructor() {
11
+ this.hasSetDefaultValue = false;
12
+ this.inheritedAttributes = {};
13
+ this.initialOptionsEmpty = false;
14
+ this.inputId = `ic-select-input-${inputIds++}`;
15
+ this.menuId = `${this.inputId}-menu`;
16
+ this.searchableMenuItemSelected = false;
17
+ this.ungroupedOptions = [];
18
+ this.handleRetry = (ev) => {
19
+ var _a;
20
+ if (ev.detail.keyPressed)
21
+ (_a = this.searchableSelectElement) === null || _a === void 0 ? void 0 : _a.focus();
22
+ this.blurredBecauseButtonPressed = true;
23
+ this.retryButtonClick = true;
24
+ this.hasSetDefaultValue = true;
25
+ this.icRetryLoad.emit({ value: this.hiddenInputValue });
26
+ };
27
+ this.emitIcChange = (value) => {
28
+ if (!this.searchable) {
29
+ this.value = value;
30
+ }
31
+ clearTimeout(this.debounceIcChange);
32
+ this.debounceIcChange = window.setTimeout(() => {
33
+ this.icChange.emit({ value: value });
34
+ }, this.currDebounce);
35
+ };
36
+ this.emitImmediateIcChange = (value) => {
37
+ this.value = value;
38
+ clearTimeout(this.debounceIcChange);
39
+ this.icChange.emit({ value: value });
40
+ };
41
+ /**
42
+ * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn
43
+ * @param options array of IcMenuOptions
44
+ * @returns a new options object, with all entries possessing a duplicate 'value' field removed
45
+ */
46
+ this.deduplicateOptions = (options) => {
47
+ const uniqueValues = [];
48
+ const dedupedOptions = [];
49
+ let dedupedChildren;
50
+ options.forEach((option) => {
51
+ if (option.children) {
52
+ //If an option has children, we will loop through them
53
+ dedupedChildren = [];
54
+ option.children.forEach((child) => {
55
+ if (uniqueValues.includes(child.value)) {
56
+ console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`);
57
+ }
58
+ else {
59
+ uniqueValues.push(child.value);
60
+ dedupedChildren.push(child);
61
+ }
62
+ });
63
+ // construct a modified option, inserting the deduplicated children alongside the original information
64
+ const modifiedParent = Object.assign(Object.assign({}, option), { children: dedupedChildren });
65
+ dedupedOptions.push(modifiedParent);
66
+ }
67
+ else {
68
+ // If an option does not have children, assess to see if it's value has been included already
69
+ if (uniqueValues.includes(option.value)) {
70
+ console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`);
71
+ }
72
+ else {
73
+ uniqueValues.push(option.value);
74
+ dedupedOptions.push(option);
75
+ }
76
+ }
77
+ });
78
+ return dedupedOptions;
79
+ };
80
+ /**
81
+ * Loop through options array and for all options with no value, infer it from the label
82
+ */
83
+ this.setOptionsValuesFromLabels = () => {
84
+ if (this.options.length > 0 && this.options.map) {
85
+ this.options.map((option) => {
86
+ if (!option.value) {
87
+ option.value = option.label;
88
+ }
89
+ });
90
+ }
91
+ };
92
+ this.setUngroupedOptions = (event) => {
93
+ this.ungroupedOptions = event.detail.options;
94
+ };
95
+ this.setTextColor = () => {
96
+ if (this.nativeSelectElement.selectedIndex === 0) {
97
+ this.nativeSelectElement.className = "placeholder";
57
98
  }
58
99
  else {
59
- uniqueValues.push(child.value);
60
- dedupedChildren.push(child);
100
+ this.nativeSelectElement.className = "select-option-selected";
61
101
  }
62
- });
63
- // construct a modified option, inserting the deduplicated children alongside the original information
64
- const modifiedParent = Object.assign(Object.assign({}, option), { children: dedupedChildren });
65
- dedupedOptions.push(modifiedParent);
66
- }
67
- else {
68
- // If an option does not have children, assess to see if it's value has been included already
69
- if (uniqueValues.includes(option.value)) {
70
- console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`);
71
- }
72
- else {
73
- uniqueValues.push(option.value);
74
- dedupedOptions.push(option);
75
- }
76
- }
77
- });
78
- return dedupedOptions;
79
- };
80
- /**
81
- * Loop through options array and for all options with no value, infer it from the label
82
- */
83
- this.setOptionsValuesFromLabels = () => {
84
- if (this.options.length > 0 && this.options.map) {
85
- this.options.map((option) => {
86
- if (!option.value) {
87
- option.value = option.label;
88
- }
89
- });
90
- }
91
- };
92
- this.setUngroupedOptions = (event) => {
93
- this.ungroupedOptions = event.detail.options;
94
- };
95
- this.setTextColor = () => {
96
- if (this.nativeSelectElement.selectedIndex === 0) {
97
- this.nativeSelectElement.className = "placeholder";
98
- }
99
- else {
100
- this.nativeSelectElement.className = "select-option-selected";
101
- }
102
- };
103
- this.setMenuChange = (open) => {
104
- if (this.open !== open) {
105
- this.open = open;
106
- }
107
- };
108
- this.getLabelFromValue = (value) => {
109
- return getLabelFromValue(value, this.uniqueOptions);
110
- };
111
- this.getFilteredChildMenuOptions = (option) => {
112
- let children = option.children;
113
- if (this.searchable) {
114
- children = getFilteredMenuOptions(option.children, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
115
- }
116
- else {
117
- children = getFilteredMenuOptions(option.children, false, this.pressedCharacters, "start");
118
- }
119
- const newOption = Object.assign({}, option);
120
- newOption.children = children;
121
- return newOption;
122
- };
123
- this.handleNativeSelectChange = () => {
124
- this.icOptionSelect.emit({ value: this.nativeSelectElement.value });
125
- this.emitImmediateIcChange(this.nativeSelectElement.value);
126
- this.setTextColor();
127
- };
128
- this.handleCustomSelectChange = (event) => {
129
- if (this.searchable && event.detail.label === this.emptyOptionListText) {
130
- this.searchableSelectElement.focus();
131
- return;
132
- }
133
- if (this.searchable) {
134
- this.value = event.detail.value;
135
- this.searchableMenuItemSelected = true;
136
- // After editing the input, if selecting the same option as before, set the input value to label again
137
- if (this.value === this.currValue) {
138
- this.searchableSelectInputValue = this.getLabelFromValue(this.value);
139
- }
140
- this.inputValueToFilter = null;
141
- this.hiddenInputValue = this.getValueFromLabel(this.searchableSelectInputValue);
142
- }
143
- this.ariaActiveDescendant = event.detail.optionId;
144
- this.icOptionSelect.emit({ value: event.detail.value });
145
- this.emitIcChange(event.detail.value);
146
- };
147
- this.handleMenuChange = (event) => {
148
- this.open = event.detail.open;
149
- this.pressedCharacters = "";
150
- this.searchable && this.handleFocusIndicatorDisplay();
151
- };
152
- // clears the debounce delay when navigating the menu with arrow keys etc
153
- // to prevent delay in change event, which should only occur when typing in input
154
- this.handleMenuKeyPress = (ev) => {
155
- ev.cancelBubble = true;
156
- this.handleCharacterKeyDown(ev.detail.key);
157
- };
158
- this.handleMenuValueChange = (ev) => {
159
- this.value = ev.detail.value;
160
- };
161
- this.handleFocusIndicatorDisplay = () => {
162
- const focusIndicator = this.el.shadowRoot.querySelector(".focus-indicator");
163
- if (this.open) {
164
- focusIndicator.classList.add("focus-indicator-enabled");
165
- }
166
- else {
167
- focusIndicator.classList.remove("focus-indicator-enabled");
168
- }
169
- };
170
- this.handleMouseDown = (event) => {
171
- if (!this.open) {
172
- event.preventDefault();
173
- }
174
- };
175
- this.isExternalFiltering = () => this.searchable && this.disableFilter;
176
- this.handleClick = (event) => {
177
- var _a;
178
- if (!this.open) {
179
- if (this.isExternalFiltering()) {
180
- this.menu.options = this.filteredOptions;
181
- }
182
- else if (!this.hasTimedOut &&
183
- !this.loading &&
184
- !((_a = this.noOptions) === null || _a === void 0 ? void 0 : _a.length) &&
185
- (!this.searchable || this.searchableMenuItemSelected)) {
186
- this.noOptions = null;
187
- this.menu.options = this.uniqueOptions;
188
- }
189
- }
190
- if (event.detail !== 0) {
191
- this.menu.handleClickOpen();
192
- }
193
- };
194
- this.handleExpandIconMouseDown = (event) => {
195
- if (!this.disabled) {
196
- event.preventDefault();
197
- this.searchableSelectElement.focus();
198
- this.handleClick(event);
199
- }
200
- };
201
- this.handleClear = (event) => {
202
- event.stopPropagation();
203
- this.hasTimedOut = false;
204
- clearTimeout(this.timeoutTimer);
205
- this.noOptions = null;
206
- this.emitImmediateIcChange(null);
207
- this.icClear.emit();
208
- if (this.searchable) {
209
- this.searchableSelectElement.value = null;
210
- this.searchableSelectInputValue = null;
211
- this.filteredOptions = this.uniqueOptions;
212
- this.hiddenInputValue = null;
213
- this.searchableSelectElement.focus();
214
- }
215
- else {
216
- this.customSelectElement.focus();
217
- }
218
- };
219
- this.handleCharacterKeyDown = (key) => {
220
- // Only close menu when space is pressed if not being used alongside character keys to quickly select options
221
- if (this.open &&
222
- key === " " &&
223
- this.pressedCharacters.length === 0 &&
224
- !this.hasTimedOut &&
225
- !this.loading) {
226
- this.setMenuChange(false);
227
- }
228
- if (key.length === 1 && !this.searchable) {
229
- window.clearTimeout(this.characterKeyPressTimer);
230
- this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
231
- this.pressedCharacters += key;
232
- this.handleFilter();
233
- if (!this.noOptions) {
234
- this.emitImmediateIcChange(this.filteredOptions[0].value);
235
- }
236
- }
237
- else {
238
- this.pressedCharacters = "";
239
- }
240
- };
241
- this.handleNativeSelectKeyDown = (event) => {
242
- if ((event.key !== "Escape" && event.key !== "Tab") || this.open) {
243
- event.cancelBubble = true;
244
- }
245
- this.handleCharacterKeyDown(event.key);
246
- };
247
- this.handleKeyDown = (event) => {
248
- if ((event.key !== "Escape" && event.key !== "Tab") || this.open) {
249
- event.cancelBubble = true;
250
- }
251
- const isArrowKey = event.key === "ArrowDown" || event.key === "ArrowUp";
252
- if (!this.open) {
253
- if (this.isExternalFiltering() && (event.key === "Enter" || isArrowKey)) {
254
- this.menu.options = this.filteredOptions;
255
- }
256
- else {
257
- if (!this.hasTimedOut) {
102
+ };
103
+ this.setMenuChange = (open) => {
104
+ if (this.open !== open) {
105
+ this.open = open;
106
+ }
107
+ };
108
+ this.getLabelFromValue = (value) => {
109
+ return getLabelFromValue(value, this.uniqueOptions);
110
+ };
111
+ this.getFilteredChildMenuOptions = (option) => {
112
+ let children = option.children;
113
+ if (this.searchable) {
114
+ children = getFilteredMenuOptions(option.children, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
115
+ }
116
+ else {
117
+ children = getFilteredMenuOptions(option.children, false, this.pressedCharacters, "start");
118
+ }
119
+ const newOption = Object.assign({}, option);
120
+ newOption.children = children;
121
+ return newOption;
122
+ };
123
+ this.handleNativeSelectChange = () => {
124
+ this.icOptionSelect.emit({ value: this.nativeSelectElement.value });
125
+ this.emitImmediateIcChange(this.nativeSelectElement.value);
126
+ this.setTextColor();
127
+ };
128
+ this.handleCustomSelectChange = (event) => {
129
+ if (this.searchable && event.detail.label === this.emptyOptionListText) {
130
+ this.searchableSelectElement.focus();
131
+ return;
132
+ }
133
+ if (this.searchable) {
134
+ this.value = event.detail.value;
135
+ this.searchableMenuItemSelected = true;
136
+ // After editing the input, if selecting the same option as before, set the input value to label again
137
+ if (this.value === this.currValue) {
138
+ this.searchableSelectInputValue = this.getLabelFromValue(this.value);
139
+ }
140
+ this.inputValueToFilter = null;
141
+ this.hiddenInputValue = this.getValueFromLabel(this.searchableSelectInputValue);
142
+ }
143
+ this.ariaActiveDescendant = event.detail.optionId;
144
+ this.icOptionSelect.emit({ value: event.detail.value });
145
+ this.emitIcChange(event.detail.value);
146
+ };
147
+ this.handleMenuChange = (event) => {
148
+ this.open = event.detail.open;
149
+ this.pressedCharacters = "";
150
+ this.searchable && this.handleFocusIndicatorDisplay();
151
+ };
152
+ // clears the debounce delay when navigating the menu with arrow keys etc
153
+ // to prevent delay in change event, which should only occur when typing in input
154
+ this.handleMenuKeyPress = (ev) => {
155
+ ev.cancelBubble = true;
156
+ this.handleCharacterKeyDown(ev.detail.key);
157
+ };
158
+ this.handleMenuValueChange = (ev) => {
159
+ this.value = ev.detail.value;
160
+ };
161
+ this.handleFocusIndicatorDisplay = () => {
162
+ const focusIndicator = this.el.shadowRoot.querySelector(".focus-indicator");
163
+ if (this.open) {
164
+ focusIndicator.classList.add("focus-indicator-enabled");
165
+ }
166
+ else {
167
+ focusIndicator.classList.remove("focus-indicator-enabled");
168
+ }
169
+ };
170
+ this.handleMouseDown = (event) => {
171
+ if (!this.open) {
172
+ event.preventDefault();
173
+ }
174
+ };
175
+ this.isExternalFiltering = () => this.searchable && this.disableFilter;
176
+ this.handleClick = (event) => {
177
+ var _a;
178
+ if (!this.open) {
179
+ if (this.isExternalFiltering()) {
180
+ this.menu.options = this.filteredOptions;
181
+ }
182
+ else if (!this.hasTimedOut &&
183
+ !this.loading &&
184
+ !((_a = this.noOptions) === null || _a === void 0 ? void 0 : _a.length) &&
185
+ (!this.searchable || this.searchableMenuItemSelected)) {
186
+ this.noOptions = null;
187
+ this.menu.options = this.uniqueOptions;
188
+ }
189
+ }
190
+ if (event.detail !== 0) {
191
+ this.menu.handleClickOpen();
192
+ }
193
+ };
194
+ this.handleExpandIconMouseDown = (event) => {
195
+ if (!this.disabled) {
196
+ event.preventDefault();
197
+ this.searchableSelectElement.focus();
198
+ this.handleClick(event);
199
+ }
200
+ };
201
+ this.handleClear = (event) => {
202
+ event.stopPropagation();
203
+ this.hasTimedOut = false;
204
+ clearTimeout(this.timeoutTimer);
258
205
  this.noOptions = null;
259
- this.menu.options = this.uniqueOptions;
260
- }
261
- }
262
- }
263
- if (this.open && event.key === "Enter") {
264
- this.setMenuChange(false);
265
- }
266
- else {
267
- if (!(isArrowKey && this.noOptions !== null)) {
268
- if (!(event.key === " " && this.pressedCharacters.length > 0)) {
269
- // Keyboard events get passed onto ic-menu
270
- this.menu.handleKeyboardOpen(event);
271
- }
272
- this.handleCharacterKeyDown(event.key);
273
- }
274
- }
275
- };
276
- this.handleClearButtonFocus = () => {
277
- this.clearButtonFocused = true;
278
- };
279
- this.handleClearButtonBlur = (ev) => {
280
- var _a;
281
- const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
282
- if (!(this.searchableSelectElement &&
283
- ev.relatedTarget === this.searchableSelectElement) &&
284
- !(retryButton && ev.relatedTarget === retryButton)) {
285
- this.setMenuChange(false);
286
- this.handleFocusIndicatorDisplay();
287
- }
288
- this.clearButtonFocused = false;
289
- };
290
- this.handleFilter = () => {
291
- var _a;
292
- const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);
293
- let isGrouped = false;
294
- let newFilteredOptions = [];
295
- options.map((option) => {
296
- if (option.children)
297
- isGrouped = true;
298
- });
299
- let menuOptionsFiltered;
300
- if (this.searchable) {
301
- menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.inputValueToFilter, this.searchMatchPosition);
302
- this.searchableMenuItemSelected = false;
303
- }
304
- else {
305
- menuOptionsFiltered = getFilteredMenuOptions(options, false, this.pressedCharacters, "start");
306
- }
307
- if (!isGrouped &&
308
- ((_a = menuOptionsFiltered[0]) === null || _a === void 0 ? void 0 : _a.label) !== this.emptyOptionListText) {
309
- newFilteredOptions = menuOptionsFiltered;
310
- }
311
- else if (isGrouped) {
312
- options.map((option) => {
313
- if (this.includeGroupTitlesInSearch) {
314
- if (menuOptionsFiltered.indexOf(option) !== -1) {
315
- newFilteredOptions.push(option);
206
+ this.emitImmediateIcChange(null);
207
+ this.icClear.emit();
208
+ if (this.searchable) {
209
+ this.searchableSelectElement.value = null;
210
+ this.searchableSelectInputValue = null;
211
+ this.filteredOptions = this.uniqueOptions;
212
+ this.hiddenInputValue = null;
213
+ this.searchableSelectElement.focus();
214
+ }
215
+ else {
216
+ this.customSelectElement.focus();
217
+ }
218
+ };
219
+ this.handleCharacterKeyDown = (key) => {
220
+ // Only close menu when space is pressed if not being used alongside character keys to quickly select options
221
+ if (this.open &&
222
+ key === " " &&
223
+ this.pressedCharacters.length === 0 &&
224
+ !this.hasTimedOut &&
225
+ !this.loading) {
226
+ this.setMenuChange(false);
227
+ }
228
+ if (key.length === 1 && !this.searchable) {
229
+ window.clearTimeout(this.characterKeyPressTimer);
230
+ this.characterKeyPressTimer = window.setTimeout(() => (this.pressedCharacters = ""), 1000);
231
+ this.pressedCharacters += key;
232
+ this.handleFilter();
233
+ if (!this.noOptions) {
234
+ this.emitImmediateIcChange(this.filteredOptions[0].value);
235
+ }
236
+ }
237
+ else {
238
+ this.pressedCharacters = "";
239
+ }
240
+ };
241
+ this.handleNativeSelectKeyDown = (event) => {
242
+ if ((event.key !== "Escape" && event.key !== "Tab") || this.open) {
243
+ event.cancelBubble = true;
244
+ }
245
+ this.handleCharacterKeyDown(event.key);
246
+ };
247
+ this.handleKeyDown = (event) => {
248
+ if ((event.key !== "Escape" && event.key !== "Tab") || this.open) {
249
+ event.cancelBubble = true;
250
+ }
251
+ const isArrowKey = event.key === "ArrowDown" || event.key === "ArrowUp";
252
+ if (!this.open) {
253
+ if (this.isExternalFiltering() && (event.key === "Enter" || isArrowKey)) {
254
+ this.menu.options = this.filteredOptions;
255
+ }
256
+ else {
257
+ if (!this.hasTimedOut) {
258
+ this.noOptions = null;
259
+ this.menu.options = this.uniqueOptions;
260
+ }
261
+ }
262
+ }
263
+ if (this.open && event.key === "Enter") {
264
+ this.setMenuChange(false);
265
+ }
266
+ else {
267
+ if (!(isArrowKey && this.noOptions !== null)) {
268
+ if (!(event.key === " " && this.pressedCharacters.length > 0)) {
269
+ // Keyboard events get passed onto ic-menu
270
+ this.menu.handleKeyboardOpen(event);
271
+ }
272
+ this.handleCharacterKeyDown(event.key);
273
+ }
274
+ }
275
+ };
276
+ this.handleClearButtonFocus = () => {
277
+ this.clearButtonFocused = true;
278
+ };
279
+ this.handleClearButtonBlur = (ev) => {
280
+ var _a;
281
+ const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
282
+ if (!(this.searchableSelectElement &&
283
+ ev.relatedTarget === this.searchableSelectElement) &&
284
+ !(retryButton && ev.relatedTarget === retryButton)) {
285
+ this.setMenuChange(false);
286
+ this.handleFocusIndicatorDisplay();
287
+ }
288
+ this.clearButtonFocused = false;
289
+ };
290
+ this.handleFilter = () => {
291
+ var _a;
292
+ const options = this.deduplicateOptions(this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions);
293
+ let isGrouped = false;
294
+ let newFilteredOptions = [];
295
+ options.map((option) => {
296
+ if (option.children)
297
+ isGrouped = true;
298
+ });
299
+ let menuOptionsFiltered;
300
+ if (this.searchable) {
301
+ menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.inputValueToFilter, this.searchMatchPosition);
302
+ this.searchableMenuItemSelected = false;
303
+ }
304
+ else {
305
+ menuOptionsFiltered = getFilteredMenuOptions(options, false, this.pressedCharacters, "start");
306
+ }
307
+ if (!isGrouped &&
308
+ ((_a = menuOptionsFiltered[0]) === null || _a === void 0 ? void 0 : _a.label) !== this.emptyOptionListText) {
309
+ newFilteredOptions = menuOptionsFiltered;
310
+ }
311
+ else if (isGrouped) {
312
+ options.map((option) => {
313
+ if (this.includeGroupTitlesInSearch) {
314
+ if (menuOptionsFiltered.indexOf(option) !== -1) {
315
+ newFilteredOptions.push(option);
316
+ }
317
+ else {
318
+ newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
319
+ }
320
+ }
321
+ else {
322
+ newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
323
+ }
324
+ });
325
+ }
326
+ let noChildOptionsWhenFiltered = false;
327
+ if (isGrouped) {
328
+ noChildOptionsWhenFiltered = true;
329
+ newFilteredOptions.map((option) => {
330
+ if (option.children.length > 0) {
331
+ noChildOptionsWhenFiltered = false;
332
+ }
333
+ });
334
+ }
335
+ if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
336
+ this.noOptions = null;
337
+ this.filteredOptions = newFilteredOptions;
316
338
  }
317
339
  else {
318
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
340
+ this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
341
+ this.filteredOptions = this.noOptions;
342
+ }
343
+ };
344
+ /**
345
+ * Put the select component into loading state.
346
+ * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message
347
+ */
348
+ this.triggerLoading = () => {
349
+ this.hasTimedOut = false;
350
+ this.noOptions = [{ label: this.loadingLabel, value: "", loading: true }];
351
+ if (this.filteredOptions !== this.noOptions && this.searchable) {
352
+ this.filteredOptions = this.noOptions;
353
+ }
354
+ else if (this.uniqueOptions !== this.noOptions && !this.searchable) {
355
+ this.uniqueOptions = this.noOptions;
356
+ }
357
+ if (this.timeout) {
358
+ this.timeoutTimer = window.setTimeout(() => {
359
+ this.loading = false;
360
+ this.hasTimedOut = true;
361
+ this.noOptions = [
362
+ { label: this.loadingErrorLabel, value: "", timedOut: true },
363
+ ];
364
+ this.filteredOptions = this.noOptions;
365
+ if (!this.searchable)
366
+ this.uniqueOptions = this.noOptions;
367
+ }, this.timeout);
319
368
  }
320
- }
321
- else {
322
- newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
323
- }
324
- });
325
- }
326
- let noChildOptionsWhenFiltered = false;
327
- if (isGrouped) {
328
- noChildOptionsWhenFiltered = true;
329
- newFilteredOptions.map((option) => {
330
- if (option.children.length > 0) {
331
- noChildOptionsWhenFiltered = false;
332
- }
333
- });
334
- }
335
- if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
369
+ };
370
+ this.getValueFromLabel = (label) => {
371
+ var _a;
372
+ return (_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
373
+ };
374
+ this.handleSearchableSelectInput = (event) => {
375
+ this.searchableSelectInputValue = event.target.value;
376
+ this.icInput.emit({ value: this.searchableSelectInputValue });
377
+ this.emitIcChange(this.searchableSelectInputValue);
378
+ this.hiddenInputValue = this.searchableSelectInputValue;
379
+ this.inputValueToFilter = this.searchableSelectInputValue;
380
+ this.setMenuChange(true);
381
+ if (!this.disableFilter) {
382
+ this.handleFilter();
383
+ this.debounceAriaLiveUpdate();
384
+ }
385
+ };
386
+ this.updateSearchableSelectResultAriaLive = () => {
387
+ const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(".searchable-select-results-status");
388
+ if (searchableSelectResultsStatusEl) {
389
+ if (this.noOptions !== null) {
390
+ searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
391
+ }
392
+ else {
393
+ searchableSelectResultsStatusEl.innerText = "";
394
+ }
395
+ }
396
+ };
397
+ this.getDefaultValue = (value) => this.getLabelFromValue(value) || value || null;
398
+ this.onFocus = () => {
399
+ this.icFocus.emit();
400
+ };
401
+ this.onBlur = (event) => {
402
+ var _a;
403
+ const target = event.relatedTarget;
404
+ if (target !== null &&
405
+ target.tagName === "UL" &&
406
+ target.className.includes("menu")) {
407
+ return;
408
+ }
409
+ const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
410
+ const isSearchableAndNoFocusedInternalElements = this.searchable &&
411
+ event.relatedTarget !== this.menu &&
412
+ !Array.from(this.menu.querySelectorAll("[role='option']")).includes(event.relatedTarget) &&
413
+ !(this.clearButton && event.relatedTarget === this.clearButton) &&
414
+ !(retryButton && event.relatedTarget === retryButton);
415
+ if (isSearchableAndNoFocusedInternalElements) {
416
+ if (!this.retryButtonClick) {
417
+ this.setMenuChange(false);
418
+ }
419
+ this.handleFocusIndicatorDisplay();
420
+ }
421
+ this.retryButtonClick = false;
422
+ this.icBlur.emit();
423
+ };
424
+ this.onTimeoutBlur = (ev) => {
425
+ if (ev.detail.ev.relatedTarget !==
426
+ this.searchableSelectElement &&
427
+ !this.blurredBecauseButtonPressed) {
428
+ this.setMenuChange(false);
429
+ this.handleFocusIndicatorDisplay();
430
+ this.icBlur.emit();
431
+ }
432
+ this.blurredBecauseButtonPressed = false;
433
+ };
434
+ this.handleFormReset = () => {
435
+ this.value = this.initialValue;
436
+ if (this.searchable) {
437
+ this.searchableSelectInputValue = this.getDefaultValue(this.value);
438
+ this.hiddenInputValue = this.value;
439
+ }
440
+ };
441
+ this.ariaActiveDescendant = undefined;
442
+ this.clearButtonFocused = false;
443
+ this.debounceIcChange = undefined;
444
+ this.hiddenInputValue = undefined;
336
445
  this.noOptions = null;
337
- this.filteredOptions = newFilteredOptions;
338
- }
339
- else {
340
- this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
341
- this.filteredOptions = this.noOptions;
342
- }
343
- };
344
- /**
345
- * Put the select component into loading state.
346
- * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message
347
- */
348
- this.triggerLoading = () => {
349
- this.hasTimedOut = false;
350
- this.noOptions = [{ label: this.loadingLabel, value: "", loading: true }];
351
- if (this.filteredOptions !== this.noOptions && this.searchable) {
352
- this.filteredOptions = this.noOptions;
353
- }
354
- else if (this.uniqueOptions !== this.noOptions && !this.searchable) {
355
- this.uniqueOptions = this.noOptions;
356
- }
357
- if (this.timeout) {
358
- this.timeoutTimer = window.setTimeout(() => {
359
- this.loading = false;
360
- this.hasTimedOut = true;
361
- this.noOptions = [
362
- { label: this.loadingErrorLabel, value: "", timedOut: true },
363
- ];
364
- this.filteredOptions = this.noOptions;
365
- if (!this.searchable)
366
- this.uniqueOptions = this.noOptions;
367
- }, this.timeout);
368
- }
369
- };
370
- this.getValueFromLabel = (label) => {
371
- var _a;
372
- return (_a = this.uniqueOptions.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
373
- };
374
- this.handleSearchableSelectInput = (event) => {
375
- this.searchableSelectInputValue = event.target.value;
376
- this.icInput.emit({ value: this.searchableSelectInputValue });
377
- this.emitIcChange(this.searchableSelectInputValue);
378
- this.hiddenInputValue = this.searchableSelectInputValue;
379
- this.inputValueToFilter = this.searchableSelectInputValue;
380
- this.setMenuChange(true);
381
- if (!this.disableFilter) {
382
- this.handleFilter();
383
- this.debounceAriaLiveUpdate();
384
- }
385
- };
386
- this.updateSearchableSelectResultAriaLive = () => {
387
- const searchableSelectResultsStatusEl = this.el.shadowRoot.querySelector(".searchable-select-results-status");
388
- if (searchableSelectResultsStatusEl) {
389
- if (this.noOptions !== null) {
390
- searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
446
+ this.open = false;
447
+ this.pressedCharacters = "";
448
+ this.searchableSelectInputValue = null;
449
+ this.charactersUntilSuggestions = 0;
450
+ this.disabled = false;
451
+ this.disableFilter = false;
452
+ this.emptyOptionListText = "No results found";
453
+ this.form = undefined;
454
+ this.formaction = undefined;
455
+ this.formenctype = undefined;
456
+ this.formmethod = undefined;
457
+ this.formnovalidate = undefined;
458
+ this.formtarget = undefined;
459
+ this.fullWidth = false;
460
+ this.helperText = "";
461
+ this.hideLabel = false;
462
+ this.includeDescriptionsInSearch = false;
463
+ this.includeGroupTitlesInSearch = false;
464
+ this.label = undefined;
465
+ this.loadingErrorLabel = "Loading Error";
466
+ this.loadingLabel = "Loading...";
467
+ this.name = this.inputId;
468
+ this.placeholder = "Select an option";
469
+ this.readonly = false;
470
+ this.required = false;
471
+ this.searchable = false;
472
+ this.searchMatchPosition = "anywhere";
473
+ this.selectOnEnter = false;
474
+ this.showClearButton = false;
475
+ this.size = "default";
476
+ this.small = false;
477
+ this.timeout = undefined;
478
+ this.validationStatus = "";
479
+ this.validationText = "";
480
+ this.loading = false;
481
+ this.options = [];
482
+ this.filteredOptions = this.options;
483
+ this.uniqueOptions = this.options;
484
+ this.debounce = 0;
485
+ this.currDebounce = this.debounce;
486
+ this.value = undefined;
487
+ this.initialValue = this.value;
488
+ this.inputValueToFilter = this.value;
489
+ this.currValue = this.value;
490
+ }
491
+ loadingHandler(newValue) {
492
+ newValue && this.triggerLoading();
493
+ }
494
+ watchOptionsHandler() {
495
+ if (!this.hasTimedOut) {
496
+ this.loading = false;
497
+ clearTimeout(this.timeoutTimer);
498
+ if (this.isExternalFiltering()) {
499
+ if (this.options.length > 0) {
500
+ this.setOptionsValuesFromLabels();
501
+ this.noOptions = null;
502
+ this.uniqueOptions = this.deduplicateOptions(this.options);
503
+ this.filteredOptions = this.uniqueOptions;
504
+ }
505
+ else {
506
+ this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
507
+ this.uniqueOptions = this.noOptions;
508
+ this.filteredOptions = this.noOptions;
509
+ }
510
+ this.updateSearchableSelectResultAriaLive();
511
+ this.setDefaultValue();
512
+ }
513
+ else {
514
+ this.setOptionsValuesFromLabels();
515
+ this.uniqueOptions = this.deduplicateOptions(this.options);
516
+ this.filteredOptions = this.uniqueOptions;
517
+ if (this.initialOptionsEmpty) {
518
+ this.setDefaultValue();
519
+ this.initialOptionsEmpty = false;
520
+ }
521
+ }
391
522
  }
392
523
  else {
393
- searchableSelectResultsStatusEl.innerText = "";
524
+ if (!this.searchable)
525
+ this.options = this.noOptions;
394
526
  }
395
- }
396
- };
397
- this.getDefaultValue = (value) => this.getLabelFromValue(value) || value || null;
398
- this.onFocus = () => {
399
- this.icFocus.emit();
400
- };
401
- this.onBlur = (event) => {
402
- var _a;
403
- const target = event.relatedTarget;
404
- if (target !== null &&
405
- target.tagName === "UL" &&
406
- target.className.includes("menu")) {
407
- return;
408
- }
409
- const retryButton = (_a = this.menu) === null || _a === void 0 ? void 0 : _a.querySelector("#retry-button");
410
- const isSearchableAndNoFocusedInternalElements = this.searchable &&
411
- event.relatedTarget !== this.menu &&
412
- !Array.from(this.menu.querySelectorAll("[role='option']")).includes(event.relatedTarget) &&
413
- !(this.clearButton && event.relatedTarget === this.clearButton) &&
414
- !(retryButton && event.relatedTarget === retryButton);
415
- if (isSearchableAndNoFocusedInternalElements) {
416
- if (!this.retryButtonClick) {
417
- this.setMenuChange(false);
418
- }
419
- this.handleFocusIndicatorDisplay();
420
- }
421
- this.retryButtonClick = false;
422
- this.icBlur.emit();
423
- };
424
- this.onTimeoutBlur = (ev) => {
425
- if (ev.detail.ev.relatedTarget !==
426
- this.searchableSelectElement &&
427
- !this.blurredBecauseButtonPressed) {
428
- this.setMenuChange(false);
429
- this.handleFocusIndicatorDisplay();
430
- this.icBlur.emit();
431
- }
432
- this.blurredBecauseButtonPressed = false;
433
- };
434
- this.handleFormReset = () => {
435
- this.value = this.initialValue;
436
- if (this.searchable) {
437
- this.searchableSelectInputValue = this.getDefaultValue(this.value);
438
- this.hiddenInputValue = this.value;
439
- }
440
- };
441
- this.ariaActiveDescendant = undefined;
442
- this.clearButtonFocused = false;
443
- this.debounceIcChange = undefined;
444
- this.hiddenInputValue = undefined;
445
- this.noOptions = null;
446
- this.open = false;
447
- this.pressedCharacters = "";
448
- this.searchableSelectInputValue = null;
449
- this.charactersUntilSuggestions = 0;
450
- this.disabled = false;
451
- this.disableFilter = false;
452
- this.emptyOptionListText = "No results found";
453
- this.form = undefined;
454
- this.formaction = undefined;
455
- this.formenctype = undefined;
456
- this.formmethod = undefined;
457
- this.formnovalidate = undefined;
458
- this.formtarget = undefined;
459
- this.fullWidth = false;
460
- this.helperText = "";
461
- this.hideLabel = false;
462
- this.includeDescriptionsInSearch = false;
463
- this.includeGroupTitlesInSearch = false;
464
- this.label = undefined;
465
- this.loadingErrorLabel = "Loading Error";
466
- this.loadingLabel = "Loading...";
467
- this.name = this.inputId;
468
- this.placeholder = "Select an option";
469
- this.readonly = false;
470
- this.required = false;
471
- this.searchable = false;
472
- this.searchMatchPosition = "anywhere";
473
- this.showClearButton = false;
474
- this.size = "default";
475
- this.small = false;
476
- this.timeout = undefined;
477
- this.validationStatus = "";
478
- this.validationText = "";
479
- this.loading = false;
480
- this.options = [];
481
- this.filteredOptions = this.options;
482
- this.uniqueOptions = this.options;
483
- this.debounce = 0;
484
- this.currDebounce = this.debounce;
485
- this.value = undefined;
486
- this.initialValue = this.value;
487
- this.inputValueToFilter = this.value;
488
- this.currValue = this.value;
489
- }
490
- loadingHandler(newValue) {
491
- newValue && this.triggerLoading();
492
- }
493
- watchOptionsHandler() {
494
- if (!this.hasTimedOut) {
495
- this.loading = false;
496
- clearTimeout(this.timeoutTimer);
497
- if (this.isExternalFiltering()) {
498
- if (this.options.length > 0) {
499
- this.setOptionsValuesFromLabels();
500
- this.noOptions = null;
501
- this.uniqueOptions = this.deduplicateOptions(this.options);
502
- this.filteredOptions = this.uniqueOptions;
527
+ }
528
+ debounceChangedHandler(newValue) {
529
+ this.updateOnChangeDebounce(newValue);
530
+ }
531
+ valueChangedHandler() {
532
+ if (this.value !== this.currValue) {
533
+ this.currValue = this.value;
503
534
  }
504
- else {
505
- this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
506
- this.uniqueOptions = this.noOptions;
507
- this.filteredOptions = this.noOptions;
535
+ if (this.searchable) {
536
+ this.searchableSelectInputValue =
537
+ this.getLabelFromValue(this.currValue) || this.currValue;
508
538
  }
509
- this.updateSearchableSelectResultAriaLive();
510
- this.setDefaultValue();
511
- }
512
- else {
539
+ }
540
+ disconnectedCallback() {
541
+ removeFormResetListener(this.el, this.handleFormReset);
542
+ }
543
+ componentWillLoad() {
544
+ this.inheritedAttributes = inheritAttributes(this.el, [
545
+ ...IC_INHERITED_ARIA,
546
+ "tabindex",
547
+ "title",
548
+ ]);
549
+ removeDisabledFalse(this.disabled, this.el);
513
550
  this.setOptionsValuesFromLabels();
514
- this.uniqueOptions = this.deduplicateOptions(this.options);
515
- this.filteredOptions = this.uniqueOptions;
516
- if (this.initialOptionsEmpty) {
517
- this.setDefaultValue();
518
- this.initialOptionsEmpty = false;
551
+ addFormResetListener(this.el, this.handleFormReset);
552
+ if (!this.options.length) {
553
+ this.initialOptionsEmpty = true;
554
+ this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
555
+ this.uniqueOptions = this.noOptions;
556
+ this.filteredOptions = this.noOptions;
557
+ }
558
+ else {
559
+ this.setDefaultValue();
560
+ this.uniqueOptions = this.deduplicateOptions(this.options);
519
561
  }
520
- }
521
562
  }
522
- else {
523
- if (!this.searchable)
524
- this.options = this.noOptions;
563
+ componentDidLoad() {
564
+ onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Select");
565
+ if (this.loading) {
566
+ this.triggerLoading();
567
+ }
568
+ this.hiddenInputValue = this.searchable && this.currValue;
525
569
  }
526
- }
527
- debounceChangedHandler(newValue) {
528
- this.updateOnChangeDebounce(newValue);
529
- }
530
- valueChangedHandler() {
531
- if (this.value !== this.currValue) {
532
- this.currValue = this.value;
570
+ componentDidRender() {
571
+ if (this.nativeSelectElement && !this.disabled) {
572
+ this.setTextColor();
573
+ }
533
574
  }
534
- if (this.searchable) {
535
- this.searchableSelectInputValue =
536
- this.getLabelFromValue(this.currValue) || this.currValue;
575
+ /**
576
+ * Sets focus on the input box.
577
+ */
578
+ async setFocus() {
579
+ if (this.nativeSelectElement) {
580
+ this.nativeSelectElement.focus();
581
+ }
582
+ else if (this.customSelectElement) {
583
+ this.customSelectElement.focus();
584
+ }
585
+ else if (this.searchableSelectElement) {
586
+ this.searchableSelectElement.focus();
587
+ }
537
588
  }
538
- }
539
- disconnectedCallback() {
540
- removeFormResetListener(this.el, this.handleFormReset);
541
- }
542
- componentWillLoad() {
543
- this.inheritedAttributes = inheritAttributes(this.el, [
544
- ...IC_INHERITED_ARIA,
545
- "tabindex",
546
- "title",
547
- ]);
548
- removeDisabledFalse(this.disabled, this.el);
549
- this.setOptionsValuesFromLabels();
550
- addFormResetListener(this.el, this.handleFormReset);
551
- if (!this.options.length) {
552
- this.initialOptionsEmpty = true;
553
- this.noOptions = [{ label: this.emptyOptionListText, value: "" }];
554
- this.uniqueOptions = this.noOptions;
555
- this.filteredOptions = this.noOptions;
589
+ updateOnChangeDebounce(newValue) {
590
+ if (this.currDebounce !== newValue) {
591
+ this.currDebounce = newValue;
592
+ }
556
593
  }
557
- else {
558
- this.setDefaultValue();
559
- this.uniqueOptions = this.deduplicateOptions(this.options);
594
+ debounceAriaLiveUpdate() {
595
+ clearTimeout(this.debounceAria);
596
+ window.setTimeout(() => {
597
+ this.updateSearchableSelectResultAriaLive();
598
+ }, 800);
560
599
  }
561
- }
562
- componentDidLoad() {
563
- onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Select");
564
- if (this.loading) {
565
- this.triggerLoading();
600
+ setDefaultValue() {
601
+ if (!this.hasSetDefaultValue && this.currValue) {
602
+ this.searchableSelectInputValue = this.getDefaultValue(this.currValue);
603
+ this.initialValue = this.currValue;
604
+ this.hasSetDefaultValue = true;
605
+ }
566
606
  }
567
- this.hiddenInputValue = this.searchable && this.currValue;
568
- }
569
- componentDidRender() {
570
- if (this.nativeSelectElement && !this.disabled) {
571
- this.setTextColor();
607
+ render() {
608
+ const { small, size, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, } = this;
609
+ renderHiddenInput(true, this.el, name, this.searchable ? this.hiddenInputValue : currValue, disabled);
610
+ const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
611
+ const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
612
+ return (h(Host, { class: {
613
+ disabled: disabled,
614
+ searchable: searchable,
615
+ small: small || size === "small",
616
+ "full-width": fullWidth,
617
+ }, onBlur: this.onBlur }, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, small: small || size === "small", fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(currValue)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: this.form }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
618
+ if (option.children) {
619
+ return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label)))));
620
+ }
621
+ else {
622
+ return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label));
623
+ }
624
+ }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: "select-input", role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": this.ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": this.open ? "true" : "false", "aria-invalid": invalid, "aria-required": required ? "true" : "false", "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: this.inputId, value: this.searchableSelectInputValue, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: this.form, formaction: this.formaction, formenctype: this.formenctype, formmethod: this.formmethod, formnovalidate: this.formnovalidate, formtarget: this.formtarget }), this.searchableSelectInputValue &&
625
+ (showClearButton || searchable) && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue && currValue === null
626
+ ? "Clear input"
627
+ : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
628
+ ? IcThemeForegroundEnum.Light
629
+ : IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
630
+ "expand-icon": true,
631
+ "expand-icon-open": this.open,
632
+ "expand-icon-filled": !(currValue == null || currValue === ""),
633
+ }, innerHTML: Expand, "aria-hidden": "true" }), h("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (h("div", { class: "select-container" }, h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: this.inputId, "aria-label": `${label}, ${this.getLabelFromValue(currValue) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": this.open ? "true" : "false", "aria-owns": menuId, "aria-controls": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("ic-typography", { variant: "body", class: {
634
+ "value-text": true,
635
+ placeholder: this.getLabelFromValue(currValue) === undefined,
636
+ } }, h("p", null, this.getLabelFromValue(currValue) || placeholder)), h("div", { class: "select-input-end" }, currValue && showClearButton && (h("div", { class: "divider" })), h("span", { class: {
637
+ "expand-icon": true,
638
+ "expand-icon-open": this.open,
639
+ "expand-icon-filled": !(currValue == null || currValue === ""),
640
+ }, innerHTML: Expand, "aria-hidden": "true" }))), currValue && showClearButton && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
641
+ ? IcThemeForegroundEnum.Light
642
+ : IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
643
+ "no-results": this.loading ||
644
+ this.hasTimedOut ||
645
+ (this.noOptions !== null &&
646
+ this.noOptions[0] &&
647
+ this.noOptions[0].label === this.emptyOptionListText),
648
+ }, ref: (el) => (this.menu = el), inputEl: searchable
649
+ ? this.searchableSelectElement
650
+ : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small || size === "small", menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : this.uniqueOptions, value: currValue, fullWidth: fullWidth, selectOnEnter: this.selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuKeyPress: this.handleMenuKeyPress, onMenuValueChange: this.handleMenuValueChange, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: this.searchable || this.selectOnEnter ? "manual" : "automatic" })), hasValidationStatus(this.validationStatus, this.disabled) && (h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: this.inputId })))));
572
651
  }
573
- }
574
- /**
575
- * Sets focus on the input box.
576
- */
577
- async setFocus() {
578
- if (this.nativeSelectElement) {
579
- this.nativeSelectElement.focus();
652
+ static get is() { return "ic-select"; }
653
+ static get encapsulation() { return "shadow"; }
654
+ static get delegatesFocus() { return true; }
655
+ static get originalStyleUrls() {
656
+ return {
657
+ "$": ["ic-select.css"]
658
+ };
580
659
  }
581
- else if (this.customSelectElement) {
582
- this.customSelectElement.focus();
660
+ static get styleUrls() {
661
+ return {
662
+ "$": ["ic-select.css"]
663
+ };
583
664
  }
584
- else if (this.searchableSelectElement) {
585
- this.searchableSelectElement.focus();
665
+ static get properties() {
666
+ return {
667
+ "charactersUntilSuggestions": {
668
+ "type": "number",
669
+ "mutable": false,
670
+ "complexType": {
671
+ "original": "number",
672
+ "resolved": "number",
673
+ "references": {}
674
+ },
675
+ "required": false,
676
+ "optional": true,
677
+ "docs": {
678
+ "tags": [{
679
+ "name": "deprecated",
680
+ "text": "This prop should not be used anymore."
681
+ }],
682
+ "text": ""
683
+ },
684
+ "attribute": "characters-until-suggestions",
685
+ "reflect": false,
686
+ "defaultValue": "0"
687
+ },
688
+ "disabled": {
689
+ "type": "boolean",
690
+ "mutable": false,
691
+ "complexType": {
692
+ "original": "boolean",
693
+ "resolved": "boolean",
694
+ "references": {}
695
+ },
696
+ "required": false,
697
+ "optional": true,
698
+ "docs": {
699
+ "tags": [],
700
+ "text": "If `true`, the disabled state will be set."
701
+ },
702
+ "attribute": "disabled",
703
+ "reflect": true,
704
+ "defaultValue": "false"
705
+ },
706
+ "disableFilter": {
707
+ "type": "boolean",
708
+ "mutable": false,
709
+ "complexType": {
710
+ "original": "boolean",
711
+ "resolved": "boolean",
712
+ "references": {}
713
+ },
714
+ "required": false,
715
+ "optional": true,
716
+ "docs": {
717
+ "tags": [],
718
+ "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."
719
+ },
720
+ "attribute": "disable-filter",
721
+ "reflect": false,
722
+ "defaultValue": "false"
723
+ },
724
+ "emptyOptionListText": {
725
+ "type": "string",
726
+ "mutable": false,
727
+ "complexType": {
728
+ "original": "string",
729
+ "resolved": "string",
730
+ "references": {}
731
+ },
732
+ "required": false,
733
+ "optional": false,
734
+ "docs": {
735
+ "tags": [],
736
+ "text": "The text displayed when there are no options in the option list."
737
+ },
738
+ "attribute": "empty-option-list-text",
739
+ "reflect": false,
740
+ "defaultValue": "\"No results found\""
741
+ },
742
+ "form": {
743
+ "type": "string",
744
+ "mutable": false,
745
+ "complexType": {
746
+ "original": "string",
747
+ "resolved": "string",
748
+ "references": {}
749
+ },
750
+ "required": false,
751
+ "optional": true,
752
+ "docs": {
753
+ "tags": [],
754
+ "text": "The <form> element to associate the select with."
755
+ },
756
+ "attribute": "form",
757
+ "reflect": false
758
+ },
759
+ "formaction": {
760
+ "type": "string",
761
+ "mutable": false,
762
+ "complexType": {
763
+ "original": "string",
764
+ "resolved": "string",
765
+ "references": {}
766
+ },
767
+ "required": false,
768
+ "optional": true,
769
+ "docs": {
770
+ "tags": [],
771
+ "text": "The URL that processes the information submitted by the select. It overrides the action attribute of the select's form owner. Does nothing if there is no form owner.\nThis prop should only be used with searchable select and will only be applied if searchable is true."
772
+ },
773
+ "attribute": "formaction",
774
+ "reflect": false
775
+ },
776
+ "formenctype": {
777
+ "type": "string",
778
+ "mutable": false,
779
+ "complexType": {
780
+ "original": "string",
781
+ "resolved": "string",
782
+ "references": {}
783
+ },
784
+ "required": false,
785
+ "optional": true,
786
+ "docs": {
787
+ "tags": [],
788
+ "text": "The way the submitted form data is encoded. This prop should only be used with searchable select and will only be applied if searchable is true."
789
+ },
790
+ "attribute": "formenctype",
791
+ "reflect": false
792
+ },
793
+ "formmethod": {
794
+ "type": "string",
795
+ "mutable": false,
796
+ "complexType": {
797
+ "original": "string",
798
+ "resolved": "string",
799
+ "references": {}
800
+ },
801
+ "required": false,
802
+ "optional": true,
803
+ "docs": {
804
+ "tags": [],
805
+ "text": "The HTTP method used to submit the form. This prop should only be used with searchable select and will only be applied if searchable is true."
806
+ },
807
+ "attribute": "formmethod",
808
+ "reflect": false
809
+ },
810
+ "formnovalidate": {
811
+ "type": "boolean",
812
+ "mutable": false,
813
+ "complexType": {
814
+ "original": "boolean",
815
+ "resolved": "boolean",
816
+ "references": {}
817
+ },
818
+ "required": false,
819
+ "optional": true,
820
+ "docs": {
821
+ "tags": [],
822
+ "text": "If `true`, the form will not be validated when submitted. This prop should only be used with searchable select and will only be applied if searchable is true."
823
+ },
824
+ "attribute": "formnovalidate",
825
+ "reflect": false
826
+ },
827
+ "formtarget": {
828
+ "type": "string",
829
+ "mutable": false,
830
+ "complexType": {
831
+ "original": "string",
832
+ "resolved": "string",
833
+ "references": {}
834
+ },
835
+ "required": false,
836
+ "optional": true,
837
+ "docs": {
838
+ "tags": [],
839
+ "text": "The place to display the response from submitting the form. It overrides the target attribute of the select's form owner.\nThis prop should only be used with searchable select and will only be applied if searchable is true."
840
+ },
841
+ "attribute": "formtarget",
842
+ "reflect": false
843
+ },
844
+ "fullWidth": {
845
+ "type": "boolean",
846
+ "mutable": false,
847
+ "complexType": {
848
+ "original": "boolean",
849
+ "resolved": "boolean",
850
+ "references": {}
851
+ },
852
+ "required": false,
853
+ "optional": false,
854
+ "docs": {
855
+ "tags": [],
856
+ "text": "If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true."
857
+ },
858
+ "attribute": "full-width",
859
+ "reflect": false,
860
+ "defaultValue": "false"
861
+ },
862
+ "helperText": {
863
+ "type": "string",
864
+ "mutable": false,
865
+ "complexType": {
866
+ "original": "string",
867
+ "resolved": "string",
868
+ "references": {}
869
+ },
870
+ "required": false,
871
+ "optional": true,
872
+ "docs": {
873
+ "tags": [],
874
+ "text": "The helper text that will be displayed for additional field guidance."
875
+ },
876
+ "attribute": "helper-text",
877
+ "reflect": false,
878
+ "defaultValue": "\"\""
879
+ },
880
+ "hideLabel": {
881
+ "type": "boolean",
882
+ "mutable": false,
883
+ "complexType": {
884
+ "original": "boolean",
885
+ "resolved": "boolean",
886
+ "references": {}
887
+ },
888
+ "required": false,
889
+ "optional": true,
890
+ "docs": {
891
+ "tags": [],
892
+ "text": "If `true`, the label will be hidden and the required label value will be applied as an aria-label."
893
+ },
894
+ "attribute": "hide-label",
895
+ "reflect": false,
896
+ "defaultValue": "false"
897
+ },
898
+ "includeDescriptionsInSearch": {
899
+ "type": "boolean",
900
+ "mutable": false,
901
+ "complexType": {
902
+ "original": "boolean",
903
+ "resolved": "boolean",
904
+ "references": {}
905
+ },
906
+ "required": false,
907
+ "optional": true,
908
+ "docs": {
909
+ "tags": [],
910
+ "text": "If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering."
911
+ },
912
+ "attribute": "include-descriptions-in-search",
913
+ "reflect": false,
914
+ "defaultValue": "false"
915
+ },
916
+ "includeGroupTitlesInSearch": {
917
+ "type": "boolean",
918
+ "mutable": false,
919
+ "complexType": {
920
+ "original": "boolean",
921
+ "resolved": "boolean",
922
+ "references": {}
923
+ },
924
+ "required": false,
925
+ "optional": true,
926
+ "docs": {
927
+ "tags": [],
928
+ "text": "If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering."
929
+ },
930
+ "attribute": "include-group-titles-in-search",
931
+ "reflect": false,
932
+ "defaultValue": "false"
933
+ },
934
+ "label": {
935
+ "type": "string",
936
+ "mutable": false,
937
+ "complexType": {
938
+ "original": "string",
939
+ "resolved": "string",
940
+ "references": {}
941
+ },
942
+ "required": true,
943
+ "optional": false,
944
+ "docs": {
945
+ "tags": [],
946
+ "text": "The label for the select."
947
+ },
948
+ "attribute": "label",
949
+ "reflect": false
950
+ },
951
+ "loadingErrorLabel": {
952
+ "type": "string",
953
+ "mutable": false,
954
+ "complexType": {
955
+ "original": "string",
956
+ "resolved": "string",
957
+ "references": {}
958
+ },
959
+ "required": false,
960
+ "optional": true,
961
+ "docs": {
962
+ "tags": [],
963
+ "text": "The message displayed when external loading times out."
964
+ },
965
+ "attribute": "loading-error-label",
966
+ "reflect": false,
967
+ "defaultValue": "\"Loading Error\""
968
+ },
969
+ "loadingLabel": {
970
+ "type": "string",
971
+ "mutable": false,
972
+ "complexType": {
973
+ "original": "string",
974
+ "resolved": "string",
975
+ "references": {}
976
+ },
977
+ "required": false,
978
+ "optional": true,
979
+ "docs": {
980
+ "tags": [],
981
+ "text": "The message displayed whilst the options are being loaded externally."
982
+ },
983
+ "attribute": "loading-label",
984
+ "reflect": false,
985
+ "defaultValue": "\"Loading...\""
986
+ },
987
+ "name": {
988
+ "type": "string",
989
+ "mutable": false,
990
+ "complexType": {
991
+ "original": "string",
992
+ "resolved": "string",
993
+ "references": {}
994
+ },
995
+ "required": false,
996
+ "optional": true,
997
+ "docs": {
998
+ "tags": [],
999
+ "text": "The name of the control, which is submitted with the form data."
1000
+ },
1001
+ "attribute": "name",
1002
+ "reflect": false,
1003
+ "defaultValue": "this.inputId"
1004
+ },
1005
+ "placeholder": {
1006
+ "type": "string",
1007
+ "mutable": false,
1008
+ "complexType": {
1009
+ "original": "string",
1010
+ "resolved": "string",
1011
+ "references": {}
1012
+ },
1013
+ "required": false,
1014
+ "optional": true,
1015
+ "docs": {
1016
+ "tags": [],
1017
+ "text": "The placeholder value to be displayed."
1018
+ },
1019
+ "attribute": "placeholder",
1020
+ "reflect": false,
1021
+ "defaultValue": "\"Select an option\""
1022
+ },
1023
+ "readonly": {
1024
+ "type": "boolean",
1025
+ "mutable": false,
1026
+ "complexType": {
1027
+ "original": "boolean",
1028
+ "resolved": "boolean",
1029
+ "references": {}
1030
+ },
1031
+ "required": false,
1032
+ "optional": true,
1033
+ "docs": {
1034
+ "tags": [],
1035
+ "text": "If `true`, the readonly state will be set."
1036
+ },
1037
+ "attribute": "readonly",
1038
+ "reflect": false,
1039
+ "defaultValue": "false"
1040
+ },
1041
+ "required": {
1042
+ "type": "boolean",
1043
+ "mutable": false,
1044
+ "complexType": {
1045
+ "original": "boolean",
1046
+ "resolved": "boolean",
1047
+ "references": {}
1048
+ },
1049
+ "required": false,
1050
+ "optional": true,
1051
+ "docs": {
1052
+ "tags": [],
1053
+ "text": "If `true`, the select will require a value."
1054
+ },
1055
+ "attribute": "required",
1056
+ "reflect": false,
1057
+ "defaultValue": "false"
1058
+ },
1059
+ "searchable": {
1060
+ "type": "boolean",
1061
+ "mutable": false,
1062
+ "complexType": {
1063
+ "original": "boolean",
1064
+ "resolved": "boolean",
1065
+ "references": {}
1066
+ },
1067
+ "required": false,
1068
+ "optional": true,
1069
+ "docs": {
1070
+ "tags": [],
1071
+ "text": "If `true`, a searchable variant of the select will be displayed which can be typed in to filter options."
1072
+ },
1073
+ "attribute": "searchable",
1074
+ "reflect": false,
1075
+ "defaultValue": "false"
1076
+ },
1077
+ "searchMatchPosition": {
1078
+ "type": "string",
1079
+ "mutable": false,
1080
+ "complexType": {
1081
+ "original": "IcSearchMatchPositions",
1082
+ "resolved": "\"anywhere\" | \"start\"",
1083
+ "references": {
1084
+ "IcSearchMatchPositions": {
1085
+ "location": "import",
1086
+ "path": "../../utils/types",
1087
+ "id": "src/utils/types.ts::IcSearchMatchPositions"
1088
+ }
1089
+ }
1090
+ },
1091
+ "required": false,
1092
+ "optional": true,
1093
+ "docs": {
1094
+ "tags": [],
1095
+ "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."
1096
+ },
1097
+ "attribute": "search-match-position",
1098
+ "reflect": false,
1099
+ "defaultValue": "\"anywhere\""
1100
+ },
1101
+ "selectOnEnter": {
1102
+ "type": "boolean",
1103
+ "mutable": false,
1104
+ "complexType": {
1105
+ "original": "boolean",
1106
+ "resolved": "boolean",
1107
+ "references": {}
1108
+ },
1109
+ "required": false,
1110
+ "optional": true,
1111
+ "docs": {
1112
+ "tags": [],
1113
+ "text": "If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown."
1114
+ },
1115
+ "attribute": "select-on-enter",
1116
+ "reflect": false,
1117
+ "defaultValue": "false"
1118
+ },
1119
+ "showClearButton": {
1120
+ "type": "boolean",
1121
+ "mutable": false,
1122
+ "complexType": {
1123
+ "original": "boolean",
1124
+ "resolved": "boolean",
1125
+ "references": {}
1126
+ },
1127
+ "required": false,
1128
+ "optional": true,
1129
+ "docs": {
1130
+ "tags": [],
1131
+ "text": "If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select."
1132
+ },
1133
+ "attribute": "show-clear-button",
1134
+ "reflect": false,
1135
+ "defaultValue": "false"
1136
+ },
1137
+ "size": {
1138
+ "type": "string",
1139
+ "mutable": false,
1140
+ "complexType": {
1141
+ "original": "IcSizesNoLarge",
1142
+ "resolved": "\"default\" | \"small\"",
1143
+ "references": {
1144
+ "IcSizesNoLarge": {
1145
+ "location": "import",
1146
+ "path": "../../utils/types",
1147
+ "id": "src/utils/types.ts::IcSizesNoLarge"
1148
+ }
1149
+ }
1150
+ },
1151
+ "required": false,
1152
+ "optional": true,
1153
+ "docs": {
1154
+ "tags": [],
1155
+ "text": "The size of the select component."
1156
+ },
1157
+ "attribute": "size",
1158
+ "reflect": false,
1159
+ "defaultValue": "\"default\""
1160
+ },
1161
+ "small": {
1162
+ "type": "boolean",
1163
+ "mutable": false,
1164
+ "complexType": {
1165
+ "original": "boolean",
1166
+ "resolved": "boolean",
1167
+ "references": {}
1168
+ },
1169
+ "required": false,
1170
+ "optional": true,
1171
+ "docs": {
1172
+ "tags": [{
1173
+ "name": "deprecated",
1174
+ "text": "This prop should not be used anymore. Set prop `size` to \"small\" instead."
1175
+ }],
1176
+ "text": ""
1177
+ },
1178
+ "attribute": "small",
1179
+ "reflect": false,
1180
+ "defaultValue": "false"
1181
+ },
1182
+ "timeout": {
1183
+ "type": "number",
1184
+ "mutable": false,
1185
+ "complexType": {
1186
+ "original": "number",
1187
+ "resolved": "number",
1188
+ "references": {}
1189
+ },
1190
+ "required": false,
1191
+ "optional": true,
1192
+ "docs": {
1193
+ "tags": [],
1194
+ "text": "If using external filtering, set a timeout for when loading takes too long."
1195
+ },
1196
+ "attribute": "timeout",
1197
+ "reflect": false
1198
+ },
1199
+ "validationStatus": {
1200
+ "type": "string",
1201
+ "mutable": false,
1202
+ "complexType": {
1203
+ "original": "IcInformationStatusOrEmpty",
1204
+ "resolved": "\"\" | \"error\" | \"success\" | \"warning\"",
1205
+ "references": {
1206
+ "IcInformationStatusOrEmpty": {
1207
+ "location": "import",
1208
+ "path": "../../utils/types",
1209
+ "id": "src/utils/types.ts::IcInformationStatusOrEmpty"
1210
+ }
1211
+ }
1212
+ },
1213
+ "required": false,
1214
+ "optional": true,
1215
+ "docs": {
1216
+ "tags": [],
1217
+ "text": "The validation status - e.g. 'error' | 'warning' | 'success'."
1218
+ },
1219
+ "attribute": "validation-status",
1220
+ "reflect": false,
1221
+ "defaultValue": "\"\""
1222
+ },
1223
+ "validationText": {
1224
+ "type": "string",
1225
+ "mutable": false,
1226
+ "complexType": {
1227
+ "original": "string",
1228
+ "resolved": "string",
1229
+ "references": {}
1230
+ },
1231
+ "required": false,
1232
+ "optional": true,
1233
+ "docs": {
1234
+ "tags": [],
1235
+ "text": "The text to display as the validation message."
1236
+ },
1237
+ "attribute": "validation-text",
1238
+ "reflect": false,
1239
+ "defaultValue": "\"\""
1240
+ },
1241
+ "loading": {
1242
+ "type": "boolean",
1243
+ "mutable": true,
1244
+ "complexType": {
1245
+ "original": "boolean",
1246
+ "resolved": "boolean",
1247
+ "references": {}
1248
+ },
1249
+ "required": false,
1250
+ "optional": true,
1251
+ "docs": {
1252
+ "tags": [],
1253
+ "text": "If `true`, the loading state will be triggered when fetching options asyncronously."
1254
+ },
1255
+ "attribute": "loading",
1256
+ "reflect": false,
1257
+ "defaultValue": "false"
1258
+ },
1259
+ "options": {
1260
+ "type": "unknown",
1261
+ "mutable": false,
1262
+ "complexType": {
1263
+ "original": "IcMenuOption[]",
1264
+ "resolved": "IcMenuOption[]",
1265
+ "references": {
1266
+ "IcMenuOption": {
1267
+ "location": "import",
1268
+ "path": "../../utils/types",
1269
+ "id": "src/utils/types.ts::IcMenuOption"
1270
+ }
1271
+ }
1272
+ },
1273
+ "required": false,
1274
+ "optional": true,
1275
+ "docs": {
1276
+ "tags": [],
1277
+ "text": "The possible selection options."
1278
+ },
1279
+ "defaultValue": "[]"
1280
+ },
1281
+ "debounce": {
1282
+ "type": "number",
1283
+ "mutable": false,
1284
+ "complexType": {
1285
+ "original": "number",
1286
+ "resolved": "number",
1287
+ "references": {}
1288
+ },
1289
+ "required": false,
1290
+ "optional": true,
1291
+ "docs": {
1292
+ "tags": [],
1293
+ "text": "The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke."
1294
+ },
1295
+ "attribute": "debounce",
1296
+ "reflect": false,
1297
+ "defaultValue": "0"
1298
+ },
1299
+ "value": {
1300
+ "type": "string",
1301
+ "mutable": true,
1302
+ "complexType": {
1303
+ "original": "string",
1304
+ "resolved": "string",
1305
+ "references": {}
1306
+ },
1307
+ "required": false,
1308
+ "optional": true,
1309
+ "docs": {
1310
+ "tags": [],
1311
+ "text": "The value of the select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input."
1312
+ },
1313
+ "attribute": "value",
1314
+ "reflect": false
1315
+ }
1316
+ };
586
1317
  }
587
- }
588
- updateOnChangeDebounce(newValue) {
589
- if (this.currDebounce !== newValue) {
590
- this.currDebounce = newValue;
1318
+ static get states() {
1319
+ return {
1320
+ "ariaActiveDescendant": {},
1321
+ "clearButtonFocused": {},
1322
+ "debounceIcChange": {},
1323
+ "hiddenInputValue": {},
1324
+ "noOptions": {},
1325
+ "open": {},
1326
+ "pressedCharacters": {},
1327
+ "searchableSelectInputValue": {},
1328
+ "filteredOptions": {},
1329
+ "uniqueOptions": {},
1330
+ "currDebounce": {},
1331
+ "initialValue": {},
1332
+ "inputValueToFilter": {},
1333
+ "currValue": {}
1334
+ };
591
1335
  }
592
- }
593
- debounceAriaLiveUpdate() {
594
- clearTimeout(this.debounceAria);
595
- window.setTimeout(() => {
596
- this.updateSearchableSelectResultAriaLive();
597
- }, 800);
598
- }
599
- setDefaultValue() {
600
- if (!this.hasSetDefaultValue && this.currValue) {
601
- this.searchableSelectInputValue = this.getDefaultValue(this.currValue);
602
- this.initialValue = this.currValue;
603
- this.hasSetDefaultValue = true;
1336
+ static get events() {
1337
+ return [{
1338
+ "method": "icBlur",
1339
+ "name": "icBlur",
1340
+ "bubbles": true,
1341
+ "cancelable": true,
1342
+ "composed": true,
1343
+ "docs": {
1344
+ "tags": [],
1345
+ "text": "Emitted when the select loses focus."
1346
+ },
1347
+ "complexType": {
1348
+ "original": "void",
1349
+ "resolved": "void",
1350
+ "references": {}
1351
+ }
1352
+ }, {
1353
+ "method": "icChange",
1354
+ "name": "icChange",
1355
+ "bubbles": true,
1356
+ "cancelable": true,
1357
+ "composed": true,
1358
+ "docs": {
1359
+ "tags": [],
1360
+ "text": "Emitted when the value changes."
1361
+ },
1362
+ "complexType": {
1363
+ "original": "IcValueEventDetail",
1364
+ "resolved": "IcValueEventDetail",
1365
+ "references": {
1366
+ "IcValueEventDetail": {
1367
+ "location": "import",
1368
+ "path": "../../utils/types",
1369
+ "id": "src/utils/types.ts::IcValueEventDetail"
1370
+ }
1371
+ }
1372
+ }
1373
+ }, {
1374
+ "method": "icClear",
1375
+ "name": "icClear",
1376
+ "bubbles": true,
1377
+ "cancelable": true,
1378
+ "composed": true,
1379
+ "docs": {
1380
+ "tags": [],
1381
+ "text": "Emitted when the clear button is clicked."
1382
+ },
1383
+ "complexType": {
1384
+ "original": "void",
1385
+ "resolved": "void",
1386
+ "references": {}
1387
+ }
1388
+ }, {
1389
+ "method": "icFocus",
1390
+ "name": "icFocus",
1391
+ "bubbles": true,
1392
+ "cancelable": true,
1393
+ "composed": true,
1394
+ "docs": {
1395
+ "tags": [],
1396
+ "text": "Emitted when the select gains focus."
1397
+ },
1398
+ "complexType": {
1399
+ "original": "void",
1400
+ "resolved": "void",
1401
+ "references": {}
1402
+ }
1403
+ }, {
1404
+ "method": "icInput",
1405
+ "name": "icInput",
1406
+ "bubbles": true,
1407
+ "cancelable": true,
1408
+ "composed": true,
1409
+ "docs": {
1410
+ "tags": [],
1411
+ "text": "Emitted when a keyboard input occurred."
1412
+ },
1413
+ "complexType": {
1414
+ "original": "IcValueEventDetail",
1415
+ "resolved": "IcValueEventDetail",
1416
+ "references": {
1417
+ "IcValueEventDetail": {
1418
+ "location": "import",
1419
+ "path": "../../utils/types",
1420
+ "id": "src/utils/types.ts::IcValueEventDetail"
1421
+ }
1422
+ }
1423
+ }
1424
+ }, {
1425
+ "method": "icOptionSelect",
1426
+ "name": "icOptionSelect",
1427
+ "bubbles": true,
1428
+ "cancelable": true,
1429
+ "composed": true,
1430
+ "docs": {
1431
+ "tags": [],
1432
+ "text": "Emitted when an option is highlighted within the menu.\nHighlighting a menu item will also trigger an `icChange/onIcChange` due to the value being updated."
1433
+ },
1434
+ "complexType": {
1435
+ "original": "IcOptionSelectEventDetail",
1436
+ "resolved": "IcOptionSelectEventDetail",
1437
+ "references": {
1438
+ "IcOptionSelectEventDetail": {
1439
+ "location": "import",
1440
+ "path": "../ic-menu/ic-menu.types",
1441
+ "id": "src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail"
1442
+ }
1443
+ }
1444
+ }
1445
+ }, {
1446
+ "method": "icRetryLoad",
1447
+ "name": "icRetryLoad",
1448
+ "bubbles": true,
1449
+ "cancelable": true,
1450
+ "composed": true,
1451
+ "docs": {
1452
+ "tags": [],
1453
+ "text": "Emitted when the 'retry loading' button is clicked for a searchable variant."
1454
+ },
1455
+ "complexType": {
1456
+ "original": "IcValueEventDetail",
1457
+ "resolved": "IcValueEventDetail",
1458
+ "references": {
1459
+ "IcValueEventDetail": {
1460
+ "location": "import",
1461
+ "path": "../../utils/types",
1462
+ "id": "src/utils/types.ts::IcValueEventDetail"
1463
+ }
1464
+ }
1465
+ }
1466
+ }];
604
1467
  }
605
- }
606
- render() {
607
- const { small, size, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, currValue, } = this;
608
- renderHiddenInput(true, this.el, name, this.searchable ? this.hiddenInputValue : currValue, disabled);
609
- const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
610
- const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
611
- return (h(Host, { class: {
612
- disabled: disabled,
613
- searchable: searchable,
614
- small: small || size === "small",
615
- "full-width": fullWidth,
616
- }, onBlur: this.onBlur }, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: this.inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": this.open }, small: small || size === "small", fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(currValue)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: this.inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: this.form }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
617
- if (option.children) {
618
- return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label)))));
619
- }
620
- else {
621
- return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === currValue }, option.label));
622
- }
623
- }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: "select-input", role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": this.ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": this.open ? "true" : "false", "aria-invalid": invalid, "aria-required": required ? "true" : "false", "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: this.inputId, value: this.searchableSelectInputValue, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: this.form, formaction: this.formaction, formenctype: this.formenctype, formmethod: this.formmethod, formnovalidate: this.formnovalidate, formtarget: this.formtarget }), this.searchableSelectInputValue &&
624
- (showClearButton || searchable) && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue && currValue === null
625
- ? "Clear input"
626
- : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
627
- ? IcThemeForegroundEnum.Light
628
- : IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
629
- "expand-icon": true,
630
- "expand-icon-open": this.open,
631
- "expand-icon-filled": !(currValue == null || currValue === ""),
632
- }, innerHTML: Expand, "aria-hidden": "true" }), h("div", { "aria-live": "polite", role: "status", class: "searchable-select-results-status" }))) : (h("div", { class: "select-container" }, h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: this.inputId, "aria-label": `${label}, ${this.getLabelFromValue(currValue) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": this.open ? "true" : "false", "aria-owns": menuId, "aria-controls": menuId, disabled: disabled, onBlur: this.onBlur, onFocus: this.onFocus, onClick: this.handleClick, onMouseDown: this.handleMouseDown, onKeyDown: this.handleKeyDown }, h("ic-typography", { variant: "body", class: {
633
- "value-text": true,
634
- placeholder: this.getLabelFromValue(currValue) === undefined,
635
- } }, h("p", null, this.getLabelFromValue(currValue) || placeholder)), h("div", { class: "select-input-end" }, currValue && showClearButton && (h("div", { class: "divider" })), h("span", { class: {
636
- "expand-icon": true,
637
- "expand-icon-open": this.open,
638
- "expand-icon-filled": !(currValue == null || currValue === ""),
639
- }, innerHTML: Expand, "aria-hidden": "true" }))), currValue && showClearButton && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", appearance: this.clearButtonFocused
640
- ? IcThemeForegroundEnum.Light
641
- : IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
642
- "no-results": this.loading ||
643
- this.hasTimedOut ||
644
- (this.noOptions !== null &&
645
- this.noOptions[0] &&
646
- this.noOptions[0].label === this.emptyOptionListText),
647
- }, ref: (el) => (this.menu = el), inputEl: searchable
648
- ? this.searchableSelectElement
649
- : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small || size === "small", menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : this.uniqueOptions, value: currValue, fullWidth: fullWidth, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuKeyPress: this.handleMenuKeyPress, onMenuValueChange: this.handleMenuValueChange, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: this.searchable ? "manual" : "automatic" })), hasValidationStatus(this.validationStatus, this.disabled) && (h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: this.inputId })))));
650
- }
651
- static get is() { return "ic-select"; }
652
- static get encapsulation() { return "shadow"; }
653
- static get delegatesFocus() { return true; }
654
- static get originalStyleUrls() {
655
- return {
656
- "$": ["ic-select.css"]
657
- };
658
- }
659
- static get styleUrls() {
660
- return {
661
- "$": ["ic-select.css"]
662
- };
663
- }
664
- static get properties() {
665
- return {
666
- "charactersUntilSuggestions": {
667
- "type": "number",
668
- "mutable": false,
669
- "complexType": {
670
- "original": "number",
671
- "resolved": "number",
672
- "references": {}
673
- },
674
- "required": false,
675
- "optional": true,
676
- "docs": {
677
- "tags": [{
678
- "name": "deprecated",
679
- "text": "This prop should not be used anymore."
680
- }],
681
- "text": ""
682
- },
683
- "attribute": "characters-until-suggestions",
684
- "reflect": false,
685
- "defaultValue": "0"
686
- },
687
- "disabled": {
688
- "type": "boolean",
689
- "mutable": false,
690
- "complexType": {
691
- "original": "boolean",
692
- "resolved": "boolean",
693
- "references": {}
694
- },
695
- "required": false,
696
- "optional": true,
697
- "docs": {
698
- "tags": [],
699
- "text": "If `true`, the disabled state will be set."
700
- },
701
- "attribute": "disabled",
702
- "reflect": true,
703
- "defaultValue": "false"
704
- },
705
- "disableFilter": {
706
- "type": "boolean",
707
- "mutable": false,
708
- "complexType": {
709
- "original": "boolean",
710
- "resolved": "boolean",
711
- "references": {}
712
- },
713
- "required": false,
714
- "optional": true,
715
- "docs": {
716
- "tags": [],
717
- "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."
718
- },
719
- "attribute": "disable-filter",
720
- "reflect": false,
721
- "defaultValue": "false"
722
- },
723
- "emptyOptionListText": {
724
- "type": "string",
725
- "mutable": false,
726
- "complexType": {
727
- "original": "string",
728
- "resolved": "string",
729
- "references": {}
730
- },
731
- "required": false,
732
- "optional": false,
733
- "docs": {
734
- "tags": [],
735
- "text": "The text displayed when there are no options in the option list."
736
- },
737
- "attribute": "empty-option-list-text",
738
- "reflect": false,
739
- "defaultValue": "\"No results found\""
740
- },
741
- "form": {
742
- "type": "string",
743
- "mutable": false,
744
- "complexType": {
745
- "original": "string",
746
- "resolved": "string",
747
- "references": {}
748
- },
749
- "required": false,
750
- "optional": true,
751
- "docs": {
752
- "tags": [],
753
- "text": "The <form> element to associate the select with."
754
- },
755
- "attribute": "form",
756
- "reflect": false
757
- },
758
- "formaction": {
759
- "type": "string",
760
- "mutable": false,
761
- "complexType": {
762
- "original": "string",
763
- "resolved": "string",
764
- "references": {}
765
- },
766
- "required": false,
767
- "optional": true,
768
- "docs": {
769
- "tags": [],
770
- "text": "The URL that processes the information submitted by the select. It overrides the action attribute of the select's form owner. Does nothing if there is no form owner.\nThis prop should only be used with searchable select and will only be applied if searchable is true."
771
- },
772
- "attribute": "formaction",
773
- "reflect": false
774
- },
775
- "formenctype": {
776
- "type": "string",
777
- "mutable": false,
778
- "complexType": {
779
- "original": "string",
780
- "resolved": "string",
781
- "references": {}
782
- },
783
- "required": false,
784
- "optional": true,
785
- "docs": {
786
- "tags": [],
787
- "text": "The way the submitted form data is encoded. This prop should only be used with searchable select and will only be applied if searchable is true."
788
- },
789
- "attribute": "formenctype",
790
- "reflect": false
791
- },
792
- "formmethod": {
793
- "type": "string",
794
- "mutable": false,
795
- "complexType": {
796
- "original": "string",
797
- "resolved": "string",
798
- "references": {}
799
- },
800
- "required": false,
801
- "optional": true,
802
- "docs": {
803
- "tags": [],
804
- "text": "The HTTP method used to submit the form. This prop should only be used with searchable select and will only be applied if searchable is true."
805
- },
806
- "attribute": "formmethod",
807
- "reflect": false
808
- },
809
- "formnovalidate": {
810
- "type": "boolean",
811
- "mutable": false,
812
- "complexType": {
813
- "original": "boolean",
814
- "resolved": "boolean",
815
- "references": {}
816
- },
817
- "required": false,
818
- "optional": true,
819
- "docs": {
820
- "tags": [],
821
- "text": "If `true`, the form will not be validated when submitted. This prop should only be used with searchable select and will only be applied if searchable is true."
822
- },
823
- "attribute": "formnovalidate",
824
- "reflect": false
825
- },
826
- "formtarget": {
827
- "type": "string",
828
- "mutable": false,
829
- "complexType": {
830
- "original": "string",
831
- "resolved": "string",
832
- "references": {}
833
- },
834
- "required": false,
835
- "optional": true,
836
- "docs": {
837
- "tags": [],
838
- "text": "The place to display the response from submitting the form. It overrides the target attribute of the select's form owner.\nThis prop should only be used with searchable select and will only be applied if searchable is true."
839
- },
840
- "attribute": "formtarget",
841
- "reflect": false
842
- },
843
- "fullWidth": {
844
- "type": "boolean",
845
- "mutable": false,
846
- "complexType": {
847
- "original": "boolean",
848
- "resolved": "boolean",
849
- "references": {}
850
- },
851
- "required": false,
852
- "optional": false,
853
- "docs": {
854
- "tags": [],
855
- "text": "If `true`, the select element will fill the width of the container. This prop should only be used with searchable select and will only be applied if searchable is true."
856
- },
857
- "attribute": "full-width",
858
- "reflect": false,
859
- "defaultValue": "false"
860
- },
861
- "helperText": {
862
- "type": "string",
863
- "mutable": false,
864
- "complexType": {
865
- "original": "string",
866
- "resolved": "string",
867
- "references": {}
868
- },
869
- "required": false,
870
- "optional": true,
871
- "docs": {
872
- "tags": [],
873
- "text": "The helper text that will be displayed for additional field guidance."
874
- },
875
- "attribute": "helper-text",
876
- "reflect": false,
877
- "defaultValue": "\"\""
878
- },
879
- "hideLabel": {
880
- "type": "boolean",
881
- "mutable": false,
882
- "complexType": {
883
- "original": "boolean",
884
- "resolved": "boolean",
885
- "references": {}
886
- },
887
- "required": false,
888
- "optional": true,
889
- "docs": {
890
- "tags": [],
891
- "text": "If `true`, the label will be hidden and the required label value will be applied as an aria-label."
892
- },
893
- "attribute": "hide-label",
894
- "reflect": false,
895
- "defaultValue": "false"
896
- },
897
- "includeDescriptionsInSearch": {
898
- "type": "boolean",
899
- "mutable": false,
900
- "complexType": {
901
- "original": "boolean",
902
- "resolved": "boolean",
903
- "references": {}
904
- },
905
- "required": false,
906
- "optional": true,
907
- "docs": {
908
- "tags": [],
909
- "text": "If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering."
910
- },
911
- "attribute": "include-descriptions-in-search",
912
- "reflect": false,
913
- "defaultValue": "false"
914
- },
915
- "includeGroupTitlesInSearch": {
916
- "type": "boolean",
917
- "mutable": false,
918
- "complexType": {
919
- "original": "boolean",
920
- "resolved": "boolean",
921
- "references": {}
922
- },
923
- "required": false,
924
- "optional": true,
925
- "docs": {
926
- "tags": [],
927
- "text": "If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering."
928
- },
929
- "attribute": "include-group-titles-in-search",
930
- "reflect": false,
931
- "defaultValue": "false"
932
- },
933
- "label": {
934
- "type": "string",
935
- "mutable": false,
936
- "complexType": {
937
- "original": "string",
938
- "resolved": "string",
939
- "references": {}
940
- },
941
- "required": true,
942
- "optional": false,
943
- "docs": {
944
- "tags": [],
945
- "text": "The label for the select."
946
- },
947
- "attribute": "label",
948
- "reflect": false
949
- },
950
- "loadingErrorLabel": {
951
- "type": "string",
952
- "mutable": false,
953
- "complexType": {
954
- "original": "string",
955
- "resolved": "string",
956
- "references": {}
957
- },
958
- "required": false,
959
- "optional": true,
960
- "docs": {
961
- "tags": [],
962
- "text": "The message displayed when external loading times out."
963
- },
964
- "attribute": "loading-error-label",
965
- "reflect": false,
966
- "defaultValue": "\"Loading Error\""
967
- },
968
- "loadingLabel": {
969
- "type": "string",
970
- "mutable": false,
971
- "complexType": {
972
- "original": "string",
973
- "resolved": "string",
974
- "references": {}
975
- },
976
- "required": false,
977
- "optional": true,
978
- "docs": {
979
- "tags": [],
980
- "text": "The message displayed whilst the options are being loaded externally."
981
- },
982
- "attribute": "loading-label",
983
- "reflect": false,
984
- "defaultValue": "\"Loading...\""
985
- },
986
- "name": {
987
- "type": "string",
988
- "mutable": false,
989
- "complexType": {
990
- "original": "string",
991
- "resolved": "string",
992
- "references": {}
993
- },
994
- "required": false,
995
- "optional": true,
996
- "docs": {
997
- "tags": [],
998
- "text": "The name of the control, which is submitted with the form data."
999
- },
1000
- "attribute": "name",
1001
- "reflect": false,
1002
- "defaultValue": "this.inputId"
1003
- },
1004
- "placeholder": {
1005
- "type": "string",
1006
- "mutable": false,
1007
- "complexType": {
1008
- "original": "string",
1009
- "resolved": "string",
1010
- "references": {}
1011
- },
1012
- "required": false,
1013
- "optional": true,
1014
- "docs": {
1015
- "tags": [],
1016
- "text": "The placeholder value to be displayed."
1017
- },
1018
- "attribute": "placeholder",
1019
- "reflect": false,
1020
- "defaultValue": "\"Select an option\""
1021
- },
1022
- "readonly": {
1023
- "type": "boolean",
1024
- "mutable": false,
1025
- "complexType": {
1026
- "original": "boolean",
1027
- "resolved": "boolean",
1028
- "references": {}
1029
- },
1030
- "required": false,
1031
- "optional": true,
1032
- "docs": {
1033
- "tags": [],
1034
- "text": "If `true`, the readonly state will be set."
1035
- },
1036
- "attribute": "readonly",
1037
- "reflect": false,
1038
- "defaultValue": "false"
1039
- },
1040
- "required": {
1041
- "type": "boolean",
1042
- "mutable": false,
1043
- "complexType": {
1044
- "original": "boolean",
1045
- "resolved": "boolean",
1046
- "references": {}
1047
- },
1048
- "required": false,
1049
- "optional": true,
1050
- "docs": {
1051
- "tags": [],
1052
- "text": "If `true`, the select will require a value."
1053
- },
1054
- "attribute": "required",
1055
- "reflect": false,
1056
- "defaultValue": "false"
1057
- },
1058
- "searchable": {
1059
- "type": "boolean",
1060
- "mutable": false,
1061
- "complexType": {
1062
- "original": "boolean",
1063
- "resolved": "boolean",
1064
- "references": {}
1065
- },
1066
- "required": false,
1067
- "optional": true,
1068
- "docs": {
1069
- "tags": [],
1070
- "text": "If `true`, a searchable variant of the select will be displayed which can be typed in to filter options."
1071
- },
1072
- "attribute": "searchable",
1073
- "reflect": false,
1074
- "defaultValue": "false"
1075
- },
1076
- "searchMatchPosition": {
1077
- "type": "string",
1078
- "mutable": false,
1079
- "complexType": {
1080
- "original": "IcSearchMatchPositions",
1081
- "resolved": "\"anywhere\" | \"start\"",
1082
- "references": {
1083
- "IcSearchMatchPositions": {
1084
- "location": "import",
1085
- "path": "../../utils/types",
1086
- "id": "src/utils/types.ts::IcSearchMatchPositions"
1087
- }
1088
- }
1089
- },
1090
- "required": false,
1091
- "optional": true,
1092
- "docs": {
1093
- "tags": [],
1094
- "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."
1095
- },
1096
- "attribute": "search-match-position",
1097
- "reflect": false,
1098
- "defaultValue": "\"anywhere\""
1099
- },
1100
- "showClearButton": {
1101
- "type": "boolean",
1102
- "mutable": false,
1103
- "complexType": {
1104
- "original": "boolean",
1105
- "resolved": "boolean",
1106
- "references": {}
1107
- },
1108
- "required": false,
1109
- "optional": true,
1110
- "docs": {
1111
- "tags": [],
1112
- "text": "If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select."
1113
- },
1114
- "attribute": "show-clear-button",
1115
- "reflect": false,
1116
- "defaultValue": "false"
1117
- },
1118
- "size": {
1119
- "type": "string",
1120
- "mutable": false,
1121
- "complexType": {
1122
- "original": "IcSizesNoLarge",
1123
- "resolved": "\"default\" | \"small\"",
1124
- "references": {
1125
- "IcSizesNoLarge": {
1126
- "location": "import",
1127
- "path": "../../utils/types",
1128
- "id": "src/utils/types.ts::IcSizesNoLarge"
1129
- }
1130
- }
1131
- },
1132
- "required": false,
1133
- "optional": true,
1134
- "docs": {
1135
- "tags": [],
1136
- "text": "The size of the select component."
1137
- },
1138
- "attribute": "size",
1139
- "reflect": false,
1140
- "defaultValue": "\"default\""
1141
- },
1142
- "small": {
1143
- "type": "boolean",
1144
- "mutable": false,
1145
- "complexType": {
1146
- "original": "boolean",
1147
- "resolved": "boolean",
1148
- "references": {}
1149
- },
1150
- "required": false,
1151
- "optional": true,
1152
- "docs": {
1153
- "tags": [{
1154
- "name": "deprecated",
1155
- "text": "This prop should not be used anymore. Set prop `size` to \"small\" instead."
1156
- }],
1157
- "text": ""
1158
- },
1159
- "attribute": "small",
1160
- "reflect": false,
1161
- "defaultValue": "false"
1162
- },
1163
- "timeout": {
1164
- "type": "number",
1165
- "mutable": false,
1166
- "complexType": {
1167
- "original": "number",
1168
- "resolved": "number",
1169
- "references": {}
1170
- },
1171
- "required": false,
1172
- "optional": true,
1173
- "docs": {
1174
- "tags": [],
1175
- "text": "If using external filtering, set a timeout for when loading takes too long."
1176
- },
1177
- "attribute": "timeout",
1178
- "reflect": false
1179
- },
1180
- "validationStatus": {
1181
- "type": "string",
1182
- "mutable": false,
1183
- "complexType": {
1184
- "original": "IcInformationStatusOrEmpty",
1185
- "resolved": "\"\" | \"error\" | \"success\" | \"warning\"",
1186
- "references": {
1187
- "IcInformationStatusOrEmpty": {
1188
- "location": "import",
1189
- "path": "../../utils/types",
1190
- "id": "src/utils/types.ts::IcInformationStatusOrEmpty"
1191
- }
1192
- }
1193
- },
1194
- "required": false,
1195
- "optional": true,
1196
- "docs": {
1197
- "tags": [],
1198
- "text": "The validation status - e.g. 'error' | 'warning' | 'success'."
1199
- },
1200
- "attribute": "validation-status",
1201
- "reflect": false,
1202
- "defaultValue": "\"\""
1203
- },
1204
- "validationText": {
1205
- "type": "string",
1206
- "mutable": false,
1207
- "complexType": {
1208
- "original": "string",
1209
- "resolved": "string",
1210
- "references": {}
1211
- },
1212
- "required": false,
1213
- "optional": true,
1214
- "docs": {
1215
- "tags": [],
1216
- "text": "The text to display as the validation message."
1217
- },
1218
- "attribute": "validation-text",
1219
- "reflect": false,
1220
- "defaultValue": "\"\""
1221
- },
1222
- "loading": {
1223
- "type": "boolean",
1224
- "mutable": true,
1225
- "complexType": {
1226
- "original": "boolean",
1227
- "resolved": "boolean",
1228
- "references": {}
1229
- },
1230
- "required": false,
1231
- "optional": true,
1232
- "docs": {
1233
- "tags": [],
1234
- "text": "If `true`, the loading state will be triggered when fetching options asyncronously."
1235
- },
1236
- "attribute": "loading",
1237
- "reflect": false,
1238
- "defaultValue": "false"
1239
- },
1240
- "options": {
1241
- "type": "unknown",
1242
- "mutable": false,
1243
- "complexType": {
1244
- "original": "IcMenuOption[]",
1245
- "resolved": "IcMenuOption[]",
1246
- "references": {
1247
- "IcMenuOption": {
1248
- "location": "import",
1249
- "path": "../../utils/types",
1250
- "id": "src/utils/types.ts::IcMenuOption"
1251
- }
1252
- }
1253
- },
1254
- "required": false,
1255
- "optional": true,
1256
- "docs": {
1257
- "tags": [],
1258
- "text": "The possible selection options."
1259
- },
1260
- "defaultValue": "[]"
1261
- },
1262
- "debounce": {
1263
- "type": "number",
1264
- "mutable": false,
1265
- "complexType": {
1266
- "original": "number",
1267
- "resolved": "number",
1268
- "references": {}
1269
- },
1270
- "required": false,
1271
- "optional": true,
1272
- "docs": {
1273
- "tags": [],
1274
- "text": "The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke."
1275
- },
1276
- "attribute": "debounce",
1277
- "reflect": false,
1278
- "defaultValue": "0"
1279
- },
1280
- "value": {
1281
- "type": "string",
1282
- "mutable": true,
1283
- "complexType": {
1284
- "original": "string",
1285
- "resolved": "string",
1286
- "references": {}
1287
- },
1288
- "required": false,
1289
- "optional": true,
1290
- "docs": {
1291
- "tags": [],
1292
- "text": "The value of the select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input."
1293
- },
1294
- "attribute": "value",
1295
- "reflect": false
1296
- }
1297
- };
1298
- }
1299
- static get states() {
1300
- return {
1301
- "ariaActiveDescendant": {},
1302
- "clearButtonFocused": {},
1303
- "debounceIcChange": {},
1304
- "hiddenInputValue": {},
1305
- "noOptions": {},
1306
- "open": {},
1307
- "pressedCharacters": {},
1308
- "searchableSelectInputValue": {},
1309
- "filteredOptions": {},
1310
- "uniqueOptions": {},
1311
- "currDebounce": {},
1312
- "initialValue": {},
1313
- "inputValueToFilter": {},
1314
- "currValue": {}
1315
- };
1316
- }
1317
- static get events() {
1318
- return [{
1319
- "method": "icBlur",
1320
- "name": "icBlur",
1321
- "bubbles": true,
1322
- "cancelable": true,
1323
- "composed": true,
1324
- "docs": {
1325
- "tags": [],
1326
- "text": "Emitted when the select loses focus."
1327
- },
1328
- "complexType": {
1329
- "original": "void",
1330
- "resolved": "void",
1331
- "references": {}
1332
- }
1333
- }, {
1334
- "method": "icChange",
1335
- "name": "icChange",
1336
- "bubbles": true,
1337
- "cancelable": true,
1338
- "composed": true,
1339
- "docs": {
1340
- "tags": [],
1341
- "text": "Emitted when the value changes."
1342
- },
1343
- "complexType": {
1344
- "original": "IcValueEventDetail",
1345
- "resolved": "IcValueEventDetail",
1346
- "references": {
1347
- "IcValueEventDetail": {
1348
- "location": "import",
1349
- "path": "../../utils/types",
1350
- "id": "src/utils/types.ts::IcValueEventDetail"
1351
- }
1352
- }
1353
- }
1354
- }, {
1355
- "method": "icClear",
1356
- "name": "icClear",
1357
- "bubbles": true,
1358
- "cancelable": true,
1359
- "composed": true,
1360
- "docs": {
1361
- "tags": [],
1362
- "text": "Emitted when the clear button is clicked."
1363
- },
1364
- "complexType": {
1365
- "original": "void",
1366
- "resolved": "void",
1367
- "references": {}
1368
- }
1369
- }, {
1370
- "method": "icFocus",
1371
- "name": "icFocus",
1372
- "bubbles": true,
1373
- "cancelable": true,
1374
- "composed": true,
1375
- "docs": {
1376
- "tags": [],
1377
- "text": "Emitted when the select gains focus."
1378
- },
1379
- "complexType": {
1380
- "original": "void",
1381
- "resolved": "void",
1382
- "references": {}
1383
- }
1384
- }, {
1385
- "method": "icInput",
1386
- "name": "icInput",
1387
- "bubbles": true,
1388
- "cancelable": true,
1389
- "composed": true,
1390
- "docs": {
1391
- "tags": [],
1392
- "text": "Emitted when a keyboard input occurred."
1393
- },
1394
- "complexType": {
1395
- "original": "IcValueEventDetail",
1396
- "resolved": "IcValueEventDetail",
1397
- "references": {
1398
- "IcValueEventDetail": {
1399
- "location": "import",
1400
- "path": "../../utils/types",
1401
- "id": "src/utils/types.ts::IcValueEventDetail"
1402
- }
1403
- }
1404
- }
1405
- }, {
1406
- "method": "icOptionSelect",
1407
- "name": "icOptionSelect",
1408
- "bubbles": true,
1409
- "cancelable": true,
1410
- "composed": true,
1411
- "docs": {
1412
- "tags": [],
1413
- "text": "Emitted when an option is highlighted within the menu.\nHighlighting a menu item will also trigger an `icChange/onIcChange` due to the value being updated."
1414
- },
1415
- "complexType": {
1416
- "original": "IcOptionSelectEventDetail",
1417
- "resolved": "IcOptionSelectEventDetail",
1418
- "references": {
1419
- "IcOptionSelectEventDetail": {
1420
- "location": "import",
1421
- "path": "../ic-menu/ic-menu.types",
1422
- "id": "src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail"
1468
+ static get methods() {
1469
+ return {
1470
+ "setFocus": {
1471
+ "complexType": {
1472
+ "signature": "() => Promise<void>",
1473
+ "parameters": [],
1474
+ "references": {
1475
+ "Promise": {
1476
+ "location": "global",
1477
+ "id": "global::Promise"
1478
+ }
1479
+ },
1480
+ "return": "Promise<void>"
1481
+ },
1482
+ "docs": {
1483
+ "text": "Sets focus on the input box.",
1484
+ "tags": []
1485
+ }
1423
1486
  }
1424
- }
1425
- }
1426
- }, {
1427
- "method": "icRetryLoad",
1428
- "name": "icRetryLoad",
1429
- "bubbles": true,
1430
- "cancelable": true,
1431
- "composed": true,
1432
- "docs": {
1433
- "tags": [],
1434
- "text": "Emitted when the 'retry loading' button is clicked for a searchable variant."
1435
- },
1436
- "complexType": {
1437
- "original": "IcValueEventDetail",
1438
- "resolved": "IcValueEventDetail",
1439
- "references": {
1440
- "IcValueEventDetail": {
1441
- "location": "import",
1442
- "path": "../../utils/types",
1443
- "id": "src/utils/types.ts::IcValueEventDetail"
1444
- }
1445
- }
1446
- }
1447
- }];
1448
- }
1449
- static get methods() {
1450
- return {
1451
- "setFocus": {
1452
- "complexType": {
1453
- "signature": "() => Promise<void>",
1454
- "parameters": [],
1455
- "references": {
1456
- "Promise": {
1457
- "location": "global",
1458
- "id": "global::Promise"
1459
- }
1460
- },
1461
- "return": "Promise<void>"
1462
- },
1463
- "docs": {
1464
- "text": "Sets focus on the input box.",
1465
- "tags": []
1466
- }
1467
- }
1468
- };
1469
- }
1470
- static get elementRef() { return "el"; }
1471
- static get watchers() {
1472
- return [{
1473
- "propName": "loading",
1474
- "methodName": "loadingHandler"
1475
- }, {
1476
- "propName": "options",
1477
- "methodName": "watchOptionsHandler"
1478
- }, {
1479
- "propName": "debounce",
1480
- "methodName": "debounceChangedHandler"
1481
- }, {
1482
- "propName": "value",
1483
- "methodName": "valueChangedHandler"
1484
- }];
1485
- }
1487
+ };
1488
+ }
1489
+ static get elementRef() { return "el"; }
1490
+ static get watchers() {
1491
+ return [{
1492
+ "propName": "loading",
1493
+ "methodName": "loadingHandler"
1494
+ }, {
1495
+ "propName": "options",
1496
+ "methodName": "watchOptionsHandler"
1497
+ }, {
1498
+ "propName": "debounce",
1499
+ "methodName": "debounceChangedHandler"
1500
+ }, {
1501
+ "propName": "value",
1502
+ "methodName": "valueChangedHandler"
1503
+ }];
1504
+ }
1486
1505
  }
1487
1506
  //# sourceMappingURL=ic-select.js.map