@ukic/web-components 3.11.0 → 3.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/cjs/{constants-8354f6e6.js → constants-3a9ba64a.js} +3 -1
  2. package/dist/cjs/constants-3a9ba64a.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +1 -1
  4. package/dist/cjs/{helpers-ffe1c2d9.js → helpers-478d1107.js} +2 -2
  5. package/dist/cjs/helpers-478d1107.js.map +1 -0
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js +5 -5
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-button_3.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +13 -6
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/ic-chip.cjs.entry.js +7 -6
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-dialog.cjs.entry.js +37 -12
  25. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  28. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-hero.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +1389 -11
  34. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js +8 -7
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-menu-item.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-navigation-button.cjs.entry.js +2 -2
  41. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
  43. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  45. package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-pagination.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-popover-menu.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-radio-group.cjs.entry.js +15 -8
  51. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-option.cjs.entry.js +3 -3
  53. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-select.cjs.entry.js +17 -10
  56. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-step.cjs.entry.js +68 -55
  61. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-stepper.cjs.entry.js +22 -4
  63. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-text-field.cjs.entry.js +9 -9
  68. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-toast.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-top-navigation.cjs.entry.js +3 -3
  74. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  76. package/dist/cjs/index.cjs.js +2 -1
  77. package/dist/cjs/index.cjs.js.map +1 -1
  78. package/dist/cjs/loader.cjs.js +1 -1
  79. package/dist/collection/components/ic-alert/ic-alert.css +13 -23
  80. package/dist/collection/components/ic-alert/ic-alert.js +2 -2
  81. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  82. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  83. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +36 -3
  84. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  85. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +163 -0
  86. package/dist/collection/components/ic-chip/ic-chip.css +4 -0
  87. package/dist/collection/components/ic-chip/ic-chip.js +4 -3
  88. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  89. package/dist/collection/components/ic-dialog/ic-dialog.js +36 -11
  90. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  91. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -1
  92. package/dist/collection/components/ic-input-validation/ic-input-validation.js +9 -8
  93. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  94. package/dist/collection/components/ic-menu/ic-menu.js +13 -9
  95. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  96. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +9 -0
  97. package/dist/collection/components/ic-page-header/ic-page-header.css +4 -0
  98. package/dist/collection/components/ic-radio-group/ic-radio-group.css +2 -2
  99. package/dist/collection/components/ic-radio-group/ic-radio-group.js +40 -7
  100. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  101. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +164 -0
  102. package/dist/collection/components/ic-radio-option/ic-radio-option.css +37 -1
  103. package/dist/collection/components/ic-select/ic-select.js +41 -8
  104. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  105. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +14 -2
  106. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +10 -0
  107. package/dist/collection/components/ic-select/ic-select_(single).stories.js +184 -4
  108. package/dist/collection/components/ic-status-tag/ic-status-tag.css +1 -4
  109. package/dist/collection/components/ic-step/ic-step.js +90 -53
  110. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  111. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  112. package/dist/collection/components/ic-stepper/ic-stepper.js +44 -2
  113. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  114. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +76 -0
  115. package/dist/collection/components/ic-text-field/ic-text-field.css +2 -2
  116. package/dist/collection/components/ic-text-field/ic-text-field.js +32 -32
  117. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  118. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +13 -10
  119. package/dist/collection/utils/common-helpers.js +17 -0
  120. package/dist/collection/utils/common-helpers.js.map +1 -0
  121. package/dist/collection/utils/constants.js +1 -0
  122. package/dist/collection/utils/constants.js.map +1 -1
  123. package/dist/collection/utils/types.js.map +1 -1
  124. package/dist/components/constants.js +2 -1
  125. package/dist/components/constants.js.map +1 -1
  126. package/dist/components/helpers.js.map +1 -1
  127. package/dist/components/ic-alert.js +3 -3
  128. package/dist/components/ic-alert.js.map +1 -1
  129. package/dist/components/ic-checkbox-group.js +12 -4
  130. package/dist/components/ic-checkbox-group.js.map +1 -1
  131. package/dist/components/ic-chip.js +5 -4
  132. package/dist/components/ic-chip.js.map +1 -1
  133. package/dist/components/ic-dialog.js +35 -10
  134. package/dist/components/ic-dialog.js.map +1 -1
  135. package/dist/components/ic-input-validation2.js +7 -6
  136. package/dist/components/ic-input-validation2.js.map +1 -1
  137. package/dist/components/ic-menu2.js +1388 -9
  138. package/dist/components/ic-menu2.js.map +1 -1
  139. package/dist/components/ic-navigation-item.js +1 -1
  140. package/dist/components/ic-navigation-item.js.map +1 -1
  141. package/dist/components/ic-page-header.js +1 -1
  142. package/dist/components/ic-page-header.js.map +1 -1
  143. package/dist/components/ic-popover-menu.js.map +1 -1
  144. package/dist/components/ic-radio-group.js +14 -6
  145. package/dist/components/ic-radio-group.js.map +1 -1
  146. package/dist/components/ic-radio-option.js +1 -1
  147. package/dist/components/ic-radio-option.js.map +1 -1
  148. package/dist/components/ic-select.js +17 -9
  149. package/dist/components/ic-select.js.map +1 -1
  150. package/dist/components/ic-side-navigation.js.map +1 -1
  151. package/dist/components/ic-status-tag.js +1 -1
  152. package/dist/components/ic-status-tag.js.map +1 -1
  153. package/dist/components/ic-step.js +67 -53
  154. package/dist/components/ic-step.js.map +1 -1
  155. package/dist/components/ic-stepper.js +21 -2
  156. package/dist/components/ic-stepper.js.map +1 -1
  157. package/dist/components/ic-text-field.js +8 -8
  158. package/dist/components/ic-text-field.js.map +1 -1
  159. package/dist/components/ic-top-navigation.js +1 -1
  160. package/dist/components/ic-top-navigation.js.map +1 -1
  161. package/dist/components/index.js +1 -1
  162. package/dist/core/core.css +6 -6
  163. package/dist/core/core.esm.js +1 -1
  164. package/dist/core/core.esm.js.map +1 -1
  165. package/dist/core/index.esm.js +1 -1
  166. package/dist/core/{p-52a2f800.entry.js → p-0123dde7.entry.js} +2 -2
  167. package/dist/core/{p-52a2f800.entry.js.map → p-0123dde7.entry.js.map} +1 -1
  168. package/dist/core/{p-23b223bf.entry.js → p-01e018cb.entry.js} +2 -2
  169. package/dist/core/{p-1ab63899.entry.js → p-02af2b59.entry.js} +2 -2
  170. package/dist/core/p-05036675.entry.js +2 -0
  171. package/dist/core/p-05036675.entry.js.map +1 -0
  172. package/dist/core/{p-1d4dfef1.entry.js → p-0c36ce84.entry.js} +2 -2
  173. package/dist/core/{p-f78f34ce.entry.js → p-0ec76cff.entry.js} +2 -2
  174. package/dist/core/{p-35ee7c53.entry.js → p-13e093d0.entry.js} +2 -2
  175. package/dist/core/{p-a48b581a.entry.js → p-1423bd4a.entry.js} +2 -2
  176. package/dist/core/p-19f9d292.entry.js +2 -0
  177. package/dist/core/p-19f9d292.entry.js.map +1 -0
  178. package/dist/core/{p-3f55bb5b.entry.js → p-2126d37b.entry.js} +2 -2
  179. package/dist/core/{p-515ded3f.entry.js → p-228bc12d.entry.js} +2 -2
  180. package/dist/core/{p-d27e46ac.entry.js → p-25bef09d.entry.js} +2 -2
  181. package/dist/core/{p-eddc5517.entry.js → p-27e67d45.entry.js} +2 -2
  182. package/dist/core/{p-4dd8add9.entry.js → p-2800fc30.entry.js} +2 -2
  183. package/dist/core/{p-f045f59d.entry.js → p-33582352.entry.js} +2 -2
  184. package/dist/core/{p-58b8d154.entry.js → p-45097448.entry.js} +2 -2
  185. package/dist/core/p-45f743e4.entry.js +2 -0
  186. package/dist/core/p-45f743e4.entry.js.map +1 -0
  187. package/dist/core/{p-a4e67ab8.entry.js → p-511aa329.entry.js} +2 -2
  188. package/dist/core/p-511aa329.entry.js.map +1 -0
  189. package/dist/core/p-514daffe.entry.js +2 -0
  190. package/dist/core/p-514daffe.entry.js.map +1 -0
  191. package/dist/core/{p-3a78bf6e.entry.js → p-54803e3b.entry.js} +2 -2
  192. package/dist/core/{p-0201abbf.entry.js → p-6058d4c9.entry.js} +2 -2
  193. package/dist/core/p-621b0770.entry.js +2 -0
  194. package/dist/core/p-621b0770.entry.js.map +1 -0
  195. package/dist/core/{p-8d29c0fa.entry.js → p-675bb3e4.entry.js} +2 -2
  196. package/dist/core/{p-75e0278a.entry.js → p-6dbe70f1.entry.js} +2 -2
  197. package/dist/core/{p-b9018261.entry.js → p-6e139e6e.entry.js} +2 -2
  198. package/dist/core/p-6f50d2e0.entry.js +2 -0
  199. package/dist/core/p-6f50d2e0.entry.js.map +1 -0
  200. package/dist/core/p-71c86e71.entry.js +2 -0
  201. package/dist/core/p-71c86e71.entry.js.map +1 -0
  202. package/dist/core/{p-aab838e5.entry.js → p-80317cd1.entry.js} +2 -2
  203. package/dist/core/{p-02c2c31f.entry.js → p-813ad03c.entry.js} +2 -2
  204. package/dist/core/{p-69412f61.entry.js → p-8558b9b7.entry.js} +2 -2
  205. package/dist/core/{p-a468df37.entry.js → p-8684efeb.entry.js} +2 -2
  206. package/dist/core/{p-ffc608a1.entry.js → p-8b99a806.entry.js} +2 -2
  207. package/dist/core/{p-19366be6.entry.js → p-93479c36.entry.js} +2 -2
  208. package/dist/core/{p-69cc0f7d.entry.js → p-95d3d1a7.entry.js} +2 -2
  209. package/dist/core/{p-01aeffca.entry.js → p-96a6cff2.entry.js} +2 -2
  210. package/dist/core/p-96a6cff2.entry.js.map +1 -0
  211. package/dist/core/p-99793b64.entry.js +2 -0
  212. package/dist/core/p-99793b64.entry.js.map +1 -0
  213. package/dist/core/{p-fd488ed7.entry.js → p-9f12b20c.entry.js} +2 -2
  214. package/dist/core/p-9f12b20c.entry.js.map +1 -0
  215. package/dist/core/{p-57803949.entry.js → p-a06c1e4e.entry.js} +2 -2
  216. package/dist/core/p-a08c360b.entry.js +2 -0
  217. package/dist/core/p-a08c360b.entry.js.map +1 -0
  218. package/dist/core/p-a1857d24.entry.js +2 -0
  219. package/dist/core/p-a1857d24.entry.js.map +1 -0
  220. package/dist/core/p-a97b8082.entry.js +3 -0
  221. package/dist/core/p-a97b8082.entry.js.map +1 -0
  222. package/dist/core/{p-abb9dccb.entry.js → p-abd88929.entry.js} +2 -2
  223. package/dist/core/{p-cdd04ec2.entry.js → p-b0376079.entry.js} +2 -2
  224. package/dist/core/{p-6ceedfa8.js → p-b57e59b7.js} +2 -2
  225. package/dist/core/p-b57e59b7.js.map +1 -0
  226. package/dist/core/p-b9bdd9a9.entry.js +2 -0
  227. package/dist/core/p-b9bdd9a9.entry.js.map +1 -0
  228. package/dist/core/{p-641c26c4.js → p-bddf799a.js} +2 -2
  229. package/dist/core/p-bddf799a.js.map +1 -0
  230. package/dist/core/{p-0809aff4.entry.js → p-c04e1fab.entry.js} +2 -2
  231. package/dist/core/{p-65a3c216.entry.js → p-c975cced.entry.js} +2 -2
  232. package/dist/core/p-cc00cbce.entry.js +2 -0
  233. package/dist/core/p-cc00cbce.entry.js.map +1 -0
  234. package/dist/core/{p-f086d6df.entry.js → p-de32a223.entry.js} +2 -2
  235. package/dist/core/{p-46423f42.entry.js → p-e6dacbe2.entry.js} +2 -2
  236. package/dist/core/{p-1dab47b1.entry.js → p-ea06792a.entry.js} +2 -2
  237. package/dist/core/{p-5c6efed3.entry.js → p-eb0e7153.entry.js} +2 -2
  238. package/dist/core/{p-402813c9.entry.js → p-f609ca37.entry.js} +2 -2
  239. package/dist/core/{p-cd63bcf2.entry.js → p-fb734a59.entry.js} +2 -2
  240. package/dist/esm/{constants-48759bda.js → constants-7960cba4.js} +3 -2
  241. package/dist/esm/constants-7960cba4.js.map +1 -0
  242. package/dist/esm/core.js +1 -1
  243. package/dist/esm/{helpers-d8189e9d.js → helpers-4ddac6ed.js} +2 -2
  244. package/dist/esm/helpers-4ddac6ed.js.map +1 -0
  245. package/dist/esm/ic-accordion-group.entry.js +2 -2
  246. package/dist/esm/ic-accordion.entry.js +2 -2
  247. package/dist/esm/ic-action-chip.entry.js +2 -2
  248. package/dist/esm/ic-alert.entry.js +5 -5
  249. package/dist/esm/ic-alert.entry.js.map +1 -1
  250. package/dist/esm/ic-back-to-top.entry.js +2 -2
  251. package/dist/esm/ic-badge.entry.js +2 -2
  252. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  253. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  254. package/dist/esm/ic-button_3.entry.js +2 -2
  255. package/dist/esm/ic-button_3.entry.js.map +1 -1
  256. package/dist/esm/ic-card-vertical.entry.js +2 -2
  257. package/dist/esm/ic-checkbox-group.entry.js +13 -6
  258. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  259. package/dist/esm/ic-checkbox.entry.js +2 -2
  260. package/dist/esm/ic-chip.entry.js +7 -6
  261. package/dist/esm/ic-chip.entry.js.map +1 -1
  262. package/dist/esm/ic-data-row.entry.js +2 -2
  263. package/dist/esm/ic-dialog.entry.js +37 -12
  264. package/dist/esm/ic-dialog.entry.js.map +1 -1
  265. package/dist/esm/ic-divider.entry.js +2 -2
  266. package/dist/esm/ic-empty-state.entry.js +2 -2
  267. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  268. package/dist/esm/ic-footer-link.entry.js +2 -2
  269. package/dist/esm/ic-footer.entry.js +2 -2
  270. package/dist/esm/ic-hero.entry.js +2 -2
  271. package/dist/esm/ic-horizontal-scroll.entry.js +2 -2
  272. package/dist/esm/ic-input-component-container_3.entry.js +1389 -11
  273. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  274. package/dist/esm/ic-input-label_2.entry.js +8 -7
  275. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  276. package/dist/esm/ic-link.entry.js +2 -2
  277. package/dist/esm/ic-menu-group.entry.js +2 -2
  278. package/dist/esm/ic-menu-item.entry.js +2 -2
  279. package/dist/esm/ic-navigation-button.entry.js +2 -2
  280. package/dist/esm/ic-navigation-group.entry.js +2 -2
  281. package/dist/esm/ic-navigation-item.entry.js +3 -3
  282. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  283. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  284. package/dist/esm/ic-page-header.entry.js +3 -3
  285. package/dist/esm/ic-page-header.entry.js.map +1 -1
  286. package/dist/esm/ic-pagination-item.entry.js +2 -2
  287. package/dist/esm/ic-pagination.entry.js +2 -2
  288. package/dist/esm/ic-popover-menu.entry.js +2 -2
  289. package/dist/esm/ic-radio-group.entry.js +15 -8
  290. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  291. package/dist/esm/ic-radio-option.entry.js +3 -3
  292. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  293. package/dist/esm/ic-search-bar.entry.js +2 -2
  294. package/dist/esm/ic-select.entry.js +17 -10
  295. package/dist/esm/ic-select.entry.js.map +1 -1
  296. package/dist/esm/ic-side-navigation.entry.js +2 -2
  297. package/dist/esm/ic-status-tag.entry.js +3 -3
  298. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  299. package/dist/esm/ic-step.entry.js +68 -55
  300. package/dist/esm/ic-step.entry.js.map +1 -1
  301. package/dist/esm/ic-stepper.entry.js +22 -4
  302. package/dist/esm/ic-stepper.entry.js.map +1 -1
  303. package/dist/esm/ic-switch.entry.js +2 -2
  304. package/dist/esm/ic-tab-group.entry.js +2 -2
  305. package/dist/esm/ic-tab.entry.js +2 -2
  306. package/dist/esm/ic-text-field.entry.js +9 -9
  307. package/dist/esm/ic-text-field.entry.js.map +1 -1
  308. package/dist/esm/ic-theme.entry.js +2 -2
  309. package/dist/esm/ic-toast.entry.js +2 -2
  310. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  311. package/dist/esm/ic-toggle-button.entry.js +2 -2
  312. package/dist/esm/ic-top-navigation.entry.js +3 -3
  313. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  314. package/dist/esm/ic-typography.entry.js +2 -2
  315. package/dist/esm/index.js +1 -1
  316. package/dist/esm/loader.js +1 -1
  317. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +5 -1
  318. package/dist/types/components/ic-dialog/ic-dialog.d.ts +2 -1
  319. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +2 -3
  320. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +6 -2
  321. package/dist/types/components/ic-select/ic-select.d.ts +5 -1
  322. package/dist/types/components/ic-step/ic-step.d.ts +5 -1
  323. package/dist/types/components/ic-step/ic-step.types.d.ts +11 -0
  324. package/dist/types/components/ic-stepper/ic-stepper.d.ts +5 -1
  325. package/dist/types/components/ic-text-field/ic-text-field.d.ts +4 -4
  326. package/dist/types/components.d.ts +48 -10
  327. package/dist/types/interface.d.ts +0 -1
  328. package/dist/types/utils/common-helpers.d.ts +2 -0
  329. package/dist/types/utils/constants.d.ts +1 -0
  330. package/dist/types/utils/types.d.ts +7 -2
  331. package/hydrate/index.js +1580 -117
  332. package/hydrate/index.mjs +1580 -117
  333. package/package.json +4 -3
  334. package/vscode-data.json +45 -0
  335. package/dist/cjs/constants-8354f6e6.js.map +0 -1
  336. package/dist/cjs/helpers-ffe1c2d9.js.map +0 -1
  337. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js +0 -2
  338. package/dist/collection/components/ic-input-validation/ic-input-validation.types.js.map +0 -1
  339. package/dist/core/p-01aeffca.entry.js.map +0 -1
  340. package/dist/core/p-402c2455.entry.js +0 -2
  341. package/dist/core/p-402c2455.entry.js.map +0 -1
  342. package/dist/core/p-4a2c02b2.entry.js +0 -2
  343. package/dist/core/p-4a2c02b2.entry.js.map +0 -1
  344. package/dist/core/p-641c26c4.js.map +0 -1
  345. package/dist/core/p-6ceedfa8.js.map +0 -1
  346. package/dist/core/p-75a9b2e4.entry.js +0 -2
  347. package/dist/core/p-75a9b2e4.entry.js.map +0 -1
  348. package/dist/core/p-8326db29.entry.js +0 -2
  349. package/dist/core/p-8326db29.entry.js.map +0 -1
  350. package/dist/core/p-8af9413c.entry.js +0 -2
  351. package/dist/core/p-8af9413c.entry.js.map +0 -1
  352. package/dist/core/p-8d1fbbeb.entry.js +0 -2
  353. package/dist/core/p-8d1fbbeb.entry.js.map +0 -1
  354. package/dist/core/p-a4e67ab8.entry.js.map +0 -1
  355. package/dist/core/p-b80d408f.entry.js +0 -2
  356. package/dist/core/p-b80d408f.entry.js.map +0 -1
  357. package/dist/core/p-c81ffadd.entry.js +0 -2
  358. package/dist/core/p-c81ffadd.entry.js.map +0 -1
  359. package/dist/core/p-d35f8bd4.entry.js +0 -2
  360. package/dist/core/p-d35f8bd4.entry.js.map +0 -1
  361. package/dist/core/p-d6b3e02f.entry.js +0 -2
  362. package/dist/core/p-d6b3e02f.entry.js.map +0 -1
  363. package/dist/core/p-d7bd5aa0.entry.js +0 -2
  364. package/dist/core/p-d7bd5aa0.entry.js.map +0 -1
  365. package/dist/core/p-ed69f110.entry.js +0 -2
  366. package/dist/core/p-ed69f110.entry.js.map +0 -1
  367. package/dist/core/p-f17e1525.entry.js +0 -2
  368. package/dist/core/p-f17e1525.entry.js.map +0 -1
  369. package/dist/core/p-fd488ed7.entry.js.map +0 -1
  370. package/dist/esm/constants-48759bda.js.map +0 -1
  371. package/dist/esm/helpers-d8189e9d.js.map +0 -1
  372. package/dist/types/components/ic-input-validation/ic-input-validation.types.d.ts +0 -1
  373. /package/dist/core/{p-23b223bf.entry.js.map → p-01e018cb.entry.js.map} +0 -0
  374. /package/dist/core/{p-1ab63899.entry.js.map → p-02af2b59.entry.js.map} +0 -0
  375. /package/dist/core/{p-1d4dfef1.entry.js.map → p-0c36ce84.entry.js.map} +0 -0
  376. /package/dist/core/{p-f78f34ce.entry.js.map → p-0ec76cff.entry.js.map} +0 -0
  377. /package/dist/core/{p-35ee7c53.entry.js.map → p-13e093d0.entry.js.map} +0 -0
  378. /package/dist/core/{p-a48b581a.entry.js.map → p-1423bd4a.entry.js.map} +0 -0
  379. /package/dist/core/{p-3f55bb5b.entry.js.map → p-2126d37b.entry.js.map} +0 -0
  380. /package/dist/core/{p-515ded3f.entry.js.map → p-228bc12d.entry.js.map} +0 -0
  381. /package/dist/core/{p-d27e46ac.entry.js.map → p-25bef09d.entry.js.map} +0 -0
  382. /package/dist/core/{p-eddc5517.entry.js.map → p-27e67d45.entry.js.map} +0 -0
  383. /package/dist/core/{p-4dd8add9.entry.js.map → p-2800fc30.entry.js.map} +0 -0
  384. /package/dist/core/{p-f045f59d.entry.js.map → p-33582352.entry.js.map} +0 -0
  385. /package/dist/core/{p-58b8d154.entry.js.map → p-45097448.entry.js.map} +0 -0
  386. /package/dist/core/{p-3a78bf6e.entry.js.map → p-54803e3b.entry.js.map} +0 -0
  387. /package/dist/core/{p-0201abbf.entry.js.map → p-6058d4c9.entry.js.map} +0 -0
  388. /package/dist/core/{p-8d29c0fa.entry.js.map → p-675bb3e4.entry.js.map} +0 -0
  389. /package/dist/core/{p-75e0278a.entry.js.map → p-6dbe70f1.entry.js.map} +0 -0
  390. /package/dist/core/{p-b9018261.entry.js.map → p-6e139e6e.entry.js.map} +0 -0
  391. /package/dist/core/{p-aab838e5.entry.js.map → p-80317cd1.entry.js.map} +0 -0
  392. /package/dist/core/{p-02c2c31f.entry.js.map → p-813ad03c.entry.js.map} +0 -0
  393. /package/dist/core/{p-69412f61.entry.js.map → p-8558b9b7.entry.js.map} +0 -0
  394. /package/dist/core/{p-a468df37.entry.js.map → p-8684efeb.entry.js.map} +0 -0
  395. /package/dist/core/{p-ffc608a1.entry.js.map → p-8b99a806.entry.js.map} +0 -0
  396. /package/dist/core/{p-19366be6.entry.js.map → p-93479c36.entry.js.map} +0 -0
  397. /package/dist/core/{p-69cc0f7d.entry.js.map → p-95d3d1a7.entry.js.map} +0 -0
  398. /package/dist/core/{p-57803949.entry.js.map → p-a06c1e4e.entry.js.map} +0 -0
  399. /package/dist/core/{p-abb9dccb.entry.js.map → p-abd88929.entry.js.map} +0 -0
  400. /package/dist/core/{p-cdd04ec2.entry.js.map → p-b0376079.entry.js.map} +0 -0
  401. /package/dist/core/{p-0809aff4.entry.js.map → p-c04e1fab.entry.js.map} +0 -0
  402. /package/dist/core/{p-65a3c216.entry.js.map → p-c975cced.entry.js.map} +0 -0
  403. /package/dist/core/{p-f086d6df.entry.js.map → p-de32a223.entry.js.map} +0 -0
  404. /package/dist/core/{p-46423f42.entry.js.map → p-e6dacbe2.entry.js.map} +0 -0
  405. /package/dist/core/{p-1dab47b1.entry.js.map → p-ea06792a.entry.js.map} +0 -0
  406. /package/dist/core/{p-5c6efed3.entry.js.map → p-eb0e7153.entry.js.map} +0 -0
  407. /package/dist/core/{p-402813c9.entry.js.map → p-f609ca37.entry.js.map} +0 -0
  408. /package/dist/core/{p-cd63bcf2.entry.js.map → p-fb734a59.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icSelectCss","IcSelectStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","Select","constructor","hostRef","this","blurredBecauseButtonPressed","hasSetDefaultValue","hasTimedOut","inheritedAttributes","initialOptionsEmpty","inputId","menuId","retryButtonClick","searchableMenuItemSelected","ungroupedOptions","hostMutationObserver","clearButtonFocused","noOptions","open","pressedCharacters","searchableSelectInputValue","disabled","disableAutoFiltering","emptyOptionListText","fullWidth","helperText","hideLabel","includeDescriptionsInSearch","includeGroupTitlesInSearch","loadingErrorLabel","loadingLabel","multiple","name","placeholder","readonly","required","searchable","searchMatchPosition","selectOnEnter","showClearButton","size","theme","validationAriaLive","validationStatus","validationText","loading","options","filteredOptions","uniqueOptions","debounce","currDebounce","value","initialValue","inputValueToFilter","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","type","addedNodes","removedNodes","attribute","el","getAttribute","includes","checkSlotInChildMutations","forceUpdate","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","icRetryLoad","emit","hiddenInputValue","emitIcChange","Array","isArray","valueArray","slice","splice","indexOf","push","getValueSortedByOptions","length","icChange","emitIcInput","clearTimeout","debounceIcInput","window","setTimeout","icInput","setOptions","timeoutTimer","setOptionsValuesFromLabels","deduplicateOptions","label","isExternalFiltering","updateSearchableSelectResultAriaLive","setDefaultValue","uniqueValues","dedupedOptions","option","children","dedupedChildren","child","console","warn","Object","assign","map","setUngroupedOptions","event","setTextColor","nativeSelectElement","className","selectedIndex","setMenuChange","getLabelFromValue","getMultipleOptionsString","selectedValues","filter","join","getFilteredChildMenuOptions","getFilteredMenuOptions","valuesFromAllOptions","sort","a","b","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","optionId","currValue","getValueFromLabel","_b","icOptionDeselect","ariaActiveDescendant","handleSelectAllChange","allValues","select","unselectedValues","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","handleClick","menu","handleClickOpen","handleExpandIconMouseDown","handleClear","stopPropagation","clearInput","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","some","newFilteredOptions","menuOptionsFiltered","triggerLoading","timeout","timedOut","find","handleSearchableSelectInput","target","debounceAria","searchableSelectResultsStatusEl","innerText","updateMultiSelectedCountAriaLive","multiSelectSelectedCountEl","selectedCount","getOptionsWithoutGroupTitlesCount","getDefaultValue","onFocus","icFocus","onBlur","tagName","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","setAttribute","renderNativeOption","h","selected","watchDisabledHandler","removeDisabledFalse","loadingHandler","newValue","watchOptionsHandler","debounceChangedHandler","valueChangedHandler","String","openChangedHandler","icOpen","icClose","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","valueInOptions","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","MutationObserver","observe","attributes","childList","componentDidRender","setFocus","render","form","renderHiddenInput","invalid","IcInformationStatus","Error","showValidation","hasValidationStatus","describedBy","getInputDescribedByText","trim","valueLabelString","isClearable","Host","class","for","slot","ref","anchorEl","isSlotUsed","isMobileOrTablet","onChange","id","onKeyDown","role","autocomplete","undefined","onInput","onClick","innerHTML","Clear","variant","onMouseDown","Expand","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuOptionSelectAll","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","closeOnSelect","multiSelect","searchableSelect","ariaLiveMode","status","message"],"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --menu-width: Width of the dropdown menu\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n display: block;\n position: relative;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --menu-max-height: 100px;\n --border-color: var(--ic-select-field-border);\n --border-color-hover: var(--ic-select-field-border-hover);\n --border-color-pressed: var(--ic-select-field-border-pressed);\n --border-color-disabled: var(--ic-select-field-border-disabled);\n --border-color-error: var(--ic-select-field-border-error);\n --border-color-error-hover: var(--ic-select-field-border-error-hover);\n --border-color-error-pressed: var(--ic-select-field-border-error-pressed);\n --border-color-success: var(--ic-select-field-border-success);\n --border-color-success-hover: var(--ic-select-field-border-success-hover);\n --border-color-success-pressed: var(--ic-select-field-border-success-pressed);\n --border-color-warning: var(--ic-select-field-border-warning);\n --border-color-warning-hover: var(--ic-select-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-select-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-select-field-labe);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle\n );\n --ic-input-validation-status-text-color: var(--ic-select-state-text);\n --ic-input-validation-error: var(--ic-select-state-icon-error);\n --ic-input-validation-warning-icon-color: var(--ic-select-state-icon-warning);\n --ic-input-validation-success-icon-color: var(--ic-select-state-icon-success);\n --menu-item-text-color: var(--ic-select-list-option-text);\n --menu-bg-color: var(--ic-select-list-option-background);\n --menu-border-color: var(--ic-select-dropdown-list-border);\n}\n\n:host(.ic-select-disabled) {\n --ic-input-label-text-color: var(--ic-select-field-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-select-input-field-label-subtitle-disabled\n );\n}\n\n:host(.ic-select-full-width) {\n width: 100%;\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-select-field-border-pressed);\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);\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: var(--ic-select-mobile-dropdown-icon);\n caret-color: var(--ic-select-input-field-text-cursor);\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-select-list-option-text);\n}\n\nselect:disabled {\n color: var(--ic-select-content-text-disabled);\n background-image: var(--ic-select-mobile-dropdown-icon-disabled);\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 position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n background-color: var(--ic-select-field-background);\n color: var(--ic-select-content-text);\n}\n\n.select-input:focus {\n outline: none;\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.ic-select-searchable) .select-input {\n cursor: auto;\n}\n\n.select-input.with-clear-button {\n padding-right: 0;\n}\n\n.value-text {\n max-width: calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));\n box-sizing: border-box;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n margin-bottom: 0 !important;\n}\n\n.value-text.with-clear-button {\n padding-right: calc(var(--ic-space-xl) + var(--ic-space-xs));\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-disabled) .expand-icon,\n:host(.ic-select-disabled) .expand-icon > svg > path {\n color: var(--ic-select-disabled-expand-icon-color);\n}\n\n:host(.ic-select-searchable) .expand-icon {\n padding-left: 0;\n height: 2.25rem;\n}\n\n:host(.ic-select-searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 calc(var(--ic-space-xxxs) + var(--ic-space-xxs)) 0\n var(--ic-space-xxs);\n}\n\n:host(.ic-select-searchable:not(.ic-select-disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-select-expand-icon-color);\n}\n\n.expand-icon-open,\n:host(.ic-select-searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n.placeholder {\n color: var(--ic-select-content-placeholder-text);\n}\n\n:host(.ic-select-disabled) .value-text,\n:host(.ic-select-disabled) .select-input,\n:host(.ic-select-disabled) .placeholder,\n:host(.ic-select-disabled.ic-select-searchable) .select-input::placeholder {\n color: var(--ic-select-content-text-disabled);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n align-items: center;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-select-content-divider);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-select-small) .divider {\n height: var(--ic-space-md);\n}\n\n:host(.ic-select-large) .divider {\n height: var(--ic-space-xl);\n}\n\n.clear-button {\n color: var(--ic-select-clear-button);\n position: absolute;\n right: calc(var(--ic-space-xl) + var(--ic-space-xxs) - var(--ic-space-1px));\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.clear-button:active {\n background-color: var(--ic-color-focus-inner);\n box-shadow: inset 0 0 0 0.125rem var(--ic-color-focus-outer);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus,\n.clear-button:active * {\n fill: var(--ic-atoms-input-clear-button-focus);\n}\n\n.clear-button.searchable {\n position: static;\n}\n\n.searchable-select-results-status,\n.multi-select-selected-count {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-placeholder-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-select-content-text);\n}\n\n.readonly ::slotted([slot=\"icon\"]) {\n padding: 0.375rem;\n margin-bottom: 0.75rem;\n}\n\n@media (forced-colors: active) {\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n getOptionsWithoutGroupTitlesCount,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n checkSlotInChildMutations,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaLive,\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcMenuOption,\n IcSearchMatchPositions,\n IcMultiValueEventDetail,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport {\n IcMenuChangeEventDetail,\n IcOptionSelectEventDetail,\n} from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"tabindex\", \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the select.\n * @slot icon - Content will be placed to the left of the select text input.\n */\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Select {\n private anchorEl?: HTMLElement;\n private blurredBecauseButtonPressed = false;\n private characterKeyPressTimer?: number;\n private clearButton?: HTMLIcButtonElement;\n private customSelectElement?: HTMLButtonElement;\n private debounceAria?: number;\n private hasSetDefaultValue = false;\n private hasTimedOut = false;\n private inheritedAttributes: { [k: string]: string } = {};\n private initialOptionsEmpty = false;\n private inputId = `ic-select-input-${inputIds++}`;\n private menu?: HTMLIcMenuElement;\n private menuId = `${this.inputId}-menu`;\n private nativeSelectElement?: HTMLSelectElement;\n private retryButtonClick = false;\n private searchableMenuItemSelected = false;\n private searchableSelectElement?: HTMLInputElement;\n private timeoutTimer?: number;\n private ungroupedOptions: IcMenuOption[] = [];\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el!: HTMLIcSelectElement;\n\n @State() ariaActiveDescendant?: string;\n @State() clearButtonFocused = false;\n @State() debounceIcInput?: number;\n @State() hiddenInputValue: string | null;\n @State() noOptions: IcMenuOption[] | null = null;\n @State() open = false;\n @State() pressedCharacters = \"\";\n @State() searchableSelectInputValue: string | null = null;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableAutoFiltering = false;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * The <form> element to associate the select with.\n */\n @Prop() form?: string;\n\n /**\n * If `true`, the select will fill the width of the container.\n */\n @Prop() fullWidth = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch = false;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel = \"Loading Error\";\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel = \"Loading...\";\n\n /**\n * If `true`, multiple options can be selected.\n */\n @Prop() multiple = false;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"Select an option\";\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options. This functionality is only available on the single-select variant of the select component.\n */\n @Prop() searchable = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown on the single select.\n */\n @Prop() selectOnEnter = false;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton = false;\n\n /**\n * The size of the select.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText = \"\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asynchronously.\n */\n @Prop({ mutable: true }) loading = false;\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue ? this.triggerLoading() : this.setOptions();\n }\n\n /**\n * The possible selection options.\n */\n @Prop() options: IcMenuOption[] = [];\n @State() filteredOptions: IcMenuOption[] = this.options;\n @State() uniqueOptions: IcMenuOption[] = this.options;\n @Watch(\"options\")\n watchOptionsHandler(): void {\n this.setOptions();\n }\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icInput` event after each keystroke.\n */\n @Prop() debounce = 0;\n @State() currDebounce = this.debounce;\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number): void {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n /**\n * The value of the select, reflected by the value of the currently selected option.\n * For the searchable variant, the value is also reflected by the user input.\n * For the multi-select variant, the value must be an array of option values.\n */\n @Prop({ mutable: true }) value: string | string[] | null = null;\n @State() initialValue = this.value;\n @State() inputValueToFilter: string | null = this.value as string;\n @State() currValue: string | string[] | null;\n @Watch(\"value\")\n valueChangedHandler(): void {\n if (this.value !== this.currValue) {\n if (this.value && this.multiple) {\n this.currValue = this.getMultipleOptionsString(this.value as string[])\n ? this.getValueSortedByOptions(this.value as string[])\n : null;\n this.updateMultiSelectedCountAriaLive();\n } else {\n this.currValue = this.getLabelFromValue(this.value as string)\n ? this.value\n : null;\n }\n }\n\n if (this.searchable && this.value) {\n // Only set if value not null - prevents whole input value being cleared when edited\n this.searchableSelectInputValue =\n this.getLabelFromValue(String(this.currValue)) || null;\n }\n }\n\n @Watch(\"open\")\n openChangedHandler(): void {\n this.open ? this.icOpen.emit() : this.icClose.emit();\n }\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur: EventEmitter<void>;\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the clear or clear all button is clicked.\n */\n @Event() icClear: EventEmitter<void>;\n\n /**\n * Emitted when the select options menu is closed.\n */\n @Event() icClose: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus: EventEmitter<void>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcMultiValueEventDetail>;\n\n /**\n * Emitted when the select options menu is opened.\n */\n @Event() icOpen: EventEmitter<void>;\n\n /**\n * Emitted when an option is selected.\n * Selecting an option will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when `multiple` is `true` and an option is deselected.\n */\n @Event() icOptionDeselect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcMultiValueEventDetail>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n const valueInOptions = this.multiple\n ? this.getMultipleOptionsString(this.value as string[])\n : this.getLabelFromValue(this.value as string);\n this.currValue = valueInOptions ? this.value : null;\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.el, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n this.filteredOptions = this.noOptions;\n } else {\n this.setDefaultValue();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) {\n this.triggerLoading();\n }\n\n if (this.searchable) {\n this.hiddenInputValue = this.currValue as string;\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\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 // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private handleRetry = (ev: CustomEvent<IcMultiValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({\n value: this.searchable\n ? this.searchableSelectInputValue\n : this.hiddenInputValue,\n });\n };\n\n private emitIcChange = (value: string | string[] | null) => {\n // If \"Select all\" button clicked, replace value with new value (array of all option values)\n if (this.multiple && !Array.isArray(value) && value !== null) {\n // Update selected options - adds / removes them, in order of option list\n // Create new array if value prop is undefined\n if (this.value) {\n let valueArray = (this.value as string[]).slice();\n\n if (this.value.includes(value)) {\n valueArray.splice(valueArray.indexOf(value), 1);\n } else {\n valueArray.push(value);\n valueArray = this.getValueSortedByOptions(valueArray);\n }\n\n this.value = valueArray.length === 0 ? null : valueArray;\n } else {\n this.value = [value];\n }\n } else {\n this.value = value;\n }\n\n this.icChange.emit({ value: this.multiple ? this.value : value });\n };\n\n private emitIcInput = (value: string) => {\n clearTimeout(this.debounceIcInput);\n this.debounceIcInput = window.setTimeout(\n () => this.icInput.emit({ value }),\n this.currDebounce\n );\n };\n\n private setOptions = () => {\n if (!this.hasTimedOut && this.options !== this.noOptions) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.uniqueOptions = this.deduplicateOptions(this.options);\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.uniqueOptions = this.noOptions;\n }\n\n this.filteredOptions = this.uniqueOptions;\n\n if (this.isExternalFiltering()) {\n // When searchable select\n this.noOptions = null;\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n } else if (!this.searchable) {\n this.options = this.noOptions || [];\n }\n };\n\n /**\n * Processes the provided array of IcMenuOptions, removing duplicates and reporting them with a console.warn\n * @param options array of IcMenuOptions\n * @returns a new options object, with all entries possessing a duplicate 'value' field removed\n */\n private deduplicateOptions = (options: IcMenuOption[]) => {\n const uniqueValues: string[] = [];\n const dedupedOptions: IcMenuOption[] = [];\n\n options.forEach((option) => {\n if (option.children) {\n //If an option has children, we will loop through them\n const dedupedChildren: IcMenuOption[] = [];\n option.children.forEach((child) => {\n if (uniqueValues.includes(child.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${child.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(child.value);\n dedupedChildren.push(child);\n }\n });\n // construct a modified option, inserting the deduplicated children alongside the original information\n dedupedOptions.push({\n ...option,\n children: dedupedChildren,\n });\n } else {\n // If an option does not have children, assess to see if it's value has been included already\n if (uniqueValues.includes(option.value)) {\n console.warn(\n `ic-select with label ${this.label} was populated with duplicate option (value: ${option.value}) which has been removed.`\n );\n } else {\n uniqueValues.push(option.value);\n dedupedOptions.push(option);\n }\n }\n });\n return dedupedOptions;\n };\n\n /**\n * Loop through options array and for all options with no value, infer it from the label\n */\n private setOptionsValuesFromLabels = () => {\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 setUngroupedOptions = (event: CustomEvent) => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = () => {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.className =\n this.nativeSelectElement.selectedIndex === 0\n ? \"placeholder\"\n : \"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) =>\n getLabelFromValue(value, this.uniqueOptions);\n\n private getMultipleOptionsString = (selectedValues: string[]) =>\n selectedValues\n ?.map((value) => this.getLabelFromValue(value))\n .filter((label) => !!label)\n .join(\", \");\n\n private getFilteredChildMenuOptions = (\n option: IcMenuOption\n ): IcMenuOption => ({\n ...option,\n children:\n option.children &&\n getFilteredMenuOptions(\n option.children,\n this.searchable && !!this.includeDescriptionsInSearch,\n this.searchable\n ? this.searchableSelectInputValue || \"\"\n : this.pressedCharacters,\n this.searchable ? this.searchMatchPosition : \"start\"\n ),\n });\n\n // (For multi-select) get value array, i.e. selected option values, in order they appear in option list\n private getValueSortedByOptions = (value: string[]) => {\n const valueArray = value;\n const valuesFromAllOptions = this.ungroupedOptions.map(\n (option) => option.value\n );\n\n valueArray.sort(\n (a, b) =>\n valuesFromAllOptions.indexOf(a) - valuesFromAllOptions.indexOf(b)\n );\n\n return valueArray;\n };\n\n private handleNativeSelectChange = () => {\n if (this.nativeSelectElement) {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitIcChange(this.nativeSelectElement.value);\n }\n this.setTextColor();\n };\n\n // Handle option select for when a custom input box and menu is rendered\n // (rather than native <select> - rendered when viewed on a mobile / tablet screen)\n private handleCustomSelectChange = (\n event: CustomEvent<IcOptionSelectEventDetail>\n ) => {\n const { value, label, optionId } = event.detail;\n\n if (label === this.emptyOptionListText) {\n this.searchableSelectElement?.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = value || null;\n this.searchableMenuItemSelected = true;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.value as string) || null;\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue =\n this.getValueFromLabel(this.searchableSelectInputValue) || null;\n }\n\n if (value) {\n if (this.multiple && this.value?.includes(value)) {\n this.icOptionDeselect.emit({ value });\n } else {\n this.icOptionSelect.emit({ value });\n }\n }\n\n this.ariaActiveDescendant = optionId;\n this.emitIcChange(value || null);\n };\n\n private handleSelectAllChange = ({\n detail,\n }: CustomEvent<{ select: boolean }>) => {\n const allValues = this.ungroupedOptions\n .filter((option) => !option.disabled)\n .map((option) => option.value);\n\n if (detail.select) {\n // Only emit icOptionSelect for all values that are newly selected\n const unselectedValues = this.value\n ? allValues.filter(\n (value) => this.value && !(this.value as string[]).includes(value)\n )\n : allValues;\n\n unselectedValues.forEach((value) => this.icOptionSelect.emit({ value }));\n } else {\n // Only emit icOptionDeselect for values that were selected\n (this.value as string[]).forEach((value) =>\n this.icOptionDeselect.emit({ value })\n );\n }\n\n this.emitIcChange(detail.select ? allValues : null);\n };\n\n private handleMenuChange = (event: CustomEvent<IcMenuChangeEventDetail>) => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n if (this.searchable) this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n if (!this.multiple) {\n this.handleCharacterKeyDown(ev.detail.key);\n }\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.el.shadowRoot?.querySelector(\".focus-indicator\");\n\n if (focusIndicator) {\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n }\n };\n\n private handleMouseDown = (event: Event) => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = () =>\n this.searchable && !!this.disableAutoFiltering;\n\n private handleClick = (event: MouseEvent) => {\n if (!this.open && this.menu) {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else if (\n !this.hasTimedOut &&\n !this.loading &&\n !this.noOptions?.length &&\n (!this.searchable || this.searchableMenuItemSelected)\n ) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (event.detail !== 0) {\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) => {\n event.stopPropagation();\n this.hasTimedOut = false;\n clearTimeout(this.timeoutTimer);\n this.clearInput();\n this.emitIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.hiddenInputValue = null;\n this.searchableSelectElement?.focus();\n } else {\n this.customSelectElement?.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (this.open && key === \" \" && this.pressedCharacters.length === 0) {\n this.setMenuChange(false);\n }\n\n if (key.length !== 1 || this.searchable) {\n this.pressedCharacters = \"\";\n return;\n }\n\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n if (key !== \" \" || !!this.pressedCharacters) {\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitIcChange(this.filteredOptions[0].value);\n }\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key !== \"Escape\" && event.key !== \"Tab\") || this.open) {\n event.cancelBubble = true;\n }\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (this.menu && !this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.uniqueOptions;\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!isArrowKey || this.noOptions === null) {\n if (event.key !== \" \" || this.pressedCharacters.length <= 0) {\n // Keyboard events get passed onto ic-menu\n this.menu?.handleKeyboardOpen(event);\n }\n if (!this.multiple) {\n this.handleCharacterKeyDown(event.key);\n }\n }\n }\n };\n\n private handleClearButtonFocus = () => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent) => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n (!this.searchableSelectElement ||\n ev.relatedTarget !== this.searchableSelectElement) &&\n (!retryButton || ev.relatedTarget !== retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = () => {\n const options = this.deduplicateOptions(\n this.searchable ? [...this.uniqueOptions] : this.ungroupedOptions\n );\n\n const isGrouped = options.some((option) => !!option.children);\n let newFilteredOptions: IcMenuOption[] = [];\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n !!this.includeDescriptionsInSearch,\n this.inputValueToFilter || \"\",\n this.searchMatchPosition\n );\n this.searchableMenuItemSelected = false;\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (\n !isGrouped &&\n menuOptionsFiltered[0]?.label !== this.emptyOptionListText\n ) {\n newFilteredOptions = menuOptionsFiltered;\n } else if (isGrouped) {\n newFilteredOptions = options.map((option) =>\n this.includeGroupTitlesInSearch &&\n menuOptionsFiltered.indexOf(option) !== -1\n ? option\n : this.getFilteredChildMenuOptions(option)\n );\n }\n\n if (\n newFilteredOptions.length > 0 &&\n (!isGrouped ||\n newFilteredOptions.some(\n ({ children }) => children && children.length > 0\n ))\n ) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n };\n\n /**\n * Put the select component into loading state.\n * Replace options with the loading message. If timeout is enabled, set the timeout and once passed, replace options with the loading error message\n */\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable) {\n this.filteredOptions = this.noOptions;\n } else if (this.uniqueOptions !== this.noOptions && !this.searchable) {\n this.uniqueOptions = this.noOptions;\n }\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.uniqueOptions = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string | null): string | undefined =>\n label && this.uniqueOptions.find((option) => option.label === label)?.value;\n\n private handleSearchableSelectInput = (event: Event) => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.emitIcInput(this.searchableSelectInputValue);\n\n // De-select previous selection when input is edited\n // Only emit icChange once when editing input\n if (this.value != null) {\n this.emitIcChange(null);\n }\n\n this.hiddenInputValue = null;\n this.inputValueToFilter = this.searchableSelectInputValue;\n this.setMenuChange(true);\n\n if (!this.disableAutoFiltering) {\n this.handleFilter();\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n };\n\n private updateSearchableSelectResultAriaLive = () => {\n const searchableSelectResultsStatusEl =\n this.el.shadowRoot?.querySelector<HTMLDivElement>(\n \".searchable-select-results-status\"\n );\n\n if (searchableSelectResultsStatusEl) {\n searchableSelectResultsStatusEl.innerText =\n this.noOptions !== null ? this.emptyOptionListText : \"\";\n }\n };\n\n private updateMultiSelectedCountAriaLive = () => {\n const multiSelectSelectedCountEl =\n this.el.shadowRoot?.querySelector<HTMLDivElement>(\n \".multi-select-selected-count\"\n );\n\n const selectedCount = `${\n this.currValue?.length\n } of ${getOptionsWithoutGroupTitlesCount(this.options)} selected`;\n\n if (\n multiSelectSelectedCountEl &&\n multiSelectSelectedCountEl.innerText !== selectedCount\n ) {\n multiSelectSelectedCountEl.innerText = selectedCount;\n }\n };\n\n private getDefaultValue = (value: string) =>\n this.getLabelFromValue(value) || null;\n\n private setDefaultValue = () => {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.searchable\n ? this.getDefaultValue(this.currValue as string)\n : null;\n\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = ({ relatedTarget }: FocusEvent) => {\n const target = relatedTarget as HTMLElement;\n if (\n target !== null &&\n ((target.tagName === \"UL\" && target.className.includes(\"menu\")) ||\n (target.tagName === \"LI\" && target.className.includes(\"option\")))\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n\n if (\n this.searchable &&\n !!this.menu &&\n target !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n target\n ) &&\n (!this.clearButton || target !== this.clearButton) &&\n (!retryButton || target !== retryButton)\n ) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n // Clear input field on blur when searchable if no option is selected\n if (!this.value) {\n this.clearInput();\n }\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = () => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(\n this.value as string\n );\n this.hiddenInputValue = this.value as string;\n }\n };\n\n private clearInput = () => {\n this.noOptions = null;\n\n if (this.searchable) {\n this.searchableSelectElement?.setAttribute(\"value\", \"\");\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.uniqueOptions;\n }\n };\n\n private renderNativeOption = (option: IcMenuOption) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === this.currValue}\n >\n {option.label}\n </option>\n );\n\n render() {\n const {\n size,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n multiple,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationAriaLive,\n validationStatus,\n validationText,\n currValue,\n theme,\n hiddenInputValue,\n open,\n inputId,\n searchableSelectInputValue,\n loading,\n value,\n emptyOptionListText,\n uniqueOptions,\n selectOnEnter,\n form,\n inheritedAttributes,\n ariaActiveDescendant,\n hasTimedOut,\n noOptions,\n filteredOptions,\n clearButtonFocused,\n } = this;\n\n // HTML inputs only accept 'string' for their value\n // Does not cause errors when it is a multi-select - sets value correctly, to a comma-separated string\n renderHiddenInput(\n this.el,\n searchable ? hiddenInputValue : (currValue as string),\n name || inputId,\n disabled\n );\n\n const invalid = `${validationStatus === IcInformationStatus.Error}`;\n\n const showValidation = hasValidationStatus(validationStatus, !!disabled);\n\n const describedBy = getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showValidation\n ).trim();\n\n const valueLabelString = multiple\n ? this.getMultipleOptionsString(currValue as string[])\n : this.getLabelFromValue(currValue as string);\n\n const isClearable =\n !disabled &&\n (searchable\n ? !!searchableSelectInputValue\n : !!currValue && !loading && showClearButton);\n\n return (\n <Host\n class={{\n \"ic-select-disabled\": disabled,\n \"ic-select-searchable\": searchable,\n [`ic-select-${size}`]: size !== \"medium\",\n \"ic-select-full-width\": fullWidth,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n onBlur={this.onBlur}\n >\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 >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": open }}\n size={size}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {isSlotUsed(this.el, \"icon\") &&\n !disabled &&\n (!readonly || !!value) && (\n <span\n slot=\"left-icon\"\n class={{\n readonly,\n \"has-value\": !!value,\n }}\n >\n <slot name=\"icon\" />\n </span>\n )}\n {readonly ? (\n <ic-typography>\n <p>{valueLabelString}</p>\n </ic-typography>\n ) : isMobileOrTablet() && !multiple ? (\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 onKeyDown={this.handleNativeSelectKeyDown}\n form={form}\n {...inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) =>\n option.children ? (\n <optgroup label={option.label}>\n {option.children.map((child) =>\n this.renderNativeOption(child)\n )}\n </optgroup>\n ) : (\n this.renderNativeOption(option)\n )\n )}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class={{\n \"value-text\": true,\n \"select-input\": true,\n \"with-clear-button\": !!searchableSelectInputValue,\n }}\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={`${open}`}\n aria-invalid={invalid}\n aria-required={`${required}`}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={inputId}\n value={searchableSelectInputValue || undefined}\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 form={form}\n ></input>\n {isClearable && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n searchableSelectInputValue &&\n (currValue === null || loading)\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={size}\n variant=\"icon-tertiary\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\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\": open,\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 role=\"combobox\"\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={inputId}\n aria-label={`${label}, ${\n (multiple && currValue\n ? `${\n currValue.length\n } of ${getOptionsWithoutGroupTitlesCount(\n options\n )} selected, ${valueLabelString}`\n : valueLabelString) || placeholder\n }`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={`${open}`}\n aria-owns={menuId}\n aria-controls={menuId}\n aria-required={`${required}`}\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 \"with-clear-button\": isClearable,\n placeholder:\n !loading && multiple\n ? !value || value.length < 1\n : !this.getLabelFromValue(currValue as string),\n }}\n >\n {valueLabelString || placeholder}\n </ic-typography>\n <div class=\"select-input-end\">\n {isClearable && <div class=\"divider\"></div>}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": open,\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {isClearable && (\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={size}\n variant=\"icon-tertiary\"\n theme={clearButtonFocused ? \"light\" : \"dark\"}\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {(!isMobileOrTablet() || multiple) && (\n <ic-menu\n class={{\n \"no-results\":\n loading ||\n hasTimedOut ||\n noOptions?.[0]?.label === emptyOptionListText,\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 size={size}\n menuId={menuId}\n open={open}\n options={searchable ? filteredOptions : uniqueOptions}\n value={multiple ? (currValue as string[]) : (currValue as string)}\n fullWidth={fullWidth}\n selectOnEnter={selectOnEnter}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuOptionSelectAll={this.handleSelectAllChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.el}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={\n searchable || multiple || selectOnEnter ? \"manual\" : \"automatic\"\n }\n closeOnSelect={!multiple}\n multiSelect={multiple ? true : false}\n searchableSelect={searchable ? true : false}\n ></ic-menu>\n )}\n {multiple && (\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"multi-select-selected-count\"\n ></div>\n )}\n <ic-input-validation\n class={{\n \"menu-open\": open,\n }}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n for={inputId}\n ></ic-input-validation>\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import{r as t,h as i,H as e,g as n,c as s,F as o}from"./p-8e4e97b4.js";import{r as c,a as r,t as a,J as l,Q as u,o as h,G as d}from"./p-b57e59b7.js";import{s as p,f as m}from"./p-bddf799a.js";import{C as f}from"./p-c2e091d7.js";import{c as b}from"./p-68a5aaff.js";const v="ic-input-component-container{display:flex;border:var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;min-height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--input-bg-color, var(--ic-color-background-primary));box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.ic-input-component-container-full-width{width:100%}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed\n var(--border-color-disabled, var(--ic-color-border-neutral-disabled))}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-small.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-large.ic-input-component-container-readonly{height:auto;background:transparent}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-readonly:hover{border:none;padding:0}ic-input-component-container.ic-input-component-container-error{border:var(--ic-space-xxxs) solid\n var(--border-color-error, var(--ic-color-border-error));padding:0}ic-input-component-container.ic-input-component-container-error:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-error-hover, var(--ic-color-border-error-hover))}ic-input-component-container.ic-input-component-container-error:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-error-pressed, var(--ic-color-border-error-pressed))}ic-input-component-container.ic-input-component-container-warning{border:var(--ic-space-xxxs) solid\n var(--border-color-warning, var(--ic-color-border-warning));padding:0}ic-input-component-container.ic-input-component-container-warning:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-warning-hover, var(--ic-color-border-warning-hover))}ic-input-component-container.ic-input-component-container-warning:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-warning-pressed, var(--ic-color-border-warning-pressed))}ic-input-component-container.ic-input-component-container-success{border:var(--ic-space-xxxs) solid\n var(--border-color-success, var(--ic-color-border-success));padding:0}ic-input-component-container.ic-input-component-container-success:hover{border:var(--ic-space-xxxs) solid\n var(--border-color-success-hover, var(--ic-color-border-success-hover))}ic-input-component-container.ic-input-component-container-success:focus-within{border:var(--ic-space-xxxs) solid\n var(--border-color-success-pressed, var(--ic-color-border-success-pressed))}ic-input-component-container.ic-input-component-container-small{height:var(--ic-space-xl);min-height:var(--ic-space-xl)}ic-input-component-container.ic-input-component-container-large{height:var(--ic-space-xxl);min-height:var(--ic-space-xxl)}ic-input-component-container.ic-input-component-container-multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-multiline .icon-container,ic-input-component-container.ic-input-component-container-multiline.ic-input-component-container-small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.ic-input-component-container-readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.ic-input-component-container-disabled ::-moz-placeholder{display:none}ic-input-component-container.ic-input-component-container-disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container .inline-success>svg{fill:var(--ic-input-component-container-success-icon-inline-color);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-input-component-container-hover-border);border-color:var(--border-color-hover, var(--ic-color-border-neutral-hover));color:var(--ic-action-monochrome-hover-dark)}ic-input-component-container:focus{border:var(--ic-border-pressed);border-color:var(\n --border-color-pressed,\n var(--ic-color-border-neutral-pressed)\n )}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.ic-input-component-container-dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-border-width) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed GrayText}}";const g=v;const y=class{constructor(i){t(this,i);this.disabled=false;this.fullWidth=false;this.multiLine=false;this.readonly=false;this.size="medium";this.validationInline=false;this.validationStatus=""}watchDisabledHandler(){c(this.disabled,this.el)}componentWillLoad(){c(this.disabled,this.el)}componentDidLoad(){this.hostMutationObserver=new MutationObserver((t=>r(t,"left-icon",this)));this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{size:t,validationStatus:n,disabled:s,readonly:o,multiLine:c,fullWidth:r,validationInline:u}=this;return i(e,{key:"82e6604ab956d7648209ae1214797d48ce4a169c",class:{[`ic-input-component-container-${t}`]:true,[`ic-input-component-container-${n}`]:n!==""&&!s&&!o,"ic-input-component-container-disabled":!!s,"ic-input-component-container-readonly":!!o,"ic-input-component-container-multiline":!!c,"ic-input-component-container-full-width":!!r},"aria-disabled":s?"true":null},i("div",{key:"0fd329a8f1397ab2b6f7b4f3fd62d180003ef7e4",class:"focus-indicator"},a(this.el,"left-icon")&&i("div",{key:"3af5861c01b3e6338e20288c0577d4554d9357e6",class:"icon-container"},i("slot",{key:"25bd5414058904fb5ed05f0e4e7fda6fc4966fbb",name:"left-icon"})),i("slot",{key:"2a63ea395d97ca2f3121f30fae1a3ac8bdfd7599"}),u&&n===l.Success&&i("span",{key:"ac962172c01b7cc0abf776b7a5ff0e58cd996ad7",class:"inline-success",innerHTML:p})))}get el(){return n(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};y.style=g;const x="ic-input-container .component-container{display:flex;flex-direction:column}";const w=x;const k=class{constructor(i){t(this,i);this.disabled=false;this.readonly=false}render(){return i(e,{key:"d7a6f03073013efef8534f6305e64f66d2b58b91"},i("div",{key:"f93b5ad4fc27eed8fabf3fd83de73906b4592ca4",class:{["component-container"]:true,["disabled"]:!!this.disabled,["readonly"]:!!this.readonly}},i("slot",{key:"59074f71d915aebc3205308c0406b4f6ab2a73ae"})))}};k.style=w;var T=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};var E={exports:{}};
2
+ /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */(function(t,i){(function(i,e){t.exports=e()})(T,(function(){const{entries:t,setPrototypeOf:i,isFrozen:e,getPrototypeOf:n,getOwnPropertyDescriptor:s}=Object;let{freeze:o,seal:c,create:r}=Object;let{apply:a,construct:l}=typeof Reflect!=="undefined"&&Reflect;if(!o){o=function t(i){return i}}if(!c){c=function t(i){return i}}if(!a){a=function t(i,e,n){return i.apply(e,n)}}if(!l){l=function t(i,e){return new i(...e)}}const u=E(Array.prototype.forEach);const h=E(Array.prototype.lastIndexOf);const d=E(Array.prototype.pop);const p=E(Array.prototype.push);const m=E(Array.prototype.splice);const f=E(String.prototype.toLowerCase);const b=E(String.prototype.toString);const v=E(String.prototype.match);const g=E(String.prototype.replace);const y=E(String.prototype.indexOf);const x=E(String.prototype.trim);const w=E(Object.prototype.hasOwnProperty);const k=E(RegExp.prototype.test);const T=S(TypeError);function E(t){return function(i){if(i instanceof RegExp){i.lastIndex=0}for(var e=arguments.length,n=new Array(e>1?e-1:0),s=1;s<e;s++){n[s-1]=arguments[s]}return a(t,i,n)}}function S(t){return function(){for(var i=arguments.length,e=new Array(i),n=0;n<i;n++){e[n]=arguments[n]}return l(t,e)}}function A(t,n){let s=arguments.length>2&&arguments[2]!==undefined?arguments[2]:f;if(i){i(t,null)}let o=n.length;while(o--){let i=n[o];if(typeof i==="string"){const t=s(i);if(t!==i){if(!e(n)){n[o]=t}i=t}}t[i]=true}return t}function L(t){for(let i=0;i<t.length;i++){const e=w(t,i);if(!e){t[i]=null}}return t}function z(i){const e=r(null);for(const[n,s]of t(i)){const t=w(i,n);if(t){if(Array.isArray(s)){e[n]=L(s)}else if(s&&typeof s==="object"&&s.constructor===Object){e[n]=z(s)}else{e[n]=s}}}return e}function R(t,i){while(t!==null){const e=s(t,i);if(e){if(e.get){return E(e.get)}if(typeof e.value==="function"){return E(e.value)}}t=n(t)}function e(){return null}return e}const _=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]);const I=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]);const O=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]);const D=o(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]);const M=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]);const C=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]);const N=o(["#text"]);const P=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]);const H=o(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]);const F=o(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]);const j=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]);const B=c(/\{\{[\w\W]*|[\w\W]*\}\}/gm);const U=c(/<%[\w\W]*|[\w\W]*%>/gm);const $=c(/\$\{[\w\W]*/gm);const W=c(/^data-[\-\w.\u00B7-\uFFFF]+$/);const G=c(/^aria-[\-\w]+$/);const q=c(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i);const K=c(/^(?:\w+script|data):/i);const Y=c(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g);const X=c(/^html$/i);const V=c(/^[a-z][.\w]*(-[.\w]+)+$/i);var J=Object.freeze({__proto__:null,ARIA_ATTR:G,ATTR_WHITESPACE:Y,CUSTOM_ELEMENT:V,DATA_ATTR:W,DOCTYPE_NAME:X,ERB_EXPR:U,IS_ALLOWED_URI:q,IS_SCRIPT_OR_DATA:K,MUSTACHE_EXPR:B,TMPLIT_EXPR:$});const Q={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12};const Z=function t(){return typeof window==="undefined"?null:window};const tt=function t(i,e){if(typeof i!=="object"||typeof i.createPolicy!=="function"){return null}let n=null;const s="data-tt-policy-suffix";if(e&&e.hasAttribute(s)){n=e.getAttribute(s)}const o="dompurify"+(n?"#"+n:"");try{return i.createPolicy(o,{createHTML(t){return t},createScriptURL(t){return t}})}catch(t){console.warn("TrustedTypes policy "+o+" could not be created.");return null}};const it=function t(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function et(){let i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:Z();const e=t=>et(t);e.version="3.2.6";e.removed=[];if(!i||!i.document||i.document.nodeType!==Q.document||!i.Element){e.isSupported=false;return e}let{document:n}=i;const s=n;const c=s.currentScript;const{DocumentFragment:a,HTMLTemplateElement:l,Node:E,Element:S,NodeFilter:L,NamedNodeMap:B=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:U,DOMParser:$,trustedTypes:W}=i;const G=S.prototype;const K=R(G,"cloneNode");const Y=R(G,"remove");const V=R(G,"nextSibling");const nt=R(G,"childNodes");const st=R(G,"parentNode");if(typeof l==="function"){const t=n.createElement("template");if(t.content&&t.content.ownerDocument){n=t.content.ownerDocument}}let ot;let ct="";const{implementation:rt,createNodeIterator:at,createDocumentFragment:lt,getElementsByTagName:ut}=n;const{importNode:ht}=s;let dt=it();e.isSupported=typeof t==="function"&&typeof st==="function"&&rt&&rt.createHTMLDocument!==undefined;const{MUSTACHE_EXPR:pt,ERB_EXPR:mt,TMPLIT_EXPR:ft,DATA_ATTR:bt,ARIA_ATTR:vt,IS_SCRIPT_OR_DATA:gt,ATTR_WHITESPACE:yt,CUSTOM_ELEMENT:xt}=J;let{IS_ALLOWED_URI:wt}=J;let kt=null;const Tt=A({},[..._,...I,...O,...M,...N]);let Et=null;const St=A({},[...P,...H,...F,...j]);let At=Object.seal(r(null,{tagNameCheck:{writable:true,configurable:false,enumerable:true,value:null},attributeNameCheck:{writable:true,configurable:false,enumerable:true,value:null},allowCustomizedBuiltInElements:{writable:true,configurable:false,enumerable:true,value:false}}));let Lt=null;let zt=null;let Rt=true;let _t=true;let It=false;let Ot=true;let Dt=false;let Mt=true;let Ct=false;let Nt=false;let Pt=false;let Ht=false;let Ft=false;let jt=false;let Bt=true;let Ut=false;const $t="user-content-";let Wt=true;let Gt=false;let qt={};let Kt=null;const Yt=A({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Xt=null;const Vt=A({},["audio","video","img","source","image","track"]);let Jt=null;const Qt=A({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]);const Zt="http://www.w3.org/1998/Math/MathML";const ti="http://www.w3.org/2000/svg";const ii="http://www.w3.org/1999/xhtml";let ei=ii;let ni=false;let si=null;const oi=A({},[Zt,ti,ii],b);let ci=A({},["mi","mo","mn","ms","mtext"]);let ri=A({},["annotation-xml"]);const ai=A({},["title","style","font","a","script"]);let li=null;const ui=["application/xhtml+xml","text/html"];const hi="text/html";let di=null;let pi=null;const mi=n.createElement("form");const fi=function t(i){return i instanceof RegExp||i instanceof Function};const bi=function t(){let i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(pi&&pi===i){return}if(!i||typeof i!=="object"){i={}}i=z(i);li=ui.indexOf(i.PARSER_MEDIA_TYPE)===-1?hi:i.PARSER_MEDIA_TYPE;di=li==="application/xhtml+xml"?b:f;kt=w(i,"ALLOWED_TAGS")?A({},i.ALLOWED_TAGS,di):Tt;Et=w(i,"ALLOWED_ATTR")?A({},i.ALLOWED_ATTR,di):St;si=w(i,"ALLOWED_NAMESPACES")?A({},i.ALLOWED_NAMESPACES,b):oi;Jt=w(i,"ADD_URI_SAFE_ATTR")?A(z(Qt),i.ADD_URI_SAFE_ATTR,di):Qt;Xt=w(i,"ADD_DATA_URI_TAGS")?A(z(Vt),i.ADD_DATA_URI_TAGS,di):Vt;Kt=w(i,"FORBID_CONTENTS")?A({},i.FORBID_CONTENTS,di):Yt;Lt=w(i,"FORBID_TAGS")?A({},i.FORBID_TAGS,di):z({});zt=w(i,"FORBID_ATTR")?A({},i.FORBID_ATTR,di):z({});qt=w(i,"USE_PROFILES")?i.USE_PROFILES:false;Rt=i.ALLOW_ARIA_ATTR!==false;_t=i.ALLOW_DATA_ATTR!==false;It=i.ALLOW_UNKNOWN_PROTOCOLS||false;Ot=i.ALLOW_SELF_CLOSE_IN_ATTR!==false;Dt=i.SAFE_FOR_TEMPLATES||false;Mt=i.SAFE_FOR_XML!==false;Ct=i.WHOLE_DOCUMENT||false;Ht=i.RETURN_DOM||false;Ft=i.RETURN_DOM_FRAGMENT||false;jt=i.RETURN_TRUSTED_TYPE||false;Pt=i.FORCE_BODY||false;Bt=i.SANITIZE_DOM!==false;Ut=i.SANITIZE_NAMED_PROPS||false;Wt=i.KEEP_CONTENT!==false;Gt=i.IN_PLACE||false;wt=i.ALLOWED_URI_REGEXP||q;ei=i.NAMESPACE||ii;ci=i.MATHML_TEXT_INTEGRATION_POINTS||ci;ri=i.HTML_INTEGRATION_POINTS||ri;At=i.CUSTOM_ELEMENT_HANDLING||{};if(i.CUSTOM_ELEMENT_HANDLING&&fi(i.CUSTOM_ELEMENT_HANDLING.tagNameCheck)){At.tagNameCheck=i.CUSTOM_ELEMENT_HANDLING.tagNameCheck}if(i.CUSTOM_ELEMENT_HANDLING&&fi(i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)){At.attributeNameCheck=i.CUSTOM_ELEMENT_HANDLING.attributeNameCheck}if(i.CUSTOM_ELEMENT_HANDLING&&typeof i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==="boolean"){At.allowCustomizedBuiltInElements=i.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements}if(Dt){_t=false}if(Ft){Ht=true}if(qt){kt=A({},N);Et=[];if(qt.html===true){A(kt,_);A(Et,P)}if(qt.svg===true){A(kt,I);A(Et,H);A(Et,j)}if(qt.svgFilters===true){A(kt,O);A(Et,H);A(Et,j)}if(qt.mathMl===true){A(kt,M);A(Et,F);A(Et,j)}}if(i.ADD_TAGS){if(kt===Tt){kt=z(kt)}A(kt,i.ADD_TAGS,di)}if(i.ADD_ATTR){if(Et===St){Et=z(Et)}A(Et,i.ADD_ATTR,di)}if(i.ADD_URI_SAFE_ATTR){A(Jt,i.ADD_URI_SAFE_ATTR,di)}if(i.FORBID_CONTENTS){if(Kt===Yt){Kt=z(Kt)}A(Kt,i.FORBID_CONTENTS,di)}if(Wt){kt["#text"]=true}if(Ct){A(kt,["html","head","body"])}if(kt.table){A(kt,["tbody"]);delete Lt.tbody}if(i.TRUSTED_TYPES_POLICY){if(typeof i.TRUSTED_TYPES_POLICY.createHTML!=="function"){throw T('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.')}if(typeof i.TRUSTED_TYPES_POLICY.createScriptURL!=="function"){throw T('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.')}ot=i.TRUSTED_TYPES_POLICY;ct=ot.createHTML("")}else{if(ot===undefined){ot=tt(W,c)}if(ot!==null&&typeof ct==="string"){ct=ot.createHTML("")}}if(o){o(i)}pi=i};const vi=A({},[...I,...O,...D]);const gi=A({},[...M,...C]);const yi=function t(i){let e=st(i);if(!e||!e.tagName){e={namespaceURI:ei,tagName:"template"}}const n=f(i.tagName);const s=f(e.tagName);if(!si[i.namespaceURI]){return false}if(i.namespaceURI===ti){if(e.namespaceURI===ii){return n==="svg"}if(e.namespaceURI===Zt){return n==="svg"&&(s==="annotation-xml"||ci[s])}return Boolean(vi[n])}if(i.namespaceURI===Zt){if(e.namespaceURI===ii){return n==="math"}if(e.namespaceURI===ti){return n==="math"&&ri[s]}return Boolean(gi[n])}if(i.namespaceURI===ii){if(e.namespaceURI===ti&&!ri[s]){return false}if(e.namespaceURI===Zt&&!ci[s]){return false}return!gi[n]&&(ai[n]||!vi[n])}if(li==="application/xhtml+xml"&&si[i.namespaceURI]){return true}return false};const xi=function t(i){p(e.removed,{element:i});try{st(i).removeChild(i)}catch(t){Y(i)}};const wi=function t(i,n){try{p(e.removed,{attribute:n.getAttributeNode(i),from:n})}catch(t){p(e.removed,{attribute:null,from:n})}n.removeAttribute(i);if(i==="is"){if(Ht||Ft){try{xi(n)}catch(t){}}else{try{n.setAttribute(i,"")}catch(t){}}}};const ki=function t(i){let e=null;let s=null;if(Pt){i="<remove></remove>"+i}else{const t=v(i,/^[\r\n\t ]+/);s=t&&t[0]}if(li==="application/xhtml+xml"&&ei===ii){i='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+i+"</body></html>"}const o=ot?ot.createHTML(i):i;if(ei===ii){try{e=(new $).parseFromString(o,li)}catch(t){}}if(!e||!e.documentElement){e=rt.createDocument(ei,"template",null);try{e.documentElement.innerHTML=ni?ct:o}catch(t){}}const c=e.body||e.documentElement;if(i&&s){c.insertBefore(n.createTextNode(s),c.childNodes[0]||null)}if(ei===ii){return ut.call(e,Ct?"html":"body")[0]}return Ct?e.documentElement:c};const Ti=function t(i){return at.call(i.ownerDocument||i,i,L.SHOW_ELEMENT|L.SHOW_COMMENT|L.SHOW_TEXT|L.SHOW_PROCESSING_INSTRUCTION|L.SHOW_CDATA_SECTION,null)};const Ei=function t(i){return i instanceof U&&(typeof i.nodeName!=="string"||typeof i.textContent!=="string"||typeof i.removeChild!=="function"||!(i.attributes instanceof B)||typeof i.removeAttribute!=="function"||typeof i.setAttribute!=="function"||typeof i.namespaceURI!=="string"||typeof i.insertBefore!=="function"||typeof i.hasChildNodes!=="function")};const Si=function t(i){return typeof E==="function"&&i instanceof E};function Ai(t,i,n){u(t,(t=>{t.call(e,i,n,pi)}))}const Li=function t(i){let n=null;Ai(dt.beforeSanitizeElements,i,null);if(Ei(i)){xi(i);return true}const s=di(i.nodeName);Ai(dt.uponSanitizeElement,i,{tagName:s,allowedTags:kt});if(Mt&&i.hasChildNodes()&&!Si(i.firstElementChild)&&k(/<[/\w!]/g,i.innerHTML)&&k(/<[/\w!]/g,i.textContent)){xi(i);return true}if(i.nodeType===Q.progressingInstruction){xi(i);return true}if(Mt&&i.nodeType===Q.comment&&k(/<[/\w]/g,i.data)){xi(i);return true}if(!kt[s]||Lt[s]){if(!Lt[s]&&Ri(s)){if(At.tagNameCheck instanceof RegExp&&k(At.tagNameCheck,s)){return false}if(At.tagNameCheck instanceof Function&&At.tagNameCheck(s)){return false}}if(Wt&&!Kt[s]){const t=st(i)||i.parentNode;const e=nt(i)||i.childNodes;if(e&&t){const n=e.length;for(let s=n-1;s>=0;--s){const n=K(e[s],true);n.__removalCount=(i.__removalCount||0)+1;t.insertBefore(n,V(i))}}}xi(i);return true}if(i instanceof S&&!yi(i)){xi(i);return true}if((s==="noscript"||s==="noembed"||s==="noframes")&&k(/<\/no(script|embed|frames)/i,i.innerHTML)){xi(i);return true}if(Dt&&i.nodeType===Q.text){n=i.textContent;u([pt,mt,ft],(t=>{n=g(n,t," ")}));if(i.textContent!==n){p(e.removed,{element:i.cloneNode()});i.textContent=n}}Ai(dt.afterSanitizeElements,i,null);return false};const zi=function t(i,e,s){if(Bt&&(e==="id"||e==="name")&&(s in n||s in mi)){return false}if(_t&&!zt[e]&&k(bt,e));else if(Rt&&k(vt,e));else if(!Et[e]||zt[e]){if(Ri(i)&&(At.tagNameCheck instanceof RegExp&&k(At.tagNameCheck,i)||At.tagNameCheck instanceof Function&&At.tagNameCheck(i))&&(At.attributeNameCheck instanceof RegExp&&k(At.attributeNameCheck,e)||At.attributeNameCheck instanceof Function&&At.attributeNameCheck(e))||e==="is"&&At.allowCustomizedBuiltInElements&&(At.tagNameCheck instanceof RegExp&&k(At.tagNameCheck,s)||At.tagNameCheck instanceof Function&&At.tagNameCheck(s)));else{return false}}else if(Jt[e]);else if(k(wt,g(s,yt,"")));else if((e==="src"||e==="xlink:href"||e==="href")&&i!=="script"&&y(s,"data:")===0&&Xt[i]);else if(It&&!k(gt,g(s,yt,"")));else if(s){return false}else;return true};const Ri=function t(i){return i!=="annotation-xml"&&v(i,xt)};const _i=function t(i){Ai(dt.beforeSanitizeAttributes,i,null);const{attributes:n}=i;if(!n||Ei(i)){return}const s={attrName:"",attrValue:"",keepAttr:true,allowedAttributes:Et,forceKeepAttr:undefined};let o=n.length;while(o--){const t=n[o];const{name:c,namespaceURI:r,value:a}=t;const l=di(c);const h=a;let p=c==="value"?h:x(h);s.attrName=l;s.attrValue=p;s.keepAttr=true;s.forceKeepAttr=undefined;Ai(dt.uponSanitizeAttribute,i,s);p=s.attrValue;if(Ut&&(l==="id"||l==="name")){wi(c,i);p=$t+p}if(Mt&&k(/((--!?|])>)|<\/(style|title)/i,p)){wi(c,i);continue}if(s.forceKeepAttr){continue}if(!s.keepAttr){wi(c,i);continue}if(!Ot&&k(/\/>/i,p)){wi(c,i);continue}if(Dt){u([pt,mt,ft],(t=>{p=g(p,t," ")}))}const m=di(i.nodeName);if(!zi(m,l,p)){wi(c,i);continue}if(ot&&typeof W==="object"&&typeof W.getAttributeType==="function"){if(r);else{switch(W.getAttributeType(m,l)){case"TrustedHTML":{p=ot.createHTML(p);break}case"TrustedScriptURL":{p=ot.createScriptURL(p);break}}}}if(p!==h){try{if(r){i.setAttributeNS(r,c,p)}else{i.setAttribute(c,p)}if(Ei(i)){xi(i)}else{d(e.removed)}}catch(t){wi(c,i)}}}Ai(dt.afterSanitizeAttributes,i,null)};const Ii=function t(i){let e=null;const n=Ti(i);Ai(dt.beforeSanitizeShadowDOM,i,null);while(e=n.nextNode()){Ai(dt.uponSanitizeShadowNode,e,null);Li(e);_i(e);if(e.content instanceof a){t(e.content)}}Ai(dt.afterSanitizeShadowDOM,i,null)};e.sanitize=function(t){let i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};let n=null;let o=null;let c=null;let r=null;ni=!t;if(ni){t="\x3c!--\x3e"}if(typeof t!=="string"&&!Si(t)){if(typeof t.toString==="function"){t=t.toString();if(typeof t!=="string"){throw T("dirty is not a string, aborting")}}else{throw T("toString is not a function")}}if(!e.isSupported){return t}if(!Nt){bi(i)}e.removed=[];if(typeof t==="string"){Gt=false}if(Gt){if(t.nodeName){const i=di(t.nodeName);if(!kt[i]||Lt[i]){throw T("root node is forbidden and cannot be sanitized in-place")}}}else if(t instanceof E){n=ki("\x3c!----\x3e");o=n.ownerDocument.importNode(t,true);if(o.nodeType===Q.element&&o.nodeName==="BODY"){n=o}else if(o.nodeName==="HTML"){n=o}else{n.appendChild(o)}}else{if(!Ht&&!Dt&&!Ct&&t.indexOf("<")===-1){return ot&&jt?ot.createHTML(t):t}n=ki(t);if(!n){return Ht?null:jt?ct:""}}if(n&&Pt){xi(n.firstChild)}const l=Ti(Gt?t:n);while(c=l.nextNode()){Li(c);_i(c);if(c.content instanceof a){Ii(c.content)}}if(Gt){return t}if(Ht){if(Ft){r=lt.call(n.ownerDocument);while(n.firstChild){r.appendChild(n.firstChild)}}else{r=n}if(Et.shadowroot||Et.shadowrootmode){r=ht.call(s,r,true)}return r}let h=Ct?n.outerHTML:n.innerHTML;if(Ct&&kt["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&k(X,n.ownerDocument.doctype.name)){h="<!DOCTYPE "+n.ownerDocument.doctype.name+">\n"+h}if(Dt){u([pt,mt,ft],(t=>{h=g(h,t," ")}))}return ot&&jt?ot.createHTML(h):h};e.setConfig=function(){let t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};bi(t);Nt=true};e.clearConfig=function(){pi=null;Nt=false};e.isValidAttribute=function(t,i,e){if(!pi){bi({})}const n=di(t);const s=di(i);return zi(n,s,e)};e.addHook=function(t,i){if(typeof i!=="function"){return}p(dt[t],i)};e.removeHook=function(t,i){if(i!==undefined){const e=h(dt[t],i);return e===-1?undefined:m(dt[t],e,1)[0]}return d(dt[t])};e.removeHooks=function(t){dt[t]=[]};e.removeAllHooks=function(){dt=it()};return e}var nt=et();return nt}))})(E);const S=E.exports;const A=t=>({CUSTOM_ELEMENT_HANDLING:{tagNameCheck:i=>t&&i.startsWith("ic-")||m.includes(i),attributeNameCheck:/.*/}});const L=t=>S.sanitize(t,A(true));const z=t=>S.sanitize(t,A(false));const R='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-menu-list-option-text-color));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;gap:var(--ic-space-xs)}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-menu-list-option-hover-background-color)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-menu-list-option-pressed-background-color)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n )}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{flex-grow:1}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-menu-loading-list-option-text-color);--ic-typography-color:var(--ic-menu-loading-list-option-text-color)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-atoms-status-icon-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-menu-option-group-label-text-color)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-menu-last-recommended-option-border)}.disabled-option.sc-ic-menu{color:var(--ic-atoms-list-option-text-disabled-light);--ic-typography-color:var(--ic-atoms-list-option-text-disabled-light);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-atoms-list-option-text-focused-light) !important;--ic-typography-color:var(\n --ic-atoms-list-option-text-focused-light\n ) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-menu-option-bar-background-color);visibility:hidden;border-bottom:var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText;--ic-typography-color:GrayText}}';const _=R;const I=class{constructor(e){t(this,e);this.icClear=s(this,"icClear",7);this.menuKeyPress=s(this,"menuKeyPress",7);this.menuOptionId=s(this,"menuOptionId",7);this.menuOptionSelect=s(this,"menuOptionSelect",7);this.menuOptionSelectAll=s(this,"menuOptionSelectAll",7);this.menuStateChange=s(this,"menuStateChange",7);this.retryButtonClicked=s(this,"retryButtonClicked",7);this.timeoutBlur=s(this,"timeoutBlur",7);this.ungroupedOptionsSet=s(this,"ungroupedOptionsSet",7);this.ACTIVE_DESCENDANT="aria-activedescendant";this.CLEAR_BUTTON_ID="clear-button";this.SEARCH_BAR_TAG="IC-SEARCH-BAR";this.disabledOptionSelected=false;this.hasPreviouslyBlurred=false;this.hasTimedOut=false;this.isLoading=false;this.lastOptionSelected=null;this.lastOptionFocused=null;this.multiOptionClicked=null;this.preventClickOpen=false;this.preventMenuFocus=false;this.shiftPressed=false;this.ungroupedOptions=[];this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.keyboardNav=false;this.preventIncorrectTabOrder=false;this.popperProps={};this.activationType="automatic";this.autofocusOnSelected=true;this.closeOnSelect=true;this.fullWidth=false;this.labelField="label";this.multiSelect=false;this.searchableSelect=false;this.searchBar=false;this.searchMode="navigation";this.selectOnEnter=false;this.size="medium";this.valueField="value";this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const t=this.options.findIndex((t=>t[this.valueField]===this.optionHighlighted));this.setInputValue(t)};this.handleMenuChange=(t,i)=>{var e;this.menuStateChange.emit({open:t,focusInput:i});if(!t){if(i!==false){(e=this.inputEl)===null||e===void 0?void 0:e.focus();this.preventClickOpen=false}if(this.multiSelect){this.optionHighlighted=undefined;this.multiOptionClicked=null}}};this.setNextOptionValue=t=>{if(this.ungroupedOptions[t+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[t+1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[t+1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[0][this.valueField])})}};this.setPreviousOptionValue=t=>{if(this.ungroupedOptions[t-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[t-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[t-1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField])})}};this.arrowBehaviour=t=>{t.preventDefault();this.handleMenuChange(true)};this.getMenuOptions=()=>this.searchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=t=>{const i=this.getMenuOptions();i[t]&&!i[t].timedOut&&(this.optionHighlighted=i[t][this.valueField]||undefined)};this.autoSetInputValueKeyboardOpen=t=>{const i=this.ungroupedOptions.findIndex((t=>t[this.valueField]===this.value));this.keyboardNav=false;switch(t.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(t);this.setNextOptionValue(i);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(t);this.setPreviousOptionValue(i);break;case" ":case"Enter":if(t.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}break}};this.selectHighlightedOption=(t,i)=>{if(!this.isLoading&&!this.hasTimedOut){this.keyboardNav=true}const e=this.searchBar||this.searchableSelect||this.open;if(e){if(i>=0){if(t[i]!==undefined){if(this.searchBar&&t[i].disabled===true){this.disabledOptionSelected=true}else{this.setInputValue(i)}}}else{this.setInputValue(i)}}else{this.handleMenuChange(true)}};this.isOptionSelected=t=>{const i=this.getMenuOptions();return this.value?this.value.includes(i[t][this.valueField]):false};this.deselectSelectedOptions=t=>{const i=this.getMenuOptions();if(this.value){const e=this.value.map((t=>i.findIndex((i=>i[this.valueField]===t))));e.forEach((i=>!t.includes(i)&&this.setInputValue(i)))}};this.manualSetInputValueKeyboardOpen=t=>{const i=this.getMenuOptions();const e=t.shiftKey||t.metaKey||t.ctrlKey;const n=this.getOptionHighlightedIndex();const s=i.findIndex((t=>t[this.valueField]===this.multiOptionClicked));const o=t=>{var i;return(i=Array.from(this.host.querySelectorAll("li"))[t])===null||i===void 0?void 0:i.id};if(t.key===" "&&this.multiSelect){this.handleOptionSelect(t,n)}else{switch(t.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(t);if(this.multiOptionClicked){this.setHighlightedOption(s);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(t,n,i);if(n<i.length-1){this.setHighlightedOption(n+1);this.menuOptionId.emit({optionId:o(n+1)});this.handleSingleShiftSelect(t,n+1,i)}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:o(0)});this.handleSingleShiftSelect(t,0,i)}if(this.multiSelect&&this.shiftPressed){this.deselectSelectedOptions([n,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(t);if(this.multiOptionClicked){this.setHighlightedOption(s);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(t,n,i);if(n<=0||n>i.length+1){this.setHighlightedOption(i.length-1);this.menuOptionId.emit({optionId:o(i.length-1)});this.handleSingleShiftSelect(t,i.length-1,i)}else{this.setHighlightedOption(n-1);this.menuOptionId.emit({optionId:o(n-1)});this.handleSingleShiftSelect(t,n-1,i)}if(this.multiSelect&&this.shiftPressed){this.deselectSelectedOptions([n,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":{const i=0;this.keyboardNav=true;t.preventDefault();this.arrowBehaviour(t);this.setHighlightedOption(i);this.menuOptionId.emit({optionId:o(i)});if(t.shiftKey&&t.ctrlKey){this.handleMultipleShiftSelect(i)}this.lastOptionFocused=i;this.lastOptionSelected=i;break}case"End":{const e=i.length-1;this.keyboardNav=true;t.preventDefault();this.arrowBehaviour(t);this.setHighlightedOption(e);this.menuOptionId.emit({optionId:o(e)});if(t.shiftKey&&t.ctrlKey){this.handleMultipleShiftSelect(e)}this.lastOptionFocused=e;this.lastOptionSelected=e;break}case" ":if(!e){this.keyboardNav=false}if(this.searchBar||this.searchableSelect){break}else{if(t.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}}break;case"Enter":t.preventDefault();if(!e){this.keyboardNav=false}this.handleOptionSelect(t,n);break;case"Escape":if(this.open){t.stopImmediatePropagation()}this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"a":if(u()&&t.metaKey||!u()&&t.ctrlKey){this.emitSelectAllEvents();this.lastOptionFocused=null;this.lastOptionSelected=null}break;case"Shift":case"Tab":if(t.key==="Shift"){this.shiftPressed=true}if(this.searchBar){this.keyboardNav=true}if(this.multiSelect){if(this.open&&!t.shiftKey&&this.selectAllButton){t.preventDefault();this.selectAllButton.focus();this.preventMenuFocus=true;this.preventClickOpen=true;this.optionHighlighted=undefined}}else{this.preventIncorrectTabOrder=true}break;default:if(!e){this.keyboardNav=false}this.focusOnSearchOrSelectInput(i,n)}}};this.setInputValue=t=>{const i=this.getMenuOptions();if(i[t]!==undefined){this.menuOptionSelect.emit({value:i[t][this.valueField]});if(this.closeOnSelect){this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}}if(this.closeOnSelect){if(!this.hasTimedOut){this.handleMenuChange(false)}else{this.parentEl.setFocus()}}};this.handleOptionClick=t=>{const{value:i,label:e}=t.target.dataset;if(this.multiSelect){const e=this.getMenuOptions();const n=e.findIndex((t=>t[this.valueField]===i));this.handleOptionSelect(t,n,true);this.multiOptionClicked=i||null}else{this.menuOptionSelect.emit({value:i,label:e});this.handleMenuChange(false)}this.optionHighlighted=undefined};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=t=>{if(t.key==="Enter"||t.key===" "){t.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:t.key})}};this.handleBlur=t=>{var i,e,n,s;if(t.relatedTarget!==this.inputEl){if(t.relatedTarget===this.selectAllButton){(i=this.menu)===null||i===void 0?void 0:i.removeAttribute(this.ACTIVE_DESCENDANT)}if(!(((e=this.menu)===null||e===void 0?void 0:e.contains(t.relatedTarget))||t.relatedTarget===this.selectAllButton)){this.handleMenuChange(false,this.hasPreviouslyBlurred);(n=this.menu)===null||n===void 0?void 0:n.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}}else{this.handleMenuChange(false);this.preventClickOpen=true;(s=this.menu)===null||s===void 0?void 0:s.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}if(!this.searchBar)this.hasPreviouslyBlurred=!!t.relatedTarget};this.handleMouseDown=t=>{t.preventDefault()};this.handleMenuKeyDown=t=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(t)}else if(this.activationType==="manual"&&!this.searchBar){this.manualSetInputValueKeyboardOpen(t)}};this.handleMenuKeyUp=t=>{if(t.key==="Tab"&&t.shiftKey){this.preventClickOpen=false}if(t.key==="Enter"&&this.disabledOptionSelected){this.disabledOptionSelected=false;t.stopImmediatePropagation()}if(t.key==="Shift"){this.shiftPressed=false}};this.handleSelectAllClick=()=>{var t;this.keyboardNav=false;(t=this.menu)===null||t===void 0?void 0:t.focus();this.emitSelectAllEvents();this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllBlur=t=>{var i;this.host.classList.remove("ic-select-select-all-focused");if(!((i=this.menu)===null||i===void 0?void 0:i.contains(t.relatedTarget))){this.handleMenuChange(false,false)}};this.handleSelectAllFocus=()=>{this.host.classList.add("ic-select-select-all-focused");this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllMouseDown=t=>{t.preventDefault()};this.handleSingleShiftSelect=(t,i,e)=>{if(this.multiSelect&&t.shiftKey&&!this.isOptionSelected(i)){this.selectHighlightedOption(e,i);this.lastOptionSelected=i}};this.handleMultipleShiftSelect=(t,i=false,e=null)=>{this.shiftPressed=false;const n=e===null?this.getFirstOptionInSelection(i):e;if(n!==null){const i=[];if(n<t){for(let e=n;e<t+1;e++){i.push(e)}}else{for(let e=n;e>t-1;e--){i.push(e)}}i.forEach((t=>!this.isOptionSelected(t)&&this.setInputValue(t)));this.deselectSelectedOptions(i)}};this.handleOptionSelect=(t,i,e=false)=>{const n=this.getMenuOptions();const s=this.getFirstOptionInSelection(e);if(t.shiftKey&&s!==null){this.handleMultipleShiftSelect(i,e,s)}else{this.selectHighlightedOption(n,i)}this.lastOptionFocused=i;this.lastOptionSelected=i};this.getFirstOptionInSelection=t=>t&&this.lastOptionFocused!==null?this.lastOptionFocused:this.lastOptionSelected!==null?this.lastOptionSelected:null;this.emitSelectAllEvents=()=>{var t,i;this.menuOptionSelectAll.emit({select:!this.value||!(((t=this.value)===null||t===void 0?void 0:t.length)===this.ungroupedOptions.length)});if(((i=this.value)===null||i===void 0?void 0:i.length)===this.ungroupedOptions.length){this.icClear.emit()}};this.emitMenuKeyPress=(t,i)=>{this.menuKeyPress.emit({isNavKey:t,key:i})};this.autoSetValueOnMenuKeyDown=t=>{var i,e;t.cancelBubble=true;const n=this.ungroupedOptions.findIndex((t=>t[this.valueField]===this.value));const s=!!this.inputEl&&this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(t.key){case" ":t.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){t.preventDefault();this.setPreviousOptionValue(n);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){t.preventDefault();this.setNextOptionValue(n);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField]});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField]});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(s){(i=this.inputEl)===null||i===void 0?void 0:i.focus()}break;case"Shift":break;default:if(s&&t.key!=="Tab"&&!this.hasTimedOut){(e=this.inputEl)===null||e===void 0?void 0:e.focus()}if(t.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,t.key)};this.getOptionId=t=>`${this.menuId}-${t}`;this.getOptionAriaLabel=(t,i)=>{let e=t[this.labelField];if(t.description){e=`${e}, ${t.description}`}if(t.element){e=`${e}, ${t.element.ariaLabel}`}if(i){return`${e}, ${i[this.labelField]} group`}else{return e}};this.getSortedOptions=t=>{let i=[];if(t.sort){i=t.sort(((t,i)=>t.recommended&&!i.recommended?-1:0))}return i};this.getOptionHighlightedIndex=()=>{const t=this.getMenuOptions();return t.findIndex((t=>t[this.valueField]===this.optionHighlighted))};this.isManualMode=this.activationType==="manual";this.scrollToSelected=t=>{var i;const e=this.selectOnEnter?this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`):t.querySelector(".option[aria-selected='true']");if(e){const n=e.offsetTop+e.offsetHeight;if(n>t.scrollTop+t.offsetHeight||n<t.scrollTop+t.offsetHeight){t.scrollTop=e.offsetTop}(i=this.menu)===null||i===void 0?void 0:i.setAttribute(this.ACTIVE_DESCENDANT,e.id);e.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((t=>{if(t.children){t.children.map((t=>!t.disabled&&this.ungroupedOptions.push(t)))}else if(!t.disabled){this.ungroupedOptions.push(t)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{var t;let i=0;this.host.querySelectorAll(".option, .option-group-title").forEach((t=>i+=t.clientHeight));if(i>=320){(t=this.menu)===null||t===void 0?void 0:t.classList.add("menu-scroll")}};this.handleTimeoutBlur=t=>{this.timeoutBlur.emit({ev:t})};this.optionContent=(t,e)=>{var n;const s=!!t[this.valueField]&&!!this.value&&e&&((n=this.parentEl)===null||n===void 0?void 0:n.tagName)!==this.SEARCH_BAR_TAG;return i(o,null,t.loading&&i("ic-loading-indicator",{size:"icon"}),i("div",{class:{"option-text-container":true,"show-check-icon":s}},(t.icon||!t.hideLabel)&&i("div",{class:"option-label"},t.icon&&i("div",{class:"option-icon",innerHTML:z(t.icon),"aria-hidden":"true"}),!t.hideLabel&&i("ic-typography",{variant:"body","aria-hidden":"true"},t[this.labelField])),t.description&&i("ic-typography",{id:`${this.getOptionId(t[this.valueField])}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},i("p",null,t.description)),t.element&&i("div",{class:{"option-element":t.icon||!t.hideLabel||t.description},innerHTML:L(t.element.component),"aria-hidden":"true"})),s&&i("span",{class:"check-icon",innerHTML:f}))};this.displayOption=(t,e,n,s)=>{var c;const{open:r,keyboardNav:a,isManualMode:l,initialOptionsListRender:u,optionHighlighted:h,options:d}=this;return i("li",Object.assign({id:this.getOptionId(t[this.valueField]),class:{option:true,"focused-option":l?(a||u)&&t[this.valueField]===h:a&&e,"last-recommended-option":!!(t.recommended&&d[n+1]&&!d[n+1].recommended),"disabled-option":!!t.disabled,"loading-option":!!t.loading,timeout:!!t.timedOut},role:"option",tabindex:r&&(e||t[this.valueField]===h)&&a?"0":"-1","aria-label":this.getOptionAriaLabel(t,s),"aria-selected":e?"true":"false","aria-disabled":t.disabled?"true":"false",onClick:!t.timedOut&&!t.loading?this.handleOptionClick:undefined,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":t[this.valueField],"data-label":t[this.labelField]},(c=t.htmlProps)!==null&&c!==void 0?c:{}),t.timedOut?i(o,null,i("div",{class:"loading-error-info"},i("svg",{class:"error-icon-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},i("title",null,"Error"),i("g",null,i("path",{d:"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41"}))),i("ic-typography",{variant:"label"},t[this.labelField])),i("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(t,e))}}watchOpenHandler(){if(!this.open&&this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}watchOptionsHandler(t){this.hasTimedOut=t.some((t=>t.timedOut));this.isLoading=t.some((t=>t.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}connectedCallback(){if(this.searchBar){if(this.searchMode==="navigation")this.setHighlightedOption(0);this.initialOptionsListRender=true}}disconnectedCallback(){var t,i,e;(t=this.popperInstance)===null||t===void 0?void 0:t.destroy();(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icClear",this.handleClearListener);(e=this.parentEl)===null||e===void 0?void 0:e.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}componentWillLoad(){var t,i,e,n;this.loadUngroupedOptions();(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icClear",this.handleClearListener);(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=(e=this.options)===null||e===void 0?void 0:e.some((t=>t.timedOut));this.isLoading=(n=this.options)===null||n===void 0?void 0:n.some((t=>t.loading))}componentDidLoad(){if(this.searchBar&&this.parentEl.disableAutoFiltering){this.focusFromSearchKeypress=true}h([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidUpdate(){const t=this.options.some((t=>t[this.valueField]===this.value));if(this.menu&&this.open&&this.options.length!==0&&!this.preventMenuFocus){if(this.value&&this.keyboardNav&&t&&this.autofocusOnSelected&&!this.searchableSelect){this.scrollToSelected(this.menu)}else if(this.selectOnEnter){this.menu.focus()}else if(!!this.optionHighlighted&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const t=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(t){this.menu.setAttribute(this.ACTIVE_DESCENDANT,t.id);t.focus()}}else if(this.inputEl&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}}if(this.menu&&this.open&&!this.value&&this.selectOnEnter){this.scrollToSelected(this.menu)}this.preventMenuFocus=false}componentDidRender(){if(this.open&&!this.popperInstance&&this.anchorEl){this.initPopperJs(this.anchorEl)}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(t){if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(t)}else{this.manualSetInputValueKeyboardOpen(t)}}async handleSetFirstOption(){this.setHighlightedOption(0)}async initPopperJs(t){this.popperInstance=b(t,this.host,Object.assign({placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top-start"],rootBoundary:"viewport"}}]},this.popperProps))}async setExternalPopperProps(t){this.popperProps=t}focusOnSearchOrSelectInput(t,i){if(!t[i])return;if(this.searchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}if(this.searchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true}render(){const{inputLabel:t,options:n,menuId:s,value:o,fullWidth:c,hasTimedOut:r,isLoading:a,size:l,open:u,inputEl:h,keyboardNav:p,parentEl:m,SEARCH_BAR_TAG:f,multiSelect:b}=this;const v=`${(o===null||o===void 0?void 0:o.length)===this.ungroupedOptions.length?"Clear":"Select"} all`;const g=this.host.classList.contains("no-results");return i(e,{key:"3e49d54ba714dfa55e9695bd24fa5d2b87077232",class:{"ic-menu-full-width":!!c,"ic-menu-no-focus":(h===null||h===void 0?void 0:h.tagName)==="INPUT"&&(m===null||m===void 0?void 0:m.tagName)!==f||r||a,[`ic-menu-${l}`]:true,"ic-menu-open":u&&n.length!==0,"ic-menu-multiple":b}},n.length!==0&&i("ul",{key:"23fc717879b9c8bac93158984ccd81f0b0227ab9",id:s,class:"menu",role:"listbox","aria-label":`${t} pop-up`,"aria-multiselectable":b?"true":"false",tabindex:u&&!p&&((h===null||h===void 0?void 0:h.tagName)!=="INPUT"||(m===null||m===void 0?void 0:m.tagName)===f)?"0":"-1",ref:t=>this.menu=t,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(n).map(((t,e)=>{if(t.children){if(t.children.length>0){return i("div",null,i("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},i("p",null,t[this.labelField])),t.children.map((i=>i[this.labelField]&&this.displayOption(i,b?o===null||o===void 0?void 0:o.includes(i[this.valueField]):i[this.valueField]===o,e,t))))}else{return null}}else{return t[this.labelField]&&this.displayOption(t,b?o===null||o===void 0?void 0:o.includes(t[this.valueField]):t[this.valueField]===o,e)}}))),n.length!==0&&b&&!a&&!r&&!g&&i("div",{key:"997b84a875c8ab4cc763b6047ece029a51e03165",class:"option-bar"},i("ic-typography",{key:"ff3ef41753cebd248a6d59169ef68ae12f0563ca"},i("p",{key:"3fe3ae4ca8f766216e5258eea8dbb71d1efd2169"},`${o?o.length:0}/${d(this.options)} selected`)),i("ic-button",{key:"f269fc5554327fd11a8093857f0f9208a3b1ca62",class:"select-all-button","aria-label":`${v} options for ${t}`,ref:t=>this.selectAllButton=t,variant:"tertiary",onClick:this.handleSelectAllClick,onMouseDown:this.handleSelectAllMouseDown,onBlur:this.handleSelectAllBlur,onFocus:this.handleSelectAllFocus,size:l==="small"?"small":"medium"},v)))}get host(){return n(this)}static get watchers(){return{open:["watchOpenHandler"],options:["watchOptionsHandler"]}}};I.style=_;export{y as ic_input_component_container,k as ic_input_container,I as ic_menu};
3
+ //# sourceMappingURL=p-a97b8082.entry.js.map