@ukic/web-components 2.0.0-alpha.124 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (584) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-9d4961dc.js → helpers-60fda93f.js} +49 -21
  3. package/dist/cjs/helpers-60fda93f.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +4 -3
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -2
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  8. package/dist/cjs/{ic-breadcrumbs.cjs.entry.js → ic-breadcrumb-group.cjs.entry.js} +7 -6
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -0
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -2
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-button_3.cjs.entry.js +26 -30
  13. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-card.cjs.entry.js +3 -2
  15. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -2
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -2
  19. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-data-entity.cjs.entry.js +6 -6
  21. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-data-row.cjs.entry.js +6 -5
  23. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-divider.cjs.entry.js +3 -2
  25. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -11
  27. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-footer-link.cjs.entry.js +8 -7
  29. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-footer.cjs.entry.js +16 -15
  31. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-hero.cjs.entry.js +9 -8
  33. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +84 -29
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +5 -4
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-link.cjs.entry.js +11 -10
  39. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-navigation-button.cjs.entry.js +8 -7
  41. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -1
  43. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -2
  45. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-menu.cjs.entry.js +3 -2
  47. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-page-header.cjs.entry.js +6 -5
  49. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-radio-group.cjs.entry.js +3 -2
  51. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-option.cjs.entry.js +3 -2
  53. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +16 -19
  55. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-select.cjs.entry.js +219 -25
  57. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-side-navigation.cjs.entry.js +4 -3
  59. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-skeleton.cjs.entry.js +10 -10
  61. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-status-tag.cjs.entry.js +9 -8
  63. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-step.cjs.entry.js +2 -1
  65. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-stepper.cjs.entry.js +2 -1
  67. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-switch.cjs.entry.js +8 -7
  69. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-tab-context.cjs.entry.js +12 -11
  71. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-group.cjs.entry.js +146 -0
  73. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -0
  74. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -1
  75. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-tab.cjs.entry.js +5 -4
  77. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-text-field.cjs.entry.js +10 -10
  79. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-theme.cjs.entry.js +2 -1
  81. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-top-navigation.cjs.entry.js +7 -6
  83. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-typography.cjs.entry.js +4 -4
  85. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  86. package/dist/cjs/index-3ef30d9d.js +4 -4
  87. package/dist/cjs/loader.cjs.js +1 -1
  88. package/dist/cjs/types-3eb02246.js +16 -0
  89. package/dist/cjs/types-3eb02246.js.map +1 -0
  90. package/dist/collection/collection-manifest.json +2 -2
  91. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  92. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  93. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +1 -1
  94. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  95. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +1 -2
  96. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs-test-examples.js → ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js} +7 -7
  97. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.js.map +1 -0
  98. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.css → ic-breadcrumb-group/ic-breadcrumb-group.css} +1 -0
  99. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.js → ic-breadcrumb-group/ic-breadcrumb-group.js} +5 -5
  100. package/dist/{core/p-ed1d8712.entry.js.map → collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map} +1 -1
  101. package/dist/collection/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.js → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js} +6 -6
  102. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.js.map +1 -0
  103. package/dist/collection/components/ic-button/ic-button.css +5 -11
  104. package/dist/collection/components/ic-button/ic-button.js +22 -52
  105. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  106. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  107. package/dist/collection/components/ic-card/ic-card.js +1 -1
  108. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  109. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -1
  110. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -4
  111. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  112. package/dist/collection/components/ic-data-entity/ic-data-entity.css +2 -2
  113. package/dist/collection/components/ic-data-entity/ic-data-entity.js +8 -8
  114. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  115. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  116. package/dist/collection/components/ic-data-row/ic-data-row.js +6 -6
  117. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  118. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  119. package/dist/collection/components/ic-footer/ic-footer.js +14 -14
  120. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  121. package/dist/collection/components/ic-footer/ic-footer.types.js.map +1 -1
  122. package/dist/collection/components/ic-footer-link/ic-footer-link.css +2 -2
  123. package/dist/collection/components/ic-footer-link/ic-footer-link.js +5 -5
  124. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  125. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +8 -8
  126. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +10 -10
  127. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  128. package/dist/collection/components/ic-hero/ic-hero.css +17 -12
  129. package/dist/collection/components/ic-hero/ic-hero.js +9 -9
  130. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +6 -5
  132. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +6 -6
  133. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  134. package/dist/collection/components/ic-link/ic-link.css +1 -1
  135. package/dist/collection/components/ic-link/ic-link.js +9 -9
  136. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  137. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +2 -2
  138. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +26 -25
  139. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  140. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  141. package/dist/collection/components/ic-menu/ic-menu.css +5 -4
  142. package/dist/collection/components/ic-menu/ic-menu.js +82 -25
  143. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  144. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  145. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +7 -7
  146. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  147. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +1 -1
  148. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  149. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
  150. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  151. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -1
  152. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  153. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  154. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  155. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  156. package/dist/collection/components/ic-radio-option/ic-radio-option.css +2 -2
  157. package/dist/collection/components/ic-search-bar/ic-search-bar.css +7 -1
  158. package/dist/collection/components/ic-search-bar/ic-search-bar.js +13 -35
  159. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  160. package/dist/collection/components/ic-select/ic-select.css +70 -9
  161. package/dist/collection/components/ic-select/ic-select.js +341 -28
  162. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  163. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +1 -1
  164. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  165. package/dist/collection/components/ic-skeleton/ic-skeleton.css +4 -4
  166. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -14
  167. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  168. package/dist/collection/components/ic-skeleton/ic-skeleton.types.js.map +1 -1
  169. package/dist/collection/components/ic-status-tag/ic-status-tag.css +9 -9
  170. package/dist/collection/components/ic-status-tag/ic-status-tag.js +14 -14
  171. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  172. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  173. package/dist/collection/components/ic-switch/ic-switch.css +6 -6
  174. package/dist/collection/components/ic-switch/ic-switch.js +8 -8
  175. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  176. package/dist/collection/components/ic-tab/ic-tab.js +17 -11
  177. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  178. package/dist/collection/components/ic-tab-context/ic-tab-context.js +25 -19
  179. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  180. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +2 -2
  181. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
  182. package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/left-arrow.svg +0 -0
  183. package/dist/collection/components/{ic-tab-list → ic-tab-group}/assets/right-arrow.svg +0 -0
  184. package/dist/collection/components/{ic-tab-list/ic-tab-list.css → ic-tab-group/ic-tab-group.css} +2 -2
  185. package/dist/collection/components/{ic-tab-list/ic-tab-list.js → ic-tab-group/ic-tab-group.js} +37 -31
  186. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -0
  187. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -25
  188. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  189. package/dist/collection/components/ic-tooltip/ic-tooltip.css +4 -4
  190. package/dist/collection/components/ic-tooltip/ic-tooltip.js +6 -6
  191. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  192. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js +1 -1
  193. package/dist/collection/components/ic-tooltip/ic-tooltip.test.a11y.js.map +1 -1
  194. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  195. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  196. package/dist/collection/components/ic-typography/ic-typography.css +17 -10
  197. package/dist/collection/components/ic-typography/ic-typography.js +6 -6
  198. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  199. package/dist/collection/utils/helpers.js +39 -1
  200. package/dist/collection/utils/helpers.js.map +1 -1
  201. package/dist/collection/utils/types.js.map +1 -1
  202. package/dist/components/helpers.js +41 -14
  203. package/dist/components/helpers.js.map +1 -1
  204. package/dist/components/ic-alert.js +3 -2
  205. package/dist/components/ic-alert.js.map +1 -1
  206. package/dist/components/ic-back-to-top.js +1 -1
  207. package/dist/components/ic-back-to-top.js.map +1 -1
  208. package/dist/components/{ic-breadcrumbs.d.ts → ic-breadcrumb-group.d.ts} +4 -4
  209. package/dist/components/{ic-breadcrumbs.js → ic-breadcrumb-group.js} +10 -10
  210. package/dist/{cjs/ic-breadcrumbs.cjs.entry.js.map → components/ic-breadcrumb-group.js.map} +1 -1
  211. package/dist/components/ic-breadcrumb2.js +1 -1
  212. package/dist/components/ic-breadcrumb2.js.map +1 -1
  213. package/dist/components/ic-button2.js +19 -25
  214. package/dist/components/ic-button2.js.map +1 -1
  215. package/dist/components/ic-card.js +1 -1
  216. package/dist/components/ic-card.js.map +1 -1
  217. package/dist/components/ic-checkbox-group.js +2 -2
  218. package/dist/components/ic-checkbox-group.js.map +1 -1
  219. package/dist/components/ic-checkbox.js +1 -1
  220. package/dist/components/ic-checkbox.js.map +1 -1
  221. package/dist/components/ic-data-entity.js +7 -7
  222. package/dist/components/ic-data-entity.js.map +1 -1
  223. package/dist/components/ic-data-row.js +5 -5
  224. package/dist/components/ic-data-row.js.map +1 -1
  225. package/dist/components/ic-divider2.js +2 -1
  226. package/dist/components/ic-divider2.js.map +1 -1
  227. package/dist/components/ic-footer-link-group.js +12 -12
  228. package/dist/components/ic-footer-link-group.js.map +1 -1
  229. package/dist/components/ic-footer-link.js +7 -7
  230. package/dist/components/ic-footer-link.js.map +1 -1
  231. package/dist/components/ic-footer.js +14 -13
  232. package/dist/components/ic-footer.js.map +1 -1
  233. package/dist/components/ic-hero.js +9 -8
  234. package/dist/components/ic-hero.js.map +1 -1
  235. package/dist/components/ic-input-component-container2.js +7 -6
  236. package/dist/components/ic-input-component-container2.js.map +1 -1
  237. package/dist/components/ic-input-label2.js +1 -1
  238. package/dist/components/ic-input-validation2.js +2 -1
  239. package/dist/components/ic-input-validation2.js.map +1 -1
  240. package/dist/components/ic-link2.js +10 -9
  241. package/dist/components/ic-link2.js.map +1 -1
  242. package/dist/components/ic-loading-indicator2.js +8 -7
  243. package/dist/components/ic-loading-indicator2.js.map +1 -1
  244. package/dist/components/ic-menu2.js +78 -24
  245. package/dist/components/ic-menu2.js.map +1 -1
  246. package/dist/components/ic-navigation-button.js +9 -8
  247. package/dist/components/ic-navigation-button.js.map +1 -1
  248. package/dist/components/ic-navigation-group.js +1 -1
  249. package/dist/components/ic-navigation-item.js +2 -2
  250. package/dist/components/ic-navigation-item.js.map +1 -1
  251. package/dist/components/ic-navigation-menu2.js +2 -2
  252. package/dist/components/ic-navigation-menu2.js.map +1 -1
  253. package/dist/components/ic-page-header.js +5 -5
  254. package/dist/components/ic-page-header.js.map +1 -1
  255. package/dist/components/ic-radio-group.js +2 -2
  256. package/dist/components/ic-radio-group.js.map +1 -1
  257. package/dist/components/ic-radio-option.js +2 -2
  258. package/dist/components/ic-radio-option.js.map +1 -1
  259. package/dist/components/ic-search-bar.js +13 -17
  260. package/dist/components/ic-search-bar.js.map +1 -1
  261. package/dist/components/ic-select.js +229 -25
  262. package/dist/components/ic-select.js.map +1 -1
  263. package/dist/components/ic-side-navigation.js +3 -2
  264. package/dist/components/ic-side-navigation.js.map +1 -1
  265. package/dist/components/ic-skeleton.js +11 -11
  266. package/dist/components/ic-skeleton.js.map +1 -1
  267. package/dist/components/ic-status-tag.js +9 -9
  268. package/dist/components/ic-status-tag.js.map +1 -1
  269. package/dist/components/ic-switch.js +7 -7
  270. package/dist/components/ic-switch.js.map +1 -1
  271. package/dist/components/ic-tab-context.js +13 -12
  272. package/dist/components/ic-tab-context.js.map +1 -1
  273. package/dist/components/{ic-tab-list.d.ts → ic-tab-group.d.ts} +4 -4
  274. package/dist/components/{ic-tab-list.js → ic-tab-group.js} +31 -30
  275. package/dist/components/ic-tab-group.js.map +1 -0
  276. package/dist/components/ic-tab.js +5 -4
  277. package/dist/components/ic-tab.js.map +1 -1
  278. package/dist/components/ic-text-field2.js +6 -7
  279. package/dist/components/ic-text-field2.js.map +1 -1
  280. package/dist/components/ic-theme.js +1 -1
  281. package/dist/components/ic-tooltip2.js +5 -5
  282. package/dist/components/ic-tooltip2.js.map +1 -1
  283. package/dist/components/ic-top-navigation.js +6 -5
  284. package/dist/components/ic-top-navigation.js.map +1 -1
  285. package/dist/components/ic-typography2.js +5 -5
  286. package/dist/components/ic-typography2.js.map +1 -1
  287. package/dist/components/index.d.ts +2 -2
  288. package/dist/components/index.js +2 -2
  289. package/dist/components/types.js +16 -0
  290. package/dist/components/types.js.map +1 -0
  291. package/dist/core/core.css +1 -1
  292. package/dist/core/core.esm.js +1 -1
  293. package/dist/core/core.esm.js.map +1 -1
  294. package/dist/core/p-0522eb9a.entry.js +2 -0
  295. package/dist/core/p-0522eb9a.entry.js.map +1 -0
  296. package/dist/core/{p-b9253509.entry.js → p-0992a2ee.entry.js} +2 -2
  297. package/dist/core/p-0992a2ee.entry.js.map +1 -0
  298. package/dist/core/p-14153fa0.entry.js +2 -0
  299. package/dist/core/p-14153fa0.entry.js.map +1 -0
  300. package/dist/core/p-1bec5ccb.entry.js +2 -0
  301. package/dist/core/p-1bec5ccb.entry.js.map +1 -0
  302. package/dist/core/p-21025b10.entry.js +2 -0
  303. package/dist/core/p-21025b10.entry.js.map +1 -0
  304. package/dist/core/p-27528d04.entry.js +2 -0
  305. package/dist/core/{p-44355e34.entry.js.map → p-27528d04.entry.js.map} +1 -1
  306. package/dist/core/p-3013158d.entry.js +2 -0
  307. package/dist/core/{p-016fcce8.entry.js.map → p-3013158d.entry.js.map} +1 -1
  308. package/dist/core/p-36b25af4.entry.js +2 -0
  309. package/dist/core/p-36b25af4.entry.js.map +1 -0
  310. package/dist/core/p-3d6902a3.entry.js +2 -0
  311. package/dist/core/{p-0d4ac3c9.entry.js.map → p-3d6902a3.entry.js.map} +1 -1
  312. package/dist/core/p-400b34b9.entry.js +2 -0
  313. package/dist/core/{p-3b9d4007.entry.js.map → p-400b34b9.entry.js.map} +1 -1
  314. package/dist/core/p-438e327e.entry.js +2 -0
  315. package/dist/core/{p-bbe0b521.entry.js.map → p-438e327e.entry.js.map} +1 -1
  316. package/dist/core/p-4aa8c1e1.entry.js +2 -0
  317. package/dist/core/{p-836c93b1.entry.js.map → p-4aa8c1e1.entry.js.map} +1 -1
  318. package/dist/core/p-4af4a9e7.entry.js +2 -0
  319. package/dist/core/p-4af4a9e7.entry.js.map +1 -0
  320. package/dist/core/p-4c1e1d04.entry.js +2 -0
  321. package/dist/core/p-4c1e1d04.entry.js.map +1 -0
  322. package/dist/core/p-4e498c03.entry.js +2 -0
  323. package/dist/core/{p-5e0b88fa.entry.js.map → p-4e498c03.entry.js.map} +1 -1
  324. package/dist/core/p-530b7fe0.entry.js +2 -0
  325. package/dist/core/p-530b7fe0.entry.js.map +1 -0
  326. package/dist/core/p-59a917d4.entry.js +2 -0
  327. package/dist/core/p-59a917d4.entry.js.map +1 -0
  328. package/dist/core/p-605e4270.entry.js +2 -0
  329. package/dist/core/p-605e4270.entry.js.map +1 -0
  330. package/dist/core/p-682686a6.entry.js +2 -0
  331. package/dist/core/p-682686a6.entry.js.map +1 -0
  332. package/dist/core/p-6ac7757f.entry.js +2 -0
  333. package/dist/core/{p-85a32ec7.entry.js.map → p-6ac7757f.entry.js.map} +1 -1
  334. package/dist/core/p-6d0eaaeb.entry.js +2 -0
  335. package/dist/core/p-6d0eaaeb.entry.js.map +1 -0
  336. package/dist/core/p-6f57b13c.js +2 -0
  337. package/dist/core/p-6f57b13c.js.map +1 -0
  338. package/dist/core/p-71282f37.entry.js +2 -0
  339. package/dist/core/{p-012dc33c.entry.js.map → p-71282f37.entry.js.map} +1 -1
  340. package/dist/core/p-73d41c36.entry.js +2 -0
  341. package/dist/core/{p-8af2a343.entry.js.map → p-73d41c36.entry.js.map} +1 -1
  342. package/dist/core/p-8bcadf55.entry.js +2 -0
  343. package/dist/core/p-8bcadf55.entry.js.map +1 -0
  344. package/dist/core/p-98e9eccc.entry.js +2 -0
  345. package/dist/core/p-98e9eccc.entry.js.map +1 -0
  346. package/dist/core/p-994111b7.entry.js +2 -0
  347. package/dist/core/{p-bdd2f166.entry.js.map → p-994111b7.entry.js.map} +1 -1
  348. package/dist/core/p-9bf3f413.entry.js +2 -0
  349. package/dist/core/p-9bf3f413.entry.js.map +1 -0
  350. package/dist/core/p-a301cf67.entry.js +2 -0
  351. package/dist/core/{p-7152788d.entry.js.map → p-a301cf67.entry.js.map} +1 -1
  352. package/dist/core/p-aebc7562.entry.js +2 -0
  353. package/dist/core/{p-85436343.entry.js.map → p-aebc7562.entry.js.map} +1 -1
  354. package/dist/core/p-be583c9b.entry.js +2 -0
  355. package/dist/core/{p-a968ff18.entry.js.map → p-be583c9b.entry.js.map} +1 -1
  356. package/dist/core/p-c15bb762.js +2 -0
  357. package/dist/core/p-c15bb762.js.map +1 -0
  358. package/dist/core/p-c817e46b.entry.js +2 -0
  359. package/dist/core/p-c817e46b.entry.js.map +1 -0
  360. package/dist/core/p-c8772106.entry.js +2 -0
  361. package/dist/core/p-c8772106.entry.js.map +1 -0
  362. package/dist/core/p-c96985bc.entry.js +2 -0
  363. package/dist/core/{p-d198ae1f.entry.js.map → p-c96985bc.entry.js.map} +1 -1
  364. package/dist/core/p-d4c6f4fb.entry.js +2 -0
  365. package/dist/core/{p-44af91df.entry.js.map → p-d4c6f4fb.entry.js.map} +1 -1
  366. package/dist/core/p-d78bded9.entry.js +2 -0
  367. package/dist/core/p-d78bded9.entry.js.map +1 -0
  368. package/dist/core/p-d8973266.entry.js +2 -0
  369. package/dist/core/p-d8973266.entry.js.map +1 -0
  370. package/dist/core/p-d8b6271d.entry.js +2 -0
  371. package/dist/core/{p-7f6ba60a.entry.js.map → p-d8b6271d.entry.js.map} +1 -1
  372. package/dist/core/p-da6f09cd.entry.js +2 -0
  373. package/dist/core/p-da6f09cd.entry.js.map +1 -0
  374. package/dist/core/{p-5316e421.entry.js → p-eb33ece2.entry.js} +2 -2
  375. package/dist/core/{p-5316e421.entry.js.map → p-eb33ece2.entry.js.map} +1 -1
  376. package/dist/core/p-f37a732a.entry.js +2 -0
  377. package/dist/core/{p-5d3dd182.entry.js.map → p-f37a732a.entry.js.map} +1 -1
  378. package/dist/core/p-fca84a85.entry.js +2 -0
  379. package/dist/core/p-fca84a85.entry.js.map +1 -0
  380. package/dist/esm/core.js +1 -1
  381. package/dist/esm/{helpers-db00eae1.js → helpers-8b43d0d4.js} +42 -15
  382. package/dist/esm/helpers-8b43d0d4.js.map +1 -0
  383. package/dist/esm/ic-alert.entry.js +3 -2
  384. package/dist/esm/ic-alert.entry.js.map +1 -1
  385. package/dist/esm/ic-back-to-top.entry.js +3 -2
  386. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  387. package/dist/esm/{ic-breadcrumbs.entry.js → ic-breadcrumb-group.entry.js} +7 -6
  388. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -0
  389. package/dist/esm/ic-breadcrumb.entry.js +3 -2
  390. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  391. package/dist/esm/ic-button_3.entry.js +25 -29
  392. package/dist/esm/ic-button_3.entry.js.map +1 -1
  393. package/dist/esm/ic-card.entry.js +3 -2
  394. package/dist/esm/ic-card.entry.js.map +1 -1
  395. package/dist/esm/ic-checkbox-group.entry.js +3 -2
  396. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  397. package/dist/esm/ic-checkbox.entry.js +3 -2
  398. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  399. package/dist/esm/ic-data-entity.entry.js +6 -6
  400. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  401. package/dist/esm/ic-data-row.entry.js +6 -5
  402. package/dist/esm/ic-data-row.entry.js.map +1 -1
  403. package/dist/esm/ic-divider.entry.js +2 -1
  404. package/dist/esm/ic-divider.entry.js.map +1 -1
  405. package/dist/esm/ic-footer-link-group.entry.js +12 -11
  406. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  407. package/dist/esm/ic-footer-link.entry.js +8 -7
  408. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  409. package/dist/esm/ic-footer.entry.js +14 -13
  410. package/dist/esm/ic-footer.entry.js.map +1 -1
  411. package/dist/esm/ic-hero.entry.js +8 -7
  412. package/dist/esm/ic-hero.entry.js.map +1 -1
  413. package/dist/esm/ic-input-component-container_3.entry.js +83 -28
  414. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  415. package/dist/esm/ic-input-label_2.entry.js +2 -1
  416. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  417. package/dist/esm/ic-link.entry.js +9 -8
  418. package/dist/esm/ic-link.entry.js.map +1 -1
  419. package/dist/esm/ic-navigation-button.entry.js +8 -7
  420. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  421. package/dist/esm/ic-navigation-group.entry.js +2 -1
  422. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  423. package/dist/esm/ic-navigation-item.entry.js +3 -2
  424. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  425. package/dist/esm/ic-navigation-menu.entry.js +3 -2
  426. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  427. package/dist/esm/ic-page-header.entry.js +6 -5
  428. package/dist/esm/ic-page-header.entry.js.map +1 -1
  429. package/dist/esm/ic-radio-group.entry.js +3 -2
  430. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  431. package/dist/esm/ic-radio-option.entry.js +3 -2
  432. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  433. package/dist/esm/ic-search-bar.entry.js +12 -15
  434. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  435. package/dist/esm/ic-select.entry.js +218 -24
  436. package/dist/esm/ic-select.entry.js.map +1 -1
  437. package/dist/esm/ic-side-navigation.entry.js +3 -2
  438. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  439. package/dist/esm/ic-skeleton.entry.js +10 -10
  440. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  441. package/dist/esm/ic-status-tag.entry.js +9 -8
  442. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  443. package/dist/esm/ic-step.entry.js +2 -1
  444. package/dist/esm/ic-step.entry.js.map +1 -1
  445. package/dist/esm/ic-stepper.entry.js +2 -1
  446. package/dist/esm/ic-stepper.entry.js.map +1 -1
  447. package/dist/esm/ic-switch.entry.js +8 -7
  448. package/dist/esm/ic-switch.entry.js.map +1 -1
  449. package/dist/esm/ic-tab-context.entry.js +12 -11
  450. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  451. package/dist/esm/ic-tab-group.entry.js +142 -0
  452. package/dist/esm/ic-tab-group.entry.js.map +1 -0
  453. package/dist/esm/ic-tab-panel.entry.js +2 -1
  454. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  455. package/dist/esm/ic-tab.entry.js +5 -4
  456. package/dist/esm/ic-tab.entry.js.map +1 -1
  457. package/dist/esm/ic-text-field.entry.js +5 -5
  458. package/dist/esm/ic-text-field.entry.js.map +1 -1
  459. package/dist/esm/ic-theme.entry.js +2 -1
  460. package/dist/esm/ic-theme.entry.js.map +1 -1
  461. package/dist/esm/ic-top-navigation.entry.js +6 -5
  462. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  463. package/dist/esm/ic-typography.entry.js +4 -4
  464. package/dist/esm/ic-typography.entry.js.map +1 -1
  465. package/dist/esm/index-1500de1f.js +4 -4
  466. package/dist/esm/loader.js +1 -1
  467. package/dist/esm/types-dd515332.js +16 -0
  468. package/dist/esm/types-dd515332.js.map +1 -0
  469. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group-test-examples.d.ts +2 -0
  470. package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.d.ts} +2 -2
  471. package/dist/types/components/{ic-breadcrumbs/ic-breadcrumbs.test.a11y.d.ts → ic-breadcrumb-group/ic-breadcrumb-group.test.a11y.d.ts} +0 -0
  472. package/dist/types/components/ic-button/ic-button.d.ts +5 -11
  473. package/dist/types/components/ic-button/ic-button.types.d.ts +1 -2
  474. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +2 -2
  475. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  476. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  477. package/dist/types/components/ic-footer/ic-footer.d.ts +2 -2
  478. package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
  479. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +1 -1
  480. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +2 -2
  481. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  482. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -2
  483. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  484. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +6 -5
  485. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +0 -1
  486. package/dist/types/components/ic-menu/ic-menu.d.ts +4 -2
  487. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -0
  488. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  489. package/dist/types/components/ic-page-header/ic-page-header.d.ts +2 -2
  490. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +2 -2
  491. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +2 -6
  492. package/dist/types/components/ic-select/ic-select.d.ts +46 -4
  493. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  494. package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
  495. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +3 -3
  496. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +1 -1
  497. package/dist/types/components/ic-switch/ic-switch.d.ts +2 -2
  498. package/dist/types/components/ic-tab/ic-tab.d.ts +3 -2
  499. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +4 -4
  500. package/dist/types/components/{ic-tab-list/ic-tab-list.d.ts → ic-tab-group/ic-tab-group.d.ts} +6 -5
  501. package/dist/types/components/ic-text-field/ic-text-field.d.ts +2 -6
  502. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +2 -2
  503. package/dist/types/components/ic-typography/ic-typography.d.ts +2 -2
  504. package/dist/types/components.d.ts +239 -215
  505. package/dist/types/utils/helpers.d.ts +11 -2
  506. package/dist/types/utils/types.d.ts +2 -0
  507. package/hydrate/index.js +558 -277
  508. package/package.json +4 -4
  509. package/dist/cjs/helpers-9d4961dc.js.map +0 -1
  510. package/dist/cjs/ic-tab-list.cjs.entry.js +0 -145
  511. package/dist/cjs/ic-tab-list.cjs.entry.js.map +0 -1
  512. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.js.map +0 -1
  513. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.js.map +0 -1
  514. package/dist/collection/components/ic-breadcrumbs/ic-breadcrumbs.test.a11y.js.map +0 -1
  515. package/dist/collection/components/ic-tab-list/ic-tab-list.js.map +0 -1
  516. package/dist/components/ic-breadcrumbs.js.map +0 -1
  517. package/dist/components/ic-tab-list.js.map +0 -1
  518. package/dist/core/p-012dc33c.entry.js +0 -2
  519. package/dist/core/p-016fcce8.entry.js +0 -2
  520. package/dist/core/p-0d4ac3c9.entry.js +0 -2
  521. package/dist/core/p-13854b65.entry.js +0 -2
  522. package/dist/core/p-13854b65.entry.js.map +0 -1
  523. package/dist/core/p-16a81e12.entry.js +0 -2
  524. package/dist/core/p-16a81e12.entry.js.map +0 -1
  525. package/dist/core/p-17420c90.entry.js +0 -2
  526. package/dist/core/p-17420c90.entry.js.map +0 -1
  527. package/dist/core/p-17f3a2bd.entry.js +0 -2
  528. package/dist/core/p-17f3a2bd.entry.js.map +0 -1
  529. package/dist/core/p-22eb7fc8.entry.js +0 -2
  530. package/dist/core/p-22eb7fc8.entry.js.map +0 -1
  531. package/dist/core/p-263018da.entry.js +0 -2
  532. package/dist/core/p-263018da.entry.js.map +0 -1
  533. package/dist/core/p-3b9d4007.entry.js +0 -2
  534. package/dist/core/p-44355e34.entry.js +0 -2
  535. package/dist/core/p-44af91df.entry.js +0 -2
  536. package/dist/core/p-4b1b46f5.entry.js +0 -2
  537. package/dist/core/p-4b1b46f5.entry.js.map +0 -1
  538. package/dist/core/p-4cf60a22.entry.js +0 -2
  539. package/dist/core/p-4cf60a22.entry.js.map +0 -1
  540. package/dist/core/p-4fba6cae.entry.js +0 -2
  541. package/dist/core/p-4fba6cae.entry.js.map +0 -1
  542. package/dist/core/p-5d3dd182.entry.js +0 -2
  543. package/dist/core/p-5e0b88fa.entry.js +0 -2
  544. package/dist/core/p-6238313f.entry.js +0 -2
  545. package/dist/core/p-6238313f.entry.js.map +0 -1
  546. package/dist/core/p-7152788d.entry.js +0 -2
  547. package/dist/core/p-7ed79493.entry.js +0 -2
  548. package/dist/core/p-7ed79493.entry.js.map +0 -1
  549. package/dist/core/p-7f6ba60a.entry.js +0 -2
  550. package/dist/core/p-836c93b1.entry.js +0 -2
  551. package/dist/core/p-85436343.entry.js +0 -2
  552. package/dist/core/p-856d9516.entry.js +0 -2
  553. package/dist/core/p-856d9516.entry.js.map +0 -1
  554. package/dist/core/p-85a32ec7.entry.js +0 -2
  555. package/dist/core/p-8a677ff1.entry.js +0 -2
  556. package/dist/core/p-8a677ff1.entry.js.map +0 -1
  557. package/dist/core/p-8af2a343.entry.js +0 -2
  558. package/dist/core/p-a3df537f.entry.js +0 -2
  559. package/dist/core/p-a3df537f.entry.js.map +0 -1
  560. package/dist/core/p-a968ff18.entry.js +0 -2
  561. package/dist/core/p-b858dc5a.entry.js +0 -2
  562. package/dist/core/p-b858dc5a.entry.js.map +0 -1
  563. package/dist/core/p-b9253509.entry.js.map +0 -1
  564. package/dist/core/p-bbe0b521.entry.js +0 -2
  565. package/dist/core/p-bdd2f166.entry.js +0 -2
  566. package/dist/core/p-bddb885a.entry.js +0 -2
  567. package/dist/core/p-bddb885a.entry.js.map +0 -1
  568. package/dist/core/p-c09e9589.entry.js +0 -2
  569. package/dist/core/p-c09e9589.entry.js.map +0 -1
  570. package/dist/core/p-d10ce0a7.entry.js +0 -2
  571. package/dist/core/p-d10ce0a7.entry.js.map +0 -1
  572. package/dist/core/p-d198ae1f.entry.js +0 -2
  573. package/dist/core/p-dc79694a.entry.js +0 -2
  574. package/dist/core/p-dc79694a.entry.js.map +0 -1
  575. package/dist/core/p-e5a09372.js +0 -2
  576. package/dist/core/p-e5a09372.js.map +0 -1
  577. package/dist/core/p-ea93611e.entry.js +0 -2
  578. package/dist/core/p-ea93611e.entry.js.map +0 -1
  579. package/dist/core/p-ed1d8712.entry.js +0 -2
  580. package/dist/esm/helpers-db00eae1.js.map +0 -1
  581. package/dist/esm/ic-breadcrumbs.entry.js.map +0 -1
  582. package/dist/esm/ic-tab-list.entry.js +0 -141
  583. package/dist/esm/ic-tab-list.entry.js.map +0 -1
  584. package/dist/types/components/ic-breadcrumbs/ic-breadcrumbs-test-examples.d.ts +0 -2
@@ -1,5 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { u as getLabelFromValue, k as inheritAttributes, a as onComponentRequiredPropUndefined, r as renderHiddenInput, d as getInputDescribedByText, h as hasValidationStatus, v as isMobileOrTablet, I as IcThemeForegroundEnum, l as IC_INHERITED_ARIA, w as IcInformationStatus } from './helpers.js';
2
+ import { u as getLabelFromValue, q as getFilteredMenuOptions, j as inheritAttributes, a as onComponentRequiredPropUndefined, r as renderHiddenInput, d as getInputDescribedByText, h as hasValidationStatus, v as isMobileOrTablet, k as IC_INHERITED_ARIA } from './helpers.js';
3
+ import { I as IcThemeForegroundEnum, a as IcInformationStatus } from './types.js';
3
4
  import { d as defineCustomElement$a } from './ic-button2.js';
4
5
  import { d as defineCustomElement$9 } from './ic-input-component-container2.js';
5
6
  import { d as defineCustomElement$8 } from './ic-input-container2.js';
@@ -20,7 +21,7 @@ const Clear = `<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www
20
21
  </svg>
21
22
  `;
22
23
 
23
- const icSelectCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible;transition:visibility 0s 149ms}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 6px center;background-image:url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-input{width:100%;height:100%;padding:0 6px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:none}:host(:not([disabled])) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}:host([disabled]) .select-input{pointer-events:none}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--expand-icon-hover, var(--ic-architectural-400))}:host([disabled]) .expand-icon,:host([disabled]) .expand-icon>svg>path{color:var(--ic-architectural-200)}.expand-icon-open{transform:rotateX(180deg);color:var(--ic-action-dark)}.expand-icon-filled{padding-left:var(--ic-space-xxs);color:var(--ic-action-dark)}.placeholder{color:var(--ic-color-tertiary-text)}:host([disabled]) .value-text{color:var(--ic-architectural-200)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:var(--ic-space-xs)}.divider{width:1px;background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:1px}:host :focus-within .clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 2px var(--ic-focus-glow);border-radius:4px}.clear-button:focus *{fill:white}";
24
+ const icSelectCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 6px center;background-image:url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center}.select-input{width:100%;height:100%;padding:0 6px;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:none}:host(:not([disabled])) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}:host([disabled]) .select-input{pointer-events:none}:host([searchable]) .select-input{cursor:auto}.searchable-select-container{align-items:center;display:flex;width:100%}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xs);color:var(--expand-icon-hover, var(--ic-architectural-400))}:host([disabled]) .expand-icon,:host([disabled]) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host([searchable]) .expand-icon{padding-left:var(--ic-space-xxs);height:36px}:host([searchable]) .expand-icon>svg{height:36px;padding:0 6px}:host([searchable]:not([disabled])) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-filled{color:var(--ic-action-dark)}.expand-icon-open,:host([searchable]) .expand-icon-open{transform:rotateX(180deg)}:host([disabled]) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex;gap:var(--ic-space-xxs);padding-left:38px}:host([small]) .clear-button-container{padding-left:30px}.divider{width:1px;background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:1px;height:var(--ic-space-lg)}:host([small]) .divider{height:var(--ic-space-md)}.clear-button{position:absolute;right:44px;border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 2px var(--ic-focus-glow);border-radius:4px}.clear-button:focus *{fill:white}.searchable-select-results-status{border:0;clip:rect(0, 0, 0, 0, 0);height:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}";
24
25
 
25
26
  let inputIds = 0;
26
27
  const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
@@ -34,6 +35,23 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
34
35
  this.inputId = `ic-select-input-${inputIds++}`;
35
36
  this.menuId = `${this.inputId}-menu`;
36
37
  this.inheritedAttributes = {};
38
+ this.isMenuEnabled = () => {
39
+ return (((this.searchableSelectInputValue === null ||
40
+ this.searchableSelectInputValue === "") &&
41
+ this.charactersUntilSuggestions === 0) ||
42
+ (this.searchableSelectInputValue &&
43
+ this.searchableSelectInputValue.length >=
44
+ this.charactersUntilSuggestions));
45
+ };
46
+ this.setOptionsValuesFromLabels = () => {
47
+ if (this.options.length > 0) {
48
+ this.options.map((option) => {
49
+ if (!option.value) {
50
+ option.value = option.label;
51
+ }
52
+ });
53
+ }
54
+ };
37
55
  this.setTextColor = () => {
38
56
  if (this.nativeSelectElement.selectedIndex === 0) {
39
57
  this.nativeSelectElement.className = "placeholder";
@@ -42,18 +60,53 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
42
60
  this.nativeSelectElement.className = "select-option-selected";
43
61
  }
44
62
  };
63
+ this.setMenuChange = (open) => {
64
+ if (this.open !== open) {
65
+ this.open = open;
66
+ }
67
+ };
45
68
  this.getLabelFromValue = (value) => {
46
69
  return getLabelFromValue(value, this.options);
47
70
  };
71
+ this.getValueFromLabel = (label) => {
72
+ var _a;
73
+ const value = (_a = this.options.find((option) => option.label === label)) === null || _a === void 0 ? void 0 : _a.value;
74
+ return value;
75
+ };
76
+ this.getFilteredChildMenuOptions = (option) => {
77
+ let children = option.children;
78
+ children = getFilteredMenuOptions(option.children, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
79
+ const newOption = Object.assign({}, option);
80
+ newOption.children = children;
81
+ return newOption;
82
+ };
48
83
  this.handleNativeSelectChange = () => {
49
84
  this.icChange.emit({ value: this.nativeSelectElement.value });
50
85
  this.setTextColor();
51
86
  };
52
87
  this.handleCustomSelectChange = (event) => {
88
+ if (this.searchable && event.detail.label === this.emptyOptionListText) {
89
+ this.searchableSelectElement.focus();
90
+ return;
91
+ }
92
+ if (this.searchable) {
93
+ this.searchableSelectInputValue = this.getLabelFromValue(event.detail.value);
94
+ }
95
+ this.ariaActiveDescendant = event.detail.optionId;
53
96
  this.icChange.emit({ value: event.detail.value });
54
97
  };
55
98
  this.handleMenuChange = (event) => {
56
99
  this.open = event.detail.open;
100
+ this.searchable && this.handleFocusIndicatorDisplay();
101
+ };
102
+ this.handleFocusIndicatorDisplay = () => {
103
+ const focusIndicator = this.host.shadowRoot.querySelector(".focus-indicator");
104
+ if (this.open) {
105
+ focusIndicator.classList.add("focus-indicator-enabled");
106
+ }
107
+ else {
108
+ focusIndicator.classList.remove("focus-indicator-enabled");
109
+ }
57
110
  };
58
111
  this.handleMouseDown = (event) => {
59
112
  if (!this.open) {
@@ -61,17 +114,52 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
61
114
  }
62
115
  };
63
116
  this.handleClick = (event) => {
64
- if (event.detail !== 0) {
117
+ this.noOptions = null;
118
+ this.menu.options = this.options;
119
+ if (event.detail !== 0 && this.isMenuEnabled()) {
65
120
  this.menu.handleClickOpen();
66
121
  }
67
122
  };
123
+ this.handleExpandIconMouseDown = (event) => {
124
+ if (!this.disabled) {
125
+ event.preventDefault();
126
+ this.searchableSelectElement.focus();
127
+ this.handleClick(event);
128
+ }
129
+ };
68
130
  this.handleClear = (event) => {
69
131
  event.stopPropagation();
132
+ this.noOptions = null;
70
133
  this.icChange.emit({ value: null });
71
- this.customSelectElement.focus();
134
+ if (this.searchable) {
135
+ this.searchableSelectElement.value = null;
136
+ this.searchableSelectInputValue = null;
137
+ this.menu.options = this.options;
138
+ this.searchableSelectElement.focus();
139
+ if (!this.isMenuEnabled()) {
140
+ this.setMenuChange(false);
141
+ }
142
+ }
143
+ else {
144
+ this.customSelectElement.focus();
145
+ }
72
146
  };
73
147
  this.handleKeyDown = (event) => {
74
- this.menu.handleKeyboardOpen(event);
148
+ event.cancelBubble = true;
149
+ if (!this.open) {
150
+ this.noOptions = null;
151
+ this.menu.options = this.options;
152
+ }
153
+ if (this.open && event.key === "Enter") {
154
+ this.setMenuChange(false);
155
+ }
156
+ else {
157
+ if (!((event.key === "ArrowDown" || event.key === "ArrowUp") &&
158
+ this.noOptions !== null) &&
159
+ this.isMenuEnabled()) {
160
+ this.menu.handleKeyboardOpen(event);
161
+ }
162
+ }
75
163
  };
76
164
  this.handleClearButtonFocus = () => {
77
165
  this.clearButtonFocused = true;
@@ -79,10 +167,82 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
79
167
  this.handleClearButtonBlur = () => {
80
168
  this.clearButtonFocused = false;
81
169
  };
170
+ this.handleSearchableSelectInput = (event) => {
171
+ this.searchableSelectInputValue = event.target.value;
172
+ if (this.getValueFromLabel(this.searchableSelectInputValue) === undefined) {
173
+ this.icChange.emit({ value: null });
174
+ }
175
+ if (this.isMenuEnabled()) {
176
+ this.setMenuChange(true);
177
+ }
178
+ else {
179
+ this.setMenuChange(false);
180
+ }
181
+ const options = [...this.options];
182
+ let isGrouped = false;
183
+ let newFilteredOptions = [];
184
+ options.map((option) => {
185
+ if (option.children)
186
+ isGrouped = true;
187
+ });
188
+ const menuOptionsFiltered = getFilteredMenuOptions(options, this.includeDescriptionsInSearch, this.searchableSelectInputValue, this.searchMatchPosition);
189
+ if (!isGrouped) {
190
+ newFilteredOptions = menuOptionsFiltered;
191
+ }
192
+ else {
193
+ options.map((option) => {
194
+ if (this.includeGroupTitlesInSearch) {
195
+ if (menuOptionsFiltered.indexOf(option) !== -1) {
196
+ newFilteredOptions.push(option);
197
+ }
198
+ else {
199
+ newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
200
+ }
201
+ }
202
+ else {
203
+ newFilteredOptions.push(this.getFilteredChildMenuOptions(option));
204
+ }
205
+ });
206
+ }
207
+ let noChildOptionsWhenFiltered = false;
208
+ if (isGrouped) {
209
+ noChildOptionsWhenFiltered = true;
210
+ newFilteredOptions.map((option) => {
211
+ if (option.children.length > 0) {
212
+ noChildOptionsWhenFiltered = false;
213
+ }
214
+ });
215
+ }
216
+ const noOptions = [{ label: this.emptyOptionListText, value: "" }];
217
+ if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {
218
+ this.noOptions = null;
219
+ this.filteredOptions = newFilteredOptions;
220
+ }
221
+ else {
222
+ this.noOptions = noOptions;
223
+ this.filteredOptions = this.noOptions;
224
+ }
225
+ this.debounceAriaLiveUpdate();
226
+ };
227
+ this.updateSearchableSelectResultAriaLive = () => {
228
+ const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(".searchable-select-results-status");
229
+ if (this.noOptions !== null) {
230
+ searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;
231
+ }
232
+ else {
233
+ searchableSelectResultsStatusEl.innerText = "";
234
+ }
235
+ };
82
236
  this.onFocus = () => {
83
237
  this.icFocus.emit();
84
238
  };
85
- this.onBlur = () => {
239
+ this.onBlur = (event) => {
240
+ if (this.searchable &&
241
+ event.relatedTarget !== this.menu &&
242
+ !(this.clearButton && event.relatedTarget === this.clearButton)) {
243
+ this.setMenuChange(false);
244
+ this.handleFocusIndicatorDisplay();
245
+ }
86
246
  this.icBlur.emit();
87
247
  };
88
248
  this.label = undefined;
@@ -93,15 +253,29 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
93
253
  this.readonly = false;
94
254
  this.placeholder = "Select an option";
95
255
  this.helperText = "";
96
- this.dense = false;
256
+ this.small = false;
97
257
  this.fullWidth = false;
98
258
  this.validationStatus = "";
99
259
  this.validationText = "";
100
260
  this.value = undefined;
101
261
  this.name = this.inputId;
102
262
  this.showClearButton = false;
263
+ this.searchable = false;
264
+ this.includeDescriptionsInSearch = false;
265
+ this.includeGroupTitlesInSearch = false;
266
+ this.searchMatchPosition = "anywhere";
267
+ this.charactersUntilSuggestions = 0;
268
+ this.emptyOptionListText = "No results found";
103
269
  this.open = false;
104
270
  this.clearButtonFocused = false;
271
+ this.searchableSelectInputValue = null;
272
+ this.filteredOptions = this.options;
273
+ this.ariaActiveDescendant = undefined;
274
+ this.noOptions = null;
275
+ }
276
+ watchOptionsHandler() {
277
+ this.setOptionsValuesFromLabels();
278
+ this.filteredOptions = this.options;
105
279
  }
106
280
  /**
107
281
  * Sets focus on the input box.
@@ -113,6 +287,15 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
113
287
  else if (this.customSelectElement) {
114
288
  this.customSelectElement.focus();
115
289
  }
290
+ else if (this.searchableSelectElement) {
291
+ this.searchableSelectElement.focus();
292
+ }
293
+ }
294
+ debounceAriaLiveUpdate() {
295
+ clearTimeout(this.debounce);
296
+ window.setTimeout(() => {
297
+ this.updateSearchableSelectResultAriaLive();
298
+ }, 800);
116
299
  }
117
300
  componentWillLoad() {
118
301
  this.inheritedAttributes = inheritAttributes(this.host, [
@@ -120,13 +303,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
120
303
  "tabindex",
121
304
  "title",
122
305
  ]);
123
- if (this.options.length > 0) {
124
- this.options.map((option) => {
125
- if (!option.value) {
126
- option.value = option.label;
127
- }
128
- });
129
- }
306
+ this.setOptionsValuesFromLabels();
130
307
  }
131
308
  componentDidRender() {
132
309
  if (this.nativeSelectElement && !this.disabled) {
@@ -137,34 +314,51 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
137
314
  onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Select");
138
315
  }
139
316
  render() {
140
- const { dense, disabled, fullWidth, helperText, hideLabel, host, inputId, label, name, open, options, menuId, placeholder, readonly, required, showClearButton, validationStatus, validationText, value, } = this;
317
+ const { small, disabled, fullWidth, helperText, hideLabel, label, menuId, name, options, placeholder, readonly, required, searchable, showClearButton, validationStatus, validationText, value, } = this;
141
318
  renderHiddenInput(true, this.host, name, value, disabled);
142
319
  const invalid = validationStatus === IcInformationStatus.Error ? "true" : "false";
143
- const describedBy = getInputDescribedByText(inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
144
- return (h(Host, null, h("ic-input-container", { readonly: readonly }, !hideLabel && (h("ic-input-label", { for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly })), h("ic-input-component-container", { ref: (el) => (this.anchorEl = el), class: { "menu-open": open }, dense: dense, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(value)))) : isMobileOrTablet() ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !this.showClearButton }, placeholder), options.map((option) => {
320
+ const describedBy = getInputDescribedByText(this.inputId, helperText !== "", hasValidationStatus(this.validationStatus, this.disabled)).trim();
321
+ return (h(Host, null, 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, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, readonly ? (h("ic-typography", null, h("p", null, this.getLabelFromValue(value)))) : 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 }, this.inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => {
145
322
  if (option.children) {
146
323
  return (h("optgroup", { label: option.label }, option.children.map((option) => (h("option", { value: option.value, disabled: option.disabled, selected: option.value === value }, option.label)))));
147
324
  }
148
325
  else {
149
326
  return (h("option", { value: option.value, disabled: option.disabled, selected: option.value === value }, option.label));
150
327
  }
151
- }))) : (h("button", { class: "select-input", ref: (el) => (this.customSelectElement = el), id: inputId, "aria-label": `${label}, ${this.getLabelFromValue(value) || placeholder}${required ? ", required" : ""}`, "aria-describedby": describedBy, "aria-invalid": invalid, "aria-haspopup": "listbox", "aria-expanded": 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: {
328
+ }))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: "select-input", role: "combobox", "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 }), this.searchableSelectInputValue &&
329
+ (showClearButton || searchable) && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": this.searchableSelectInputValue && value === null
330
+ ? "Clear input"
331
+ : "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: small ? "small" : "default", variant: "icon", appearance: this.clearButtonFocused
332
+ ? IcThemeForegroundEnum.Light
333
+ : IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { onMouseDown: this.handleExpandIconMouseDown, class: {
334
+ "expand-icon": true,
335
+ "expand-icon-open": this.open,
336
+ "expand-icon-filled": !(value == null || value === ""),
337
+ "expand-icon-disabled": !this.isMenuEnabled(),
338
+ }, 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(value) || 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: {
152
339
  "value-text": true,
153
340
  placeholder: this.getLabelFromValue(value) === undefined,
154
- } }, h("p", null, this.getLabelFromValue(value) || placeholder)), h("div", { class: "select-input-end" }, value && showClearButton && (h("div", { class: "clear-button-container" }, 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: dense ? "dense" : "default", variant: "icon", buttonStyle: this.clearButtonFocused
155
- ? IcThemeForegroundEnum.Light
156
- : IcThemeForegroundEnum.Dark }), h("div", { class: "divider" }))), h("span", { class: {
341
+ } }, h("p", null, this.getLabelFromValue(value) || placeholder)), h("div", { class: "select-input-end" }, value && showClearButton && h("div", { class: "divider" }), h("span", { class: {
157
342
  "expand-icon": true,
158
343
  "expand-icon-open": this.open,
159
- "expand-icon-filled": !(this.value == null || this.value === ""),
160
- }, innerHTML: Expand, "aria-hidden": "true" }))))), !isMobileOrTablet() && (h("ic-menu", { ref: (el) => (this.menu = el), inputEl: this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, dense: dense, menuId: menuId, open: open, options: options, value: value, fullWidth: fullWidth, onMenuChange: this.handleMenuChange, onOptionSelect: this.handleCustomSelectChange, parentEl: host })), h("ic-input-validation", { class: { "menu-open": open }, ariaLiveMode: "polite", status: hasValidationStatus(this.validationStatus, this.disabled) ===
344
+ "expand-icon-filled": !(value == null || value === ""),
345
+ }, innerHTML: Expand, "aria-hidden": "true" }))), value && 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: small ? "small" : "default", variant: "icon", appearance: this.clearButtonFocused
346
+ ? IcThemeForegroundEnum.Light
347
+ : IcThemeForegroundEnum.Dark }))))), !isMobileOrTablet() && (h("ic-menu", { class: {
348
+ "no-results": this.noOptions !== null,
349
+ }, ref: (el) => (this.menu = el), inputEl: searchable
350
+ ? this.searchableSelectElement
351
+ : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, small: small, menuId: menuId, open: this.open, options: searchable ? this.filteredOptions : options, value: value, fullWidth: fullWidth, onMenuChange: this.handleMenuChange, onOptionSelect: this.handleCustomSelectChange, parentEl: this.host })), h("ic-input-validation", { class: { "menu-open": this.open }, ariaLiveMode: "polite", status: hasValidationStatus(this.validationStatus, this.disabled) ===
161
352
  false
162
353
  ? ""
163
354
  : validationStatus, message: hasValidationStatus(this.validationStatus, this.disabled)
164
355
  ? validationText
165
- : "", for: inputId }))));
356
+ : "", for: this.inputId }))));
166
357
  }
167
358
  get host() { return this; }
359
+ static get watchers() { return {
360
+ "options": ["watchOptionsHandler"]
361
+ }; }
168
362
  static get style() { return icSelectCss; }
169
363
  }, [1, "ic-select", {
170
364
  "label": [1],
@@ -175,15 +369,25 @@ const Select = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
175
369
  "readonly": [4],
176
370
  "placeholder": [1],
177
371
  "helperText": [1, "helper-text"],
178
- "dense": [4],
372
+ "small": [4],
179
373
  "fullWidth": [4, "full-width"],
180
374
  "validationStatus": [1, "validation-status"],
181
375
  "validationText": [1, "validation-text"],
182
376
  "value": [1],
183
377
  "name": [1],
184
378
  "showClearButton": [4, "show-clear-button"],
379
+ "searchable": [4],
380
+ "includeDescriptionsInSearch": [4, "include-descriptions-in-search"],
381
+ "includeGroupTitlesInSearch": [4, "include-group-titles-in-search"],
382
+ "searchMatchPosition": [1, "search-match-position"],
383
+ "charactersUntilSuggestions": [2, "characters-until-suggestions"],
384
+ "emptyOptionListText": [1, "empty-option-list-text"],
185
385
  "open": [32],
186
386
  "clearButtonFocused": [32],
387
+ "searchableSelectInputValue": [32],
388
+ "filteredOptions": [32],
389
+ "ariaActiveDescendant": [32],
390
+ "noOptions": [32],
187
391
  "setFocus": [64]
188
392
  }]);
189
393
  function defineCustomElement$1() {
@@ -1 +1 @@
1
- {"file":"ic-select.js","mappings":"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","names":[],"sources":["./src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","./src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalise.css\";\n\n/**\n * @prop --input-width: Width of the input field\n*/\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n transition: visibility 0s 149ms;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 6px;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 6px center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 6px;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: none;\n}\n\n:host(:not([disabled])) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n:host([disabled]) .select-input {\n pointer-events: none;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xs);\n color: var(--expand-icon-hover, var(--ic-architectural-400));\n}\n\n:host([disabled]) .expand-icon,\n:host([disabled]) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n.expand-icon-open {\n transform: rotateX(180deg);\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n padding-left: var(--ic-space-xxs);\n color: var(--ic-action-dark);\n}\n\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n:host([disabled]) .value-text {\n color: var(--ic-architectural-200);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: var(--ic-space-xs);\n}\n\n.divider {\n width: 1px;\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: 1px;\n}\n\n:host :focus-within .clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 2px var(--ic-focus-glow);\n border-radius: 4px;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcValueEventDetail } from \"../../interface\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: true,\n})\nexport class Select {\n private nativeSelectElement: HTMLSelectElement;\n private customSelectElement: HTMLButtonElement;\n private menu: HTMLIcMenuElement;\n private anchorEl: HTMLElement;\n\n private inputId = `ic-select-input-${inputIds++}`;\n private menuId = `${this.inputId}-menu`;\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n /**\n * Provide a label for the input.\n */\n @Prop() label!: string;\n\n /**\n * Provide the possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * Specify if the input requires a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Specify whether the input is disabled.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * Specify whether the input is read only.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * Provide a placeholder value to display.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * Specify whether dense styling is to be applied to the element.\n */\n @Prop() dense?: boolean = false;\n\n /**\n * If true, then fill width of container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Provide a validation status.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * Provide the text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The value of the currently selected option.\n */\n @Prop() value?: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * Display a button which clears the input when clicked.\n */\n @Prop() showClearButton?: boolean = false;\n\n @State() open: boolean = false;\n\n @State() clearButtonFocused: boolean = false;\n\n /**\n * Emitted when a value is selected.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when select has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when select has blur.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @Element() host!: HTMLIcSelectElement;\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n }\n }\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.options);\n };\n\n private handleNativeSelectChange = (): void => {\n this.icChange.emit({ value: this.nativeSelectElement.value });\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n this.icChange.emit({ value: event.detail.value });\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private handleClick = (event: MouseEvent): void => {\n if (event.detail !== 0) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.icChange.emit({ value: null });\n this.customSelectElement.focus();\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n this.menu.handleKeyboardOpen(event);\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (): void => {\n this.clearButtonFocused = false;\n };\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (): void => {\n this.icBlur.emit();\n };\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.host, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n if (this.options.length > 0) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n }\n\n render() {\n const {\n dense,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n host,\n inputId,\n label,\n name,\n open,\n options,\n menuId,\n placeholder,\n readonly,\n required,\n showClearButton,\n validationStatus,\n validationText,\n value,\n } = this;\n\n renderHiddenInput(true, this.host, name, value, disabled);\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n return (\n <Host>\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": open }}\n dense={dense}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(value)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!this.showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === value}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === value}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : (\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={inputId}\n aria-label={`${label}, ${\n this.getLabelFromValue(value) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n placeholder: this.getLabelFromValue(value) === undefined,\n }}\n >\n <p>{this.getLabelFromValue(value) || placeholder}</p>\n </ic-typography>\n <div class=\"select-input-end\">\n {value && showClearButton && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={dense ? \"dense\" : \"default\"}\n variant=\"icon\"\n buttonStyle={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n this.value == null || this.value === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n ref={(el) => (this.menu = el)}\n inputEl={this.customSelectElement}\n inputLabel={label}\n anchorEl={this.anchorEl}\n dense={dense}\n menuId={menuId}\n open={open}\n options={options}\n value={value}\n fullWidth={fullWidth}\n onMenuChange={this.handleMenuChange}\n onOptionSelect={this.handleCustomSelectChange}\n parentEl={host}\n ></ic-menu>\n )}\n <ic-input-validation\n class={{ \"menu-open\": open }}\n ariaLiveMode=\"polite\"\n status={\n hasValidationStatus(this.validationStatus, this.disabled) ===\n false\n ? \"\"\n : validationStatus\n }\n message={\n hasValidationStatus(this.validationStatus, this.disabled)\n ? validationText\n : \"\"\n }\n for={inputId}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-select.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,WAAW,GAAG,67LAA67L;;ACmCj9L,IAAI,QAAQ,GAAG,CAAC,CAAC;MAOJ,MAAM;;;;;;;;IAQT,YAAO,GAAG,mBAAmB,QAAQ,EAAE,EAAE,CAAC;IAC1C,WAAM,GAAG,GAAG,IAAI,CAAC,OAAO,OAAO,CAAC;IAEhC,wBAAmB,GAA6B,EAAE,CAAC;IA8JnD,kBAAa,GAAG;MACtB,QACE,CAAC,CAAC,IAAI,CAAC,0BAA0B,KAAK,IAAI;QACxC,IAAI,CAAC,0BAA0B,KAAK,EAAE;QACtC,IAAI,CAAC,0BAA0B,KAAK,CAAC;SACtC,IAAI,CAAC,0BAA0B;UAC9B,IAAI,CAAC,0BAA0B,CAAC,MAAM;YACpC,IAAI,CAAC,0BAA0B,CAAC,EACpC;KACH,CAAC;IAEM,+BAA0B,GAAG;MACnC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;UACtB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;YACjB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;WAC7B;SACF,CAAC,CAAC;OACJ;KACF,CAAC;IAEM,iBAAY,GAAG;MACrB,IAAI,IAAI,CAAC,mBAAmB,CAAC,aAAa,KAAK,CAAC,EAAE;QAChD,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,aAAa,CAAC;OACpD;WAAM;QACL,IAAI,CAAC,mBAAmB,CAAC,SAAS,GAAG,wBAAwB,CAAC;OAC/D;KACF,CAAC;IAEM,kBAAa,GAAG,CAAC,IAAa;MACpC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;OAClB;KACF,CAAC;IAEM,sBAAiB,GAAG,CAAC,KAAa;MACxC,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/C,CAAC;IAEM,sBAAiB,GAAG,CAAC,KAAa;;MACxC,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,0CAAE,KAAK,CAAC;MAC3E,OAAO,KAAK,CAAC;KACd,CAAC;IAEM,gCAA2B,GAAG,CAAC,MAAoB;MACzD,IAAI,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;MAE/B,QAAQ,GAAG,sBAAsB,CAC/B,MAAM,CAAC,QAAQ,EACf,IAAI,CAAC,2BAA2B,EAChC,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,mBAAmB,CACzB,CAAC;MAEF,MAAM,SAAS,qBAAQ,MAAM,CAAE,CAAC;MAChC,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;MAC9B,OAAO,SAAS,CAAC;KAClB,CAAC;IAEM,6BAAwB,GAAG;MACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC;MAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB,CAAC;IAEM,6BAAwB,GAAG,CAAC,KAAkB;MACpD,IAAI,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC,mBAAmB,EAAE;QACtE,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO;OACR;MAED,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,iBAAiB,CACtD,KAAK,CAAC,MAAM,CAAC,KAAK,CACnB,CAAC;OACH;MAED,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;MAClD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;KACnD,CAAC;IAEM,qBAAgB,GAAG,CAAC,KAAkB;MAC5C,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;MAE9B,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACvD,CAAC;IAEM,gCAA2B,GAAG;MACpC,MAAM,cAAc,GAClB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;MAEzD,IAAI,IAAI,CAAC,IAAI,EAAE;QACb,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;OACzD;WAAM;QACL,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;OAC5D;KACF,CAAC;IAEM,oBAAe,GAAG,CAAC,KAAY;MACrC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,KAAK,CAAC,cAAc,EAAE,CAAC;OACxB;KACF,CAAC;IAEM,gBAAW,GAAG,CAAC,KAAiB;MACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;MAEjC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;OAC7B;KACF,CAAC;IAEM,8BAAyB,GAAG,CAAC,KAAiB;MACpD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;OACzB;KACF,CAAC;IAEM,gBAAW,GAAG,CAAC,KAAY;MACjC,KAAK,CAAC,eAAe,EAAE,CAAC;MACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;MAEpC,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,IAAI,CAAC,uBAAuB,CAAC,KAAK,GAAG,IAAI,CAAC;QAC1C,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QAErC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;UACzB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SAC3B;OACF;WAAM;QACL,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;OAClC;KACF,CAAC;IAEM,kBAAa,GAAG,CAAC,KAAoB;MAC3C,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;MAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;OAClC;MAED,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;QACtC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;OAC3B;WAAM;QACL,IACE,EACE,CAAC,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS;UACrD,IAAI,CAAC,SAAS,KAAK,IAAI,CACxB;UACD,IAAI,CAAC,aAAa,EAAE,EACpB;UACA,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;SACrC;OACF;KACF,CAAC;IAEM,2BAAsB,GAAG;MAC/B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;KAChC,CAAC;IAEM,0BAAqB,GAAG;MAC9B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACjC,CAAC;IAEM,gCAA2B,GAAG,CAAC,KAAY;MACjD,IAAI,CAAC,0BAA0B,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK,CAAC;MAE3E,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,0BAA0B,CAAC,KAAK,SAAS,EAAE;QACzE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;OACrC;MAED,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;OAC1B;WAAM;QACL,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;OAC3B;MAED,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;MAElC,IAAI,SAAS,GAAG,KAAK,CAAC;MACtB,IAAI,kBAAkB,GAAmB,EAAE,CAAC;MAE5C,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;QACjB,IAAI,MAAM,CAAC,QAAQ;UAAE,SAAS,GAAG,IAAI,CAAC;OACvC,CAAC,CAAC;MAEH,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,OAAO,EACP,IAAI,CAAC,2BAA2B,EAChC,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,mBAAmB,CACzB,CAAC;MAEF,IAAI,CAAC,SAAS,EAAE;QACd,kBAAkB,GAAG,mBAAmB,CAAC;OAC1C;WAAM;QACL,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;UACjB,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACnC,IAAI,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;cAC9C,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACjC;iBAAM;cACL,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;aACnE;WACF;eAAM;YACL,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;WACnE;SACF,CAAC,CAAC;OACJ;MAED,IAAI,0BAA0B,GAAG,KAAK,CAAC;MAEvC,IAAI,SAAS,EAAE;QACb,0BAA0B,GAAG,IAAI,CAAC;QAClC,kBAAkB,CAAC,GAAG,CAAC,CAAC,MAAM;UAC5B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9B,0BAA0B,GAAG,KAAK,CAAC;WACpC;SACF,CAAC,CAAC;OACJ;MAED,MAAM,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;MAEnE,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,0BAA0B,EAAE;QAChE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC;OAC3C;WAAM;QACL,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;OACvC;MAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B,CAAC;IAEM,yCAAoC,GAAG;MAC7C,MAAM,+BAA+B,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CACxE,mCAAmC,CAClB,CAAC;MAEpB,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE;QAC3B,+BAA+B,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC;OACtE;WAAM;QACL,+BAA+B,CAAC,SAAS,GAAG,EAAE,CAAC;OAChD;KACF,CAAC;IAUM,YAAO,GAAG;MAChB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB,CAAC;IAEM,WAAM,GAAG,CAAC,KAAiB;MACjC,IACE,IAAI,CAAC,UAAU;QACf,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,IAAI;QACjC,EAAE,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,EAC/D;QACA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,2BAA2B,EAAE,CAAC;OACpC;MAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACpB,CAAC;;mBApaiC,EAAE;oBAKR,KAAK;qBAKJ,KAAK;oBAKW,KAAK;oBAKtB,KAAK;uBAKH,kBAAkB;sBAKnB,EAAE;iBAKN,KAAK;qBAKF,KAAK;4BAKsB,EAAE;0BAKxB,EAAE;;gBAUZ,IAAI,CAAC,OAAO;2BAKA,KAAK;sBAKV,KAAK;uCAKY,KAAK;sCAKN,KAAK;+BAKG,UAAU;sCAKnB,CAAC;+BAKjB,kBAAkB;gBAEvB,KAAK;8BAES,KAAK;sCAEE,IAAI;2BAEP,IAAI,CAAC,OAAO;;qBAIlB,IAAI;;EAGzC,mBAAmB;IACjB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;GACrC;;;;EAuBD,MAAM,QAAQ;IACZ,IAAI,IAAI,CAAC,mBAAmB,EAAE;MAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;KAClC;SAAM,IAAI,IAAI,CAAC,mBAAmB,EAAE;MACnC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;KAClC;SAAM,IAAI,IAAI,CAAC,uBAAuB,EAAE;MACvC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;KACtC;GACF;EA6PO,sBAAsB;IAC5B,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE5B,MAAM,CAAC,UAAU,CAAC;MAChB,IAAI,CAAC,oCAAoC,EAAE,CAAC;KAC7C,EAAE,GAAG,CAAC,CAAC;GACT;EAmBD,iBAAiB;IACf,IAAI,CAAC,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE;MACtD,GAAG,iBAAiB;MACpB,UAAU;MACV,OAAO;KACR,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,CAAC;GACnC;EAED,kBAAkB;IAChB,IAAI,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAC9C,IAAI,CAAC,YAAY,EAAE,CAAC;KACrB;GACF;EAED,gBAAgB;IACd,gCAAgC,CAC9B,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EACzC,QAAQ,CACT,CAAC;GACH;EAED,MAAM;IACJ,MAAM,EACJ,KAAK,EACL,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,KAAK,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,KAAK,GACN,GAAG,IAAI,CAAC;IAET,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAE1D,MAAM,OAAO,GACX,gBAAgB,KAAK,mBAAmB,CAAC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAEpE,MAAM,WAAW,GAAG,uBAAuB,CACzC,IAAI,CAAC,OAAO,EACZ,UAAU,KAAK,EAAE,EACjB,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,CAC1D,CAAC,IAAI,EAAE,CAAC;IAET,QACE,EAAC,IAAI,QACH,0BAAoB,QAAQ,EAAE,QAAQ,IACnC,CAAC,SAAS,KACT,sBACE,GAAG,EAAE,IAAI,CAAC,OAAO,EACjB,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GACF,CACnB,EACD,oCACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,EACjC,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,EACjC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,IAEjC,QAAQ,IACP,yBACE,aAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAK,CACxB,IACd,gBAAgB,EAAE,IACpB,4BACE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,EAC5C,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,IAAI,CAAC,wBAAwB,EACvC,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,IAAI,CAAC,OAAO,gBACJ,KAAK,sBACC,WAAW,kBACf,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,IACjB,IAAI,CAAC,mBAAmB,GAE5B,cAAQ,KAAK,EAAC,EAAE,EAAC,QAAQ,QAAC,QAAQ,EAAE,CAAC,eAAe,IACjD,WAAW,CACL,EACR,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM;MAClB,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,QACE,gBAAU,KAAK,EAAE,MAAM,CAAC,KAAK,IAC1B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,MAC1B,cACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,IAE/B,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACO,EACX;OACH;WAAM;QACL,QACE,cACE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,MAAM,CAAC,KAAK,KAAK,KAAK,IAE/B,MAAM,CAAC,KAAK,CACN,EACT;OACH;KACF,CAAC,CACK,IACP,UAAU,IACZ,WAAK,KAAK,EAAC,6BAA6B,IACtC,aACE,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,UAAU,gBACH,KAAK,sBACC,WAAW,2BACN,IAAI,CAAC,oBAAoB,uBAC9B,MAAM,mBACT,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,kBAC7B,OAAO,mBACN,QAAQ,GAAG,MAAM,GAAG,OAAO,mBAC3B,MAAM,EACrB,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC,EAChD,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE,IAAI,CAAC,0BAA0B,EACtC,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,IAAI,CAAC,2BAA2B,EACzC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,GACZ,EACR,IAAI,CAAC,0BAA0B;OAC7B,eAAe,IAAI,UAAU,CAAC,KAC7B,WAAK,KAAK,EAAC,wBAAwB,IACjC,iBACE,EAAE,EAAC,cAAc,EACjB,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,gBAElC,IAAI,CAAC,0BAA0B,IAAI,KAAK,KAAK,IAAI;UAC7C,aAAa;UACb,iBAAiB,EAEvB,KAAK,EAAC,cAAc,EACpB,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAClC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,EACjC,OAAO,EAAC,MAAM,EACd,UAAU,EACR,IAAI,CAAC,kBAAkB;UACnB,qBAAqB,CAAC,KAAK;UAC3B,qBAAqB,CAAC,IAAI,GAErB,EACb,WAAK,KAAK,EAAC,SAAS,GAAO,CACvB,CACP,EACH,YACE,WAAW,EAAE,IAAI,CAAC,yBAAyB,EAC3C,KAAK,EAAE;QACL,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI,CAAC,IAAI;QAC7B,oBAAoB,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACtD,sBAAsB,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE;OAC9C,EACD,SAAS,EAAE,MAAM,iBACL,MAAM,GAClB,EACF,wBACY,QAAQ,EAClB,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,kCAAkC,GACnC,CACH,KAEN,WAAK,KAAK,EAAC,kBAAkB,IAC3B,cACE,KAAK,EAAC,cAAc,EACpB,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,EAC5C,EAAE,EAAE,IAAI,CAAC,OAAO,gBACJ,GAAG,KAAK,KAClB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,WACnC,GAAG,QAAQ,GAAG,YAAY,GAAG,EAAE,EAAE,sBACf,WAAW,kBACf,OAAO,mBACP,SAAS,mBACR,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,eAChC,MAAM,mBACF,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,WAAW,EAAE,IAAI,CAAC,eAAe,EACjC,SAAS,EAAE,IAAI,CAAC,aAAa,IAE7B,qBACE,OAAO,EAAC,MAAM,EACd,KAAK,EAAE;QACL,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,SAAS;OACzD,IAED,aAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,WAAW,CAAK,CACvC,EAChB,WAAK,KAAK,EAAC,kBAAkB,IAC1B,KAAK,IAAI,eAAe,IAAI,WAAK,KAAK,EAAC,SAAS,GAAO,EACxD,YACE,KAAK,EAAE;QACL,aAAa,EAAE,IAAI;QACnB,kBAAkB,EAAE,IAAI,CAAC,IAAI;QAC7B,oBAAoB,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;OACvD,EACD,SAAS,EAAE,MAAM,iBACL,MAAM,GAClB,CACE,CACC,EACR,KAAK,IAAI,eAAe,KACvB,iBACE,EAAE,EAAC,cAAc,gBACN,iBAAiB,EAC5B,KAAK,EAAC,cAAc,EACpB,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,IAAI,CAAC,sBAAsB,EACpC,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAClC,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,SAAS,EACjC,OAAO,EAAC,MAAM,EACd,UAAU,EACR,IAAI,CAAC,kBAAkB;UACnB,qBAAqB,CAAC,KAAK;UAC3B,qBAAqB,CAAC,IAAI,GAErB,CACd,CACG,CACP,CAC4B,EAC9B,CAAC,gBAAgB,EAAE,KAClB,eACE,KAAK,EAAE;QACL,YAAY,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;OACtC,EACD,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,EAC7B,OAAO,EACL,UAAU;UACN,IAAI,CAAC,uBAAuB;UAC5B,IAAI,CAAC,mBAAmB,EAE9B,UAAU,EAAE,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC,eAAe,GAAG,OAAO,EACpD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,cAAc,EAAE,IAAI,CAAC,wBAAwB,EAC7C,QAAQ,EAAE,IAAI,CAAC,IAAI,GACV,CACZ,EACD,2BACE,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,EACjC,YAAY,EAAC,QAAQ,EACrB,MAAM,EACJ,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC;QACzD,KAAK;UACD,EAAE;UACF,gBAAgB,EAEtB,OAAO,EACL,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC;UACrD,cAAc;UACd,EAAE,EAER,GAAG,EAAE,IAAI,CAAC,OAAO,GACI,CACJ,CAChB,EACP;GACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","./src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalise.css\";\n\n/**\n * @prop --input-width: Width of the input field\n*/\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 6px;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 6px center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 6px;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: none;\n}\n\n:host(:not([disabled])) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n:host([disabled]) .select-input {\n pointer-events: none;\n}\n\n:host([searchable]) .select-input {\n cursor: auto;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xs);\n color: var(--expand-icon-hover, var(--ic-architectural-400));\n}\n\n:host([disabled]) .expand-icon,\n:host([disabled]) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host([searchable]) .expand-icon {\n padding-left: var(--ic-space-xxs);\n height: 36px;\n}\n\n:host([searchable]) .expand-icon > svg {\n height: 36px;\n padding: 0 6px;\n}\n\n:host([searchable]:not([disabled])) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host([searchable]) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host([disabled]) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: 38px;\n}\n\n:host([small]) .clear-button-container {\n padding-left: 30px;\n}\n\n.divider {\n width: 1px;\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: 1px;\n height: var(--ic-space-lg);\n}\n\n:host([small]) .divider {\n height: var(--ic-space-md);\n}\n\n.clear-button {\n position: absolute;\n right: 44px;\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 2px var(--ic-focus-glow);\n border-radius: 4px;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.searchable-select-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: 1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSearchMatchPositions,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcValueEventDetail } from \"../../interface\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: true,\n})\nexport class Select {\n private nativeSelectElement: HTMLSelectElement;\n private customSelectElement: HTMLButtonElement;\n private searchableSelectElement: HTMLInputElement;\n private menu: HTMLIcMenuElement;\n private anchorEl: HTMLElement;\n private clearButton: HTMLIcButtonElement;\n\n private inputId = `ic-select-input-${inputIds++}`;\n private menuId = `${this.inputId}-menu`;\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n private debounce: number;\n\n /**\n * Provide a label for the input.\n */\n @Prop() label!: string;\n\n /**\n * Provide the possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * Specify if the input requires a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * Hides the label and applies the required label value as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * Specify whether the input is disabled.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * Specify whether the input is read only.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * Provide a placeholder value to display.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * Provide helper text to display additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * Specify whether small styling is to be applied to the element.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If true, then fill width of container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * Provide a validation status.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * Provide the text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The value of the currently selected option.\n */\n @Prop() value?: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * Display a button which clears the input when clicked. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * If true, the select can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * If true, descriptions of options are included when filtering options in a searchable select.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If true, group titles of grouped options are included when filtering options in a searchable select.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * Number of characters until suggestions appear for a searchable select.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * Provide text for empty results list\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n @State() open: boolean = false;\n\n @State() clearButtonFocused: boolean = false;\n\n @State() searchableSelectInputValue: string = null;\n\n @State() filteredOptions: IcMenuOption[] = this.options;\n\n @State() ariaActiveDescendant: string;\n\n @State() noOptions: IcMenuOption[] = null;\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n this.setOptionsValuesFromLabels();\n this.filteredOptions = this.options;\n }\n\n /**\n * Emitted when a value is selected.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when select has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when select has blur.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n @Element() host!: HTMLIcSelectElement;\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n private isMenuEnabled = () => {\n return (\n ((this.searchableSelectInputValue === null ||\n this.searchableSelectInputValue === \"\") &&\n this.charactersUntilSuggestions === 0) ||\n (this.searchableSelectInputValue &&\n this.searchableSelectInputValue.length >=\n this.charactersUntilSuggestions)\n );\n };\n\n private setOptionsValuesFromLabels = (): void => {\n if (this.options.length > 0) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.options);\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n const value = this.options.find((option) => option.label === label)?.value;\n return value;\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icChange.emit({ value: this.nativeSelectElement.value });\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.searchableSelectInputValue = this.getLabelFromValue(\n event.detail.value\n );\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.icChange.emit({ value: event.detail.value });\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.host.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private handleClick = (event: MouseEvent): void => {\n this.noOptions = null;\n this.menu.options = this.options;\n\n if (event.detail !== 0 && this.isMenuEnabled()) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.noOptions = null;\n this.icChange.emit({ value: null });\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.menu.options = this.options;\n this.searchableSelectElement.focus();\n\n if (!this.isMenuEnabled()) {\n this.setMenuChange(false);\n }\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n\n if (!this.open) {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (\n !(\n (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") &&\n this.noOptions !== null\n ) &&\n this.isMenuEnabled()\n ) {\n this.menu.handleKeyboardOpen(event);\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (): void => {\n this.clearButtonFocused = false;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n\n if (this.getValueFromLabel(this.searchableSelectInputValue) === undefined) {\n this.icChange.emit({ value: null });\n }\n\n if (this.isMenuEnabled()) {\n this.setMenuChange(true);\n } else {\n this.setMenuChange(false);\n }\n\n const options = [...this.options];\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n const menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n\n if (!isGrouped) {\n newFilteredOptions = menuOptionsFiltered;\n } else {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = noOptions;\n this.filteredOptions = this.noOptions;\n }\n\n this.debounceAriaLiveUpdate();\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounce);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n if (\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !(this.clearButton && event.relatedTarget === this.clearButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n\n this.icBlur.emit();\n };\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.host, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n this.setOptionsValuesFromLabels();\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n }\n\n render() {\n const {\n small,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n value,\n } = this;\n\n renderHiddenInput(true, this.host, name, value, disabled);\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n return (\n <Host>\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n small={small}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(value)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === value}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === value}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class=\"select-input\"\n role=\"combobox\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n this.searchableSelectInputValue && value === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(value == null || value === \"\"),\n \"expand-icon-disabled\": !this.isMenuEnabled(),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n this.getLabelFromValue(value) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n placeholder: this.getLabelFromValue(value) === undefined,\n }}\n >\n <p>{this.getLabelFromValue(value) || placeholder}</p>\n </ic-typography>\n <div class=\"select-input-end\">\n {value && showClearButton && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(value == null || value === \"\"),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {value && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n class={{\n \"no-results\": this.noOptions !== null,\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n small={small}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : options}\n value={value}\n fullWidth={fullWidth}\n onMenuChange={this.handleMenuChange}\n onOptionSelect={this.handleCustomSelectChange}\n parentEl={this.host}\n ></ic-menu>\n )}\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={\n hasValidationStatus(this.validationStatus, this.disabled) ===\n false\n ? \"\"\n : validationStatus\n }\n message={\n hasValidationStatus(this.validationStatus, this.disabled)\n ? validationText\n : \"\"\n }\n for={this.inputId}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as closeIcon } from './close-icon.js';
3
3
  import { c as chevronIcon } from './chevron-icon.js';
4
- import { x as getCssProperty, i as isSlotUsed, D as DEVICE_SIZES, g as getCurrentDeviceSize, f as getThemeForegroundColor, c as checkResizeObserver, a as onComponentRequiredPropUndefined, I as IcThemeForegroundEnum, j as hasClassificationBanner } from './helpers.js';
4
+ import { w as getCssProperty, i as isSlotUsed, D as DEVICE_SIZES, g as getCurrentDeviceSize, e as getThemeForegroundColor, c as checkResizeObserver, a as onComponentRequiredPropUndefined, f as hasClassificationBanner } from './helpers.js';
5
+ import { I as IcThemeForegroundEnum } from './types.js';
5
6
  import { d as defineCustomElement$6 } from './ic-button2.js';
6
7
  import { d as defineCustomElement$5 } from './ic-divider2.js';
7
8
  import { d as defineCustomElement$4 } from './ic-loading-indicator2.js';
@@ -298,7 +299,7 @@ const SideNavigation = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
298
299
  this.renderTopBar = ({ isSDevice, foregroundColor, menuOpen, href, isAppNameSubtitleVariant, appTitle, }) => (h("div", { class: {
299
300
  "top-bar": true,
300
301
  [this.foregroundColor]: true,
301
- } }, isSDevice && (h("nav", { "aria-labelledby": "menu-navigation-toggle-button-landmark", "aria-hidden": "false" }, h("ic-button", { "aria-label": "Open navigation menu", class: "menu-button", id: "menu-button", variant: "secondary", size: "dense", "full-width": "true", buttonStyle: foregroundColor, onClick: this.toggleMenu, "aria-owns": "side-navigation", "aria-haspopup": "true", "aria-expanded": "false" }, h("span", { class: "mobile-top-bar-menu-icon", slot: "icon", innerHTML: menuOpen ? closeIcon : menuIcon }), menuOpen ? "Close" : "Menu"), h("span", { id: "menu-navigation-toggle-button-landmark", class: "navigation-landmark-title", "aria-hidden": "true" }, "Navigation menu toggle button"))), h("div", { class: "app-title-wrapper" }, h("a", { href: href, class: "title-link" }, h("div", { class: "app-icon-container", "aria-hidden": "true" }, h("slot", { name: "app-icon" })), h("ic-typography", { variant: isAppNameSubtitleVariant ? "subtitle-small" : "h3" }, appTitle)))));
302
+ } }, isSDevice && (h("nav", { "aria-labelledby": "menu-navigation-toggle-button-landmark", "aria-hidden": "false" }, h("ic-button", { "aria-label": "Open navigation menu", class: "menu-button", id: "menu-button", variant: "secondary", size: "small", "full-width": "true", appearance: foregroundColor, onClick: this.toggleMenu, "aria-owns": "side-navigation", "aria-haspopup": "true", "aria-expanded": "false" }, h("span", { class: "mobile-top-bar-menu-icon", slot: "icon", innerHTML: menuOpen ? closeIcon : menuIcon }), menuOpen ? "Close" : "Menu"), h("span", { id: "menu-navigation-toggle-button-landmark", class: "navigation-landmark-title", "aria-hidden": "true" }, "Navigation menu toggle button"))), h("div", { class: "app-title-wrapper" }, h("a", { href: href, class: "title-link" }, h("div", { class: "app-icon-container", "aria-hidden": "true" }, h("slot", { name: "app-icon" })), h("ic-typography", { variant: isAppNameSubtitleVariant ? "subtitle-small" : "h3" }, appTitle)))));
302
303
  this.appTitle = undefined;
303
304
  this.status = undefined;
304
305
  this.version = undefined;