@warp-ds/elements 2.10.0-next.15 → 2.10.0-next.17

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 (594) hide show
  1. package/dist/.storybook/utilities.js +4 -4
  2. package/dist/api.js.map +2 -2
  3. package/dist/custom-elements.json +68 -56
  4. package/dist/docs/affix/affix.md +2 -2
  5. package/dist/docs/affix/api.md +2 -2
  6. package/dist/docs/alert/alert.md +4 -4
  7. package/dist/docs/alert/api.md +4 -4
  8. package/dist/docs/attention/api.md +2 -2
  9. package/dist/docs/attention/attention.md +2 -2
  10. package/dist/docs/badge/api.md +50 -4
  11. package/dist/docs/badge/badge.md +50 -4
  12. package/dist/docs/box/api.md +2 -2
  13. package/dist/docs/box/box.md +2 -2
  14. package/dist/docs/checkbox/api.md +2 -2
  15. package/dist/docs/checkbox/checkbox.md +176 -2
  16. package/dist/docs/checkbox/styling.md +173 -0
  17. package/dist/docs/checkbox-group/checkbox-group.md +43 -30
  18. package/dist/docs/checkbox-group/styling.md +31 -29
  19. package/dist/docs/combobox/api.md +12 -12
  20. package/dist/docs/combobox/combobox.md +12 -12
  21. package/dist/docs/datepicker/api.md +6 -6
  22. package/dist/docs/datepicker/datepicker.md +6 -6
  23. package/dist/docs/icon/api.md +3 -3
  24. package/dist/docs/icon/icon.md +3 -3
  25. package/dist/docs/index.md +1 -1
  26. package/dist/docs/radio-group/api.md +4 -4
  27. package/dist/docs/radio-group/radio-group.md +183 -68
  28. package/dist/docs/radio-group/styling.md +179 -64
  29. package/dist/docs/snackbar/api.md +1 -1
  30. package/dist/docs/snackbar/snackbar.md +1 -1
  31. package/dist/docs/snackbar-item/api.md +2 -2
  32. package/dist/docs/snackbar-item/snackbar-item.md +2 -2
  33. package/dist/index.d.ts +24 -2
  34. package/dist/packages/affix/affix.d.ts +4 -4
  35. package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
  36. package/dist/packages/affix/affix.hydration.test.js +15 -15
  37. package/dist/packages/affix/affix.js +345 -315
  38. package/dist/packages/affix/affix.js.map +2 -2
  39. package/dist/packages/affix/affix.react.stories.d.ts +2 -2
  40. package/dist/packages/affix/affix.react.stories.js +3 -3
  41. package/dist/packages/affix/affix.react.test.js +5 -3
  42. package/dist/packages/affix/affix.stories.d.ts +3 -3
  43. package/dist/packages/affix/affix.stories.js +10 -10
  44. package/dist/packages/affix/affix.test.d.ts +1 -1
  45. package/dist/packages/affix/affix.test.js +10 -10
  46. package/dist/packages/affix/react.d.ts +2 -2
  47. package/dist/packages/affix/react.js +6 -6
  48. package/dist/packages/affix/styles.js +1 -1
  49. package/dist/packages/alert/alert.d.ts +3 -3
  50. package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
  51. package/dist/packages/alert/alert.hydration.test.js +21 -21
  52. package/dist/packages/alert/alert.js +344 -319
  53. package/dist/packages/alert/alert.js.map +2 -2
  54. package/dist/packages/alert/alert.react.stories.d.ts +2 -2
  55. package/dist/packages/alert/alert.react.stories.js +13 -13
  56. package/dist/packages/alert/alert.stories.d.ts +4 -4
  57. package/dist/packages/alert/alert.stories.js +29 -27
  58. package/dist/packages/alert/alert.test.d.ts +1 -1
  59. package/dist/packages/alert/alert.test.js +34 -21
  60. package/dist/packages/alert/react.d.ts +1 -1
  61. package/dist/packages/alert/react.js +4 -4
  62. package/dist/packages/alert/styles.js +1 -1
  63. package/dist/packages/attention/attention.d.ts +7 -7
  64. package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
  65. package/dist/packages/attention/attention.hydration.test.js +29 -29
  66. package/dist/packages/attention/attention.js +1725 -1683
  67. package/dist/packages/attention/attention.js.map +2 -2
  68. package/dist/packages/attention/attention.react.stories.d.ts +3 -3
  69. package/dist/packages/attention/attention.react.stories.js +13 -13
  70. package/dist/packages/attention/attention.react.test.js +11 -7
  71. package/dist/packages/attention/attention.stories.d.ts +4 -4
  72. package/dist/packages/attention/attention.stories.js +126 -117
  73. package/dist/packages/attention/attention.test.d.ts +1 -1
  74. package/dist/packages/attention/attention.test.js +18 -10
  75. package/dist/packages/attention/layout-styles.js +900 -900
  76. package/dist/packages/attention/react.d.ts +4 -4
  77. package/dist/packages/attention/react.js +13 -11
  78. package/dist/packages/attention/styles.js +1 -1
  79. package/dist/packages/badge/badge.d.ts +3 -3
  80. package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
  81. package/dist/packages/badge/badge.hydration.test.js +25 -25
  82. package/dist/packages/badge/badge.js +276 -276
  83. package/dist/packages/badge/badge.js.map +2 -2
  84. package/dist/packages/badge/badge.react.stories.d.ts +3 -3
  85. package/dist/packages/badge/badge.react.stories.js +17 -17
  86. package/dist/packages/badge/badge.stories.d.ts +3 -3
  87. package/dist/packages/badge/badge.stories.js +22 -20
  88. package/dist/packages/badge/badge.test.d.ts +1 -1
  89. package/dist/packages/badge/badge.test.js +13 -11
  90. package/dist/packages/badge/react.d.ts +1 -1
  91. package/dist/packages/badge/react.js +4 -4
  92. package/dist/packages/badge/styles.js +1 -1
  93. package/dist/packages/box/box.d.ts +1 -1
  94. package/dist/packages/box/box.hydration.test.d.ts +1 -1
  95. package/dist/packages/box/box.hydration.test.js +14 -14
  96. package/dist/packages/box/box.js +283 -283
  97. package/dist/packages/box/box.js.map +2 -2
  98. package/dist/packages/box/box.react.stories.d.ts +3 -3
  99. package/dist/packages/box/box.react.stories.js +8 -8
  100. package/dist/packages/box/box.stories.d.ts +3 -3
  101. package/dist/packages/box/box.stories.js +25 -19
  102. package/dist/packages/box/box.test.d.ts +1 -1
  103. package/dist/packages/box/box.test.js +6 -6
  104. package/dist/packages/box/react.d.ts +1 -1
  105. package/dist/packages/box/react.js +4 -4
  106. package/dist/packages/box/slot.test.d.ts +1 -1
  107. package/dist/packages/box/slot.test.js +6 -6
  108. package/dist/packages/box/styles.js +1 -1
  109. package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
  110. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
  111. package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
  112. package/dist/packages/breadcrumbs/breadcrumbs.js +284 -278
  113. package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
  114. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
  115. package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +6 -6
  116. package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +3 -3
  117. package/dist/packages/breadcrumbs/breadcrumbs.stories.js +27 -26
  118. package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
  119. package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
  120. package/dist/packages/breadcrumbs/react.d.ts +1 -1
  121. package/dist/packages/breadcrumbs/react.js +4 -4
  122. package/dist/packages/breadcrumbs/styles.js +1 -1
  123. package/dist/packages/button/button.d.ts +5 -5
  124. package/dist/packages/button/button.hydration.test.d.ts +1 -1
  125. package/dist/packages/button/button.hydration.test.js +19 -19
  126. package/dist/packages/button/button.js +741 -715
  127. package/dist/packages/button/button.js.map +2 -2
  128. package/dist/packages/button/button.react.stories.d.ts +3 -3
  129. package/dist/packages/button/button.react.stories.js +30 -30
  130. package/dist/packages/button/button.react.test.js +13 -13
  131. package/dist/packages/button/button.stories.d.ts +4 -4
  132. package/dist/packages/button/button.stories.js +276 -167
  133. package/dist/packages/button/button.test.d.ts +1 -1
  134. package/dist/packages/button/button.test.js +36 -34
  135. package/dist/packages/button/react.d.ts +2 -2
  136. package/dist/packages/button/react.js +7 -7
  137. package/dist/packages/button/styles.js +373 -347
  138. package/dist/packages/card/card.d.ts +1 -1
  139. package/dist/packages/card/card.hydration.test.d.ts +1 -1
  140. package/dist/packages/card/card.hydration.test.js +14 -14
  141. package/dist/packages/card/card.js +305 -290
  142. package/dist/packages/card/card.js.map +2 -2
  143. package/dist/packages/card/card.react.stories.d.ts +3 -3
  144. package/dist/packages/card/card.react.stories.js +11 -11
  145. package/dist/packages/card/card.stories.d.ts +3 -3
  146. package/dist/packages/card/card.stories.js +36 -24
  147. package/dist/packages/card/card.test.d.ts +1 -1
  148. package/dist/packages/card/card.test.js +6 -6
  149. package/dist/packages/card/react.d.ts +1 -1
  150. package/dist/packages/card/react.js +4 -4
  151. package/dist/packages/card/styles.js +1 -1
  152. package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
  153. package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
  154. package/dist/packages/checkbox/checkbox.d.ts +2 -2
  155. package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
  156. package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
  157. package/dist/packages/checkbox/checkbox.js +475 -424
  158. package/dist/packages/checkbox/checkbox.js.map +2 -2
  159. package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
  160. package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
  161. package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
  162. package/dist/packages/checkbox/checkbox.stories.js +99 -91
  163. package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
  164. package/dist/packages/checkbox/checkbox.test.js +64 -64
  165. package/dist/packages/checkbox/react.d.ts +1 -1
  166. package/dist/packages/checkbox/react.js +6 -6
  167. package/dist/packages/checkbox/styles.js +183 -132
  168. package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
  169. package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
  170. package/dist/packages/checkbox-group/checkbox-group.d.ts +16 -2
  171. package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
  172. package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
  173. package/dist/packages/checkbox-group/checkbox-group.js +60 -55
  174. package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
  175. package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
  176. package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
  177. package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
  178. package/dist/packages/checkbox-group/react.d.ts +2 -2
  179. package/dist/packages/checkbox-group/react.js +6 -6
  180. package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
  181. package/dist/packages/combobox/combobox.a11y.test.js +72 -49
  182. package/dist/packages/combobox/combobox.d.ts +2 -2
  183. package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
  184. package/dist/packages/combobox/combobox.hydration.test.js +45 -45
  185. package/dist/packages/combobox/combobox.js +332 -332
  186. package/dist/packages/combobox/combobox.js.map +3 -3
  187. package/dist/packages/combobox/combobox.react.stories.d.ts +3 -3
  188. package/dist/packages/combobox/combobox.react.stories.js +29 -29
  189. package/dist/packages/combobox/combobox.react.test.js +8 -8
  190. package/dist/packages/combobox/combobox.stories.d.ts +4 -4
  191. package/dist/packages/combobox/combobox.stories.js +100 -94
  192. package/dist/packages/combobox/combobox.test.d.ts +2 -2
  193. package/dist/packages/combobox/combobox.test.js +148 -133
  194. package/dist/packages/combobox/react.d.ts +2 -2
  195. package/dist/packages/combobox/react.js +14 -14
  196. package/dist/packages/combobox/styles.js +1 -1
  197. package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
  198. package/dist/packages/datepicker/DatePicker.test.js +46 -41
  199. package/dist/packages/datepicker/datepicker.d.ts +3 -3
  200. package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
  201. package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
  202. package/dist/packages/datepicker/datepicker.js +665 -625
  203. package/dist/packages/datepicker/datepicker.js.map +3 -3
  204. package/dist/packages/datepicker/datepicker.react.stories.d.ts +3 -3
  205. package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
  206. package/dist/packages/datepicker/datepicker.react.test.js +6 -6
  207. package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
  208. package/dist/packages/datepicker/datepicker.stories.js +32 -32
  209. package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
  210. package/dist/packages/datepicker/datepicker.test.js +77 -79
  211. package/dist/packages/datepicker/react.d.ts +2 -2
  212. package/dist/packages/datepicker/react.js +16 -14
  213. package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
  214. package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
  215. package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
  216. package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
  217. package/dist/packages/datepicker/utils.d.ts +1 -1
  218. package/dist/packages/datepicker/utils.js +25 -19
  219. package/dist/packages/datepicker/utils.test.js +20 -20
  220. package/dist/packages/expandable/expandable.d.ts +4 -4
  221. package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
  222. package/dist/packages/expandable/expandable.hydration.test.js +21 -21
  223. package/dist/packages/expandable/expandable.js +353 -326
  224. package/dist/packages/expandable/expandable.js.map +2 -2
  225. package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
  226. package/dist/packages/expandable/expandable.react.stories.js +7 -7
  227. package/dist/packages/expandable/expandable.react.test.js +15 -7
  228. package/dist/packages/expandable/expandable.stories.d.ts +5 -5
  229. package/dist/packages/expandable/expandable.stories.js +51 -45
  230. package/dist/packages/expandable/expandable.test.d.ts +1 -1
  231. package/dist/packages/expandable/expandable.test.js +19 -17
  232. package/dist/packages/expandable/react.d.ts +2 -2
  233. package/dist/packages/expandable/react.js +9 -9
  234. package/dist/packages/expandable/styles.js +1 -1
  235. package/dist/packages/global.js +2 -2
  236. package/dist/packages/i18n.d.ts +1 -1
  237. package/dist/packages/i18n.js +37 -29
  238. package/dist/packages/icon/icon.d.ts +3 -3
  239. package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
  240. package/dist/packages/icon/icon.hydration.test.js +25 -25
  241. package/dist/packages/icon/icon.js +30 -25
  242. package/dist/packages/icon/icon.js.map +2 -2
  243. package/dist/packages/icon/icon.react.stories.d.ts +1 -1
  244. package/dist/packages/icon/icon.react.stories.js +283 -284
  245. package/dist/packages/icon/icon.stories.d.ts +3 -3
  246. package/dist/packages/icon/icon.stories.js +299 -298
  247. package/dist/packages/icon/icon.test.d.ts +1 -1
  248. package/dist/packages/icon/icon.test.js +36 -28
  249. package/dist/packages/icon/react.d.ts +1 -1
  250. package/dist/packages/icon/react.js +4 -4
  251. package/dist/packages/icon/style.js +24 -25
  252. package/dist/packages/interaction-type-detection.js +9 -9
  253. package/dist/packages/link/link.d.ts +2 -2
  254. package/dist/packages/link/link.hydration.test.d.ts +1 -1
  255. package/dist/packages/link/link.hydration.test.js +27 -27
  256. package/dist/packages/link/link.js +709 -683
  257. package/dist/packages/link/link.js.map +2 -2
  258. package/dist/packages/link/link.react.stories.d.ts +3 -3
  259. package/dist/packages/link/link.react.stories.js +42 -42
  260. package/dist/packages/link/link.react.test.js +5 -3
  261. package/dist/packages/link/link.stories.d.ts +3 -3
  262. package/dist/packages/link/link.stories.js +51 -51
  263. package/dist/packages/link/link.test.d.ts +1 -1
  264. package/dist/packages/link/link.test.js +11 -7
  265. package/dist/packages/link/react.d.ts +2 -2
  266. package/dist/packages/link/react.js +6 -6
  267. package/dist/packages/link/styles.js +57 -57
  268. package/dist/packages/modal/index.d.ts +7 -7
  269. package/dist/packages/modal/index.js +7 -7
  270. package/dist/packages/modal/modal.d.ts +1 -1
  271. package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
  272. package/dist/packages/modal/modal.hydration.test.js +12 -12
  273. package/dist/packages/modal/modal.js +404 -404
  274. package/dist/packages/modal/modal.js.map +2 -2
  275. package/dist/packages/modal/modal.react.stories.d.ts +3 -3
  276. package/dist/packages/modal/modal.react.stories.js +7 -6
  277. package/dist/packages/modal/modal.react.test.js +5 -5
  278. package/dist/packages/modal/modal.stories.d.ts +6 -6
  279. package/dist/packages/modal/modal.stories.js +253 -238
  280. package/dist/packages/modal/react.d.ts +4 -4
  281. package/dist/packages/modal/react.js +13 -13
  282. package/dist/packages/modal/util.js +2 -2
  283. package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
  284. package/dist/packages/modal-footer/modal-footer.js +291 -291
  285. package/dist/packages/modal-footer/modal-footer.js.map +2 -2
  286. package/dist/packages/modal-footer/react.d.ts +1 -1
  287. package/dist/packages/modal-footer/react.js +4 -4
  288. package/dist/packages/modal-header/modal-header.d.ts +2 -2
  289. package/dist/packages/modal-header/modal-header.js +437 -416
  290. package/dist/packages/modal-header/modal-header.js.map +2 -2
  291. package/dist/packages/modal-header/modal-header.react.test.js +5 -3
  292. package/dist/packages/modal-header/react.d.ts +2 -2
  293. package/dist/packages/modal-header/react.js +8 -8
  294. package/dist/packages/page-indicator/page-indicator.d.ts +1 -1
  295. package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
  296. package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
  297. package/dist/packages/page-indicator/page-indicator.js +26 -26
  298. package/dist/packages/page-indicator/page-indicator.js.map +2 -2
  299. package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
  300. package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
  301. package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
  302. package/dist/packages/page-indicator/page-indicator.stories.d.ts +3 -3
  303. package/dist/packages/page-indicator/page-indicator.stories.js +56 -27
  304. package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
  305. package/dist/packages/page-indicator/page-indicator.test.js +110 -70
  306. package/dist/packages/page-indicator/react.d.ts +2 -2
  307. package/dist/packages/page-indicator/react.js +7 -7
  308. package/dist/packages/page-indicator/style.js +21 -21
  309. package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
  310. package/dist/packages/pagination/pagination.a11y.test.js +59 -25
  311. package/dist/packages/pagination/pagination.d.ts +3 -3
  312. package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
  313. package/dist/packages/pagination/pagination.hydration.test.js +19 -19
  314. package/dist/packages/pagination/pagination.js +380 -349
  315. package/dist/packages/pagination/pagination.js.map +2 -2
  316. package/dist/packages/pagination/pagination.react.stories.d.ts +5 -5
  317. package/dist/packages/pagination/pagination.react.stories.js +8 -8
  318. package/dist/packages/pagination/pagination.react.test.js +6 -6
  319. package/dist/packages/pagination/pagination.stories.d.ts +3 -3
  320. package/dist/packages/pagination/pagination.stories.js +18 -18
  321. package/dist/packages/pagination/pagination.test.d.ts +1 -1
  322. package/dist/packages/pagination/pagination.test.js +146 -69
  323. package/dist/packages/pagination/react.d.ts +3 -3
  324. package/dist/packages/pagination/react.js +12 -10
  325. package/dist/packages/pagination/styles.js +1 -1
  326. package/dist/packages/pill/pill.d.ts +2 -2
  327. package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
  328. package/dist/packages/pill/pill.hydration.test.js +14 -14
  329. package/dist/packages/pill/pill.js +331 -308
  330. package/dist/packages/pill/pill.js.map +2 -2
  331. package/dist/packages/pill/pill.react.stories.d.ts +3 -3
  332. package/dist/packages/pill/pill.react.stories.js +3 -3
  333. package/dist/packages/pill/pill.react.test.js +8 -8
  334. package/dist/packages/pill/pill.stories.d.ts +3 -3
  335. package/dist/packages/pill/pill.stories.js +8 -8
  336. package/dist/packages/pill/pill.test.d.ts +1 -1
  337. package/dist/packages/pill/pill.test.js +17 -15
  338. package/dist/packages/pill/react.d.ts +2 -2
  339. package/dist/packages/pill/react.js +18 -14
  340. package/dist/packages/pill/styles.js +1 -1
  341. package/dist/packages/radio/base-element.d.ts +3 -3
  342. package/dist/packages/radio/base-element.js +3 -3
  343. package/dist/packages/radio/custom-error-validator.d.ts +1 -1
  344. package/dist/packages/radio/custom-error-validator.js +3 -3
  345. package/dist/packages/radio/form-associated-element.d.ts +8 -8
  346. package/dist/packages/radio/form-associated-element.js +27 -26
  347. package/dist/packages/radio/host-styles.js +9 -9
  348. package/dist/packages/radio/invalid.d.ts +1 -1
  349. package/dist/packages/radio/invalid.js +1 -1
  350. package/dist/packages/radio/radio-styles.js +199 -160
  351. package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
  352. package/dist/packages/radio/radio.a11y.test.js +60 -58
  353. package/dist/packages/radio/radio.d.ts +3 -3
  354. package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
  355. package/dist/packages/radio/radio.hydration.test.js +23 -14
  356. package/dist/packages/radio/radio.js +485 -446
  357. package/dist/packages/radio/radio.js.map +3 -3
  358. package/dist/packages/radio/radio.react.stories.d.ts +2 -2
  359. package/dist/packages/radio/radio.react.stories.js +3 -3
  360. package/dist/packages/radio/radio.stories.d.ts +4 -4
  361. package/dist/packages/radio/radio.stories.js +152 -136
  362. package/dist/packages/radio/radio.test.d.ts +1 -1
  363. package/dist/packages/radio/radio.test.js +74 -73
  364. package/dist/packages/radio/react.d.ts +1 -1
  365. package/dist/packages/radio/react.js +4 -4
  366. package/dist/packages/radio/required-validator.d.ts +1 -1
  367. package/dist/packages/radio/required-validator.js +12 -7
  368. package/dist/packages/radio/slot.d.ts +1 -1
  369. package/dist/packages/radio/slot.js +11 -8
  370. package/dist/packages/radio/watch.d.ts +1 -1
  371. package/dist/packages/radio/watch.js +3 -1
  372. package/dist/packages/radio-group/radio-group-styles.js +121 -88
  373. package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
  374. package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
  375. package/dist/packages/radio-group/radio-group.d.ts +14 -5
  376. package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
  377. package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
  378. package/dist/packages/radio-group/radio-group.js +648 -560
  379. package/dist/packages/radio-group/radio-group.js.map +3 -3
  380. package/dist/packages/radio-group/radio-group.react.test.js +4 -4
  381. package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
  382. package/dist/packages/radio-group/radio-group.test.js +234 -229
  383. package/dist/packages/radio-group/react.d.ts +2 -2
  384. package/dist/packages/radio-group/react.js +10 -10
  385. package/dist/packages/select/react.d.ts +2 -2
  386. package/dist/packages/select/react.js +11 -11
  387. package/dist/packages/select/select.a11y.test.d.ts +1 -1
  388. package/dist/packages/select/select.a11y.test.js +98 -91
  389. package/dist/packages/select/select.d.ts +4 -4
  390. package/dist/packages/select/select.hydration.test.d.ts +1 -1
  391. package/dist/packages/select/select.hydration.test.js +16 -16
  392. package/dist/packages/select/select.js +348 -329
  393. package/dist/packages/select/select.js.map +2 -2
  394. package/dist/packages/select/select.react.stories.d.ts +3 -3
  395. package/dist/packages/select/select.react.stories.js +7 -7
  396. package/dist/packages/select/select.react.test.js +6 -6
  397. package/dist/packages/select/select.stories.d.ts +3 -3
  398. package/dist/packages/select/select.stories.js +51 -48
  399. package/dist/packages/select/select.test.d.ts +1 -1
  400. package/dist/packages/select/select.test.js +175 -178
  401. package/dist/packages/select/styles.js +1 -1
  402. package/dist/packages/slider/Slider.d.ts +1 -1
  403. package/dist/packages/slider/Slider.js +4 -4
  404. package/dist/packages/slider/index.d.ts +2 -2
  405. package/dist/packages/slider/index.js +2 -2
  406. package/dist/packages/slider/react.d.ts +3 -3
  407. package/dist/packages/slider/react.js +9 -9
  408. package/dist/packages/slider/slider.d.ts +3 -3
  409. package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
  410. package/dist/packages/slider/slider.hydration.test.js +39 -20
  411. package/dist/packages/slider/slider.js +480 -462
  412. package/dist/packages/slider/slider.js.map +2 -2
  413. package/dist/packages/slider/slider.react.stories.d.ts +3 -3
  414. package/dist/packages/slider/slider.react.stories.js +31 -34
  415. package/dist/packages/slider/slider.react.test.js +6 -6
  416. package/dist/packages/slider/slider.stories.d.ts +7 -7
  417. package/dist/packages/slider/slider.stories.js +332 -340
  418. package/dist/packages/slider/slider.test.d.ts +5 -5
  419. package/dist/packages/slider/slider.test.js +367 -334
  420. package/dist/packages/slider/styles/w-slider.styles.js +166 -148
  421. package/dist/packages/slider/styles.js +1 -1
  422. package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
  423. package/dist/packages/slider-thumb/SliderThumb.js +4 -4
  424. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
  425. package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
  426. package/dist/packages/slider-thumb/react.d.ts +3 -3
  427. package/dist/packages/slider-thumb/react.js +11 -9
  428. package/dist/packages/slider-thumb/slider-thumb.d.ts +3 -3
  429. package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
  430. package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
  431. package/dist/packages/slider-thumb/slider-thumb.js +545 -548
  432. package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
  433. package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
  434. package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
  435. package/dist/packages/slider-thumb/styles.js +1 -1
  436. package/dist/packages/snackbar/react.d.ts +1 -1
  437. package/dist/packages/snackbar/react.js +4 -4
  438. package/dist/packages/snackbar/snackbar.d.ts +3 -3
  439. package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -1
  440. package/dist/packages/snackbar/snackbar.hydration.test.js +6 -6
  441. package/dist/packages/snackbar/snackbar.js +487 -468
  442. package/dist/packages/snackbar/snackbar.js.map +2 -2
  443. package/dist/packages/snackbar/snackbar.react.stories.js +3 -3
  444. package/dist/packages/snackbar/snackbar.stories.d.ts +11 -11
  445. package/dist/packages/snackbar/snackbar.stories.js +253 -181
  446. package/dist/packages/snackbar/snackbar.test.d.ts +4 -4
  447. package/dist/packages/snackbar/snackbar.test.js +11 -11
  448. package/dist/packages/snackbar/styles.js +29 -29
  449. package/dist/packages/snackbar-item/react.d.ts +2 -2
  450. package/dist/packages/snackbar-item/react.js +6 -5
  451. package/dist/packages/snackbar-item/snackbar-item.d.ts +4 -4
  452. package/dist/packages/snackbar-item/snackbar-item.js +454 -435
  453. package/dist/packages/snackbar-item/snackbar-item.js.map +2 -2
  454. package/dist/packages/snackbar-item/snackbar-item.react.test.js +4 -4
  455. package/dist/packages/snackbar-item/styles.js +130 -108
  456. package/dist/packages/step/react.d.ts +1 -1
  457. package/dist/packages/step/react.js +4 -4
  458. package/dist/packages/step/step.d.ts +2 -2
  459. package/dist/packages/step/step.hydration.test.d.ts +1 -1
  460. package/dist/packages/step/step.hydration.test.js +10 -10
  461. package/dist/packages/step/step.js +330 -308
  462. package/dist/packages/step/step.js.map +2 -2
  463. package/dist/packages/step-indicator/index.d.ts +2 -2
  464. package/dist/packages/step-indicator/index.js +2 -2
  465. package/dist/packages/step-indicator/react.d.ts +2 -2
  466. package/dist/packages/step-indicator/react.js +5 -5
  467. package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
  468. package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
  469. package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
  470. package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
  471. package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
  472. package/dist/packages/step-indicator/step-indicator.js +280 -276
  473. package/dist/packages/step-indicator/step-indicator.js.map +2 -2
  474. package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
  475. package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
  476. package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
  477. package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
  478. package/dist/packages/step-indicator/styles.js +1 -1
  479. package/dist/packages/styles.js +274 -274
  480. package/dist/packages/switch/react.d.ts +1 -1
  481. package/dist/packages/switch/react.js +6 -6
  482. package/dist/packages/switch/styles.js +1 -1
  483. package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
  484. package/dist/packages/switch/switch.a11y.test.js +46 -38
  485. package/dist/packages/switch/switch.d.ts +1 -1
  486. package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
  487. package/dist/packages/switch/switch.hydration.test.js +23 -23
  488. package/dist/packages/switch/switch.js +299 -299
  489. package/dist/packages/switch/switch.js.map +2 -2
  490. package/dist/packages/switch/switch.react.stories.d.ts +2 -2
  491. package/dist/packages/switch/switch.react.stories.js +2 -2
  492. package/dist/packages/switch/switch.stories.d.ts +2 -2
  493. package/dist/packages/switch/switch.stories.js +42 -37
  494. package/dist/packages/switch/switch.test.d.ts +1 -1
  495. package/dist/packages/switch/switch.test.js +30 -35
  496. package/dist/packages/tab/react.d.ts +6 -4
  497. package/dist/packages/tab/react.js +11 -10
  498. package/dist/packages/tab/styles.d.ts +1 -0
  499. package/dist/packages/tab/styles.js +2 -0
  500. package/dist/packages/tab/tab.d.ts +5 -5
  501. package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
  502. package/dist/packages/tab/tab.hydration.test.js +18 -12
  503. package/dist/packages/tab/tab.js +305 -304
  504. package/dist/packages/tab/tab.js.map +3 -3
  505. package/dist/packages/tab/tab.react.test.js +5 -3
  506. package/dist/packages/tab-panel/react.d.ts +3 -2
  507. package/dist/packages/tab-panel/react.js +11 -5
  508. package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
  509. package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
  510. package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
  511. package/dist/packages/tab-panel/tab-panel.js +289 -287
  512. package/dist/packages/tab-panel/tab-panel.js.map +2 -2
  513. package/dist/packages/tabs/index.d.ts +4 -4
  514. package/dist/packages/tabs/index.js +3 -3
  515. package/dist/packages/tabs/react.d.ts +27 -8
  516. package/dist/packages/tabs/react.js +30 -9
  517. package/dist/packages/tabs/styles.js +1 -1
  518. package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
  519. package/dist/packages/tabs/tabs.a11y.test.js +188 -169
  520. package/dist/packages/tabs/tabs.d.ts +3 -3
  521. package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
  522. package/dist/packages/tabs/tabs.hydration.test.js +22 -8
  523. package/dist/packages/tabs/tabs.js +289 -282
  524. package/dist/packages/tabs/tabs.js.map +2 -2
  525. package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
  526. package/dist/packages/tabs/tabs.react.stories.js +28 -28
  527. package/dist/packages/tabs/tabs.stories.d.ts +4 -4
  528. package/dist/packages/tabs/tabs.stories.js +101 -95
  529. package/dist/packages/tabs/tabs.test.d.ts +3 -3
  530. package/dist/packages/tabs/tabs.test.js +136 -122
  531. package/dist/packages/textarea/react.d.ts +2 -2
  532. package/dist/packages/textarea/react.js +17 -17
  533. package/dist/packages/textarea/styles.js +1 -1
  534. package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
  535. package/dist/packages/textarea/textarea.a11y.test.js +89 -57
  536. package/dist/packages/textarea/textarea.d.ts +1 -1
  537. package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
  538. package/dist/packages/textarea/textarea.hydration.test.js +19 -19
  539. package/dist/packages/textarea/textarea.js +300 -298
  540. package/dist/packages/textarea/textarea.js.map +2 -2
  541. package/dist/packages/textarea/textarea.react.stories.d.ts +3 -3
  542. package/dist/packages/textarea/textarea.react.stories.js +13 -13
  543. package/dist/packages/textarea/textarea.react.test.js +7 -7
  544. package/dist/packages/textarea/textarea.stories.d.ts +3 -3
  545. package/dist/packages/textarea/textarea.stories.js +44 -42
  546. package/dist/packages/textarea/textarea.test.d.ts +1 -1
  547. package/dist/packages/textarea/textarea.test.js +124 -88
  548. package/dist/packages/textfield/react.d.ts +2 -2
  549. package/dist/packages/textfield/react.js +17 -17
  550. package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
  551. package/dist/packages/textfield/styles.js +1 -1
  552. package/dist/packages/textfield/textfield.d.ts +3 -3
  553. package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
  554. package/dist/packages/textfield/textfield.hydration.test.js +19 -19
  555. package/dist/packages/textfield/textfield.js +376 -368
  556. package/dist/packages/textfield/textfield.js.map +3 -3
  557. package/dist/packages/textfield/textfield.react.stories.d.ts +3 -3
  558. package/dist/packages/textfield/textfield.react.stories.js +31 -31
  559. package/dist/packages/textfield/textfield.react.test.js +7 -7
  560. package/dist/packages/textfield/textfield.stories.d.ts +4 -4
  561. package/dist/packages/textfield/textfield.stories.js +107 -89
  562. package/dist/packages/textfield/textfield.test.d.ts +2 -2
  563. package/dist/packages/textfield/textfield.test.js +103 -71
  564. package/dist/packages/toast/api.d.ts +1 -1
  565. package/dist/packages/toast/api.js +3 -3
  566. package/dist/packages/toast/index.d.ts +5 -5
  567. package/dist/packages/toast/index.js +5 -5
  568. package/dist/packages/toast/toast.d.ts +4 -4
  569. package/dist/packages/toast/toast.js +343 -314
  570. package/dist/packages/toast/toast.js.map +2 -2
  571. package/dist/packages/toast/toast.stories.d.ts +4 -4
  572. package/dist/packages/toast/toast.stories.js +37 -16
  573. package/dist/packages/toast/toast.test.d.ts +1 -1
  574. package/dist/packages/toast/toast.test.js +48 -31
  575. package/dist/packages/toast/types.d.ts +1 -1
  576. package/dist/packages/toast-container/styles.js +1 -1
  577. package/dist/packages/toast-container/toast-container.d.ts +2 -2
  578. package/dist/packages/toast-container/toast-container.js +291 -290
  579. package/dist/packages/toast-container/toast-container.js.map +2 -2
  580. package/dist/packages/utils/element-collapse.js +38 -28
  581. package/dist/packages/utils/expand-transition.d.ts +1 -1
  582. package/dist/packages/utils/expand-transition.js +12 -10
  583. package/dist/packages/utils/unstyled-heading.d.ts +1 -1
  584. package/dist/packages/utils/unstyled-heading.js +4 -4
  585. package/dist/packages/utils/window-exists.js +1 -1
  586. package/dist/packages/utils.js +2 -2
  587. package/dist/setup-tests.d.ts +3 -3
  588. package/dist/setup-tests.js +16 -13
  589. package/dist/tests/react-hydration.js +29 -30
  590. package/dist/tests/react-ssr-attributes.d.ts +1 -1
  591. package/dist/tests/react-ssr-attributes.js +4 -4
  592. package/dist/web-types.json +25 -22
  593. package/eik/index.js +9 -9
  594. package/package.json +11 -16
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../node_modules/.pnpm/@chbphone55+classnames@2.0.0/node_modules/@chbphone55/classnames/dist/index.m.js", "../../../node_modules/.pnpm/@lingui+core@5.9.5_@lingui+babel-plugin-lingui-macro@5.9.5_typescript@6.0.3_/node_modules/@lingui/core/dist/index.mjs", "../../../node_modules/.pnpm/@open-wc+form-control@1.0.0/node_modules/@open-wc/form-control/src/FormControlMixin.ts", "../../../packages/combobox/combobox.ts", "../../../packages/i18n.ts", "../../../packages/styles.ts", "../../../packages/combobox/locales/da/messages.mjs", "../../../packages/combobox/locales/en/messages.mjs", "../../../packages/combobox/locales/fi/messages.mjs", "../../../packages/combobox/locales/nb/messages.mjs", "../../../packages/combobox/locales/sv/messages.mjs", "../../../packages/combobox/styles.ts"],
4
- "sourcesContent": ["var r=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return t.reduce(function(t,n){return t.concat(\"string\"==typeof n?n:Array.isArray(n)?r.apply(void 0,n):\"object\"==typeof n&&n?Object.keys(n).map(function(r){return n[r]?r:\"\"}):\"\")},[]).join(\" \")};export{r as classNames};\n", "import { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nconst defaultLocale = \"en\";\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, defaultLocale];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n if (!format) {\n format = \"default\";\n }\n let o;\n if (typeof format === \"string\") {\n o = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\"\n };\n switch (format) {\n case \"full\":\n o.weekday = \"long\";\n case \"long\":\n o.month = \"long\";\n break;\n case \"short\":\n o.month = \"numeric\";\n break;\n }\n } else {\n o = format;\n }\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, o)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction time(locales, value, format) {\n let o;\n if (!format) {\n format = \"default\";\n }\n if (typeof format === \"string\") {\n o = {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\"\n };\n switch (format) {\n case \"full\":\n case \"long\":\n o.timeZoneName = \"short\";\n break;\n case \"short\":\n delete o.second;\n }\n } else {\n o = format;\n }\n return date(locales, value, o);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n defaultLocale: defaultLocale,\n number: number,\n plural: plural,\n time: time\n};\n\nconst ESCAPE_SEQUENCE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/;\nconst decodeEscapeSequences = (str) => {\n return str.replace(\n // Same pattern but with capturing groups for extracting values during replacement\n /\\\\u([a-fA-F0-9]{4})|\\\\x([a-fA-F0-9]{2})/g,\n (_, unicode, hex) => {\n if (unicode) {\n const codePoint = parseInt(unicode, 16);\n return String.fromCharCode(codePoint);\n } else {\n const codePoint = parseInt(hex, 16);\n return String.fromCharCode(codePoint);\n }\n }\n );\n};\n\nconst OCTOTHORPE_PH = \"%__lingui_octothorpe__%\";\nconst getDefaultFormats = (locale, passedLocales, formats = {}) => {\n const locales = passedLocales || locale;\n const style = (format) => {\n if (typeof format === \"object\")\n return format;\n return formats[format];\n };\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : void 0;\n const valueStr = number(locales, value, numberFormat);\n return message.replace(new RegExp(OCTOTHORPE_PH, \"g\"), valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: selectFormatter,\n number: (value, format) => number(\n locales,\n value,\n style(format) || { style: format }\n ),\n date: (value, format) => date(locales, value, style(format) || format),\n time: (value, format) => time(locales, value, style(format) || format)\n };\n};\nconst selectFormatter = (value, rules) => rules[value] ?? rules.other;\nfunction interpolate(translation, locale, locales) {\n return (values = {}, formats) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (tokens, replaceOctothorpe = false) => {\n if (!Array.isArray(tokens))\n return tokens;\n return tokens.reduce((message, token) => {\n if (token === \"#\" && replaceOctothorpe) {\n return message + OCTOTHORPE_PH;\n }\n if (isString(token)) {\n return message + token;\n }\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (type === \"plural\" || type === \"selectordinal\" || type === \"select\") {\n Object.entries(format).forEach(\n ([key, value2]) => {\n interpolatedFormat[key] = formatMessage(\n value2,\n type === \"plural\" || type === \"selectordinal\"\n );\n }\n );\n } else {\n interpolatedFormat = format;\n }\n let value;\n if (type) {\n const formatter = formatters[type];\n value = formatter(values[name], interpolatedFormat);\n } else {\n value = values[name];\n }\n if (value == null) {\n return message;\n }\n return message + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && ESCAPE_SEQUENCE_REGEX.test(result)) {\n return decodeEscapeSequences(result);\n }\n if (isString(result))\n return result;\n return result ? String(result) : \"\";\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n var _a;\n (_a = this._events)[event] ?? (_a[event] = []);\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n const index = maybeListeners.indexOf(listener);\n if (~index)\n maybeListeners.splice(index, 1);\n }\n emit(event, ...args) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n maybeListeners.map((listener) => listener.apply(this, args));\n }\n _getListeners(event) {\n const maybeListeners = this._events[event];\n return Array.isArray(maybeListeners) ? maybeListeners : false;\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\", \"\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\", {});\n __publicField(this, \"_messages\", {});\n __publicField(this, \"_missing\");\n __publicField(this, \"_messageCompiler\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n if (process.env.NODE_ENV !== \"production\") {\n this.setMessagesCompiler(compileMessage);\n }\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (typeof params.locale === \"string\" || params.locales) {\n this.activate(params.locale ?? defaultLocale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n const maybeLocaleData = this._localeData[locale];\n if (!maybeLocaleData) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(maybeLocaleData, localeData);\n }\n }\n /**\n * Registers a `MessageCompiler` to enable the use of uncompiled catalogs at runtime.\n *\n * In production builds, the `MessageCompiler` is typically excluded to reduce bundle size.\n * By default, message catalogs should be precompiled during the build process. However,\n * if you need to compile catalogs at runtime, you can use this method to set a message compiler.\n *\n * Example usage:\n *\n * ```ts\n * import { compileMessage } from \"@lingui/message-utils/compileMessage\";\n *\n * i18n.setMessagesCompiler(compileMessage);\n * ```\n */\n setMessagesCompiler(compiler) {\n this._messageCompiler = compiler;\n return this;\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (typeof localeOrAllData === \"string\") {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n const maybeMessages = this._messages[locale];\n if (!maybeMessages) {\n this._messages[locale] = messages;\n } else {\n Object.assign(maybeMessages, messages);\n }\n }\n load(localeOrMessages, messages) {\n if (typeof localeOrMessages == \"string\" && typeof messages === \"object\") {\n this._load(localeOrMessages, messages);\n } else {\n Object.entries(localeOrMessages).forEach(\n ([locale, messages2]) => this._load(locale, messages2)\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values, options) {\n if (!this.locale) {\n throw new Error(\n \"Lingui: Attempted to call a translation function without setting a locale.\\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\\nThis issue may also occur due to a race condition in your initialization logic.\"\n );\n }\n let message = options?.message;\n if (!id) {\n id = \"\";\n }\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageForId = this.messages[id];\n const messageMissing = messageForId === void 0;\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = messageForId || message || id;\n if (isString(translation)) {\n if (this._messageCompiler) {\n translation = this._messageCompiler(translation);\n } else {\n console.warn(`Uncompiled message detected! Message:\n\n> ${translation}\n\nThat means you use raw catalog or your catalog doesn't have a translation for the message and fallback was used.\nICU features such as interpolation and plurals will not work properly for that message. \n\nPlease compile your catalog first. \n`);\n }\n }\n if (isString(translation) && ESCAPE_SEQUENCE_REGEX.test(translation))\n return decodeEscapeSequences(translation);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, options?.formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "import { Constructor, CustomValidityState, FormControlInterface, FormValue, IControlHost, validationMessageCallback, Validator } from './types.js';\n\nexport function FormControlMixin<\n TBase extends Constructor<HTMLElement & IControlHost> & { observedAttributes?: string [] }\n>(SuperClass: TBase) {\n class FormControl extends SuperClass {\n /** Wires up control instances to be form associated */\n static get formAssociated(): boolean {\n return true;\n }\n\n /**\n * A list of Validator objects that will be evaluated when a control's form\n * value is modified or optionally when a given attribute changes.\n *\n * When a Validator's callback returns false, the entire form control will\n * be set to an invalid state.\n */\n declare static formControlValidators: Validator[];\n\n /**\n * If set to true the control described should be evaluated and validated\n * as part of a group. Like a radio, if any member of the group's validity\n * changes the the other members should update as well.\n */\n declare static formControlValidationGroup: boolean;\n\n private static get validators(): Validator[] {\n return this.formControlValidators || [];\n }\n\n /**\n * Allows the FormControl instance to respond to Validator attributes.\n * For instance, if a given Validator has a `required` attribute, that\n * validator will be evaluated whenever the host's required attribute\n * is updated.\n */\n static get observedAttributes(): string[] {\n const validatorAttributes = this.validators.map((validator) => validator.attribute).flat();\n\n const observedAttributes = super.observedAttributes || [];\n\n /** Make sure there are no duplicates inside the attributes list */\n const attributeSet = new Set([...observedAttributes, ...validatorAttributes]);\n return [...attributeSet] as string[];\n }\n\n /**\n * Return the validator associated with a given attribute. If no\n * Validator is associated with the attribute, it will return null.\n */\n static getValidator(attribute: string): Validator | null {\n return this.validators.find((validator) => validator.attribute === attribute) || null;\n }\n\n /**\n * Get all validators that are set to react to a given attribute\n * @param {string} attribute - The attribute that has changed\n * @returns {Validator[]}\n */\n static getValidators(attribute: string): Validator[] | null {\n return this.validators.filter(validator => {\n if (validator.attribute === attribute || validator.attribute?.includes(attribute)) {\n return true;\n }\n });\n }\n\n /** The ElementInternals instance for the control. */\n internals = this.attachInternals();\n\n /**\n * Keep track of if the control has focus\n * @private\n */\n #focused = false;\n\n /**\n * Exists to control when an error should be displayed\n * @private\n */\n #forceError = false;\n\n /**\n * Toggles to true whenever the element has been focused. This property\n * will reset whenever the control's formResetCallback is called.\n * @private\n */\n #touched = false;\n\n /** An internal abort controller for cancelling pending async validation */\n #abortController?: AbortController;\n #previousAbortController?: AbortController;\n\n /**\n * Used for tracking if a validation target has been set to manage focus\n * when the control's validity is reported\n */\n #awaitingValidationTarget = true;\n\n /** All of the controls within a root with a matching local name and form name */\n get #formValidationGroup(): NodeListOf<FormControl> {\n const rootNode = this.getRootNode() as HTMLElement;\n const selector = `${this.localName}[name=\"${this.getAttribute('name')}\"]`;\n return rootNode.querySelectorAll<FormControl>(selector);\n }\n\n /**\n * Acts as a cache for the current value so the value can be re-evaluated\n * whenever an attribute changes or on some other event.\n */\n #value: FormValue = '';\n\n /**\n * Set this[touched] and this[focused]\n * to true when the element is focused\n * @private\n */\n #onFocus = (): void => {\n this.#touched = true;\n this.#focused = true;\n this.#shouldShowError();\n };\n\n /**\n * Reset this[focused] on blur\n * @private\n */\n #onBlur = (): void => {\n this.#focused = false;\n\n this.#runValidators(this.shouldFormValueUpdate() ? this.#value : '');\n\n /**\n * Set forceError to ensure error messages persist until\n * the value is changed.\n */\n if (!this.validity.valid && this.#touched) {\n this.#forceError = true;\n }\n const showError = this.#shouldShowError();\n if (this.validationMessageCallback) {\n this.validationMessageCallback(showError ? this.internals.validationMessage : '');\n }\n };\n\n /**\n * For the show error state on invalid\n * @private\n */\n #onInvalid = (): void => {\n if (this.#awaitingValidationTarget && this.validationTarget) {\n this.internals.setValidity(\n this.validity,\n this.validationMessage,\n this.validationTarget\n );\n this.#awaitingValidationTarget = false;\n }\n this.#touched = true;\n this.#forceError = true;\n this.#shouldShowError();\n this?.validationMessageCallback?.(this.showError ? this.internals.validationMessage : '');\n };\n\n /** Return a reference to the control's form */\n get form(): HTMLFormElement {\n return this.internals.form;\n }\n\n /**\n * Will return true if it is recommended that the control shows an internal\n * error. If using this property, it is wise to listen for 'invalid' events\n * on the element host and call preventDefault on the event. Doing this will\n * prevent browsers from showing a validation popup.\n */\n get showError(): boolean {\n return this.#shouldShowError();\n }\n\n /**\n * Forward the internals checkValidity method\n * will return the valid state of the control.\n */\n checkValidity(): boolean {\n return this.internals.checkValidity();\n }\n\n /** The element's validity state */\n get validity(): ValidityState {\n return this.internals.validity;\n }\n\n /**\n * The validation message shown by a given Validator object. If the control\n * is in a valid state this should be falsy.\n */\n get validationMessage(): string {\n return this.internals.validationMessage;\n }\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n constructor(...args: any[]) {\n super(...args);\n this.addEventListener?.('focus', this.#onFocus);\n this.addEventListener?.('blur', this.#onBlur);\n this.addEventListener?.('invalid', this.#onInvalid);\n this.setValue(null);\n }\n\n attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n /**\n * Check to see if a Validator is associated with the changed attribute.\n * If one exists, call control's validate function which will perform\n * control validation.\n */\n const proto = this.constructor as typeof FormControl;\n const validators = proto.getValidators(name);\n\n if (validators?.length && this.validationTarget) {\n this.setValue(this.#value);\n }\n }\n\n /** PUBLIC LIFECYCLE METHODS */\n\n /**\n * Sets the control's form value if the call to `shouldFormValueUpdate`\n * returns `true`.\n * @param value {FormValue} - The value to pass to the form\n */\n setValue(value: FormValue): void {\n this.#forceError = false;\n this.validationMessageCallback?.('');\n this.#value = value;\n const valueShouldUpdate = this.shouldFormValueUpdate();\n const valueToUpdate = valueShouldUpdate ? value : null;\n this.internals.setFormValue(valueToUpdate as string);\n this.#runValidators(valueToUpdate);\n if (this.valueChangedCallback) {\n this.valueChangedCallback(valueToUpdate);\n }\n this.#shouldShowError();\n }\n\n /**\n * This method can be overridden to determine if the control's form value\n * should be set on a call to `setValue`. An example of when a user might want\n * to skip this step is when implementing checkbox-like behavior, first checking\n * to see if `this.checked` is set to a truthy value. By default this returns\n * `true`.\n */\n shouldFormValueUpdate(): boolean {\n return true;\n }\n\n /** Save a reference to the validation complete resolver */\n #validationCompleteResolver?: (value: void | PromiseLike<void>) => void;\n\n /** When true validation will be pending */\n #isValidationPending = false;\n\n #validationComplete = Promise.resolve();\n\n /** A promise that will resolve when all pending validations are complete */\n get validationComplete(): Promise<void> {\n return new Promise(resolve => resolve(this.#validationComplete));\n }\n\n /** DECLARED INSTANCE METHODS AND PROPERTIES*/\n\n /**\n * Resets a form control to its initial state\n */\n declare resetFormControl: () => void;\n\n /**\n * This method is used to override the controls' validity message\n * for a given Validator key. This has the highest level of priority when\n * setting a validationMessage, so use this method wisely.\n *\n * The returned value will be used as the validationMessage for the given key.\n * @param validationKey {string} - The key that has returned invalid\n */\n declare validityCallback: (validationKey: string) => string | void;\n\n /**\n * Called when the control's validationMessage should be changed\n * @param message { string } - The new validation message\n */\n declare validationMessageCallback: (message: string) => void;\n\n /**\n * A callback for when the controls' form value changes. The value\n * passed to this function should not be confused with the control's\n * value property, this is the value that will appear on the form.\n *\n * In cases where `checked` did not exist on the control's prototype\n * upon initialization, this value and the value property will be identical;\n * in cases where `checked` is present upon initialization, this will be\n * effectively `this.checked && this.value`.\n */\n declare valueChangedCallback: (value: FormValue) => void;\n\n /**\n * The element that will receive focus when the control's validity\n * state is reported either by a form submission or via API\n *\n * We use declare since this is optional and we don't particularly\n * care how the consuming component implements this (as a field, member\n * or getter/setter)\n */\n declare validationTarget: HTMLElement | null;\n\n /** PRIVATE LIFECYCLE METHODS */\n\n /**\n * Check to see if an error should be shown. This method will also\n * update the internals state object with the --show-error state\n * if necessary.\n * @private\n */\n #shouldShowError(): boolean {\n if (this.hasAttribute('disabled')) {\n return false;\n }\n\n const showError = this.#forceError || (this.#touched && !this.validity.valid && !this.#focused);\n\n /**\n * At the time of writing Firefox doesn't support states\n * TODO: Remove when check for states when fully support is in place\n */\n if (showError && this.internals.states) {\n this.internals.states.add('--show-error');\n } else if (this.internals.states) {\n this.internals.states.delete('--show-error');\n }\n\n return showError;\n }\n\n #runValidators(value: FormValue): void {\n const proto = this.constructor as typeof FormControl;\n const validity: CustomValidityState = {};\n const validators = proto.validators;\n const asyncValidators: Promise<boolean|void>[] = [];\n const hasAsyncValidators = validators.some((validator) => validator.isValid instanceof Promise)\n\n if (!this.#isValidationPending) {\n this.#validationComplete = new Promise(resolve => {\n this.#validationCompleteResolver = resolve\n });\n this.#isValidationPending = true;\n }\n\n /**\n * If an abort controller exists from a previous validation step\n * notify still-running async validators that we are requesting they\n * discontinue any work.\n */\n if (this.#abortController) {\n this.#abortController.abort();\n this.#previousAbortController = this.#abortController;\n }\n\n /**\n * Create a new abort controller and replace the instance reference\n * so we can clean it up for next time\n */\n const abortController = new AbortController();\n this.#abortController = abortController;\n let validationMessage: string | undefined = undefined;\n\n /** Track to see if any validity key has changed */\n let hasChange = false;\n\n if (!validators.length) {\n return;\n }\n\n validators.forEach(validator => {\n const key = validator.key || 'customError';\n const isValid = validator.isValid(this, value, abortController.signal);\n const isAsyncValidator = isValid instanceof Promise;\n\n if (isAsyncValidator) {\n asyncValidators.push(isValid);\n\n isValid.then(isValidatorValid => {\n if (isValidatorValid === undefined || isValidatorValid === null) {\n return;\n }\n /** Invert the validity state to correspond to the ValidityState API */\n validity[key] = !isValidatorValid;\n\n validationMessage = this.#getValidatorMessageForValue(validator, value);\n this.#setValidityWithOptionalTarget(validity, validationMessage);\n });\n } else {\n /** Invert the validity state to correspond to the ValidityState API */\n validity[key] = !isValid;\n\n if (this.validity[key] !== !isValid) {\n hasChange = true;\n }\n\n // only update the validationMessage for the first invalid scenario\n // so that earlier invalid validators dont get their messages overwritten by later ones\n // in the validators array\n if (!isValid && !validationMessage) {\n validationMessage = this.#getValidatorMessageForValue(validator, value);\n }\n }\n });\n\n /** Once all the async validators have settled, resolve validationComplete */\n Promise.allSettled(asyncValidators)\n .then(() => {\n /** Don't resolve validations if the signal is aborted */\n if (!abortController?.signal.aborted) {\n this.#isValidationPending = false;\n this.#validationCompleteResolver?.();\n }\n });\n\n /**\n * If async validators are present:\n * Only run updates when a sync validator has a change. This is to prevent\n * situations where running sync validators can override async validators\n * that are still in progress\n *\n * If async validators are not present, always update validity\n */\n if (hasChange || !hasAsyncValidators) {\n this.#setValidityWithOptionalTarget(validity, validationMessage);\n }\n }\n\n /**\n * If the validationTarget is not set, the user can decide how they would\n * prefer to handle focus when the field is validated.\n */\n #setValidityWithOptionalTarget(validity: Partial<ValidityState>, validationMessage: string|undefined): void {\n if (this.validationTarget) {\n this.internals.setValidity(validity, validationMessage, this.validationTarget);\n this.#awaitingValidationTarget = false;\n } else {\n this.internals.setValidity(validity, validationMessage);\n\n if (this.internals.validity.valid) {\n return;\n }\n\n /**\n * Sets mark the component as awaiting a validation target\n * if the element dispatches an invalid event, the #onInvalid listener\n * will check to see if the validation target has been set since this call\n * has run. This useful in cases like Lit's use of the query\n * decorator for setting the validationTarget or any scenario\n * where the validationTarget isn't available upon construction\n */\n this.#awaitingValidationTarget = true;\n }\n }\n\n /** Process the validator message attribute */\n #getValidatorMessageForValue(validator: Validator, value: FormValue): string {\n /** If the validity callback exists and returns, use that as the result */\n if (this.validityCallback) {\n const message = this.validityCallback(validator.key || 'customError');\n\n if (message) {\n return message;\n }\n }\n\n if (validator.message instanceof Function) {\n return (validator.message as validationMessageCallback)(this, value);\n } else {\n return validator.message as string;\n }\n }\n\n /** Reset control state when the form is reset */\n formResetCallback() {\n this.#touched = false;\n this.#forceError = false;\n this.#shouldShowError();\n this.resetFormControl?.();\n\n this.validationMessageCallback?.(\n this.#shouldShowError() ? this.validationMessage : ''\n );\n }\n }\n\n return FormControl as Constructor<FormControlInterface> & TBase;\n}\n", "// @warp-css;\n\nimport { classNames } from '@chbphone55/classnames';\nimport { i18n } from '@lingui/core';\nimport { FormControlMixin } from '@open-wc/form-control';\nimport { html, LitElement, PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { activateI18n } from '../i18n.js';\nimport { reset } from '../styles.js';\n\nimport { messages as daMessages } from './locales/da/messages.mjs';\nimport { messages as enMessages } from './locales/en/messages.mjs';\nimport { messages as fiMessages } from './locales/fi/messages.mjs';\nimport { messages as nbMessages } from './locales/nb/messages.mjs';\nimport { messages as svMessages } from './locales/sv/messages.mjs';\nimport { styles } from './styles.js';\n\nconst ccCombobox = {\n wrapper: 'relative z-0',\n base: 'absolute z-20 left-0 right-0 s-bg pb-4 rounded-8 overflow-hidden shadow-m',\n listbox: 'm-0 p-0 select-none list-none',\n option: 'block cursor-pointer p-8',\n optionUnselected: 'hover:s-bg-hover',\n optionSelected: 's-bg-selected hover:s-bg-selected-hover',\n textMatch: 'font-bold',\n a11y: 'sr-only',\n};\n\nexport interface ComboboxOption {\n value: string;\n label?: string;\n key?: string;\n}\n\ninterface OptionWithIdAndMatch extends ComboboxOption {\n id: string;\n key: string;\n currentInputValue: string;\n}\n\n/**\n * A combobox element for text input with selectable options.\n *\n * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/forms-combobox--docs)\n */\nexport class WarpCombobox extends FormControlMixin(LitElement) {\n /**\n * The available options to select from.\n *\n * Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements.\n */\n @property({ type: Array })\n options: ComboboxOption[] = [];\n\n /**\n * The label displayed above the input.\n *\n * Use this to give the combobox a visible and accessible name.\n */\n @property({ type: String, reflect: true, useDefault: true })\n label?: string = '';\n\n /**\n * Placeholder text displayed when the input is empty.\n *\n * Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.\n */\n @property({ type: String, reflect: true, useDefault: true })\n placeholder?: string = '';\n\n /**\n * The selected or typed value.\n *\n * When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.\n */\n @property({ type: String, reflect: true, useDefault: true })\n value = '';\n\n /**\n * Whether the option list opens when the input receives focus.\n *\n * Use this when users should see available options before they start typing.\n */\n @property({ type: Boolean, attribute: 'open-on-focus', reflect: true })\n openOnFocus = false;\n\n /**\n * Whether the active option is selected when the input loses focus.\n *\n * When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur.\n */\n @property({ type: Boolean, attribute: 'select-on-blur', reflect: true, useDefault: true })\n selectOnBlur = true;\n\n /**\n * Whether matching text segments in options are highlighted.\n *\n * Use this to visually emphasize the part of each option that matches the current input value.\n */\n @property({ type: Boolean, attribute: 'match-text-segments', reflect: true })\n matchTextSegments = false;\n\n /**\n * Whether built-in client-side filtering is disabled.\n *\n * Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided.\n */\n @property({ type: Boolean, attribute: 'disable-static-filtering', reflect: true })\n disableStaticFiltering = false;\n\n /**\n * Whether the combobox is visually invalid.\n *\n * Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error.\n */\n @property({ type: Boolean, reflect: true })\n invalid = false;\n\n /**\n * Help text displayed below the input.\n *\n * Use this for supporting guidance or validation feedback.\n */\n @property({ type: String, attribute: 'help-text', reflect: true, useDefault: true })\n helpText?: string = '';\n\n /**\n * Whether the combobox is disabled.\n *\n * Disabled comboboxes cannot be focused, changed, or submitted with form data.\n */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /**\n * Whether the combobox is required before form submission.\n *\n * Use this when the user must provide a value before submitting the form.\n */\n @property({ type: Boolean, reflect: true })\n required = false;\n\n /**\n * Whether to show optional text next to the label.\n *\n * Use this to indicate that the combobox is not required.\n */\n @property({ type: Boolean, reflect: true })\n optional = false;\n\n /**\n * The name submitted with the combobox value.\n *\n * Use this when the combobox belongs to a form and its value should be included in form data.\n */\n @property({ type: String, reflect: true, useDefault: true })\n name?: string = '';\n\n /**\n * The autocomplete attribute passed to the internal input.\n *\n * Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.\n */\n @property({ type: String, reflect: true, useDefault: true })\n autocomplete?: string = 'off';\n\n /** @internal Options list open boolean */\n @state()\n private _isOpen = false;\n\n /** @internal The option the user has navigated to with their keyboard */\n @state()\n private _navigationOption: OptionWithIdAndMatch | null = null;\n\n /** @internal Available options based on user's input value */\n @state()\n private _currentOptions: OptionWithIdAndMatch[] = [];\n\n /** @internal Options parsed from light-DOM <option> children */\n @state()\n private _lightDomOptions: ComboboxOption[] = [];\n\n /** @internal Unique identifier counter for options */\n @state()\n private _optionIdCounter = 0;\n\n /** @internal The text displayed in the input field (may differ from value when option has label) */\n @state()\n private _displayValue = '';\n\n static styles = [reset, styles];\n\n constructor() {\n super();\n activateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n }\n\n // capture the initial value using firstUpdated and #initialValue\n #initialValue = '';\n #lightDomObserver?: MutationObserver;\n\n firstUpdated(changedProps: Map<string, unknown>) {\n this.#initialValue = this.value;\n }\n\n updated(changedProperties: Map<string, unknown>): void {\n if (changedProperties.has('value')) {\n this.setValue(this.value);\n }\n }\n\n resetFormControl(): void {\n this.value = this.#initialValue;\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n this.#syncOptionsFromLightDom();\n\n this.#lightDomObserver = new MutationObserver(() => {\n this.#syncOptionsFromLightDom();\n });\n this.#lightDomObserver.observe(this, {\n childList: true,\n subtree: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['label', 'value'],\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.#lightDomObserver?.disconnect();\n }\n\n private get _listboxId() {\n return `${this._id}-listbox`;\n }\n\n private get _id() {\n return 'combobox';\n }\n\n private get _helpId() {\n return this.helpText ? `${this._id}__hint` : undefined;\n }\n\n private get _sourceOptions() {\n return Array.isArray(this.options) && this.options.length ? this.options : this._lightDomOptions;\n }\n\n /** Get the display text for the navigation option or current display value */\n private get _navigationLabelOrDisplayValue() {\n if (this._navigationOption) {\n return this._navigationOption.label || this._navigationOption.value;\n }\n return this._displayValue;\n }\n\n /** Get the actual value for the navigation option or current value */\n private get _navigationValueOrInputValue() {\n return this._navigationOption?.value || this.value;\n }\n\n /** Generate options with unique IDs and match information */\n private _createOptionsWithIdAndMatch(options: ComboboxOption[], currentInputValue: string): OptionWithIdAndMatch[] {\n return options.map((option, index) => ({\n ...option,\n id: `${this._id}-option-${this._optionIdCounter + index}`,\n key: option.key || option.value,\n currentInputValue,\n }));\n }\n\n #getOptionNodes() {\n return Array.from(this.children).filter((child) => child.tagName.toLowerCase() === 'option') as HTMLOptionElement[];\n }\n\n #syncOptionsFromLightDom() {\n this._lightDomOptions = this.#getOptionNodes().map((option) => {\n const value = option.getAttribute('value') ?? '';\n const label = option.hasAttribute('label') ? (option.getAttribute('label') ?? '') : (option.textContent ?? '');\n\n return {\n value,\n label,\n key: value,\n };\n });\n }\n\n /** Get ARIA text for screen readers */\n private _getAriaText(options: OptionWithIdAndMatch[], value: string, isOpen: boolean) {\n if (!options || !isOpen) return '';\n\n const filteredOptionsByInputValue = options.filter((option) =>\n (option.label || option.value).toLowerCase().includes(value.toLowerCase()),\n );\n\n const pluralSuggestions = i18n._({\n id: 'combobox.aria.pluralSuggestions',\n message: '{numSuggestions, plural, one {# suggestion} other {# suggestions}}',\n comment: 'Aria text for combobox when there are one or more suggestions',\n values: { numSuggestions: filteredOptionsByInputValue.length },\n });\n\n const noSuggestions = i18n._({\n id: 'combobox.aria.noSuggestions',\n message: 'No suggestions',\n comment: 'Aria text for combobox when no suggestions',\n });\n\n return filteredOptionsByInputValue.length ? pluralSuggestions : noSuggestions;\n }\n\n /** Get option classes */\n private _getOptionClasses(option: OptionWithIdAndMatch) {\n return classNames(\n ccCombobox.option,\n this._navigationOption?.id === option?.id ? ccCombobox.optionSelected : ccCombobox.optionUnselected,\n );\n }\n\n /** Handle keyboard navigation */\n private _handleKeyDown(e: KeyboardEvent) {\n const isNavigationKey = ['ArrowDown', 'ArrowUp', 'PageUp', 'PageDown', 'Home', 'End'].includes(e.key);\n const ignoreList = ['ArrowDown', 'ArrowLeft', 'ArrowUp', 'ArrowRight'];\n\n if (isNavigationKey && !this._isOpen) {\n this._isOpen = true;\n return;\n }\n if (isNavigationKey && this._isOpen) {\n this._findAndSetActiveOption(e);\n return;\n }\n if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {\n return;\n }\n\n // Other keys\n switch (e.key) {\n case 'Enter':\n if (this._navigationOption) {\n e.preventDefault();\n this._handleSelect(this._navigationOption);\n\n // Force update the textfield's internal input value with the label\n requestAnimationFrame(() => {\n const textfield = this.shadowRoot?.querySelector('w-textfield');\n const input = textfield?.shadowRoot?.querySelector('input');\n if (input) {\n input.value = this._displayValue;\n }\n });\n }\n this._isOpen = false;\n break;\n case 'Tab':\n case 'Delete':\n this._isOpen = false;\n break;\n case 'Escape':\n if (this._isOpen) {\n this._isOpen = false;\n } else {\n this._handleChange('');\n }\n this._navigationOption = null;\n break;\n case 'Backspace':\n this._handleChange(this._navigationLabelOrDisplayValue);\n this._navigationOption = null;\n this._isOpen = true;\n break;\n default:\n if (ignoreList.includes(e.key)) {\n break;\n }\n\n this._isOpen = true;\n if (this._navigationOption) {\n this._handleChange(this._navigationOption.value);\n this._navigationOption = null;\n } else {\n this._handleChange(this.value);\n }\n break;\n }\n }\n\n /** Find and set active option based on keyboard navigation */\n private _findAndSetActiveOption(e: KeyboardEvent) {\n e.preventDefault();\n\n const currIndex = this._currentOptions.findIndex((option) => option.id === this._navigationOption?.id);\n const nextIndex = currIndex + 1;\n const prevIndex = currIndex - 1;\n\n switch (e.key) {\n case 'ArrowDown':\n this._navigationOption = nextIndex > this._currentOptions.length - 1 ? null : this._currentOptions[nextIndex];\n break;\n case 'ArrowUp':\n this._navigationOption =\n prevIndex === -2\n ? this._currentOptions[this._currentOptions.length - 1]\n : prevIndex < 0\n ? null\n : this._currentOptions[prevIndex];\n break;\n case 'PageUp':\n this._navigationOption = currIndex - 10 < 0 ? this._currentOptions[0] : this._currentOptions[currIndex - 10];\n break;\n case 'PageDown':\n this._navigationOption =\n currIndex + 10 > this._currentOptions.length - 1\n ? this._currentOptions[this._currentOptions.length - 1]\n : this._currentOptions[currIndex + 10];\n break;\n case 'Home':\n this._navigationOption = this._currentOptions[0];\n break;\n case 'End':\n this._navigationOption = this._currentOptions[this._currentOptions.length - 1];\n break;\n }\n }\n\n /** Handle option selection */\n private _handleSelect(option: OptionWithIdAndMatch) {\n this.value = option.value;\n this._displayValue = option.label || option.value;\n this.setValue(this.value);\n\n const selectEvent = new CustomEvent('select', {\n detail: { value: option.value },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(selectEvent);\n\n this._isOpen = false;\n this._navigationOption = null;\n\n // Set empty states on select and clear when dynamic list\n if (this.disableStaticFiltering) {\n this._currentOptions = [];\n }\n }\n\n /** Handle input change */\n private _handleChange(newValue: string) {\n if (newValue === undefined) return;\n\n this.value = newValue;\n this._displayValue = newValue;\n\n const changeEvent = new CustomEvent('change', {\n detail: { value: newValue },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(changeEvent);\n }\n\n /** Handle input focus */\n private _handleFocus() {\n if (!this.openOnFocus) return;\n\n const focusEvent = new CustomEvent('focus', {\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(focusEvent);\n\n this._isOpen = true;\n }\n\n /** Handle input blur */\n private _handleBlur(e: FocusEvent) {\n // Check if focus moved to an option\n const relatedTarget = e.relatedTarget as Element;\n if (relatedTarget && this.shadowRoot?.contains(relatedTarget)) {\n return;\n }\n\n this._isOpen = false;\n\n // If user has navigated to an option on blur || the input value equals one of the options' value -> select value\n if (\n this.selectOnBlur &&\n (this._navigationOption ||\n (!this._navigationOption && this._currentOptions.findIndex((o) => o.value === this.value) !== -1))\n ) {\n const selectedValue = this._navigationOption?.value || this.value;\n this.value = selectedValue;\n\n const selectEvent = new CustomEvent('select', {\n detail: { value: selectedValue },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(selectEvent);\n }\n\n this._navigationOption = null;\n\n const blurEvent = new CustomEvent('blur', {\n detail: { value: this._navigationValueOrInputValue },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(blurEvent);\n }\n\n /** Handle option click */\n private _handleOptionClick(e: MouseEvent, option: OptionWithIdAndMatch) {\n this._handleSelect(option);\n\n // Force update the textfield's internal input value with the label\n requestAnimationFrame(() => {\n const textfield = this.shadowRoot?.querySelector('w-textfield');\n const input = textfield?.shadowRoot?.querySelector('input');\n if (input) {\n input.value = option.label || option.value;\n }\n });\n }\n\n /** Handle container blur */\n private _handleContainerBlur(e: FocusEvent) {\n const isClickOutsideContainer =\n !e.currentTarget || !(e.currentTarget as Element).contains(e.relatedTarget as Element);\n if (isClickOutsideContainer) {\n this._isOpen = false;\n }\n }\n\n /** Render highlighted text match */\n private _renderTextMatch(display: string, option: OptionWithIdAndMatch) {\n if (!this.matchTextSegments) return display;\n\n const startIdx = display.toLowerCase().indexOf(option.currentInputValue.toLowerCase());\n\n if (startIdx !== -1) {\n const endIdx = startIdx + option.currentInputValue.length;\n return html`${display.substring(0, startIdx)}<span\n class=\"${ccCombobox.textMatch}\"\n >${display.substring(startIdx, endIdx)}</span\n >${display.substring(endIdx)}`;\n }\n\n return display;\n }\n\n protected willUpdate(changedProperties: PropertyValues<this>) {\n const options = this._sourceOptions;\n const lightDomOptionsChanged = (changedProperties as Map<string, unknown>).has('_lightDomOptions');\n\n // Sync _displayValue when value or options change externally (before filtering)\n if (changedProperties.has('value') || changedProperties.has('options') || lightDomOptionsChanged) {\n const matchingOption = options.find((o) => o.value === this.value);\n // Only sync if this is an external value change (not from user typing)\n // We detect this by checking if _displayValue doesn't match the expected label\n const expectedDisplay = matchingOption ? matchingOption.label || matchingOption.value : this.value;\n if (this._displayValue !== expectedDisplay && this._displayValue !== this.value) {\n this._displayValue = expectedDisplay;\n }\n // Handle initial value or external value set\n if (!this._displayValue && this.value) {\n this._displayValue = expectedDisplay;\n }\n }\n\n if (\n changedProperties.has('options') ||\n lightDomOptionsChanged ||\n changedProperties.has('value') ||\n changedProperties.has('disableStaticFiltering') ||\n (changedProperties as Map<string, unknown>).has('_displayValue')\n ) {\n this._optionIdCounter += options.length;\n\n this._currentOptions = this._createOptionsWithIdAndMatch(options, this._displayValue).filter((option) =>\n !this.disableStaticFiltering\n ? (option.label || option.value).toLowerCase().includes(this._displayValue.toLowerCase())\n : true,\n );\n }\n\n if (\n this.disableStaticFiltering &&\n this._currentOptions.length &&\n this._currentOptions.length === 1 &&\n !this._currentOptions.some((o) => o.value === this.value) &&\n !this._isOpen\n ) {\n this._isOpen = true;\n }\n }\n\n render() {\n return html`\n <div\n class=${classNames(ccCombobox.wrapper)}\n @blur=${this._handleContainerBlur}\n >\n <w-textfield\n class=\"w-combobox-textfield\"\n .value=${this._navigationLabelOrDisplayValue}\n .label=${this.label}\n .placeholder=${this.placeholder}\n .invalid=${this.invalid}\n .helpText=${this.helpText}\n .disabled=${this.disabled}\n .required=${this.required}\n .optional=${this.optional}\n .name=${this.name}\n .autocomplete=\"${this.autocomplete || 'off'}\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded=${this._isOpen && this._currentOptions.length !== 0}\n aria-activedescendant=${ifDefined(this._isOpen ? this._navigationOption?.id : undefined)}\n aria-controls=${this._listboxId}\n @input=${(e: CustomEvent) => this._handleChange(e?.detail?.value)}\n @focus=${this._handleFocus}\n @blur=${this._handleBlur}\n @keydown=${this._handleKeyDown}\n ></w-textfield>\n\n <span class=\"${ccCombobox.a11y}\" role=\"status\">\n ${this._getAriaText(this._currentOptions, this._displayValue, this._isOpen)}\n </span>\n\n <div\n ?hidden=${!this._isOpen || !this._currentOptions.length}\n class=${classNames(ccCombobox.base)}\n >\n <ul\n id=${this._listboxId}\n role=\"listbox\"\n class=\"${ccCombobox.listbox}\"\n >\n ${repeat(\n this._currentOptions,\n (option) => option.key,\n (option) => {\n const display = option.label || option.value;\n return html`\n <li\n id=${option.id}\n role=\"option\"\n aria-selected=${this._navigationOption?.id === option.id}\n tabindex=\"-1\"\n class=${this._getOptionClasses(option)}\n @mousedown=${(e: MouseEvent) => this._handleOptionClick(e, option)}\n >\n ${this._renderTextMatch(display, option)}\n </li>\n `;\n },\n )}\n </ul>\n </div>\n </div>\n `;\n }\n}\n\nif (!customElements.get('w-combobox')) {\n customElements.define('w-combobox', WarpCombobox);\n}\n", "import { i18n, Messages } from '@lingui/core';\n\nexport const supportedLocales = ['en', 'nb', 'fi', 'da', 'sv'] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = 'en';\n\nexport const getSupportedLocale = (usedLocale: string) => {\n return (\n supportedLocales.find((locale) => usedLocale === locale || usedLocale.toLowerCase().includes(locale)) ||\n defaultLocale\n );\n};\n\nexport function detectLocale(): SupportedLocale {\n if (typeof window === 'undefined') {\n /**\n * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n */\n const serverLocale = process.env.NMP_LANGUAGE || Intl.DateTimeFormat().resolvedOptions().locale;\n return getSupportedLocale(serverLocale);\n }\n\n try {\n /**\n * Client locale detection. Expects the lang attribute to be defined.\n */\n const htmlLocale = getDocumentLang(document);\n if (htmlLocale) {\n return getSupportedLocale(htmlLocale);\n }\n\n const frameLocale = getFrameElementLang();\n if (frameLocale) {\n return getSupportedLocale(frameLocale);\n }\n\n const parentLocale = getDocumentLang(getParentDocument());\n if (parentLocale) {\n return getSupportedLocale(parentLocale);\n }\n\n return defaultLocale;\n } catch (e) {\n console.warn('could not detect locale, falling back to source locale', e);\n return defaultLocale;\n }\n}\n\nexport const getMessages = (\n locale: SupportedLocale,\n enMsg: Messages,\n nbMsg: Messages,\n fiMsg: Messages,\n daMsg: Messages,\n svMsg: Messages,\n) => {\n if (locale === 'nb') return nbMsg;\n if (locale === 'fi') return fiMsg;\n if (locale === 'da') return daMsg;\n if (locale === 'sv') return svMsg;\n // Default to English\n return enMsg;\n};\n\nexport const activateI18n = (\n enMessages: Messages,\n nbMessages: Messages,\n fiMessages: Messages,\n daMessages: Messages,\n svMessages: Messages,\n) => {\n // Load all locales upfront to support dynamic locale switching\n i18n.load('en', enMessages);\n i18n.load('nb', nbMessages);\n i18n.load('fi', fiMessages);\n i18n.load('da', daMessages);\n i18n.load('sv', svMessages);\n\n const locale = detectLocale();\n i18n.activate(locale);\n notifyI18nChange();\n\n setupLangObserver();\n};\n\nexport const I18N_CHANGE_EVENT = 'warp-i18n-change';\n\nexport function notifyI18nChange() {\n if (typeof window === 'undefined') return;\n window.dispatchEvent(new Event(I18N_CHANGE_EVENT));\n}\n\nlet langObserverInitialized = false;\n\nfunction setupLangObserver() {\n if (langObserverInitialized) return;\n if (typeof window === 'undefined') return;\n if (!document?.documentElement) return;\n\n langObserverInitialized = true;\n\n const handleLangChange = () => {\n const nextLocale = detectLocale();\n if (i18n.locale !== nextLocale) {\n i18n.activate(nextLocale);\n notifyI18nChange();\n }\n };\n\n const observer = new MutationObserver((mutations) => {\n for (const mutation of mutations) {\n if (mutation.type === 'attributes' && mutation.attributeName === 'lang') {\n handleLangChange();\n break;\n }\n }\n });\n\n observer.observe(document.documentElement, { attributes: true, attributeFilter: ['lang'] });\n\n const parentDocument = getParentDocument();\n if (parentDocument && parentDocument.documentElement && parentDocument !== document) {\n observer.observe(parentDocument.documentElement, { attributes: true, attributeFilter: ['lang'] });\n }\n\n const frameEl = getFrameElement();\n if (frameEl) {\n observer.observe(frameEl, { attributes: true, attributeFilter: ['lang'] });\n }\n}\n\nfunction getParentDocument(): Document | null {\n try {\n return window.parent?.document ?? null;\n } catch {\n return null;\n }\n}\n\nfunction getDocumentLang(doc: Document | null | undefined): string {\n try {\n return doc?.documentElement?.lang ?? '';\n } catch {\n return '';\n }\n}\n\nfunction getFrameElement(): HTMLElement | null {\n try {\n return (window.frameElement as HTMLElement | null) ?? null;\n } catch {\n return null;\n }\n}\n\nfunction getFrameElementLang(): string {\n try {\n return window.frameElement?.getAttribute?.('lang') ?? '';\n } catch {\n return '';\n }\n}\n", "import { css } from 'lit';\n\nexport const reset = css`\n *,\n :before,\n :after {\n box-sizing: border-box;\n border-style: solid;\n border-width: 0;\n border-color: var(--w-s-color-border);\n }\n html {\n font-size: 62.5%;\n }\n body {\n background-color: var(--w-s-color-background);\n min-height: 100%;\n margin: 0;\n overflow-y: scroll;\n }\n body,\n :host {\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n -webkit-tap-highlight-color: transparent;\n font-family: var(--w-font-family);\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m);\n color: var(--w-s-color-text);\n }\n hr {\n color: inherit;\n border-top-width: 1px;\n height: 0;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: 700;\n }\n a {\n cursor: pointer;\n color: var(--w-s-color-text-link);\n text-decoration: none;\n }\n a:hover,\n a:focus,\n a:active {\n text-decoration: underline;\n }\n a:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: 1px;\n }\n b,\n strong {\n font-weight: 700;\n }\n code,\n kbd,\n samp,\n pre {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n Liberation Mono,\n Courier New,\n monospace;\n font-size: 1em;\n }\n sub,\n sup {\n vertical-align: baseline;\n font-size: 75%;\n line-height: 0;\n position: relative;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n }\n button,\n select {\n text-transform: none;\n }\n button,\n [type='button'],\n [type='reset'],\n [type='submit'] {\n -webkit-appearance: button;\n }\n :-moz-focusring {\n outline: auto;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n progress {\n vertical-align: baseline;\n }\n ::-webkit-inner-spin-button {\n height: auto;\n }\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [type='search'] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n summary {\n display: list-item;\n }\n blockquote,\n dl,\n dd,\n h1,\n h2,\n h3,\n h4,\n h5,\n h6,\n hr,\n figure,\n p,\n pre {\n margin: 0;\n }\n fieldset {\n margin: 0;\n padding: 0;\n }\n legend {\n padding: 0;\n }\n ol,\n ul,\n menu {\n margin: 0;\n padding: 0;\n list-style: none;\n }\n textarea {\n resize: vertical;\n }\n input::placeholder,\n textarea::placeholder {\n opacity: 1;\n color: var(--w-s-color-text-placeholder);\n }\n button,\n [role='button'] {\n cursor: pointer;\n }\n :disabled {\n cursor: default;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n vertical-align: middle;\n display: block;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n h1 {\n font-size: var(--w-font-size-xxl);\n line-height: var(--w-line-height-xxl);\n }\n h2 {\n font-size: var(--w-font-size-xl);\n line-height: var(--w-line-height-xl);\n }\n h3 {\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l);\n }\n h4 {\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m);\n }\n h5 {\n font-size: var(--w-font-size-s);\n line-height: var(--w-line-height-s);\n }\n dt,\n dd {\n margin: 0 16px;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n ul,\n ol,\n dl,\n p,\n blockquote {\n margin: 0 0 8px;\n }\n [hidden] {\n display: none !important;\n }\n [tabindex='-1']:focus:not(:focus-visible) {\n outline: none;\n }\n legend {\n float: left;\n width: 100%;\n margin: 0;\n padding: 0;\n display: table;\n }\n legend + * {\n clear: both;\n }\n fieldset {\n border: 0;\n min-width: 0;\n margin: 0;\n padding: 0.01em 0 0;\n }\n body:not(:-moz-handler-blocked) fieldset {\n display: table-cell;\n }\n svg {\n pointer-events: none;\n }\n`;\nimport { unsafeCSS } from 'lit';\n\n// prettier-ignore\nexport const components = unsafeCSS(`*, :before, :after {\n --w-rotate: 0;\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-scale-x: 1;\n --w-scale-y: 1;\n --w-scale-z: 1;\n --w-skew-x: 0;\n --w-skew-y: 0;\n --w-translate-x: 0;\n --w-translate-y: 0;\n --w-translate-z: 0\n }\n\n .h4, .t4 {\n font-weight: 700;\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .t3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n\n @media (min-width: 480px) {\n .sm\\\\:h3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n }\n\n .text-center {\n text-align: center\n }\n\n .before\\\\:text-center:before {\n text-align: center\n }\n\n .text-left {\n text-align: left\n }\n\n .text-right {\n text-align: right\n }\n\n .align-middle {\n vertical-align: middle\n }\n\n .animate-inprogress {\n background-image: linear-gradient(135deg, rgba(0, 0, 0, .05) 25%, transparent 0, transparent 50%, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, .05) 75%, transparent 0, transparent) !important;\n background-size: 30px 30px;\n animation: animate-inprogress 3s linear infinite\n }\n\n @keyframes animate-inprogress {\n 0% {\n background-position: 0 0\n }\n to {\n background-position: 60px 0\n }\n }\n\n .\\\\[--w-modal-max-height\\\\:80\\\\%\\\\] {\n --w-modal-max-height: 80%\n }\n\n .\\\\[--w-modal-width\\\\:640px\\\\] {\n --w-modal-width: 640px\n }\n\n .focus\\\\:\\\\[--w-outline-offset\\\\:-2px\\\\]:focus {\n --w-outline-offset: -2px\n }\n\n .backdrop-blur {\n -webkit-backdrop-filter: blur(4px);\n backdrop-filter: blur(4px)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-center:before {\n background-position: center\n }\n\n .hover\\\\:bg-clip-padding:hover {\n -webkit-background-clip: padding-box;\n background-clip: padding-box\n }\n\n .bg-transparent, .group\\\\/steph:first-child .group-first\\\\/steph\\\\:bg-transparent, .group\\\\/steph:last-child .group-last\\\\/steph\\\\:bg-transparent {\n background-color: transparent\n }\n\n .bg-\\\\[--w-black\\\\/25\\\\] {\n background-color: rgba(var(--w-rgb-black), .25)\n }\n\n .bg-\\\\[--w-black\\\\/70\\\\], .bg-\\\\[var\\\\(--w-black\\\\)\\\\/70\\\\] {\n background-color: rgba(var(--w-rgb-black), .7)\n }\n\n .bg-\\\\[--w-color-badge-info-background\\\\] {\n background-color: var(--w-color-badge-info-background)\n }\n\n .bg-\\\\[--w-color-badge-negative-background\\\\] {\n background-color: var(--w-color-badge-negative-background)\n }\n\n .bg-\\\\[--w-color-badge-neutral-background\\\\] {\n background-color: var(--w-color-badge-neutral-background)\n }\n\n .bg-\\\\[--w-color-badge-positive-background\\\\] {\n background-color: var(--w-color-badge-positive-background)\n }\n\n .bg-\\\\[--w-color-badge-sponsored-background\\\\] {\n background-color: var(--w-color-badge-sponsored-background)\n }\n\n .bg-\\\\[--w-color-badge-warning-background\\\\] {\n background-color: var(--w-color-badge-warning-background)\n }\n\n .bg-\\\\[--w-color-button-primary-background\\\\] {\n background-color: var(--w-color-button-primary-background)\n }\n\n .bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\] {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .bg-\\\\[--w-color-callout-background\\\\] {\n background-color: var(--w-color-callout-background)\n }\n\n .bg-\\\\[--w-color-pill-suggestion-background\\\\] {\n background-color: var(--w-color-pill-suggestion-background)\n }\n\n .bg-\\\\[--w-color-switch-track-background\\\\] {\n background-color: var(--w-color-switch-track-background)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-100\\\\] {\n background-color: var(--w-s-color-surface-elevated-100)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-300\\\\] {\n background-color: var(--w-s-color-surface-elevated-300)\n }\n\n .bg-\\\\[--w-s-icon-selected\\\\] {\n background-color: var(--w-s-icon-selected)\n }\n\n .group:hover .group-hover\\\\:bg-\\\\[--w-color-switch-track-background-hover\\\\] {\n background-color: var(--w-color-switch-track-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-pill-background-hover\\\\]:hover {\n background-color: var(--w-color-button-pill-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-primary-background-hover\\\\]:hover {\n background-color: var(--w-color-button-primary-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-buttongroup-utility-background-hover\\\\]:hover {\n background-color: var(--w-color-buttongroup-utility-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-pill-suggestion-background-hover\\\\]:hover {\n background-color: var(--w-color-pill-suggestion-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-s-icon-subtle\\\\]:hover {\n background-color: var(--w-s-icon-subtle)\n }\n\n .hover\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\/85\\\\]:hover {\n background-color: rgba(var(--w-rgb-black), .85)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-pill-background-active\\\\]:active {\n background-color: var(--w-color-button-pill-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-primary-background-active\\\\]:active {\n background-color: var(--w-color-button-primary-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\]:active {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .active\\\\:bg-\\\\[--w-color-pill-suggestion-background-active\\\\]:active {\n background-color: var(--w-color-pill-suggestion-background-active)\n }\n\n .active\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\]:active {\n background-color: var(--w-black)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-\\\\[url\\\\(var\\\\(--w-icon-toggle-checked\\\\)\\\\)\\\\]:before {\n background-image: var(--w-icon-toggle-checked)\n }\n\n .appearance-none {\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none\n }\n\n .will-change-height {\n will-change: height\n }\n\n .border, .border-1 {\n border-width: 1px\n }\n\n .border-b {\n border-bottom-width: 1px\n }\n\n .before\\\\:border:before {\n border-width: 1px\n }\n\n .border-0 {\n border-width: 0\n }\n\n .border-2 {\n border-width: 2px\n }\n\n .border-b-0 {\n border-bottom-width: 0\n }\n\n .border-b-4 {\n border-bottom-width: 4px\n }\n\n .border-l-4 {\n border-left-width: 4px\n }\n\n .border-r-0, .group:not(:last-of-type) .group-not-last-of-type\\\\:border-r-0 {\n border-right-width: 0\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:border-\\\\[6\\\\]:before {\n border-width: .6rem\n }\n\n .border-transparent {\n border-color: transparent\n }\n\n .border-\\\\[--w-color-buttongroup-utility-border\\\\] {\n border-color: var(--w-color-buttongroup-utility-border)\n }\n\n .border-\\\\[--w-color-callout-border\\\\] {\n border-color: var(--w-color-callout-border)\n }\n\n .border-\\\\[--w-s-color-background-inverted\\\\] {\n border-color: var(--w-s-color-background-inverted)\n }\n\n .border-\\\\[--w-s-color-surface-elevated-300\\\\] {\n border-color: var(--w-s-color-surface-elevated-300)\n }\n\n .active\\\\:border-\\\\[--w-color-buttongroup-utility-border-selected\\\\]:active {\n border-color: var(--w-color-buttongroup-utility-border-selected)\n }\n\n .divide-x > * + * {\n --w-divide-x-reverse: 0;\n border-left-width: calc(1px * calc(1 - var(--w-divide-x-reverse)));\n border-right-width: calc(1px * var(--w-divide-x-reverse))\n }\n\n .divide-y > * + * {\n --w-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--w-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--w-divide-y-reverse))\n }\n\n .rounded-4 {\n border-radius: 4px\n }\n\n .rounded-8 {\n border-radius: 8px\n }\n\n .rounded-full {\n border-radius: 9999px\n }\n\n .before\\\\:rounded-2:before {\n border-radius: 2px\n }\n\n .before\\\\:rounded-full:before {\n border-radius: 9999px\n }\n\n .rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-bl-0 {\n border-bottom-left-radius: 0\n }\n\n .rounded-br-0 {\n border-bottom-right-radius: 0\n }\n\n .rounded-l-0 {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0\n }\n\n .rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px\n }\n\n .rounded-r-0 {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px\n }\n\n .rounded-tl-0 {\n border-top-left-radius: 0\n }\n\n .rounded-tl-4 {\n border-top-left-radius: 4px\n }\n\n .rounded-tr-0 {\n border-top-right-radius: 0\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-bl-8 {\n border-bottom-left-radius: 8px\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-tl-8 {\n border-top-left-radius: 8px\n }\n\n .first\\\\:rounded-lb-4:first-child {\n border-bottom-left-radius: 4px\n }\n\n .first\\\\:rounded-lt-4:first-child {\n border-top-left-radius: 4px\n }\n\n .first\\\\:rounded-rt-4:first-child {\n border-top-right-radius: 4px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-br-8 {\n border-bottom-right-radius: 8px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-tr-8 {\n border-top-right-radius: 8px\n }\n\n .last\\\\:rounded-lb-4:last-child {\n border-bottom-left-radius: 4px\n }\n\n .last\\\\:rounded-rb-4:last-child {\n border-bottom-right-radius: 4px\n }\n\n .last\\\\:rounded-rt-4:last-child {\n border-top-right-radius: 4px\n }\n\n .caret-current {\n caret-color: currentColor\n }\n\n .opacity-25 {\n opacity: 25%\n }\n\n .block {\n display: block\n }\n\n .before\\\\:block:before {\n display: block\n }\n\n .inline-block {\n display: inline-block\n }\n\n .inline {\n display: inline\n }\n\n .flex, .open\\\\:flex[open] {\n display: flex\n }\n\n .inline-flex {\n display: inline-flex\n }\n\n .grid {\n display: grid\n }\n\n .inline-grid {\n display: inline-grid\n }\n\n .hidden, .group\\\\/stepv:last-child .group-last\\\\/stepv\\\\:hidden {\n display: none\n }\n\n .before\\\\:hidden:before {\n display: none\n }\n\n .hover\\\\:underline:hover {\n text-decoration-line: underline\n }\n\n .focus\\\\:underline:focus {\n text-decoration-line: underline\n }\n\n .focus-visible\\\\:underline:focus-visible {\n text-decoration-line: underline\n }\n\n .active\\\\:underline:active {\n text-decoration-line: underline\n }\n\n .hover\\\\:no-underline:hover {\n text-decoration: none\n }\n\n .focus\\\\:no-underline:focus {\n text-decoration: none\n }\n\n .active\\\\:no-underline:active {\n text-decoration: none\n }\n\n .flex-1 {\n flex: 1 1 0%\n }\n\n .shrink {\n flex-shrink: 1\n }\n\n .shrink-0 {\n flex-shrink: 0\n }\n\n .shrink-0\\\\! {\n flex-shrink: 0 !important\n }\n\n .grow, .grow-1 {\n flex-grow: 1\n }\n\n .basis-auto {\n flex-basis: auto\n }\n\n .flex-col {\n flex-direction: column\n }\n\n .focus-within\\\\:focusable:focus-within {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:focus, .focusable:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:not(:focus-visible) {\n outline: none\n }\n\n .peer:focus ~ .peer-focus\\\\:focusable, .peer:focus-visible ~ .peer-focus\\\\:focusable {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .peer:not(:focus-visible) ~ .peer-focus\\\\:focusable {\n outline: none\n }\n\n .focusable-inset {\n --w-outline-offset: -3px\n }\n\n .gap-12 {\n gap: 1.2rem\n }\n\n .gap-8 {\n gap: .8rem\n }\n\n .gap-x-16 {\n column-gap: 1.6rem\n }\n\n .gap-y-16 {\n row-gap: 1.6rem\n }\n\n .row-span-2 {\n grid-row: span 2/span 2\n }\n\n .col-span-2 {\n grid-column: span 2/span 2\n }\n\n .col-span-3 {\n grid-column: span 3/span 3\n }\n\n .row-start-1 {\n grid-row-start: 1\n }\n\n .row-start-2 {\n grid-row-start: 2\n }\n\n .col-start-2 {\n grid-column-start: 2\n }\n\n .auto-rows-auto {\n grid-auto-rows: auto\n }\n\n .grid-flow-col {\n grid-auto-flow: column\n }\n\n .grid-rows-\\\\[20px_auto\\\\] {\n grid-template-rows:20px auto\n }\n\n .grid-rows-\\\\[auto_20px\\\\] {\n grid-template-rows:auto 20px\n }\n\n .grid-cols-\\\\[1fr_20px_1fr\\\\] {\n grid-template-columns:1fr 20px 1fr\n }\n\n .grid-cols-\\\\[1fr_20px\\\\] {\n grid-template-columns:1fr 20px\n }\n\n .grid-cols-\\\\[20px_1fr\\\\] {\n grid-template-columns:20px 1fr\n }\n\n .grid-cols-\\\\[auto_1fr_auto\\\\] {\n grid-template-columns:auto 1fr auto\n }\n\n .grid-cols-1 {\n grid-template-columns:repeat(1, minmax(0, 1fr))\n }\n\n .grid-cols-2 {\n grid-template-columns:repeat(2, minmax(0, 1fr))\n }\n\n .grid-cols-3 {\n grid-template-columns:repeat(3, minmax(0, 1fr))\n }\n\n .grid-cols-4 {\n grid-template-columns:repeat(4, minmax(0, 1fr))\n }\n\n .grid-cols-5 {\n grid-template-columns:repeat(5, minmax(0, 1fr))\n }\n\n .grid-cols-6 {\n grid-template-columns:repeat(6, minmax(0, 1fr))\n }\n\n .grid-cols-7 {\n grid-template-columns:repeat(7, minmax(0, 1fr))\n }\n\n .grid-cols-8 {\n grid-template-columns:repeat(8, minmax(0, 1fr))\n }\n\n .grid-cols-9 {\n grid-template-columns:repeat(9, minmax(0, 1fr))\n }\n\n .overflow-hidden {\n overflow: hidden\n }\n\n .overflow-x-hidden {\n overflow-x: hidden\n }\n\n .overflow-y-auto {\n overflow-y: auto\n }\n\n .list-none {\n list-style-type: none\n }\n\n .outline-\\\\[--w-s-color-border-negative\\\\]\\\\! {\n outline-color: var(--w-s-color-border-negative) !important\n }\n\n .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .focus\\\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .items-start {\n align-items: flex-start\n }\n\n .items-end {\n align-items: flex-end\n }\n\n .items-center {\n align-items: center\n }\n\n .self-center {\n align-self: center\n }\n\n .inset-0 {\n top: 0rem;\n right: 0rem;\n bottom: 0rem;\n left: 0rem\n }\n\n .-bottom-0 {\n bottom: -0rem\n }\n\n .bottom-0 {\n bottom: 0rem\n }\n\n .bottom-10 {\n bottom: 1rem\n }\n\n .bottom-16 {\n bottom: 1.6rem\n }\n\n .left-0 {\n left: 0rem\n }\n\n .left-4 {\n left: .4rem\n }\n\n .right-0 {\n right: 0rem\n }\n\n .right-8 {\n right: .8rem\n }\n\n .top-\\\\[1\\\\.92rem\\\\] {\n top: 1.92rem\n }\n\n .top-0 {\n top: 0rem\n }\n\n .top-20 {\n top: 2rem\n }\n\n .top-4 {\n top: .4rem\n }\n\n .top-8 {\n top: .8rem\n }\n\n .before\\\\:bottom-0:before {\n bottom: 0rem\n }\n\n .before\\\\:left-0:before {\n left: 0rem\n }\n\n .before\\\\:right-0:before {\n right: 0rem\n }\n\n .before\\\\:top-2:before {\n top: .2rem\n }\n\n .-bottom-\\\\[8px\\\\] {\n bottom: -8px\n }\n\n .-left-\\\\[8px\\\\] {\n left: -8px\n }\n\n .-right-\\\\[8px\\\\] {\n right: -8px\n }\n\n .-top-\\\\[8px\\\\] {\n top: -8px\n }\n\n .top-\\\\[19px\\\\] {\n top: 19px\n }\n\n .top-\\\\[30\\\\%\\\\] {\n top: 30%\n }\n\n .justify-end {\n justify-content: flex-end\n }\n\n .justify-center {\n justify-content: center\n }\n\n .justify-between {\n justify-content: space-between\n }\n\n .justify-items-center {\n justify-items: center\n }\n\n .justify-self-start {\n justify-self: start\n }\n\n .justify-self-end {\n justify-self: end\n }\n\n .justify-self-center {\n justify-self: center\n }\n\n .absolute {\n position: absolute\n }\n\n .fixed {\n position: fixed\n }\n\n .relative {\n position: relative\n }\n\n .open\\\\:fixed[open] {\n position: fixed\n }\n\n .before\\\\:absolute:before {\n position: absolute\n }\n\n .z-10, .peer:checked ~ .peer-checked\\\\:z-10 {\n z-index: 10\n }\n\n .z-30 {\n z-index: 30\n }\n\n .z-50 {\n z-index: 50\n }\n\n .hover\\\\:z-30:hover {\n z-index: 30\n }\n\n .\\\\!s-bg-selected {\n background-color: var(--w-s-color-background-selected) !important\n }\n\n .s-bg {\n background-color: var(--w-s-color-background)\n }\n\n .s-bg-disabled {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .s-bg-disabled-subtle {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .s-bg-info-subtle {\n background-color: var(--w-s-color-background-info-subtle)\n }\n\n .s-bg-inverted {\n background-color: var(--w-s-color-background-inverted)\n }\n\n .s-bg-negative {\n background-color: var(--w-s-color-background-negative)\n }\n\n .s-bg-negative-subtle {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .s-bg-positive-subtle {\n background-color: var(--w-s-color-background-positive-subtle)\n }\n\n .s-bg-primary, .peer:checked ~ .peer-checked\\\\:s-bg-primary {\n background-color: var(--w-s-color-background-primary)\n }\n\n .s-bg-selected {\n background-color: var(--w-s-color-background-selected)\n }\n\n .s-bg-subtle {\n background-color: var(--w-s-color-background-subtle)\n }\n\n .s-bg-warning-subtle {\n background-color: var(--w-s-color-background-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-negative-hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-primary-hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-negative-hover:hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-primary-hover:hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover) !important\n }\n\n .group:hover .group-hover\\\\:s-bg-primary-hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-hover:hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-negative-subtle-hover:hover:before {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-hover:hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:s-bg-negative-hover:hover {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .hover\\\\:s-bg-negative-subtle-hover:hover {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-primary-hover:hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover)\n }\n\n .peer:hover:not(:checked) ~ .peer-hover\\\\:peer-not-checked\\\\:s-bg-hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-negative-subtle:before {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .focus\\\\:s-bg-primary-hover:focus {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active) !important\n }\n\n .active\\\\:s-bg-active:active {\n background-color: var(--w-s-color-background-active)\n }\n\n .active\\\\:s-bg-negative-active:active {\n background-color: var(--w-s-color-background-negative-active)\n }\n\n .active\\\\:s-bg-negative-subtle-active:active {\n background-color: var(--w-s-color-background-negative-subtle-active)\n }\n\n .active\\\\:s-bg-primary-active:active {\n background-color: var(--w-s-color-background-primary-active)\n }\n\n .active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active)\n }\n\n .before\\\\:s-bg-disabled-subtle:before {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .before\\\\:s-bg:before {\n background-color: var(--w-s-color-background)\n }\n\n .s-text {\n color: var(--w-s-color-text)\n }\n\n .s-text-disabled {\n color: var(--w-s-color-text-disabled)\n }\n\n .s-text-inverted, .peer:checked ~ .peer-checked\\\\:s-text-inverted {\n color: var(--w-s-color-text-inverted)\n }\n\n .s-text-inverted-static {\n color: var(--w-s-color-text-inverted-static)\n }\n\n .s-text-link {\n color: var(--w-s-color-text-link)\n }\n\n .s-text-negative {\n color: var(--w-s-color-text-negative)\n }\n\n .s-text-subtle {\n color: var(--w-s-color-text-subtle)\n }\n\n .hover\\\\:s-text-link:hover {\n color: var(--w-s-color-text-link)\n }\n\n .active\\\\:s-text:active {\n color: var(--w-s-color-text)\n }\n\n .placeholder\\\\:s-text-placeholder::placeholder {\n color: var(--w-s-color-text-placeholder)\n }\n\n .s-icon {\n color: var(--w-s-color-icon)\n }\n\n .s-icon-info {\n color: var(--w-s-color-icon-info)\n }\n\n .s-icon-inverted {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-icon-negative {\n color: var(--w-s-color-icon-negative)\n }\n\n .s-icon-positive {\n color: var(--w-s-color-icon-positive)\n }\n\n .s-icon-warning {\n color: var(--w-s-color-icon-warning)\n }\n\n .hover\\\\:s-icon-hover:hover {\n color: var(--w-s-color-icon-hover)\n }\n\n .active\\\\:s-icon-active:active {\n color: var(--w-s-color-icon-active)\n }\n\n .before\\\\:s-icon-inverted:before {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-border {\n border-color: var(--w-s-color-border)\n }\n\n .s-border-disabled {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .s-border-info-subtle {\n border-color: var(--w-s-color-border-info-subtle)\n }\n\n .s-border-l-info {\n border-left-color: var(--w-s-color-border-info)\n }\n\n .s-border-l-negative {\n border-left-color: var(--w-s-color-border-negative)\n }\n\n .s-border-l-positive {\n border-left-color: var(--w-s-color-border-positive)\n }\n\n .s-border-l-warning {\n border-left-color: var(--w-s-color-border-warning)\n }\n\n .s-border-negative {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-border-negative-subtle {\n border-color: var(--w-s-color-border-negative-subtle)\n }\n\n .s-border-positive-subtle {\n border-color: var(--w-s-color-border-positive-subtle)\n }\n\n .s-border-primary, .peer:checked ~ .peer-checked\\\\:s-border-primary {\n border-color: var(--w-s-color-border-primary)\n }\n\n .s-border-selected {\n border-color: var(--w-s-color-border-selected)\n }\n\n .s-border-warning-subtle {\n border-color: var(--w-s-color-border-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-primary-hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-selected-hover:before {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-selected:before {\n border-color: var(--w-s-color-border-selected)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-primary-hover:hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .group:hover .group-hover\\\\:s-border-selected-hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:before\\\\:s-border-primary:hover:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-disabled:hover {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .hover\\\\:s-border-hover:hover {\n border-color: var(--w-s-color-border-hover)\n }\n\n .hover\\\\:s-border-negative-hover:hover {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:s-border-primary-hover:hover {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .hover\\\\:s-border-primary:hover {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-selected-hover:hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .focus\\\\:s-border-primary-hover:focus {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .active\\\\:s-border-active:active {\n border-color: var(--w-s-color-border-active)\n }\n\n .active\\\\:s-border-disabled:active {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .active\\\\:s-border-primary-active:active {\n border-color: var(--w-s-color-border-primary-active)\n }\n\n .active\\\\:s-border-selected-active:active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .active\\\\:s-border-selected:active {\n border-color: var(--w-s-color-border-selected)\n }\n\n .group:active .group-active\\\\:s-border-active {\n border-color: var(--w-s-color-border-active)\n }\n\n .group:active .group-active\\\\:s-border-selected-active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-surface-sunken {\n background-color: var(--w-s-color-surface-sunken)\n }\n\n .s-surface-elevated-200 {\n background-color: var(--w-s-color-surface-elevated-200);\n box-shadow: var(--w-s-shadow-surface-elevated-200)\n }\n\n .hover\\\\:s-surface-elevated-200-hover:hover {\n background-color: var(--w-s-color-surface-elevated-200-hover);\n box-shadow: var(--w-s-shadow-surface-elevated-200-hover)\n }\n\n .active\\\\:s-surface-elevated-200-active:active {\n background-color: var(--w-s-color-surface-elevated-200-active);\n box-shadow: var(--w-s-shadow-surface-elevated-200-active)\n }\n\n .drop-shadow-m {\n filter: drop-shadow(rgba(64, 64, 64, .24) 0 3px 8px) drop-shadow(rgba(64, 64, 64, .16) 0 3px 6px)\n }\n\n .shadow-m {\n box-shadow: var(--w-shadow-m)\n }\n\n .shadow-s {\n box-shadow: var(--w-shadow-s)\n }\n\n .shadow-\\\\[--w-shadow-slider\\\\] {\n box-shadow: var(--w-shadow-slider)\n }\n\n .hover\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:hover {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .focus\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:focus {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .active\\\\:shadow-\\\\[--w-shadow-slider-handle-active\\\\]:active {\n box-shadow: var(--w-shadow-slider-handle-active)\n }\n\n .h-0 {\n height: 0rem\n }\n\n .h-16 {\n height: 1.6rem\n }\n\n .h-2 {\n height: .2rem\n }\n\n .h-20 {\n height: 2rem\n }\n\n .h-24 {\n height: 2.4rem\n }\n\n .h-4 {\n height: .4rem\n }\n\n .h-44 {\n height: 4.4rem\n }\n\n .h-6 {\n height: .6rem\n }\n\n .h-8 {\n height: .8rem\n }\n\n .h-full {\n height: 100%\n }\n\n .h-unset {\n height: unset\n }\n\n .max-h-unset {\n max-height: unset\n }\n\n .max-w-full {\n max-width: 100%\n }\n\n .max-w-max {\n max-width: max-content\n }\n\n .max-w-unset {\n max-width: unset\n }\n\n .min-h-32 {\n min-height: 3.2rem\n }\n\n .min-h-40 {\n min-height: 4rem\n }\n\n .min-w-16 {\n min-width: 1.6rem\n }\n\n .min-w-32 {\n min-width: 3.2rem\n }\n\n .w-16 {\n width: 1.6rem\n }\n\n .w-2 {\n width: .2rem\n }\n\n .w-20 {\n width: 2rem\n }\n\n .w-24 {\n width: 2.4rem\n }\n\n .w-32 {\n width: 3.2rem\n }\n\n .w-40 {\n width: 4rem\n }\n\n .w-44 {\n width: 4.4rem\n }\n\n .w-8 {\n width: .8rem\n }\n\n .w-full {\n width: 100%\n }\n\n .w-max {\n width: max-content\n }\n\n .w-unset {\n width: unset\n }\n\n .before\\\\:h-20:before {\n height: 2rem\n }\n\n .before\\\\:h-full:before {\n height: 100%\n }\n\n .before\\\\:w-20:before {\n width: 2rem\n }\n\n .before\\\\:w-32:before {\n width: 3.2rem\n }\n\n .h-\\\\[--w-modal-height\\\\] {\n height: var(--w-modal-height)\n }\n\n .h-\\\\[14px\\\\] {\n height: 14px\n }\n\n .h-\\\\[16px\\\\] {\n height: 16px\n }\n\n .max-h-\\\\[--w-modal-max-height\\\\] {\n max-height: var(--w-modal-max-height)\n }\n\n .min-h-\\\\[--w-modal-min-height\\\\] {\n min-height: var(--w-modal-min-height)\n }\n\n .min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .min-h-\\\\[40px\\\\] {\n min-height: 40px\n }\n\n .min-h-\\\\[42\\\\] {\n min-height: 4.2rem\n }\n\n .min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .min-w-\\\\[40px\\\\] {\n min-width: 40px\n }\n\n .min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .w-\\\\[--w-modal-width\\\\] {\n width: var(--w-modal-width)\n }\n\n .w-\\\\[14px\\\\] {\n width: 14px\n }\n\n .w-\\\\[16px\\\\] {\n width: 16px\n }\n\n .space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --w-space-x-reverse: 0;\n margin-left: calc(.8rem * calc(1 - var(--w-space-x-reverse)));\n margin-right: calc(.8rem * var(--w-space-x-reverse))\n }\n\n .space-y-16 > :not([hidden]) ~ :not([hidden]) {\n --w-space-y-reverse: 0;\n margin-top: calc(1.6rem * calc(1 - var(--w-space-y-reverse)));\n margin-bottom: calc(1.6rem * var(--w-space-y-reverse))\n }\n\n .m-0 {\n margin: 0rem\n }\n\n .m-auto {\n margin: auto\n }\n\n .-mx-16 {\n margin-left: -1.6rem;\n margin-right: -1.6rem\n }\n\n .mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .mx-8 {\n margin-left: .8rem;\n margin-right: .8rem\n }\n\n .mx-auto {\n margin-left: auto;\n margin-right: auto\n }\n\n .-mb-1 {\n margin-bottom: -.1rem\n }\n\n .-ml-8 {\n margin-left: -.8rem\n }\n\n .-mr-1 {\n margin-right: -.1rem\n }\n\n .-mr-8 {\n margin-right: -.8rem\n }\n\n .-mt-2 {\n margin-top: -.2rem\n }\n\n .-mt-4 {\n margin-top: -.4rem\n }\n\n .last-child\\\\:mb-0 > :last-child, .mb-0 {\n margin-bottom: 0rem\n }\n\n .mb-32 {\n margin-bottom: 3.2rem\n }\n\n .ml-8 {\n margin-left: .8rem\n }\n\n .ml-auto {\n margin-left: auto\n }\n\n .mr-8 {\n margin-right: .8rem\n }\n\n .mt-16 {\n margin-top: 1.6rem\n }\n\n .mt-4 {\n margin-top: .4rem\n }\n\n .group:not(:first-child) .group-not-first\\\\:-ml-2 {\n margin-left: -.2rem\n }\n\n .last\\\\:mb-0:last-child {\n margin-bottom: 0rem\n }\n\n .last\\\\:mr-0:last-child {\n margin-right: 0rem\n }\n\n .m-\\\\[8px\\\\] {\n margin: 8px\n }\n\n .p-0 {\n padding: 0rem\n }\n\n .p-16 {\n padding: 1.6rem\n }\n\n .p-4 {\n padding: .4rem\n }\n\n .p-8 {\n padding: .8rem\n }\n\n .px-0 {\n padding-left: 0rem;\n padding-right: 0rem\n }\n\n .px-1 {\n padding-left: .1rem;\n padding-right: .1rem\n }\n\n .px-12 {\n padding-left: 1.2rem;\n padding-right: 1.2rem\n }\n\n .px-14 {\n padding-left: 1.4rem;\n padding-right: 1.4rem\n }\n\n .px-16 {\n padding-left: 1.6rem;\n padding-right: 1.6rem\n }\n\n .px-8 {\n padding-left: .8rem;\n padding-right: .8rem\n }\n\n .py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .py-1 {\n padding-top: .1rem;\n padding-bottom: .1rem\n }\n\n .py-10 {\n padding-top: 1rem;\n padding-bottom: 1rem\n }\n\n .py-12 {\n padding-top: 1.2rem;\n padding-bottom: 1.2rem\n }\n\n .py-2 {\n padding-top: .2rem;\n padding-bottom: .2rem\n }\n\n .py-4 {\n padding-top: .4rem;\n padding-bottom: .4rem\n }\n\n .py-6 {\n padding-top: .6rem;\n padding-bottom: .6rem\n }\n\n .py-8 {\n padding-top: .8rem;\n padding-bottom: .8rem\n }\n\n .pb-0 {\n padding-bottom: 0rem\n }\n\n .pb-32 {\n padding-bottom: 3.2rem\n }\n\n .pb-4 {\n padding-bottom: .4rem\n }\n\n .pb-8 {\n padding-bottom: .8rem\n }\n\n .pl-0 {\n padding-left: 0rem\n }\n\n .pl-1 {\n padding-left: .1rem\n }\n\n .pl-12 {\n padding-left: 1.2rem\n }\n\n .pl-28 {\n padding-left: 2.8rem\n }\n\n .pl-4 {\n padding-left: .4rem\n }\n\n .pl-8 {\n padding-left: .8rem\n }\n\n .pr-12 {\n padding-right: 1.2rem\n }\n\n .pr-14 {\n padding-right: 1.4rem\n }\n\n .pr-2 {\n padding-right: .2rem\n }\n\n .pr-32 {\n padding-right: 3.2rem\n }\n\n .pr-40 {\n padding-right: 4rem\n }\n\n .pt-0 {\n padding-top: 0rem\n }\n\n .pt-1 {\n padding-top: .1rem\n }\n\n .pt-16 {\n padding-top: 1.6rem\n }\n\n .pt-24 {\n padding-top: 2.4rem\n }\n\n .pt-8 {\n padding-top: .8rem\n }\n\n .group\\\\/step:last-child .group-last\\\\/step\\\\:last\\\\:pb-0:last-child {\n padding-bottom: 0rem\n }\n\n .last\\\\:pb-1:last-child {\n padding-bottom: .1rem\n }\n\n .last\\\\:pr-1:last-child {\n padding-right: .1rem\n }\n\n .p-\\\\[8px\\\\] {\n padding: 8px\n }\n\n .px-\\\\[15px\\\\] {\n padding-left: 15px;\n padding-right: 15px\n }\n\n .px-\\\\[8px\\\\] {\n padding-left: 8px;\n padding-right: 8px\n }\n\n .py-\\\\[11px\\\\] {\n padding-top: 11px;\n padding-bottom: 11px\n }\n\n .py-\\\\[5px\\\\] {\n padding-top: 5px;\n padding-bottom: 5px\n }\n\n .py-\\\\[7px\\\\] {\n padding-top: 7px;\n padding-bottom: 7px\n }\n\n .pl-\\\\[var\\\\(--w-prefix-width\\\\,_40px\\\\)\\\\] {\n padding-left: var(--w-prefix-width, 40px)\n }\n\n .invisible {\n visibility: hidden\n }\n\n .backface-hidden {\n backface-visibility: hidden\n }\n\n .break-words {\n overflow-wrap: break-word\n }\n\n .before\\\\:content-\\\\[\\\\\"\u00E2\u20AC\u201C\\\\\"\\\\]:before {\n content: \"\u00E2\u20AC\u201C\"\n }\n\n .before\\\\:content-\\\\[\\\\\"\\\\\"\\\\]:before {\n content: \"\"\n }\n\n .cursor-default {\n cursor: default\n }\n\n .cursor-pointer {\n cursor: pointer\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-smoothing: grayscale\n }\n\n .font-bold {\n font-weight: 700\n }\n\n .before\\\\:font-bold:before {\n font-weight: 700\n }\n\n .font-normal {\n font-weight: 400\n }\n\n .pointer-events-auto {\n pointer-events: auto\n }\n\n .pointer-events-none {\n pointer-events: none\n }\n\n .before\\\\:pointer-events-none:before {\n pointer-events: none\n }\n\n .pb-safe-\\\\[32\\\\] {\n padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px))\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0\n }\n\n .touch-pan-y {\n touch-action: pan-y\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none\n }\n\n .translate-x-20 {\n --w-translate-x: 2rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .translate-z-0 {\n --w-translate-z: 0rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .-rotate-180, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:-rotate-180::part(w-icon-chevron-down-16-part) {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: -180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:rotate-180::part(w-icon-chevron-up-16-part), .rotate-180 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .rotate-90 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 90deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform::part(w-icon-chevron-up-16-part), .transform {\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-up-16-part), .transform-gpu {\n transform: translate3d(var(--w-translate-x), var(--w-translate-y), var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-up-16-part), .transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-300 {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .3s\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .before\\\\:transition-all:before {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .duration-300 {\n transition-duration: .3s\n }\n\n .ease-in-out, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-up-16-part) {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1)\n }\n\n .text-m {\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .text-s {\n font-size: var(--w-font-size-s);\n line-height: var(--w-line-height-s)\n }\n\n .text-xs {\n font-size: var(--w-font-size-xs);\n line-height: var(--w-line-height-xs)\n }\n\n .leading-m {\n line-height: var(--w-line-height-m)\n }\n\n .before\\\\:leading-xs:before {\n line-height: var(--w-line-height-xs)\n }\n\n .leading-\\\\[24\\\\] {\n line-height: 2.4rem\n }\n\n @media (max-width: 479.9px) {\n .lt-sm\\\\:rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n }\n @media (min-width: 480px) {\n .sm\\\\:border-b-0 {\n border-bottom-width: 0\n }\n\n .sm\\\\:rounded-8 {\n border-radius: 8px\n }\n\n .sm\\\\:rounded-b-8 {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px\n }\n\n .sm\\\\:gap-16 {\n gap: 1.6rem\n }\n\n .sm\\\\:place-content-center {\n place-content: center\n }\n\n .sm\\\\:place-items-center {\n place-items: center\n }\n\n .sm\\\\:h-24 {\n height: 2.4rem\n }\n\n .sm\\\\:min-h-48 {\n min-height: 4.8rem\n }\n\n .sm\\\\:w-24 {\n width: 2.4rem\n }\n\n .sm\\\\:min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .sm\\\\:min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .sm\\\\:min-h-\\\\[45\\\\] {\n min-height: 4.5rem\n }\n\n .sm\\\\:min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .sm\\\\:min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .sm\\\\:mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .sm\\\\:mx-16 {\n margin-left: 1.6rem;\n margin-right: 1.6rem\n }\n\n .sm\\\\:-ml-12 {\n margin-left: -1.2rem\n }\n\n .sm\\\\:-mr-12 {\n margin-right: -1.2rem\n }\n\n .sm\\\\:-mt-8 {\n margin-top: -.8rem\n }\n\n .sm\\\\:px-32 {\n padding-left: 3.2rem;\n padding-right: 3.2rem\n }\n\n .sm\\\\:py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .sm\\\\:pb-32 {\n padding-bottom: 3.2rem\n }\n\n .sm\\\\:pt-24 {\n padding-top: 2.4rem\n }\n\n .sm\\\\:pt-32 {\n padding-top: 3.2rem\n }\n }\n @media (min-width: 768px) {\n .md\\\\:block {\n display: block\n }\n\n .md\\\\:hidden {\n display: none\n }\n }\n `);\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ingen resultater\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ingen forslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultater\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" forslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" forslag\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"No results\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"No suggestions\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" result\\\"],\\\"other\\\":[\\\"#\\\",\\\" results\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" suggestion\\\"],\\\"other\\\":[\\\"#\\\",\\\" suggestions\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ei tuloksia\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ei ehdotuksia\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" tulos\\\"],\\\"other\\\":[\\\"#\\\",\\\" tulosta\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" ehdotus\\\"],\\\"other\\\":[\\\"#\\\",\\\" ehdotusta\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ingen resultater\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ingen forslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultater\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" forslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" forslag\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Inga resultat\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Inga f\u00F6rslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultat\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" f\u00F6rslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" f\u00F6rslag\\\"]}]]}\");", "import { unsafeCSS } from 'lit'; export const styles = unsafeCSS(\"*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.rounded-8{border-radius:8px}.block{display:block}.overflow-hidden{overflow:hidden}.list-none{list-style-type:none}.left-0{left:0}.right-0{right:0}.absolute{position:absolute}.relative{position:relative}.static{position:static}.z-0{z-index:0}.z-20{z-index:20}.s-bg{background-color:var(--w-s-color-background)}.s-bg-selected{background-color:var(--w-s-color-background-selected)}.hover\\\\:s-bg-hover:hover{background-color:var(--w-s-color-background-hover)}.hover\\\\:s-bg-selected-hover:hover{background-color:var(--w-s-color-background-selected-hover)}.shadow-m{box-shadow:var(--w-shadow-m)}.m-0{margin:0}.p-0{padding:0}.p-8{padding:.8rem}.pb-4{padding-bottom:.4rem}.visible{visibility:visible}.cursor-pointer{cursor:pointer}.font-bold{font-weight:700}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.select-none{-webkit-user-select:none;user-select:none}\");\n"],
5
- "mappings": "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AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqRRG,GAAaF,GAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA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",
6
- "names": ["r", "t", "n", "isString", "s", "isFunction", "f", "cache", "defaultLocale", "normalizeLocales", "locales", "date", "value", "format", "_locales", "o", "getMemoized", "cacheKey", "time", "number", "plural", "ordinal", "offset", "rules", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "ESCAPE_SEQUENCE_REGEX", "decodeEscapeSequences", "str", "_", "unicode", "hex", "codePoint", "OCTOTHORPE_PH", "getDefaultFormats", "locale", "passedLocales", "formats", "locales", "style", "format", "replaceOctothorpe", "value", "message", "numberFormat", "valueStr", "number", "cases", "offset", "plural", "selectFormatter", "date", "time", "rules", "interpolate", "translation", "values", "formatters", "formatMessage", "tokens", "token", "isString", "name", "type", "interpolatedFormat", "key", "value2", "formatter", "result", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "_a", "maybeListeners", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "defaultLocale", "localeData", "maybeLocaleData", "compiler", "localeOrAllData", "messages", "maybeMessages", "localeOrMessages", "messages2", "id", "options", "messageForId", "messageMissing", "missing", "isFunction", "setupI18n", "i18n", "FormControlMixin", "SuperClass", "FormControl", "args", "_FormControl_focused", "_FormControl_forceError", "_FormControl_touched", "_FormControl_abortController", "_FormControl_previousAbortController", "_FormControl_awaitingValidationTarget", "_FormControl_value", "_FormControl_onFocus", "__classPrivateFieldSet", "__classPrivateFieldGet", "_FormControl_instances", "_FormControl_shouldShowError", "_FormControl_onBlur", "_FormControl_runValidators", "showError", "_FormControl_onInvalid", "_a", "_FormControl_validationCompleteResolver", "_FormControl_isValidationPending", "_FormControl_validationComplete", "_b", "_c", "validatorAttributes", "validator", "observedAttributes", "attribute", "name", "oldValue", "newValue", "validators", "value", "valueToUpdate", "resolve", "rootNode", "selector", "proto", "validity", "asyncValidators", "hasAsyncValidators", "abortController", "validationMessage", "hasChange", "key", "isValid", "isValidatorValid", "_FormControl_getValidatorMessageForValue", "_FormControl_setValidityWithOptionalTarget", "message", "html", "LitElement", "property", "state", "repeat", "ifDefined", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "locale", "detectLocale", "serverLocale", "htmlLocale", "getDocumentLang", "frameLocale", "getFrameElementLang", "parentLocale", "getParentDocument", "e", "activateI18n", "enMessages", "nbMessages", "fiMessages", "daMessages", "svMessages", "i18n", "locale", "detectLocale", "notifyI18nChange", "setupLangObserver", "I18N_CHANGE_EVENT", "langObserverInitialized", "handleLangChange", "nextLocale", "observer", "mutations", "mutation", "parentDocument", "getParentDocument", "frameEl", "getFrameElement", "getDocumentLang", "doc", "getFrameElementLang", "css", "unsafeCSS", "reset", "components", "messages", "messages", "messages", "messages", "messages", "unsafeCSS", "styles", "ccCombobox", "_initialValue", "_lightDomObserver", "_WarpCombobox_instances", "getOptionNodes_fn", "syncOptionsFromLightDom_fn", "WarpCombobox", "FormControlMixin", "LitElement", "__privateAdd", "activateI18n", "messages", "changedProps", "__privateSet", "changedProperties", "__privateGet", "__privateMethod", "options", "currentInputValue", "option", "index", "value", "isOpen", "filteredOptionsByInputValue", "pluralSuggestions", "i18n", "noSuggestions", "r", "isNavigationKey", "ignoreList", "input", "currIndex", "nextIndex", "prevIndex", "selectEvent", "newValue", "changeEvent", "focusEvent", "relatedTarget", "o", "selectedValue", "blurEvent", "display", "startIdx", "endIdx", "html", "lightDomOptionsChanged", "matchingOption", "expectedDisplay", "ifDefined", "repeat", "e", "child", "label", "reset", "styles", "__decorateClass", "property", "state"]
4
+ "sourcesContent": ["var r=function(){for(var t=[],n=arguments.length;n--;)t[n]=arguments[n];return t.reduce(function(t,n){return t.concat(\"string\"==typeof n?n:Array.isArray(n)?r.apply(void 0,n):\"object\"==typeof n&&n?Object.keys(n).map(function(r){return n[r]?r:\"\"}):\"\")},[]).join(\" \")};export{r as classNames};\n", "import { compileMessage } from '@lingui/message-utils/compileMessage';\n\nconst isString = (s) => typeof s === \"string\";\nconst isFunction = (f) => typeof f === \"function\";\n\nconst cache = /* @__PURE__ */ new Map();\nconst defaultLocale = \"en\";\nfunction normalizeLocales(locales) {\n const out = Array.isArray(locales) ? locales : [locales];\n return [...out, defaultLocale];\n}\nfunction date(locales, value, format) {\n const _locales = normalizeLocales(locales);\n if (!format) {\n format = \"default\";\n }\n let o;\n if (typeof format === \"string\") {\n o = {\n day: \"numeric\",\n month: \"short\",\n year: \"numeric\"\n };\n switch (format) {\n case \"full\":\n o.weekday = \"long\";\n case \"long\":\n o.month = \"long\";\n break;\n case \"short\":\n o.month = \"numeric\";\n break;\n }\n } else {\n o = format;\n }\n const formatter = getMemoized(\n () => cacheKey(\"date\", _locales, format),\n () => new Intl.DateTimeFormat(_locales, o)\n );\n return formatter.format(isString(value) ? new Date(value) : value);\n}\nfunction time(locales, value, format) {\n let o;\n if (!format) {\n format = \"default\";\n }\n if (typeof format === \"string\") {\n o = {\n second: \"numeric\",\n minute: \"numeric\",\n hour: \"numeric\"\n };\n switch (format) {\n case \"full\":\n case \"long\":\n o.timeZoneName = \"short\";\n break;\n case \"short\":\n delete o.second;\n }\n } else {\n o = format;\n }\n return date(locales, value, o);\n}\nfunction number(locales, value, format) {\n const _locales = normalizeLocales(locales);\n const formatter = getMemoized(\n () => cacheKey(\"number\", _locales, format),\n () => new Intl.NumberFormat(_locales, format)\n );\n return formatter.format(value);\n}\nfunction plural(locales, ordinal, value, { offset = 0, ...rules }) {\n const _locales = normalizeLocales(locales);\n const plurals = ordinal ? getMemoized(\n () => cacheKey(\"plural-ordinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"ordinal\" })\n ) : getMemoized(\n () => cacheKey(\"plural-cardinal\", _locales),\n () => new Intl.PluralRules(_locales, { type: \"cardinal\" })\n );\n return rules[value] ?? rules[plurals.select(value - offset)] ?? rules.other;\n}\nfunction getMemoized(getKey, construct) {\n const key = getKey();\n let formatter = cache.get(key);\n if (!formatter) {\n formatter = construct();\n cache.set(key, formatter);\n }\n return formatter;\n}\nfunction cacheKey(type, locales, options) {\n const localeKey = locales.join(\"-\");\n return `${type}-${localeKey}-${JSON.stringify(options)}`;\n}\n\nconst formats = {\n __proto__: null,\n date: date,\n defaultLocale: defaultLocale,\n number: number,\n plural: plural,\n time: time\n};\n\nconst ESCAPE_SEQUENCE_REGEX = /\\\\u[a-fA-F0-9]{4}|\\\\x[a-fA-F0-9]{2}/;\nconst decodeEscapeSequences = (str) => {\n return str.replace(\n // Same pattern but with capturing groups for extracting values during replacement\n /\\\\u([a-fA-F0-9]{4})|\\\\x([a-fA-F0-9]{2})/g,\n (_, unicode, hex) => {\n if (unicode) {\n const codePoint = parseInt(unicode, 16);\n return String.fromCharCode(codePoint);\n } else {\n const codePoint = parseInt(hex, 16);\n return String.fromCharCode(codePoint);\n }\n }\n );\n};\n\nconst OCTOTHORPE_PH = \"%__lingui_octothorpe__%\";\nconst getDefaultFormats = (locale, passedLocales, formats = {}) => {\n const locales = passedLocales || locale;\n const style = (format) => {\n if (typeof format === \"object\")\n return format;\n return formats[format];\n };\n const replaceOctothorpe = (value, message) => {\n const numberFormat = Object.keys(formats).length ? style(\"number\") : void 0;\n const valueStr = number(locales, value, numberFormat);\n return message.replace(new RegExp(OCTOTHORPE_PH, \"g\"), valueStr);\n };\n return {\n plural: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, false, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n selectordinal: (value, cases) => {\n const { offset = 0 } = cases;\n const message = plural(locales, true, value, cases);\n return replaceOctothorpe(value - offset, message);\n },\n select: selectFormatter,\n number: (value, format) => number(\n locales,\n value,\n style(format) || { style: format }\n ),\n date: (value, format) => date(locales, value, style(format) || format),\n time: (value, format) => time(locales, value, style(format) || format)\n };\n};\nconst selectFormatter = (value, rules) => rules[value] ?? rules.other;\nfunction interpolate(translation, locale, locales) {\n return (values = {}, formats) => {\n const formatters = getDefaultFormats(locale, locales, formats);\n const formatMessage = (tokens, replaceOctothorpe = false) => {\n if (!Array.isArray(tokens))\n return tokens;\n return tokens.reduce((message, token) => {\n if (token === \"#\" && replaceOctothorpe) {\n return message + OCTOTHORPE_PH;\n }\n if (isString(token)) {\n return message + token;\n }\n const [name, type, format] = token;\n let interpolatedFormat = {};\n if (type === \"plural\" || type === \"selectordinal\" || type === \"select\") {\n Object.entries(format).forEach(\n ([key, value2]) => {\n interpolatedFormat[key] = formatMessage(\n value2,\n type === \"plural\" || type === \"selectordinal\"\n );\n }\n );\n } else {\n interpolatedFormat = format;\n }\n let value;\n if (type) {\n const formatter = formatters[type];\n value = formatter(values[name], interpolatedFormat);\n } else {\n value = values[name];\n }\n if (value == null) {\n return message;\n }\n return message + value;\n }, \"\");\n };\n const result = formatMessage(translation);\n if (isString(result) && ESCAPE_SEQUENCE_REGEX.test(result)) {\n return decodeEscapeSequences(result);\n }\n if (isString(result))\n return result;\n return result ? String(result) : \"\";\n };\n}\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => {\n __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass EventEmitter {\n constructor() {\n __publicField$1(this, \"_events\", {});\n }\n on(event, listener) {\n var _a;\n (_a = this._events)[event] ?? (_a[event] = []);\n this._events[event].push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n const index = maybeListeners.indexOf(listener);\n if (~index)\n maybeListeners.splice(index, 1);\n }\n emit(event, ...args) {\n const maybeListeners = this._getListeners(event);\n if (!maybeListeners)\n return;\n maybeListeners.map((listener) => listener.apply(this, args));\n }\n _getListeners(event) {\n const maybeListeners = this._events[event];\n return Array.isArray(maybeListeners) ? maybeListeners : false;\n }\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => {\n __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n return value;\n};\nclass I18n extends EventEmitter {\n constructor(params) {\n super();\n __publicField(this, \"_locale\", \"\");\n __publicField(this, \"_locales\");\n __publicField(this, \"_localeData\", {});\n __publicField(this, \"_messages\", {});\n __publicField(this, \"_missing\");\n __publicField(this, \"_messageCompiler\");\n /**\n * Alias for {@see I18n._}\n */\n __publicField(this, \"t\", this._.bind(this));\n if (process.env.NODE_ENV !== \"production\") {\n this.setMessagesCompiler(compileMessage);\n }\n if (params.missing != null)\n this._missing = params.missing;\n if (params.messages != null)\n this.load(params.messages);\n if (params.localeData != null)\n this.loadLocaleData(params.localeData);\n if (typeof params.locale === \"string\" || params.locales) {\n this.activate(params.locale ?? defaultLocale, params.locales);\n }\n }\n get locale() {\n return this._locale;\n }\n get locales() {\n return this._locales;\n }\n get messages() {\n return this._messages[this._locale] ?? {};\n }\n /**\n * @deprecated this has no effect. Please remove this from the code. Deprecated in v4\n */\n get localeData() {\n return this._localeData[this._locale] ?? {};\n }\n _loadLocaleData(locale, localeData) {\n const maybeLocaleData = this._localeData[locale];\n if (!maybeLocaleData) {\n this._localeData[locale] = localeData;\n } else {\n Object.assign(maybeLocaleData, localeData);\n }\n }\n /**\n * Registers a `MessageCompiler` to enable the use of uncompiled catalogs at runtime.\n *\n * In production builds, the `MessageCompiler` is typically excluded to reduce bundle size.\n * By default, message catalogs should be precompiled during the build process. However,\n * if you need to compile catalogs at runtime, you can use this method to set a message compiler.\n *\n * Example usage:\n *\n * ```ts\n * import { compileMessage } from \"@lingui/message-utils/compileMessage\";\n *\n * i18n.setMessagesCompiler(compileMessage);\n * ```\n */\n setMessagesCompiler(compiler) {\n this._messageCompiler = compiler;\n return this;\n }\n /**\n * @deprecated Plurals automatically used from Intl.PluralRules you can safely remove this call. Deprecated in v4\n */\n loadLocaleData(localeOrAllData, localeData) {\n if (typeof localeOrAllData === \"string\") {\n this._loadLocaleData(localeOrAllData, localeData);\n } else {\n Object.keys(localeOrAllData).forEach(\n (locale) => this._loadLocaleData(locale, localeOrAllData[locale])\n );\n }\n this.emit(\"change\");\n }\n _load(locale, messages) {\n const maybeMessages = this._messages[locale];\n if (!maybeMessages) {\n this._messages[locale] = messages;\n } else {\n Object.assign(maybeMessages, messages);\n }\n }\n load(localeOrMessages, messages) {\n if (typeof localeOrMessages == \"string\" && typeof messages === \"object\") {\n this._load(localeOrMessages, messages);\n } else {\n Object.entries(localeOrMessages).forEach(\n ([locale, messages2]) => this._load(locale, messages2)\n );\n }\n this.emit(\"change\");\n }\n /**\n * @param options {@link LoadAndActivateOptions}\n */\n loadAndActivate({ locale, locales, messages }) {\n this._locale = locale;\n this._locales = locales || void 0;\n this._messages[this._locale] = messages;\n this.emit(\"change\");\n }\n activate(locale, locales) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!this._messages[locale]) {\n console.warn(`Messages for locale \"${locale}\" not loaded.`);\n }\n }\n this._locale = locale;\n this._locales = locales;\n this.emit(\"change\");\n }\n _(id, values, options) {\n if (!this.locale) {\n throw new Error(\n \"Lingui: Attempted to call a translation function without setting a locale.\\nMake sure to call `i18n.activate(locale)` before using Lingui functions.\\nThis issue may also occur due to a race condition in your initialization logic.\"\n );\n }\n let message = options?.message;\n if (!id) {\n id = \"\";\n }\n if (!isString(id)) {\n values = id.values || values;\n message = id.message;\n id = id.id;\n }\n const messageForId = this.messages[id];\n const messageMissing = messageForId === void 0;\n const missing = this._missing;\n if (missing && messageMissing) {\n return isFunction(missing) ? missing(this._locale, id) : missing;\n }\n if (messageMissing) {\n this.emit(\"missing\", { id, locale: this._locale });\n }\n let translation = messageForId || message || id;\n if (isString(translation)) {\n if (this._messageCompiler) {\n translation = this._messageCompiler(translation);\n } else {\n console.warn(`Uncompiled message detected! Message:\n\n> ${translation}\n\nThat means you use raw catalog or your catalog doesn't have a translation for the message and fallback was used.\nICU features such as interpolation and plurals will not work properly for that message. \n\nPlease compile your catalog first. \n`);\n }\n }\n if (isString(translation) && ESCAPE_SEQUENCE_REGEX.test(translation))\n return decodeEscapeSequences(translation);\n if (isString(translation))\n return translation;\n return interpolate(\n translation,\n this._locale,\n this._locales\n )(values, options?.formats);\n }\n date(value, format) {\n return date(this._locales || this._locale, value, format);\n }\n number(value, format) {\n return number(this._locales || this._locale, value, format);\n }\n}\nfunction setupI18n(params = {}) {\n return new I18n(params);\n}\n\nconst i18n = setupI18n();\n\nexport { I18n, formats, i18n, setupI18n };\n", "import { Constructor, CustomValidityState, FormControlInterface, FormValue, IControlHost, validationMessageCallback, Validator } from './types.js';\n\nexport function FormControlMixin<\n TBase extends Constructor<HTMLElement & IControlHost> & { observedAttributes?: string [] }\n>(SuperClass: TBase) {\n class FormControl extends SuperClass {\n /** Wires up control instances to be form associated */\n static get formAssociated(): boolean {\n return true;\n }\n\n /**\n * A list of Validator objects that will be evaluated when a control's form\n * value is modified or optionally when a given attribute changes.\n *\n * When a Validator's callback returns false, the entire form control will\n * be set to an invalid state.\n */\n declare static formControlValidators: Validator[];\n\n /**\n * If set to true the control described should be evaluated and validated\n * as part of a group. Like a radio, if any member of the group's validity\n * changes the the other members should update as well.\n */\n declare static formControlValidationGroup: boolean;\n\n private static get validators(): Validator[] {\n return this.formControlValidators || [];\n }\n\n /**\n * Allows the FormControl instance to respond to Validator attributes.\n * For instance, if a given Validator has a `required` attribute, that\n * validator will be evaluated whenever the host's required attribute\n * is updated.\n */\n static get observedAttributes(): string[] {\n const validatorAttributes = this.validators.map((validator) => validator.attribute).flat();\n\n const observedAttributes = super.observedAttributes || [];\n\n /** Make sure there are no duplicates inside the attributes list */\n const attributeSet = new Set([...observedAttributes, ...validatorAttributes]);\n return [...attributeSet] as string[];\n }\n\n /**\n * Return the validator associated with a given attribute. If no\n * Validator is associated with the attribute, it will return null.\n */\n static getValidator(attribute: string): Validator | null {\n return this.validators.find((validator) => validator.attribute === attribute) || null;\n }\n\n /**\n * Get all validators that are set to react to a given attribute\n * @param {string} attribute - The attribute that has changed\n * @returns {Validator[]}\n */\n static getValidators(attribute: string): Validator[] | null {\n return this.validators.filter(validator => {\n if (validator.attribute === attribute || validator.attribute?.includes(attribute)) {\n return true;\n }\n });\n }\n\n /** The ElementInternals instance for the control. */\n internals = this.attachInternals();\n\n /**\n * Keep track of if the control has focus\n * @private\n */\n #focused = false;\n\n /**\n * Exists to control when an error should be displayed\n * @private\n */\n #forceError = false;\n\n /**\n * Toggles to true whenever the element has been focused. This property\n * will reset whenever the control's formResetCallback is called.\n * @private\n */\n #touched = false;\n\n /** An internal abort controller for cancelling pending async validation */\n #abortController?: AbortController;\n #previousAbortController?: AbortController;\n\n /**\n * Used for tracking if a validation target has been set to manage focus\n * when the control's validity is reported\n */\n #awaitingValidationTarget = true;\n\n /** All of the controls within a root with a matching local name and form name */\n get #formValidationGroup(): NodeListOf<FormControl> {\n const rootNode = this.getRootNode() as HTMLElement;\n const selector = `${this.localName}[name=\"${this.getAttribute('name')}\"]`;\n return rootNode.querySelectorAll<FormControl>(selector);\n }\n\n /**\n * Acts as a cache for the current value so the value can be re-evaluated\n * whenever an attribute changes or on some other event.\n */\n #value: FormValue = '';\n\n /**\n * Set this[touched] and this[focused]\n * to true when the element is focused\n * @private\n */\n #onFocus = (): void => {\n this.#touched = true;\n this.#focused = true;\n this.#shouldShowError();\n };\n\n /**\n * Reset this[focused] on blur\n * @private\n */\n #onBlur = (): void => {\n this.#focused = false;\n\n this.#runValidators(this.shouldFormValueUpdate() ? this.#value : '');\n\n /**\n * Set forceError to ensure error messages persist until\n * the value is changed.\n */\n if (!this.validity.valid && this.#touched) {\n this.#forceError = true;\n }\n const showError = this.#shouldShowError();\n if (this.validationMessageCallback) {\n this.validationMessageCallback(showError ? this.internals.validationMessage : '');\n }\n };\n\n /**\n * For the show error state on invalid\n * @private\n */\n #onInvalid = (): void => {\n if (this.#awaitingValidationTarget && this.validationTarget) {\n this.internals.setValidity(\n this.validity,\n this.validationMessage,\n this.validationTarget\n );\n this.#awaitingValidationTarget = false;\n }\n this.#touched = true;\n this.#forceError = true;\n this.#shouldShowError();\n this?.validationMessageCallback?.(this.showError ? this.internals.validationMessage : '');\n };\n\n /** Return a reference to the control's form */\n get form(): HTMLFormElement {\n return this.internals.form;\n }\n\n /**\n * Will return true if it is recommended that the control shows an internal\n * error. If using this property, it is wise to listen for 'invalid' events\n * on the element host and call preventDefault on the event. Doing this will\n * prevent browsers from showing a validation popup.\n */\n get showError(): boolean {\n return this.#shouldShowError();\n }\n\n /**\n * Forward the internals checkValidity method\n * will return the valid state of the control.\n */\n checkValidity(): boolean {\n return this.internals.checkValidity();\n }\n\n /** The element's validity state */\n get validity(): ValidityState {\n return this.internals.validity;\n }\n\n /**\n * The validation message shown by a given Validator object. If the control\n * is in a valid state this should be falsy.\n */\n get validationMessage(): string {\n return this.internals.validationMessage;\n }\n\n /* eslint-disable @typescript-eslint/no-explicit-any */\n constructor(...args: any[]) {\n super(...args);\n this.addEventListener?.('focus', this.#onFocus);\n this.addEventListener?.('blur', this.#onBlur);\n this.addEventListener?.('invalid', this.#onInvalid);\n this.setValue(null);\n }\n\n attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback?.(name, oldValue, newValue);\n\n /**\n * Check to see if a Validator is associated with the changed attribute.\n * If one exists, call control's validate function which will perform\n * control validation.\n */\n const proto = this.constructor as typeof FormControl;\n const validators = proto.getValidators(name);\n\n if (validators?.length && this.validationTarget) {\n this.setValue(this.#value);\n }\n }\n\n /** PUBLIC LIFECYCLE METHODS */\n\n /**\n * Sets the control's form value if the call to `shouldFormValueUpdate`\n * returns `true`.\n * @param value {FormValue} - The value to pass to the form\n */\n setValue(value: FormValue): void {\n this.#forceError = false;\n this.validationMessageCallback?.('');\n this.#value = value;\n const valueShouldUpdate = this.shouldFormValueUpdate();\n const valueToUpdate = valueShouldUpdate ? value : null;\n this.internals.setFormValue(valueToUpdate as string);\n this.#runValidators(valueToUpdate);\n if (this.valueChangedCallback) {\n this.valueChangedCallback(valueToUpdate);\n }\n this.#shouldShowError();\n }\n\n /**\n * This method can be overridden to determine if the control's form value\n * should be set on a call to `setValue`. An example of when a user might want\n * to skip this step is when implementing checkbox-like behavior, first checking\n * to see if `this.checked` is set to a truthy value. By default this returns\n * `true`.\n */\n shouldFormValueUpdate(): boolean {\n return true;\n }\n\n /** Save a reference to the validation complete resolver */\n #validationCompleteResolver?: (value: void | PromiseLike<void>) => void;\n\n /** When true validation will be pending */\n #isValidationPending = false;\n\n #validationComplete = Promise.resolve();\n\n /** A promise that will resolve when all pending validations are complete */\n get validationComplete(): Promise<void> {\n return new Promise(resolve => resolve(this.#validationComplete));\n }\n\n /** DECLARED INSTANCE METHODS AND PROPERTIES*/\n\n /**\n * Resets a form control to its initial state\n */\n declare resetFormControl: () => void;\n\n /**\n * This method is used to override the controls' validity message\n * for a given Validator key. This has the highest level of priority when\n * setting a validationMessage, so use this method wisely.\n *\n * The returned value will be used as the validationMessage for the given key.\n * @param validationKey {string} - The key that has returned invalid\n */\n declare validityCallback: (validationKey: string) => string | void;\n\n /**\n * Called when the control's validationMessage should be changed\n * @param message { string } - The new validation message\n */\n declare validationMessageCallback: (message: string) => void;\n\n /**\n * A callback for when the controls' form value changes. The value\n * passed to this function should not be confused with the control's\n * value property, this is the value that will appear on the form.\n *\n * In cases where `checked` did not exist on the control's prototype\n * upon initialization, this value and the value property will be identical;\n * in cases where `checked` is present upon initialization, this will be\n * effectively `this.checked && this.value`.\n */\n declare valueChangedCallback: (value: FormValue) => void;\n\n /**\n * The element that will receive focus when the control's validity\n * state is reported either by a form submission or via API\n *\n * We use declare since this is optional and we don't particularly\n * care how the consuming component implements this (as a field, member\n * or getter/setter)\n */\n declare validationTarget: HTMLElement | null;\n\n /** PRIVATE LIFECYCLE METHODS */\n\n /**\n * Check to see if an error should be shown. This method will also\n * update the internals state object with the --show-error state\n * if necessary.\n * @private\n */\n #shouldShowError(): boolean {\n if (this.hasAttribute('disabled')) {\n return false;\n }\n\n const showError = this.#forceError || (this.#touched && !this.validity.valid && !this.#focused);\n\n /**\n * At the time of writing Firefox doesn't support states\n * TODO: Remove when check for states when fully support is in place\n */\n if (showError && this.internals.states) {\n this.internals.states.add('--show-error');\n } else if (this.internals.states) {\n this.internals.states.delete('--show-error');\n }\n\n return showError;\n }\n\n #runValidators(value: FormValue): void {\n const proto = this.constructor as typeof FormControl;\n const validity: CustomValidityState = {};\n const validators = proto.validators;\n const asyncValidators: Promise<boolean|void>[] = [];\n const hasAsyncValidators = validators.some((validator) => validator.isValid instanceof Promise)\n\n if (!this.#isValidationPending) {\n this.#validationComplete = new Promise(resolve => {\n this.#validationCompleteResolver = resolve\n });\n this.#isValidationPending = true;\n }\n\n /**\n * If an abort controller exists from a previous validation step\n * notify still-running async validators that we are requesting they\n * discontinue any work.\n */\n if (this.#abortController) {\n this.#abortController.abort();\n this.#previousAbortController = this.#abortController;\n }\n\n /**\n * Create a new abort controller and replace the instance reference\n * so we can clean it up for next time\n */\n const abortController = new AbortController();\n this.#abortController = abortController;\n let validationMessage: string | undefined = undefined;\n\n /** Track to see if any validity key has changed */\n let hasChange = false;\n\n if (!validators.length) {\n return;\n }\n\n validators.forEach(validator => {\n const key = validator.key || 'customError';\n const isValid = validator.isValid(this, value, abortController.signal);\n const isAsyncValidator = isValid instanceof Promise;\n\n if (isAsyncValidator) {\n asyncValidators.push(isValid);\n\n isValid.then(isValidatorValid => {\n if (isValidatorValid === undefined || isValidatorValid === null) {\n return;\n }\n /** Invert the validity state to correspond to the ValidityState API */\n validity[key] = !isValidatorValid;\n\n validationMessage = this.#getValidatorMessageForValue(validator, value);\n this.#setValidityWithOptionalTarget(validity, validationMessage);\n });\n } else {\n /** Invert the validity state to correspond to the ValidityState API */\n validity[key] = !isValid;\n\n if (this.validity[key] !== !isValid) {\n hasChange = true;\n }\n\n // only update the validationMessage for the first invalid scenario\n // so that earlier invalid validators dont get their messages overwritten by later ones\n // in the validators array\n if (!isValid && !validationMessage) {\n validationMessage = this.#getValidatorMessageForValue(validator, value);\n }\n }\n });\n\n /** Once all the async validators have settled, resolve validationComplete */\n Promise.allSettled(asyncValidators)\n .then(() => {\n /** Don't resolve validations if the signal is aborted */\n if (!abortController?.signal.aborted) {\n this.#isValidationPending = false;\n this.#validationCompleteResolver?.();\n }\n });\n\n /**\n * If async validators are present:\n * Only run updates when a sync validator has a change. This is to prevent\n * situations where running sync validators can override async validators\n * that are still in progress\n *\n * If async validators are not present, always update validity\n */\n if (hasChange || !hasAsyncValidators) {\n this.#setValidityWithOptionalTarget(validity, validationMessage);\n }\n }\n\n /**\n * If the validationTarget is not set, the user can decide how they would\n * prefer to handle focus when the field is validated.\n */\n #setValidityWithOptionalTarget(validity: Partial<ValidityState>, validationMessage: string|undefined): void {\n if (this.validationTarget) {\n this.internals.setValidity(validity, validationMessage, this.validationTarget);\n this.#awaitingValidationTarget = false;\n } else {\n this.internals.setValidity(validity, validationMessage);\n\n if (this.internals.validity.valid) {\n return;\n }\n\n /**\n * Sets mark the component as awaiting a validation target\n * if the element dispatches an invalid event, the #onInvalid listener\n * will check to see if the validation target has been set since this call\n * has run. This useful in cases like Lit's use of the query\n * decorator for setting the validationTarget or any scenario\n * where the validationTarget isn't available upon construction\n */\n this.#awaitingValidationTarget = true;\n }\n }\n\n /** Process the validator message attribute */\n #getValidatorMessageForValue(validator: Validator, value: FormValue): string {\n /** If the validity callback exists and returns, use that as the result */\n if (this.validityCallback) {\n const message = this.validityCallback(validator.key || 'customError');\n\n if (message) {\n return message;\n }\n }\n\n if (validator.message instanceof Function) {\n return (validator.message as validationMessageCallback)(this, value);\n } else {\n return validator.message as string;\n }\n }\n\n /** Reset control state when the form is reset */\n formResetCallback() {\n this.#touched = false;\n this.#forceError = false;\n this.#shouldShowError();\n this.resetFormControl?.();\n\n this.validationMessageCallback?.(\n this.#shouldShowError() ? this.validationMessage : ''\n );\n }\n }\n\n return FormControl as Constructor<FormControlInterface> & TBase;\n}\n", "// @warp-css;\n\nimport { classNames } from \"@chbphone55/classnames\";\nimport { i18n } from \"@lingui/core\";\nimport { FormControlMixin } from \"@open-wc/form-control\";\nimport { html, LitElement, PropertyValues } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { repeat } from \"lit/directives/repeat.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\n\nimport { activateI18n } from \"../i18n.js\";\nimport { reset } from \"../styles.js\";\n\nimport { messages as daMessages } from \"./locales/da/messages.mjs\";\nimport { messages as enMessages } from \"./locales/en/messages.mjs\";\nimport { messages as fiMessages } from \"./locales/fi/messages.mjs\";\nimport { messages as nbMessages } from \"./locales/nb/messages.mjs\";\nimport { messages as svMessages } from \"./locales/sv/messages.mjs\";\nimport { styles } from \"./styles.js\";\n\nconst ccCombobox = {\n\twrapper: \"relative z-0\",\n\tbase: \"absolute z-20 left-0 right-0 s-bg pb-4 rounded-8 overflow-hidden shadow-m\",\n\tlistbox: \"m-0 p-0 select-none list-none\",\n\toption: \"block cursor-pointer p-8\",\n\toptionUnselected: \"hover:s-bg-hover\",\n\toptionSelected: \"s-bg-selected hover:s-bg-selected-hover\",\n\ttextMatch: \"font-bold\",\n\ta11y: \"sr-only\",\n};\n\nexport interface ComboboxOption {\n\tvalue: string;\n\tlabel?: string;\n\tkey?: string;\n}\n\ninterface OptionWithIdAndMatch extends ComboboxOption {\n\tid: string;\n\tkey: string;\n\tcurrentInputValue: string;\n}\n\n/**\n * A combobox element for text input with selectable options.\n *\n * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/forms-combobox--docs)\n */\nexport class WarpCombobox extends FormControlMixin(LitElement) {\n\t/**\n\t * The available options to select from.\n\t *\n\t * Use this for framework usage, application state, or remote search results. When `options` contains entries, it is used instead of child `<option>` elements.\n\t */\n\t@property({ type: Array })\n\toptions: ComboboxOption[] = [];\n\n\t/**\n\t * The label displayed above the input.\n\t *\n\t * Use this to give the combobox a visible and accessible name.\n\t */\n\t@property({ type: String, reflect: true, useDefault: true })\n\tlabel?: string = \"\";\n\n\t/**\n\t * Placeholder text displayed when the input is empty.\n\t *\n\t * Use this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.\n\t */\n\t@property({ type: String, reflect: true, useDefault: true })\n\tplaceholder?: string = \"\";\n\n\t/**\n\t * The selected or typed value.\n\t *\n\t * When an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.\n\t */\n\t@property({ type: String, reflect: true, useDefault: true })\n\tvalue = \"\";\n\n\t/**\n\t * Whether the option list opens when the input receives focus.\n\t *\n\t * Use this when users should see available options before they start typing.\n\t */\n\t@property({ type: Boolean, attribute: \"open-on-focus\", reflect: true })\n\topenOnFocus = false;\n\n\t/**\n\t * Whether the active option is selected when the input loses focus.\n\t *\n\t * When enabled, the combobox selects the keyboard-highlighted option, or an option whose value exactly matches the current input value, on blur.\n\t */\n\t@property({\n\t\ttype: Boolean,\n\t\tattribute: \"select-on-blur\",\n\t\treflect: true,\n\t\tuseDefault: true,\n\t})\n\tselectOnBlur = true;\n\n\t/**\n\t * Whether matching text segments in options are highlighted.\n\t *\n\t * Use this to visually emphasize the part of each option that matches the current input value.\n\t */\n\t@property({ type: Boolean, attribute: \"match-text-segments\", reflect: true })\n\tmatchTextSegments = false;\n\n\t/**\n\t * Whether built-in client-side filtering is disabled.\n\t *\n\t * Use this for remote search or externally filtered results. When disabled, all entries in `options` are rendered as provided.\n\t */\n\t@property({\n\t\ttype: Boolean,\n\t\tattribute: \"disable-static-filtering\",\n\t\treflect: true,\n\t})\n\tdisableStaticFiltering = false;\n\n\t/**\n\t * Whether the combobox is visually invalid.\n\t *\n\t * Use this to show an externally managed validation error. Pair it with `help-text` to explain how to fix the error.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tinvalid = false;\n\n\t/**\n\t * Help text displayed below the input.\n\t *\n\t * Use this for supporting guidance or validation feedback.\n\t */\n\t@property({\n\t\ttype: String,\n\t\tattribute: \"help-text\",\n\t\treflect: true,\n\t\tuseDefault: true,\n\t})\n\thelpText?: string = \"\";\n\n\t/**\n\t * Whether the combobox is disabled.\n\t *\n\t * Disabled comboboxes cannot be focused, changed, or submitted with form data.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\tdisabled = false;\n\n\t/**\n\t * Whether the combobox is required before form submission.\n\t *\n\t * Use this when the user must provide a value before submitting the form.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\trequired = false;\n\n\t/**\n\t * Whether to show optional text next to the label.\n\t *\n\t * Use this to indicate that the combobox is not required.\n\t */\n\t@property({ type: Boolean, reflect: true })\n\toptional = false;\n\n\t/**\n\t * The name submitted with the combobox value.\n\t *\n\t * Use this when the combobox belongs to a form and its value should be included in form data.\n\t */\n\t@property({ type: String, reflect: true, useDefault: true })\n\tname?: string = \"\";\n\n\t/**\n\t * The autocomplete attribute passed to the internal input.\n\t *\n\t * Defaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.\n\t */\n\t@property({ type: String, reflect: true, useDefault: true })\n\tautocomplete?: string = \"off\";\n\n\t/** @internal Options list open boolean */\n\t@state()\n\tprivate _isOpen = false;\n\n\t/** @internal The option the user has navigated to with their keyboard */\n\t@state()\n\tprivate _navigationOption: OptionWithIdAndMatch | null = null;\n\n\t/** @internal Available options based on user's input value */\n\t@state()\n\tprivate _currentOptions: OptionWithIdAndMatch[] = [];\n\n\t/** @internal Options parsed from light-DOM <option> children */\n\t@state()\n\tprivate _lightDomOptions: ComboboxOption[] = [];\n\n\t/** @internal Unique identifier counter for options */\n\t@state()\n\tprivate _optionIdCounter = 0;\n\n\t/** @internal The text displayed in the input field (may differ from value when option has label) */\n\t@state()\n\tprivate _displayValue = \"\";\n\n\tstatic styles = [reset, styles];\n\n\tconstructor() {\n\t\tsuper();\n\t\tactivateI18n(enMessages, nbMessages, fiMessages, daMessages, svMessages);\n\t}\n\n\t// capture the initial value using firstUpdated and #initialValue\n\t#initialValue = \"\";\n\t#lightDomObserver?: MutationObserver;\n\n\tfirstUpdated() {\n\t\tthis.#initialValue = this.value;\n\t}\n\n\tupdated(changedProperties: Map<string, unknown>): void {\n\t\tif (changedProperties.has(\"value\")) {\n\t\t\tthis.setValue(this.value);\n\t\t}\n\t}\n\n\tresetFormControl(): void {\n\t\tthis.value = this.#initialValue;\n\t}\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\n\t\tthis.#syncOptionsFromLightDom();\n\n\t\tthis.#lightDomObserver = new MutationObserver(() => {\n\t\t\tthis.#syncOptionsFromLightDom();\n\t\t});\n\t\tthis.#lightDomObserver.observe(this, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t\tcharacterData: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [\"label\", \"value\"],\n\t\t});\n\t}\n\n\tdisconnectedCallback() {\n\t\tsuper.disconnectedCallback();\n\t\tthis.#lightDomObserver?.disconnect();\n\t}\n\n\tprivate get _listboxId() {\n\t\treturn `${this._id}-listbox`;\n\t}\n\n\tprivate get _id() {\n\t\treturn \"combobox\";\n\t}\n\n\tprivate get _helpId() {\n\t\treturn this.helpText ? `${this._id}__hint` : undefined;\n\t}\n\n\tprivate get _sourceOptions() {\n\t\treturn Array.isArray(this.options) && this.options.length\n\t\t\t? this.options\n\t\t\t: this._lightDomOptions;\n\t}\n\n\t/** Get the display text for the navigation option or current display value */\n\tprivate get _navigationLabelOrDisplayValue() {\n\t\tif (this._navigationOption) {\n\t\t\treturn this._navigationOption.label || this._navigationOption.value;\n\t\t}\n\t\treturn this._displayValue;\n\t}\n\n\t/** Get the actual value for the navigation option or current value */\n\tprivate get _navigationValueOrInputValue() {\n\t\treturn this._navigationOption?.value || this.value;\n\t}\n\n\t/** Generate options with unique IDs and match information */\n\tprivate _createOptionsWithIdAndMatch(\n\t\toptions: ComboboxOption[],\n\t\tcurrentInputValue: string,\n\t): OptionWithIdAndMatch[] {\n\t\treturn options.map((option, index) => ({\n\t\t\t...option,\n\t\t\tid: `${this._id}-option-${this._optionIdCounter + index}`,\n\t\t\tkey: option.key || option.value,\n\t\t\tcurrentInputValue,\n\t\t}));\n\t}\n\n\t#getOptionNodes() {\n\t\treturn [...this.children].filter(\n\t\t\t(child) => child.tagName.toLowerCase() === \"option\",\n\t\t) as HTMLOptionElement[];\n\t}\n\n\t#syncOptionsFromLightDom() {\n\t\tthis._lightDomOptions = this.#getOptionNodes().map((option) => {\n\t\t\tconst value = option.getAttribute(\"value\") ?? \"\";\n\t\t\tconst label = option.hasAttribute(\"label\")\n\t\t\t\t? (option.getAttribute(\"label\") ?? \"\")\n\t\t\t\t: (option.textContent ?? \"\");\n\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\tlabel,\n\t\t\t\tkey: value,\n\t\t\t};\n\t\t});\n\t}\n\n\t/** Get ARIA text for screen readers */\n\tprivate _getAriaText(\n\t\toptions: OptionWithIdAndMatch[],\n\t\tvalue: string,\n\t\tisOpen: boolean,\n\t) {\n\t\tif (!options || !isOpen) return \"\";\n\n\t\tconst filteredOptionsByInputValue = options.filter((option) =>\n\t\t\t(option.label || option.value)\n\t\t\t\t.toLowerCase()\n\t\t\t\t.includes(value.toLowerCase()),\n\t\t);\n\n\t\tconst pluralSuggestions = i18n._({\n\t\t\tid: \"combobox.aria.pluralSuggestions\",\n\t\t\tmessage:\n\t\t\t\t\"{numSuggestions, plural, one {# suggestion} other {# suggestions}}\",\n\t\t\tcomment: \"Aria text for combobox when there are one or more suggestions\",\n\t\t\tvalues: { numSuggestions: filteredOptionsByInputValue.length },\n\t\t});\n\n\t\tconst noSuggestions = i18n._({\n\t\t\tid: \"combobox.aria.noSuggestions\",\n\t\t\tmessage: \"No suggestions\",\n\t\t\tcomment: \"Aria text for combobox when no suggestions\",\n\t\t});\n\n\t\treturn filteredOptionsByInputValue.length\n\t\t\t? pluralSuggestions\n\t\t\t: noSuggestions;\n\t}\n\n\t/** Get option classes */\n\tprivate _getOptionClasses(option: OptionWithIdAndMatch) {\n\t\treturn classNames(\n\t\t\tccCombobox.option,\n\t\t\tthis._navigationOption?.id === option?.id\n\t\t\t\t? ccCombobox.optionSelected\n\t\t\t\t: ccCombobox.optionUnselected,\n\t\t);\n\t}\n\n\t/** Handle keyboard navigation */\n\tprivate _handleKeyDown(e: KeyboardEvent) {\n\t\tconst isNavigationKey = [\n\t\t\t\"ArrowDown\",\n\t\t\t\"ArrowUp\",\n\t\t\t\"PageUp\",\n\t\t\t\"PageDown\",\n\t\t\t\"Home\",\n\t\t\t\"End\",\n\t\t].includes(e.key);\n\t\tconst ignoreList = [\"ArrowDown\", \"ArrowLeft\", \"ArrowUp\", \"ArrowRight\"];\n\n\t\tif (isNavigationKey && !this._isOpen) {\n\t\t\tthis._isOpen = true;\n\t\t\treturn;\n\t\t}\n\t\tif (isNavigationKey && this._isOpen) {\n\t\t\tthis._findAndSetActiveOption(e);\n\t\t\treturn;\n\t\t}\n\t\tif (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Other keys\n\t\tswitch (e.key) {\n\t\t\tcase \"Enter\":\n\t\t\t\tif (this._navigationOption) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tthis._handleSelect(this._navigationOption);\n\n\t\t\t\t\t// Force update the textfield's internal input value with the label\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\tconst textfield = this.shadowRoot?.querySelector(\"w-textfield\");\n\t\t\t\t\t\tconst input = textfield?.shadowRoot?.querySelector(\"input\");\n\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\tinput.value = this._displayValue;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthis._isOpen = false;\n\t\t\t\tbreak;\n\t\t\tcase \"Tab\":\n\t\t\tcase \"Delete\":\n\t\t\t\tthis._isOpen = false;\n\t\t\t\tbreak;\n\t\t\tcase \"Escape\":\n\t\t\t\tif (this._isOpen) {\n\t\t\t\t\tthis._isOpen = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis._handleChange(\"\");\n\t\t\t\t}\n\t\t\t\tthis._navigationOption = null;\n\t\t\t\tbreak;\n\t\t\tcase \"Backspace\":\n\t\t\t\tthis._handleChange(this._navigationLabelOrDisplayValue);\n\t\t\t\tthis._navigationOption = null;\n\t\t\t\tthis._isOpen = true;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tif (ignoreList.includes(e.key)) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tthis._isOpen = true;\n\t\t\t\tif (this._navigationOption) {\n\t\t\t\t\tthis._handleChange(this._navigationOption.value);\n\t\t\t\t\tthis._navigationOption = null;\n\t\t\t\t} else {\n\t\t\t\t\tthis._handleChange(this.value);\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/** Find and set active option based on keyboard navigation */\n\tprivate _findAndSetActiveOption(e: KeyboardEvent) {\n\t\te.preventDefault();\n\n\t\tconst currIndex = this._currentOptions.findIndex(\n\t\t\t(option) => option.id === this._navigationOption?.id,\n\t\t);\n\t\tconst nextIndex = currIndex + 1;\n\t\tconst prevIndex = currIndex - 1;\n\n\t\tswitch (e.key) {\n\t\t\tcase \"ArrowDown\":\n\t\t\t\tthis._navigationOption =\n\t\t\t\t\tnextIndex > this._currentOptions.length - 1\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: this._currentOptions[nextIndex];\n\t\t\t\tbreak;\n\t\t\tcase \"ArrowUp\":\n\t\t\t\tthis._navigationOption =\n\t\t\t\t\tprevIndex === -2\n\t\t\t\t\t\t? (this._currentOptions.at(-1) ?? null)\n\t\t\t\t\t\t: prevIndex < 0\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: this._currentOptions[prevIndex];\n\t\t\t\tbreak;\n\t\t\tcase \"PageUp\":\n\t\t\t\tthis._navigationOption =\n\t\t\t\t\tcurrIndex - 10 < 0\n\t\t\t\t\t\t? this._currentOptions[0]\n\t\t\t\t\t\t: this._currentOptions[currIndex - 10];\n\t\t\t\tbreak;\n\t\t\tcase \"PageDown\":\n\t\t\t\tthis._navigationOption =\n\t\t\t\t\tcurrIndex + 10 > this._currentOptions.length - 1\n\t\t\t\t\t\t? (this._currentOptions.at(-1) ?? null)\n\t\t\t\t\t\t: (this._currentOptions[currIndex + 10] ?? null);\n\t\t\t\tbreak;\n\t\t\tcase \"Home\":\n\t\t\t\tthis._navigationOption = this._currentOptions[0];\n\t\t\t\tbreak;\n\t\t\tcase \"End\":\n\t\t\t\tthis._navigationOption = this._currentOptions.at(-1) ?? null;\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t/** Handle option selection */\n\tprivate _handleSelect(option: OptionWithIdAndMatch) {\n\t\tthis.value = option.value;\n\t\tthis._displayValue = option.label || option.value;\n\t\tthis.setValue(this.value);\n\n\t\tconst selectEvent = new CustomEvent(\"select\", {\n\t\t\tdetail: { value: option.value },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t\tthis.dispatchEvent(selectEvent);\n\n\t\tthis._isOpen = false;\n\t\tthis._navigationOption = null;\n\n\t\t// Set empty states on select and clear when dynamic list\n\t\tif (this.disableStaticFiltering) {\n\t\t\tthis._currentOptions = [];\n\t\t}\n\t}\n\n\t/** Handle input change */\n\tprivate _handleChange(newValue: string) {\n\t\tif (newValue === undefined) return;\n\n\t\tthis.value = newValue;\n\t\tthis._displayValue = newValue;\n\n\t\tconst changeEvent = new CustomEvent(\"change\", {\n\t\t\tdetail: { value: newValue },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t\tthis.dispatchEvent(changeEvent);\n\t}\n\n\t/** Handle input focus */\n\tprivate _handleFocus() {\n\t\tif (!this.openOnFocus) return;\n\n\t\tconst focusEvent = new CustomEvent(\"focus\", {\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t\tthis.dispatchEvent(focusEvent);\n\n\t\tthis._isOpen = true;\n\t}\n\n\t/** Handle input blur */\n\tprivate _handleBlur(e: FocusEvent) {\n\t\t// Check if focus moved to an option\n\t\tconst relatedTarget = e.relatedTarget as Element;\n\t\tif (relatedTarget && this.shadowRoot?.contains(relatedTarget)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._isOpen = false;\n\n\t\t// If user has navigated to an option on blur || the input value equals one of the options' value -> select value\n\t\tif (\n\t\t\tthis.selectOnBlur &&\n\t\t\t(this._navigationOption ||\n\t\t\t\t(!this._navigationOption &&\n\t\t\t\t\tthis._currentOptions.findIndex((o) => o.value === this.value) !== -1))\n\t\t) {\n\t\t\tconst selectedValue = this._navigationOption?.value || this.value;\n\t\t\tthis.value = selectedValue;\n\n\t\t\tconst selectEvent = new CustomEvent(\"select\", {\n\t\t\t\tdetail: { value: selectedValue },\n\t\t\t\tbubbles: true,\n\t\t\t\tcomposed: true,\n\t\t\t});\n\t\t\tthis.dispatchEvent(selectEvent);\n\t\t}\n\n\t\tthis._navigationOption = null;\n\n\t\tconst blurEvent = new CustomEvent(\"blur\", {\n\t\t\tdetail: { value: this._navigationValueOrInputValue },\n\t\t\tbubbles: true,\n\t\t\tcomposed: true,\n\t\t});\n\t\tthis.dispatchEvent(blurEvent);\n\t}\n\n\t/** Handle option click */\n\tprivate _handleOptionClick(e: MouseEvent, option: OptionWithIdAndMatch) {\n\t\tthis._handleSelect(option);\n\n\t\t// Force update the textfield's internal input value with the label\n\t\trequestAnimationFrame(() => {\n\t\t\tconst textfield = this.shadowRoot?.querySelector(\"w-textfield\");\n\t\t\tconst input = textfield?.shadowRoot?.querySelector(\"input\");\n\t\t\tif (input) {\n\t\t\t\tinput.value = option.label || option.value;\n\t\t\t}\n\t\t});\n\t}\n\n\t/** Handle container blur */\n\tprivate _handleContainerBlur(e: FocusEvent) {\n\t\tconst isClickOutsideContainer =\n\t\t\t!e.currentTarget ||\n\t\t\t!(e.currentTarget as Element).contains(e.relatedTarget as Element);\n\t\tif (isClickOutsideContainer) {\n\t\t\tthis._isOpen = false;\n\t\t}\n\t}\n\n\t/** Render highlighted text match */\n\tprivate _renderTextMatch(display: string, option: OptionWithIdAndMatch) {\n\t\tif (!this.matchTextSegments) return display;\n\n\t\tconst startIdx = display\n\t\t\t.toLowerCase()\n\t\t\t.indexOf(option.currentInputValue.toLowerCase());\n\n\t\tif (startIdx !== -1) {\n\t\t\tconst endIdx = startIdx + option.currentInputValue.length;\n\t\t\treturn html`${display.substring(0, startIdx)}<span\n\t\t\t\t\tclass=\"${ccCombobox.textMatch}\"\n\t\t\t\t\t>${display.substring(startIdx, endIdx)}</span\n\t\t\t\t>${display.substring(endIdx)}`;\n\t\t}\n\n\t\treturn display;\n\t}\n\n\tprotected willUpdate(changedProperties: PropertyValues<this>) {\n\t\tconst options = this._sourceOptions;\n\t\tconst lightDomOptionsChanged = (\n\t\t\tchangedProperties as Map<string, unknown>\n\t\t).has(\"_lightDomOptions\");\n\n\t\t// Sync _displayValue when value or options change externally (before filtering)\n\t\tif (\n\t\t\tchangedProperties.has(\"value\") ||\n\t\t\tchangedProperties.has(\"options\") ||\n\t\t\tlightDomOptionsChanged\n\t\t) {\n\t\t\tconst matchingOption = options.find((o) => o.value === this.value);\n\t\t\t// Only sync if this is an external value change (not from user typing)\n\t\t\t// We detect this by checking if _displayValue doesn't match the expected label\n\t\t\tconst expectedDisplay = matchingOption\n\t\t\t\t? matchingOption.label || matchingOption.value\n\t\t\t\t: this.value;\n\t\t\tif (\n\t\t\t\tthis._displayValue !== expectedDisplay &&\n\t\t\t\tthis._displayValue !== this.value\n\t\t\t) {\n\t\t\t\tthis._displayValue = expectedDisplay;\n\t\t\t}\n\t\t\t// Handle initial value or external value set\n\t\t\tif (!this._displayValue && this.value) {\n\t\t\t\tthis._displayValue = expectedDisplay;\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\tchangedProperties.has(\"options\") ||\n\t\t\tlightDomOptionsChanged ||\n\t\t\tchangedProperties.has(\"value\") ||\n\t\t\tchangedProperties.has(\"disableStaticFiltering\") ||\n\t\t\t(changedProperties as Map<string, unknown>).has(\"_displayValue\")\n\t\t) {\n\t\t\tthis._optionIdCounter += options.length;\n\n\t\t\tthis._currentOptions = this._createOptionsWithIdAndMatch(\n\t\t\t\toptions,\n\t\t\t\tthis._displayValue,\n\t\t\t).filter((option) =>\n\t\t\t\t!this.disableStaticFiltering\n\t\t\t\t\t? (option.label || option.value)\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.includes(this._displayValue.toLowerCase())\n\t\t\t\t\t: true,\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\tthis.disableStaticFiltering &&\n\t\t\tthis._currentOptions.length &&\n\t\t\tthis._currentOptions.length === 1 &&\n\t\t\t!this._currentOptions.some((o) => o.value === this.value) &&\n\t\t\t!this._isOpen\n\t\t) {\n\t\t\tthis._isOpen = true;\n\t\t}\n\t}\n\n\trender() {\n\t\treturn html`\n\t\t\t<div\n\t\t\t\tclass=${classNames(ccCombobox.wrapper)}\n\t\t\t\t@blur=${this._handleContainerBlur}\n\t\t\t>\n\t\t\t\t<w-textfield\n\t\t\t\t\tclass=\"w-combobox-textfield\"\n\t\t\t\t\t.value=${this._navigationLabelOrDisplayValue}\n\t\t\t\t\t.label=${this.label}\n\t\t\t\t\t.placeholder=${this.placeholder}\n\t\t\t\t\t.invalid=${this.invalid}\n\t\t\t\t\t.helpText=${this.helpText}\n\t\t\t\t\t.disabled=${this.disabled}\n\t\t\t\t\t.required=${this.required}\n\t\t\t\t\t.optional=${this.optional}\n\t\t\t\t\t.name=${this.name}\n\t\t\t\t\t.autocomplete=\"${this.autocomplete || \"off\"}\"\n\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\taria-expanded=${this._isOpen && this._currentOptions.length !== 0}\n\t\t\t\t\taria-activedescendant=${ifDefined(\n\t\t\t\t\t\tthis._isOpen ? this._navigationOption?.id : undefined,\n\t\t\t\t\t)}\n\t\t\t\t\taria-controls=${this._listboxId}\n\t\t\t\t\t@input=${(e: CustomEvent) => this._handleChange(e?.detail?.value)}\n\t\t\t\t\t@focus=${this._handleFocus}\n\t\t\t\t\t@blur=${this._handleBlur}\n\t\t\t\t\t@keydown=${this._handleKeyDown}\n\t\t\t\t></w-textfield>\n\n\t\t\t\t<span class=\"${ccCombobox.a11y}\" role=\"status\">\n\t\t\t\t\t${this._getAriaText(\n\t\t\t\t\t\tthis._currentOptions,\n\t\t\t\t\t\tthis._displayValue,\n\t\t\t\t\t\tthis._isOpen,\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\n\t\t\t\t<div\n\t\t\t\t\t?hidden=${!this._isOpen || !this._currentOptions.length}\n\t\t\t\t\tclass=${classNames(ccCombobox.base)}\n\t\t\t\t>\n\t\t\t\t\t<ul\n\t\t\t\t\t\tid=${this._listboxId}\n\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\tclass=\"${ccCombobox.listbox}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t${repeat(\n\t\t\t\t\t\t\tthis._currentOptions,\n\t\t\t\t\t\t\t(option) => option.key,\n\t\t\t\t\t\t\t(option) => {\n\t\t\t\t\t\t\t\tconst display = option.label || option.value;\n\t\t\t\t\t\t\t\treturn html`\n\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\tid=${option.id}\n\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\taria-selected=${this._navigationOption?.id === option.id}\n\t\t\t\t\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t\t\t\t\tclass=${this._getOptionClasses(option)}\n\t\t\t\t\t\t\t\t\t\t@mousedown=${(e: MouseEvent) =>\n\t\t\t\t\t\t\t\t\t\t\tthis._handleOptionClick(e, option)}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t${this._renderTextMatch(display, option)}\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t`;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t)}\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n}\n\nif (!customElements.get(\"w-combobox\")) {\n\tcustomElements.define(\"w-combobox\", WarpCombobox);\n}\n", "import { i18n, Messages } from \"@lingui/core\";\n\nexport const supportedLocales = [\"en\", \"nb\", \"fi\", \"da\", \"sv\"] as const;\ntype SupportedLocale = (typeof supportedLocales)[number];\n\nexport const defaultLocale = \"en\";\n\nexport const getSupportedLocale = (usedLocale: string) => {\n\treturn (\n\t\tsupportedLocales.find(\n\t\t\t(locale) =>\n\t\t\t\tusedLocale === locale || usedLocale.toLowerCase().includes(locale),\n\t\t) || defaultLocale\n\t);\n};\n\nexport function detectLocale(): SupportedLocale {\n\tif (typeof window === \"undefined\") {\n\t\t/**\n\t\t * Server locale detection. This requires e.g LANG environment variable to be set on the server.\n\t\t */\n\t\tconst serverLocale =\n\t\t\tprocess.env.NMP_LANGUAGE ||\n\t\t\tIntl.DateTimeFormat().resolvedOptions().locale;\n\t\treturn getSupportedLocale(serverLocale);\n\t}\n\n\ttry {\n\t\t/**\n\t\t * Client locale detection. Expects the lang attribute to be defined.\n\t\t */\n\t\tconst htmlLocale = getDocumentLang(document);\n\t\tif (htmlLocale) {\n\t\t\treturn getSupportedLocale(htmlLocale);\n\t\t}\n\n\t\tconst frameLocale = getFrameElementLang();\n\t\tif (frameLocale) {\n\t\t\treturn getSupportedLocale(frameLocale);\n\t\t}\n\n\t\tconst parentLocale = getDocumentLang(getParentDocument());\n\t\tif (parentLocale) {\n\t\t\treturn getSupportedLocale(parentLocale);\n\t\t}\n\n\t\treturn defaultLocale;\n\t} catch (e) {\n\t\tconsole.warn(\"could not detect locale, falling back to source locale\", e);\n\t\treturn defaultLocale;\n\t}\n}\n\nexport const getMessages = (\n\tlocale: SupportedLocale,\n\tenMsg: Messages,\n\tnbMsg: Messages,\n\tfiMsg: Messages,\n\tdaMsg: Messages,\n\tsvMsg: Messages,\n) => {\n\tif (locale === \"nb\") return nbMsg;\n\tif (locale === \"fi\") return fiMsg;\n\tif (locale === \"da\") return daMsg;\n\tif (locale === \"sv\") return svMsg;\n\t// Default to English\n\treturn enMsg;\n};\n\nexport const activateI18n = (\n\tenMessages: Messages,\n\tnbMessages: Messages,\n\tfiMessages: Messages,\n\tdaMessages: Messages,\n\tsvMessages: Messages,\n) => {\n\t// Load all locales upfront to support dynamic locale switching\n\ti18n.load(\"en\", enMessages);\n\ti18n.load(\"nb\", nbMessages);\n\ti18n.load(\"fi\", fiMessages);\n\ti18n.load(\"da\", daMessages);\n\ti18n.load(\"sv\", svMessages);\n\n\tconst locale = detectLocale();\n\ti18n.activate(locale);\n\tnotifyI18nChange();\n\n\tsetupLangObserver();\n};\n\nexport const I18N_CHANGE_EVENT = \"warp-i18n-change\";\n\nexport function notifyI18nChange() {\n\tif (typeof window === \"undefined\") return;\n\twindow.dispatchEvent(new Event(I18N_CHANGE_EVENT));\n}\n\nlet langObserverInitialized = false;\n\nfunction setupLangObserver() {\n\tif (langObserverInitialized) return;\n\tif (typeof window === \"undefined\") return;\n\tif (!document?.documentElement) return;\n\n\tlangObserverInitialized = true;\n\n\tconst handleLangChange = () => {\n\t\tconst nextLocale = detectLocale();\n\t\tif (i18n.locale !== nextLocale) {\n\t\t\ti18n.activate(nextLocale);\n\t\t\tnotifyI18nChange();\n\t\t}\n\t};\n\n\tconst observer = new MutationObserver((mutations) => {\n\t\tfor (const mutation of mutations) {\n\t\t\tif (mutation.type === \"attributes\" && mutation.attributeName === \"lang\") {\n\t\t\t\thandleLangChange();\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t});\n\n\tobserver.observe(document.documentElement, {\n\t\tattributes: true,\n\t\tattributeFilter: [\"lang\"],\n\t});\n\n\tconst parentDocument = getParentDocument();\n\tif (\n\t\tparentDocument &&\n\t\tparentDocument.documentElement &&\n\t\tparentDocument !== document\n\t) {\n\t\tobserver.observe(parentDocument.documentElement, {\n\t\t\tattributes: true,\n\t\t\tattributeFilter: [\"lang\"],\n\t\t});\n\t}\n\n\tconst frameEl = getFrameElement();\n\tif (frameEl) {\n\t\tobserver.observe(frameEl, { attributes: true, attributeFilter: [\"lang\"] });\n\t}\n}\n\nfunction getParentDocument(): Document | null {\n\ttry {\n\t\treturn window.parent?.document ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction getDocumentLang(doc: Document | null | undefined): string {\n\ttry {\n\t\treturn doc?.documentElement?.lang ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n\nfunction getFrameElement(): HTMLElement | null {\n\ttry {\n\t\treturn (window.frameElement as HTMLElement | null) ?? null;\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction getFrameElementLang(): string {\n\ttry {\n\t\treturn window.frameElement?.getAttribute?.(\"lang\") ?? \"\";\n\t} catch {\n\t\treturn \"\";\n\t}\n}\n", "import { css } from \"lit\";\n\nexport const reset = css`\n\t*,\n\t:before,\n\t:after {\n\t\tbox-sizing: border-box;\n\t\tborder-style: solid;\n\t\tborder-width: 0;\n\t\tborder-color: var(--w-s-color-border);\n\t}\n\thtml {\n\t\tfont-size: 62.5%;\n\t}\n\tbody {\n\t\tbackground-color: var(--w-s-color-background);\n\t\tmin-height: 100%;\n\t\tmargin: 0;\n\t\toverflow-y: scroll;\n\t}\n\tbody,\n\t:host {\n\t\t-webkit-text-size-adjust: 100%;\n\t\ttab-size: 4;\n\t\t-webkit-tap-highlight-color: transparent;\n\t\tfont-family: var(--w-font-family);\n\t\tfont-size: var(--w-font-size-m);\n\t\tline-height: var(--w-line-height-m);\n\t\tcolor: var(--w-s-color-text);\n\t}\n\thr {\n\t\tcolor: inherit;\n\t\tborder-top-width: 1px;\n\t\theight: 0;\n\t}\n\tabbr:where([title]) {\n\t\t-webkit-text-decoration: underline dotted;\n\t\ttext-decoration: underline dotted;\n\t}\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6 {\n\t\tfont-size: inherit;\n\t\tfont-weight: 700;\n\t}\n\ta {\n\t\tcursor: pointer;\n\t\tcolor: var(--w-s-color-text-link);\n\t\ttext-decoration: none;\n\t}\n\ta:hover,\n\ta:focus,\n\ta:active {\n\t\ttext-decoration: underline;\n\t}\n\ta:focus-visible {\n\t\toutline: 2px solid var(--w-s-color-border-focus);\n\t\toutline-offset: 1px;\n\t}\n\tb,\n\tstrong {\n\t\tfont-weight: 700;\n\t}\n\tcode,\n\tkbd,\n\tsamp,\n\tpre {\n\t\tfont-family:\n\t\t\tui-monospace,\n\t\t\tSFMono-Regular,\n\t\t\tMenlo,\n\t\t\tMonaco,\n\t\t\tConsolas,\n\t\t\tLiberation Mono,\n\t\t\tCourier New,\n\t\t\tmonospace;\n\t\tfont-size: 1em;\n\t}\n\tsub,\n\tsup {\n\t\tvertical-align: baseline;\n\t\tfont-size: 75%;\n\t\tline-height: 0;\n\t\tposition: relative;\n\t}\n\tsub {\n\t\tbottom: -0.25em;\n\t}\n\tsup {\n\t\ttop: -0.5em;\n\t}\n\ttable {\n\t\ttext-indent: 0;\n\t\tborder-color: inherit;\n\t\tborder-collapse: collapse;\n\t}\n\tbutton,\n\tinput,\n\toptgroup,\n\tselect,\n\ttextarea {\n\t\tfont-family: inherit;\n\t\tfont-size: 100%;\n\t\tfont-weight: inherit;\n\t\tline-height: inherit;\n\t\tcolor: inherit;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tbutton,\n\tselect {\n\t\ttext-transform: none;\n\t}\n\tbutton,\n\t[type=\"button\"],\n\t[type=\"reset\"],\n\t[type=\"submit\"] {\n\t\t-webkit-appearance: button;\n\t}\n\t:-moz-focusring {\n\t\toutline: auto;\n\t}\n\t:-moz-ui-invalid {\n\t\tbox-shadow: none;\n\t}\n\tprogress {\n\t\tvertical-align: baseline;\n\t}\n\t::-webkit-inner-spin-button {\n\t\theight: auto;\n\t}\n\t::-webkit-outer-spin-button {\n\t\theight: auto;\n\t}\n\t[type=\"search\"] {\n\t\t-webkit-appearance: textfield;\n\t\toutline-offset: -2px;\n\t}\n\t::-webkit-search-decoration {\n\t\t-webkit-appearance: none;\n\t}\n\t::-webkit-file-upload-button {\n\t\t-webkit-appearance: button;\n\t\tfont: inherit;\n\t}\n\tsummary {\n\t\tdisplay: list-item;\n\t}\n\tblockquote,\n\tdl,\n\tdd,\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\th6,\n\thr,\n\tfigure,\n\tp,\n\tpre {\n\t\tmargin: 0;\n\t}\n\tfieldset {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t}\n\tlegend {\n\t\tpadding: 0;\n\t}\n\tol,\n\tul,\n\tmenu {\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tlist-style: none;\n\t}\n\ttextarea {\n\t\tresize: vertical;\n\t}\n\tinput::placeholder,\n\ttextarea::placeholder {\n\t\topacity: 1;\n\t\tcolor: var(--w-s-color-text-placeholder);\n\t}\n\tbutton,\n\t[role=\"button\"] {\n\t\tcursor: pointer;\n\t}\n\t:disabled {\n\t\tcursor: default;\n\t}\n\timg,\n\tsvg,\n\tvideo,\n\tcanvas,\n\taudio,\n\tiframe,\n\tembed,\n\tobject {\n\t\tvertical-align: middle;\n\t\tdisplay: block;\n\t}\n\timg,\n\tvideo {\n\t\tmax-width: 100%;\n\t\theight: auto;\n\t}\n\th1 {\n\t\tfont-size: var(--w-font-size-xxl);\n\t\tline-height: var(--w-line-height-xxl);\n\t}\n\th2 {\n\t\tfont-size: var(--w-font-size-xl);\n\t\tline-height: var(--w-line-height-xl);\n\t}\n\th3 {\n\t\tfont-size: var(--w-font-size-l);\n\t\tline-height: var(--w-line-height-l);\n\t}\n\th4 {\n\t\tfont-size: var(--w-font-size-m);\n\t\tline-height: var(--w-line-height-m);\n\t}\n\th5 {\n\t\tfont-size: var(--w-font-size-s);\n\t\tline-height: var(--w-line-height-s);\n\t}\n\tdt,\n\tdd {\n\t\tmargin: 0 16px;\n\t}\n\th1,\n\th2,\n\th3,\n\th4,\n\th5,\n\tul,\n\tol,\n\tdl,\n\tp,\n\tblockquote {\n\t\tmargin: 0 0 8px;\n\t}\n\t[hidden] {\n\t\tdisplay: none !important;\n\t}\n\t[tabindex=\"-1\"]:focus:not(:focus-visible) {\n\t\toutline: none;\n\t}\n\tlegend {\n\t\tfloat: left;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t\tpadding: 0;\n\t\tdisplay: table;\n\t}\n\tlegend + * {\n\t\tclear: both;\n\t}\n\tfieldset {\n\t\tborder: 0;\n\t\tmin-width: 0;\n\t\tmargin: 0;\n\t\tpadding: 0.01em 0 0;\n\t}\n\tbody:not(:-moz-handler-blocked) fieldset {\n\t\tdisplay: table-cell;\n\t}\n\tsvg {\n\t\tpointer-events: none;\n\t}\n`;\nimport { unsafeCSS } from \"lit\";\n\n// prettier-ignore\nexport const components = unsafeCSS(`*, :before, :after {\n --w-rotate: 0;\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-scale-x: 1;\n --w-scale-y: 1;\n --w-scale-z: 1;\n --w-skew-x: 0;\n --w-skew-y: 0;\n --w-translate-x: 0;\n --w-translate-y: 0;\n --w-translate-z: 0\n }\n\n .h4, .t4 {\n font-weight: 700;\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .t3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n\n @media (min-width: 480px) {\n .sm\\\\:h3 {\n font-weight: 700;\n font-size: var(--w-font-size-l);\n line-height: var(--w-line-height-l)\n }\n }\n\n .text-center {\n text-align: center\n }\n\n .before\\\\:text-center:before {\n text-align: center\n }\n\n .text-left {\n text-align: left\n }\n\n .text-right {\n text-align: right\n }\n\n .align-middle {\n vertical-align: middle\n }\n\n .animate-inprogress {\n background-image: linear-gradient(135deg, rgba(0, 0, 0, .05) 25%, transparent 0, transparent 50%, rgba(0, 0, 0, .05) 0, rgba(0, 0, 0, .05) 75%, transparent 0, transparent) !important;\n background-size: 30px 30px;\n animation: animate-inprogress 3s linear infinite\n }\n\n @keyframes animate-inprogress {\n 0% {\n background-position: 0 0\n }\n to {\n background-position: 60px 0\n }\n }\n\n .\\\\[--w-modal-max-height\\\\:80\\\\%\\\\] {\n --w-modal-max-height: 80%\n }\n\n .\\\\[--w-modal-width\\\\:640px\\\\] {\n --w-modal-width: 640px\n }\n\n .focus\\\\:\\\\[--w-outline-offset\\\\:-2px\\\\]:focus {\n --w-outline-offset: -2px\n }\n\n .backdrop-blur {\n -webkit-backdrop-filter: blur(4px);\n backdrop-filter: blur(4px)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-center:before {\n background-position: center\n }\n\n .hover\\\\:bg-clip-padding:hover {\n -webkit-background-clip: padding-box;\n background-clip: padding-box\n }\n\n .bg-transparent, .group\\\\/steph:first-child .group-first\\\\/steph\\\\:bg-transparent, .group\\\\/steph:last-child .group-last\\\\/steph\\\\:bg-transparent {\n background-color: transparent\n }\n\n .bg-\\\\[--w-black\\\\/25\\\\] {\n background-color: rgba(var(--w-rgb-black), .25)\n }\n\n .bg-\\\\[--w-black\\\\/70\\\\], .bg-\\\\[var\\\\(--w-black\\\\)\\\\/70\\\\] {\n background-color: rgba(var(--w-rgb-black), .7)\n }\n\n .bg-\\\\[--w-color-badge-info-background\\\\] {\n background-color: var(--w-color-badge-info-background)\n }\n\n .bg-\\\\[--w-color-badge-negative-background\\\\] {\n background-color: var(--w-color-badge-negative-background)\n }\n\n .bg-\\\\[--w-color-badge-neutral-background\\\\] {\n background-color: var(--w-color-badge-neutral-background)\n }\n\n .bg-\\\\[--w-color-badge-positive-background\\\\] {\n background-color: var(--w-color-badge-positive-background)\n }\n\n .bg-\\\\[--w-color-badge-sponsored-background\\\\] {\n background-color: var(--w-color-badge-sponsored-background)\n }\n\n .bg-\\\\[--w-color-badge-warning-background\\\\] {\n background-color: var(--w-color-badge-warning-background)\n }\n\n .bg-\\\\[--w-color-button-primary-background\\\\] {\n background-color: var(--w-color-button-primary-background)\n }\n\n .bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\] {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .bg-\\\\[--w-color-callout-background\\\\] {\n background-color: var(--w-color-callout-background)\n }\n\n .bg-\\\\[--w-color-pill-suggestion-background\\\\] {\n background-color: var(--w-color-pill-suggestion-background)\n }\n\n .bg-\\\\[--w-color-switch-track-background\\\\] {\n background-color: var(--w-color-switch-track-background)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-100\\\\] {\n background-color: var(--w-s-color-surface-elevated-100)\n }\n\n .bg-\\\\[--w-s-color-surface-elevated-300\\\\] {\n background-color: var(--w-s-color-surface-elevated-300)\n }\n\n .bg-\\\\[--w-s-icon-selected\\\\] {\n background-color: var(--w-s-icon-selected)\n }\n\n .group:hover .group-hover\\\\:bg-\\\\[--w-color-switch-track-background-hover\\\\] {\n background-color: var(--w-color-switch-track-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-pill-background-hover\\\\]:hover {\n background-color: var(--w-color-button-pill-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-button-primary-background-hover\\\\]:hover {\n background-color: var(--w-color-button-primary-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-buttongroup-utility-background-hover\\\\]:hover {\n background-color: var(--w-color-buttongroup-utility-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-color-pill-suggestion-background-hover\\\\]:hover {\n background-color: var(--w-color-pill-suggestion-background-hover)\n }\n\n .hover\\\\:bg-\\\\[--w-s-icon-subtle\\\\]:hover {\n background-color: var(--w-s-icon-subtle)\n }\n\n .hover\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\/85\\\\]:hover {\n background-color: rgba(var(--w-rgb-black), .85)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-pill-background-active\\\\]:active {\n background-color: var(--w-color-button-pill-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-button-primary-background-active\\\\]:active {\n background-color: var(--w-color-button-primary-background-active)\n }\n\n .active\\\\:bg-\\\\[--w-color-buttongroup-utility-background-selected\\\\]:active {\n background-color: var(--w-color-buttongroup-utility-background-selected)\n }\n\n .active\\\\:bg-\\\\[--w-color-pill-suggestion-background-active\\\\]:active {\n background-color: var(--w-color-pill-suggestion-background-active)\n }\n\n .active\\\\:bg-\\\\[var\\\\(--w-black\\\\)\\\\]:active {\n background-color: var(--w-black)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:bg-\\\\[url\\\\(var\\\\(--w-icon-toggle-checked\\\\)\\\\)\\\\]:before {\n background-image: var(--w-icon-toggle-checked)\n }\n\n .appearance-none {\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none\n }\n\n .will-change-height {\n will-change: height\n }\n\n .border, .border-1 {\n border-width: 1px\n }\n\n .border-b {\n border-bottom-width: 1px\n }\n\n .before\\\\:border:before {\n border-width: 1px\n }\n\n .border-0 {\n border-width: 0\n }\n\n .border-2 {\n border-width: 2px\n }\n\n .border-b-0 {\n border-bottom-width: 0\n }\n\n .border-b-4 {\n border-bottom-width: 4px\n }\n\n .border-l-4 {\n border-left-width: 4px\n }\n\n .border-r-0, .group:not(:last-of-type) .group-not-last-of-type\\\\:border-r-0 {\n border-right-width: 0\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:border-\\\\[6\\\\]:before {\n border-width: .6rem\n }\n\n .border-transparent {\n border-color: transparent\n }\n\n .border-\\\\[--w-color-buttongroup-utility-border\\\\] {\n border-color: var(--w-color-buttongroup-utility-border)\n }\n\n .border-\\\\[--w-color-callout-border\\\\] {\n border-color: var(--w-color-callout-border)\n }\n\n .border-\\\\[--w-s-color-background-inverted\\\\] {\n border-color: var(--w-s-color-background-inverted)\n }\n\n .border-\\\\[--w-s-color-surface-elevated-300\\\\] {\n border-color: var(--w-s-color-surface-elevated-300)\n }\n\n .active\\\\:border-\\\\[--w-color-buttongroup-utility-border-selected\\\\]:active {\n border-color: var(--w-color-buttongroup-utility-border-selected)\n }\n\n .divide-x > * + * {\n --w-divide-x-reverse: 0;\n border-left-width: calc(1px * calc(1 - var(--w-divide-x-reverse)));\n border-right-width: calc(1px * var(--w-divide-x-reverse))\n }\n\n .divide-y > * + * {\n --w-divide-y-reverse: 0;\n border-top-width: calc(1px * calc(1 - var(--w-divide-y-reverse)));\n border-bottom-width: calc(1px * var(--w-divide-y-reverse))\n }\n\n .rounded-4 {\n border-radius: 4px\n }\n\n .rounded-8 {\n border-radius: 8px\n }\n\n .rounded-full {\n border-radius: 9999px\n }\n\n .before\\\\:rounded-2:before {\n border-radius: 2px\n }\n\n .before\\\\:rounded-full:before {\n border-radius: 9999px\n }\n\n .rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-bl-0 {\n border-bottom-left-radius: 0\n }\n\n .rounded-br-0 {\n border-bottom-right-radius: 0\n }\n\n .rounded-l-0 {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0\n }\n\n .rounded-l-full {\n border-top-left-radius: 9999px;\n border-bottom-left-radius: 9999px\n }\n\n .rounded-r-0 {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0\n }\n\n .rounded-r-full {\n border-top-right-radius: 9999px;\n border-bottom-right-radius: 9999px\n }\n\n .rounded-tl-0 {\n border-top-left-radius: 0\n }\n\n .rounded-tl-4 {\n border-top-left-radius: 4px\n }\n\n .rounded-tr-0 {\n border-top-right-radius: 0\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-bl-8 {\n border-bottom-left-radius: 8px\n }\n\n .group:first-of-type .group-first-of-type\\\\:rounded-tl-8 {\n border-top-left-radius: 8px\n }\n\n .first\\\\:rounded-lb-4:first-child {\n border-bottom-left-radius: 4px\n }\n\n .first\\\\:rounded-lt-4:first-child {\n border-top-left-radius: 4px\n }\n\n .first\\\\:rounded-rt-4:first-child {\n border-top-right-radius: 4px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-br-8 {\n border-bottom-right-radius: 8px\n }\n\n .group:last-of-type .group-last-of-type\\\\:rounded-tr-8 {\n border-top-right-radius: 8px\n }\n\n .last\\\\:rounded-lb-4:last-child {\n border-bottom-left-radius: 4px\n }\n\n .last\\\\:rounded-rb-4:last-child {\n border-bottom-right-radius: 4px\n }\n\n .last\\\\:rounded-rt-4:last-child {\n border-top-right-radius: 4px\n }\n\n .caret-current {\n caret-color: currentColor\n }\n\n .opacity-25 {\n opacity: 25%\n }\n\n .block {\n display: block\n }\n\n .before\\\\:block:before {\n display: block\n }\n\n .inline-block {\n display: inline-block\n }\n\n .inline {\n display: inline\n }\n\n .flex, .open\\\\:flex[open] {\n display: flex\n }\n\n .inline-flex {\n display: inline-flex\n }\n\n .grid {\n display: grid\n }\n\n .inline-grid {\n display: inline-grid\n }\n\n .hidden, .group\\\\/stepv:last-child .group-last\\\\/stepv\\\\:hidden {\n display: none\n }\n\n .before\\\\:hidden:before {\n display: none\n }\n\n .hover\\\\:underline:hover {\n text-decoration-line: underline\n }\n\n .focus\\\\:underline:focus {\n text-decoration-line: underline\n }\n\n .focus-visible\\\\:underline:focus-visible {\n text-decoration-line: underline\n }\n\n .active\\\\:underline:active {\n text-decoration-line: underline\n }\n\n .hover\\\\:no-underline:hover {\n text-decoration: none\n }\n\n .focus\\\\:no-underline:focus {\n text-decoration: none\n }\n\n .active\\\\:no-underline:active {\n text-decoration: none\n }\n\n .flex-1 {\n flex: 1 1 0%\n }\n\n .shrink {\n flex-shrink: 1\n }\n\n .shrink-0 {\n flex-shrink: 0\n }\n\n .shrink-0\\\\! {\n flex-shrink: 0 !important\n }\n\n .grow, .grow-1 {\n flex-grow: 1\n }\n\n .basis-auto {\n flex-basis: auto\n }\n\n .flex-col {\n flex-direction: column\n }\n\n .focus-within\\\\:focusable:focus-within {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:focus, .focusable:focus-visible {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .focusable:not(:focus-visible) {\n outline: none\n }\n\n .peer:focus ~ .peer-focus\\\\:focusable, .peer:focus-visible ~ .peer-focus\\\\:focusable {\n outline: 2px solid var(--w-s-color-border-focus);\n outline-offset: var(--w-outline-offset, 1px)\n }\n\n .peer:not(:focus-visible) ~ .peer-focus\\\\:focusable {\n outline: none\n }\n\n .focusable-inset {\n --w-outline-offset: -3px\n }\n\n .gap-12 {\n gap: 1.2rem\n }\n\n .gap-8 {\n gap: .8rem\n }\n\n .gap-x-16 {\n column-gap: 1.6rem\n }\n\n .gap-y-16 {\n row-gap: 1.6rem\n }\n\n .row-span-2 {\n grid-row: span 2/span 2\n }\n\n .col-span-2 {\n grid-column: span 2/span 2\n }\n\n .col-span-3 {\n grid-column: span 3/span 3\n }\n\n .row-start-1 {\n grid-row-start: 1\n }\n\n .row-start-2 {\n grid-row-start: 2\n }\n\n .col-start-2 {\n grid-column-start: 2\n }\n\n .auto-rows-auto {\n grid-auto-rows: auto\n }\n\n .grid-flow-col {\n grid-auto-flow: column\n }\n\n .grid-rows-\\\\[20px_auto\\\\] {\n grid-template-rows:20px auto\n }\n\n .grid-rows-\\\\[auto_20px\\\\] {\n grid-template-rows:auto 20px\n }\n\n .grid-cols-\\\\[1fr_20px_1fr\\\\] {\n grid-template-columns:1fr 20px 1fr\n }\n\n .grid-cols-\\\\[1fr_20px\\\\] {\n grid-template-columns:1fr 20px\n }\n\n .grid-cols-\\\\[20px_1fr\\\\] {\n grid-template-columns:20px 1fr\n }\n\n .grid-cols-\\\\[auto_1fr_auto\\\\] {\n grid-template-columns:auto 1fr auto\n }\n\n .grid-cols-1 {\n grid-template-columns:repeat(1, minmax(0, 1fr))\n }\n\n .grid-cols-2 {\n grid-template-columns:repeat(2, minmax(0, 1fr))\n }\n\n .grid-cols-3 {\n grid-template-columns:repeat(3, minmax(0, 1fr))\n }\n\n .grid-cols-4 {\n grid-template-columns:repeat(4, minmax(0, 1fr))\n }\n\n .grid-cols-5 {\n grid-template-columns:repeat(5, minmax(0, 1fr))\n }\n\n .grid-cols-6 {\n grid-template-columns:repeat(6, minmax(0, 1fr))\n }\n\n .grid-cols-7 {\n grid-template-columns:repeat(7, minmax(0, 1fr))\n }\n\n .grid-cols-8 {\n grid-template-columns:repeat(8, minmax(0, 1fr))\n }\n\n .grid-cols-9 {\n grid-template-columns:repeat(9, minmax(0, 1fr))\n }\n\n .overflow-hidden {\n overflow: hidden\n }\n\n .overflow-x-hidden {\n overflow-x: hidden\n }\n\n .overflow-y-auto {\n overflow-y: auto\n }\n\n .list-none {\n list-style-type: none\n }\n\n .outline-\\\\[--w-s-color-border-negative\\\\]\\\\! {\n outline-color: var(--w-s-color-border-negative) !important\n }\n\n .outline-none {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .focus\\\\:outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px\n }\n\n .items-start {\n align-items: flex-start\n }\n\n .items-end {\n align-items: flex-end\n }\n\n .items-center {\n align-items: center\n }\n\n .self-center {\n align-self: center\n }\n\n .inset-0 {\n top: 0rem;\n right: 0rem;\n bottom: 0rem;\n left: 0rem\n }\n\n .-bottom-0 {\n bottom: -0rem\n }\n\n .bottom-0 {\n bottom: 0rem\n }\n\n .bottom-10 {\n bottom: 1rem\n }\n\n .bottom-16 {\n bottom: 1.6rem\n }\n\n .left-0 {\n left: 0rem\n }\n\n .left-4 {\n left: .4rem\n }\n\n .right-0 {\n right: 0rem\n }\n\n .right-8 {\n right: .8rem\n }\n\n .top-\\\\[1\\\\.92rem\\\\] {\n top: 1.92rem\n }\n\n .top-0 {\n top: 0rem\n }\n\n .top-20 {\n top: 2rem\n }\n\n .top-4 {\n top: .4rem\n }\n\n .top-8 {\n top: .8rem\n }\n\n .before\\\\:bottom-0:before {\n bottom: 0rem\n }\n\n .before\\\\:left-0:before {\n left: 0rem\n }\n\n .before\\\\:right-0:before {\n right: 0rem\n }\n\n .before\\\\:top-2:before {\n top: .2rem\n }\n\n .-bottom-\\\\[8px\\\\] {\n bottom: -8px\n }\n\n .-left-\\\\[8px\\\\] {\n left: -8px\n }\n\n .-right-\\\\[8px\\\\] {\n right: -8px\n }\n\n .-top-\\\\[8px\\\\] {\n top: -8px\n }\n\n .top-\\\\[19px\\\\] {\n top: 19px\n }\n\n .top-\\\\[30\\\\%\\\\] {\n top: 30%\n }\n\n .justify-end {\n justify-content: flex-end\n }\n\n .justify-center {\n justify-content: center\n }\n\n .justify-between {\n justify-content: space-between\n }\n\n .justify-items-center {\n justify-items: center\n }\n\n .justify-self-start {\n justify-self: start\n }\n\n .justify-self-end {\n justify-self: end\n }\n\n .justify-self-center {\n justify-self: center\n }\n\n .absolute {\n position: absolute\n }\n\n .fixed {\n position: fixed\n }\n\n .relative {\n position: relative\n }\n\n .open\\\\:fixed[open] {\n position: fixed\n }\n\n .before\\\\:absolute:before {\n position: absolute\n }\n\n .z-10, .peer:checked ~ .peer-checked\\\\:z-10 {\n z-index: 10\n }\n\n .z-30 {\n z-index: 30\n }\n\n .z-50 {\n z-index: 50\n }\n\n .hover\\\\:z-30:hover {\n z-index: 30\n }\n\n .\\\\!s-bg-selected {\n background-color: var(--w-s-color-background-selected) !important\n }\n\n .s-bg {\n background-color: var(--w-s-color-background)\n }\n\n .s-bg-disabled {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .s-bg-disabled-subtle {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .s-bg-info-subtle {\n background-color: var(--w-s-color-background-info-subtle)\n }\n\n .s-bg-inverted {\n background-color: var(--w-s-color-background-inverted)\n }\n\n .s-bg-negative {\n background-color: var(--w-s-color-background-negative)\n }\n\n .s-bg-negative-subtle {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .s-bg-positive-subtle {\n background-color: var(--w-s-color-background-positive-subtle)\n }\n\n .s-bg-primary, .peer:checked ~ .peer-checked\\\\:s-bg-primary {\n background-color: var(--w-s-color-background-primary)\n }\n\n .s-bg-selected {\n background-color: var(--w-s-color-background-selected)\n }\n\n .s-bg-subtle {\n background-color: var(--w-s-color-background-subtle)\n }\n\n .s-bg-warning-subtle {\n background-color: var(--w-s-color-background-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-negative-hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-bg-primary-hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-disabled:before {\n background-color: var(--w-s-color-background-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-negative:before {\n background-color: var(--w-s-color-background-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-bg-primary:before {\n background-color: var(--w-s-color-background-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-negative-hover:hover:before {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-bg-primary-hover:hover:before {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover) !important\n }\n\n .group:hover .group-hover\\\\:s-bg-primary-hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-hover:hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:before\\\\:s-bg-negative-subtle-hover:hover:before {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-hover:hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .hover\\\\:s-bg-negative-hover:hover {\n background-color: var(--w-s-color-background-negative-hover)\n }\n\n .hover\\\\:s-bg-negative-subtle-hover:hover {\n background-color: var(--w-s-color-background-negative-subtle-hover)\n }\n\n .hover\\\\:s-bg-primary-hover:hover {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .hover\\\\:s-bg-selected-hover:hover {\n background-color: var(--w-s-color-background-selected-hover)\n }\n\n .peer:hover:not(:checked) ~ .peer-hover\\\\:peer-not-checked\\\\:s-bg-hover {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-hover:before {\n background-color: var(--w-s-color-background-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-bg-negative-subtle:before {\n background-color: var(--w-s-color-background-negative-subtle)\n }\n\n .focus\\\\:s-bg-primary-hover:focus {\n background-color: var(--w-s-color-background-primary-hover)\n }\n\n .\\\\!active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active) !important\n }\n\n .active\\\\:s-bg-active:active {\n background-color: var(--w-s-color-background-active)\n }\n\n .active\\\\:s-bg-negative-active:active {\n background-color: var(--w-s-color-background-negative-active)\n }\n\n .active\\\\:s-bg-negative-subtle-active:active {\n background-color: var(--w-s-color-background-negative-subtle-active)\n }\n\n .active\\\\:s-bg-primary-active:active {\n background-color: var(--w-s-color-background-primary-active)\n }\n\n .active\\\\:s-bg-selected-active:active {\n background-color: var(--w-s-color-background-selected-active)\n }\n\n .before\\\\:s-bg-disabled-subtle:before {\n background-color: var(--w-s-color-background-disabled-subtle)\n }\n\n .before\\\\:s-bg:before {\n background-color: var(--w-s-color-background)\n }\n\n .s-text {\n color: var(--w-s-color-text)\n }\n\n .s-text-disabled {\n color: var(--w-s-color-text-disabled)\n }\n\n .s-text-inverted, .peer:checked ~ .peer-checked\\\\:s-text-inverted {\n color: var(--w-s-color-text-inverted)\n }\n\n .s-text-inverted-static {\n color: var(--w-s-color-text-inverted-static)\n }\n\n .s-text-link {\n color: var(--w-s-color-text-link)\n }\n\n .s-text-negative {\n color: var(--w-s-color-text-negative)\n }\n\n .s-text-subtle {\n color: var(--w-s-color-text-subtle)\n }\n\n .hover\\\\:s-text-link:hover {\n color: var(--w-s-color-text-link)\n }\n\n .active\\\\:s-text:active {\n color: var(--w-s-color-text)\n }\n\n .placeholder\\\\:s-text-placeholder::placeholder {\n color: var(--w-s-color-text-placeholder)\n }\n\n .s-icon {\n color: var(--w-s-color-icon)\n }\n\n .s-icon-info {\n color: var(--w-s-color-icon-info)\n }\n\n .s-icon-inverted {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-icon-negative {\n color: var(--w-s-color-icon-negative)\n }\n\n .s-icon-positive {\n color: var(--w-s-color-icon-positive)\n }\n\n .s-icon-warning {\n color: var(--w-s-color-icon-warning)\n }\n\n .hover\\\\:s-icon-hover:hover {\n color: var(--w-s-color-icon-hover)\n }\n\n .active\\\\:s-icon-active:active {\n color: var(--w-s-color-icon-active)\n }\n\n .before\\\\:s-icon-inverted:before {\n color: var(--w-s-color-icon-inverted)\n }\n\n .s-border {\n border-color: var(--w-s-color-border)\n }\n\n .s-border-disabled {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .s-border-info-subtle {\n border-color: var(--w-s-color-border-info-subtle)\n }\n\n .s-border-l-info {\n border-left-color: var(--w-s-color-border-info)\n }\n\n .s-border-l-negative {\n border-left-color: var(--w-s-color-border-negative)\n }\n\n .s-border-l-positive {\n border-left-color: var(--w-s-color-border-positive)\n }\n\n .s-border-l-warning {\n border-left-color: var(--w-s-color-border-warning)\n }\n\n .s-border-negative {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-border-negative-subtle {\n border-color: var(--w-s-color-border-negative-subtle)\n }\n\n .s-border-positive-subtle {\n border-color: var(--w-s-color-border-positive-subtle)\n }\n\n .s-border-primary, .peer:checked ~ .peer-checked\\\\:s-border-primary {\n border-color: var(--w-s-color-border-primary)\n }\n\n .s-border-selected {\n border-color: var(--w-s-color-border-selected)\n }\n\n .s-border-warning-subtle {\n border-color: var(--w-s-color-border-warning-subtle)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-primary-hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .peer:checked:hover ~ .peer-checked\\\\:peer-hover\\\\:before\\\\:s-border-selected-hover:before {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:checked ~ .peer-checked\\\\:before\\\\:s-border-selected:before {\n border-color: var(--w-s-color-border-selected)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:indeterminate ~ .peer-indeterminate\\\\:hover\\\\:before\\\\:s-border-primary-hover:hover:before {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .group:hover .group-hover\\\\:s-border-selected-hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .hover\\\\:before\\\\:s-border-negative-hover:hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:before\\\\:s-border-primary:hover:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-disabled:hover {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .hover\\\\:s-border-hover:hover {\n border-color: var(--w-s-color-border-hover)\n }\n\n .hover\\\\:s-border-negative-hover:hover {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .hover\\\\:s-border-primary-hover:hover {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .hover\\\\:s-border-primary:hover {\n border-color: var(--w-s-color-border-primary)\n }\n\n .hover\\\\:s-border-selected-hover:hover {\n border-color: var(--w-s-color-border-selected-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-negative-hover:before {\n border-color: var(--w-s-color-border-negative-hover)\n }\n\n .peer:hover ~ .peer-hover\\\\:before\\\\:s-border-primary:before {\n border-color: var(--w-s-color-border-primary)\n }\n\n .focus\\\\:s-border-primary-hover:focus {\n border-color: var(--w-s-color-border-primary-hover)\n }\n\n .active\\\\:s-border-active:active {\n border-color: var(--w-s-color-border-active)\n }\n\n .active\\\\:s-border-disabled:active {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .active\\\\:s-border-primary-active:active {\n border-color: var(--w-s-color-border-primary-active)\n }\n\n .active\\\\:s-border-selected-active:active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .active\\\\:s-border-selected:active {\n border-color: var(--w-s-color-border-selected)\n }\n\n .group:active .group-active\\\\:s-border-active {\n border-color: var(--w-s-color-border-active)\n }\n\n .group:active .group-active\\\\:s-border-selected-active {\n border-color: var(--w-s-color-border-selected-active)\n }\n\n .before\\\\:s-border-disabled:before {\n border-color: var(--w-s-color-border-disabled)\n }\n\n .before\\\\:s-border-negative:before {\n border-color: var(--w-s-color-border-negative)\n }\n\n .s-surface-sunken {\n background-color: var(--w-s-color-surface-sunken)\n }\n\n .s-surface-elevated-200 {\n background-color: var(--w-s-color-surface-elevated-200);\n box-shadow: var(--w-s-shadow-surface-elevated-200)\n }\n\n .hover\\\\:s-surface-elevated-200-hover:hover {\n background-color: var(--w-s-color-surface-elevated-200-hover);\n box-shadow: var(--w-s-shadow-surface-elevated-200-hover)\n }\n\n .active\\\\:s-surface-elevated-200-active:active {\n background-color: var(--w-s-color-surface-elevated-200-active);\n box-shadow: var(--w-s-shadow-surface-elevated-200-active)\n }\n\n .drop-shadow-m {\n filter: drop-shadow(rgba(64, 64, 64, .24) 0 3px 8px) drop-shadow(rgba(64, 64, 64, .16) 0 3px 6px)\n }\n\n .shadow-m {\n box-shadow: var(--w-shadow-m)\n }\n\n .shadow-s {\n box-shadow: var(--w-shadow-s)\n }\n\n .shadow-\\\\[--w-shadow-slider\\\\] {\n box-shadow: var(--w-shadow-slider)\n }\n\n .hover\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:hover {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .focus\\\\:shadow-\\\\[--w-shadow-slider-handle-hover\\\\]:focus {\n box-shadow: var(--w-shadow-slider-handle-hover)\n }\n\n .active\\\\:shadow-\\\\[--w-shadow-slider-handle-active\\\\]:active {\n box-shadow: var(--w-shadow-slider-handle-active)\n }\n\n .h-0 {\n height: 0rem\n }\n\n .h-16 {\n height: 1.6rem\n }\n\n .h-2 {\n height: .2rem\n }\n\n .h-20 {\n height: 2rem\n }\n\n .h-24 {\n height: 2.4rem\n }\n\n .h-4 {\n height: .4rem\n }\n\n .h-44 {\n height: 4.4rem\n }\n\n .h-6 {\n height: .6rem\n }\n\n .h-8 {\n height: .8rem\n }\n\n .h-full {\n height: 100%\n }\n\n .h-unset {\n height: unset\n }\n\n .max-h-unset {\n max-height: unset\n }\n\n .max-w-full {\n max-width: 100%\n }\n\n .max-w-max {\n max-width: max-content\n }\n\n .max-w-unset {\n max-width: unset\n }\n\n .min-h-32 {\n min-height: 3.2rem\n }\n\n .min-h-40 {\n min-height: 4rem\n }\n\n .min-w-16 {\n min-width: 1.6rem\n }\n\n .min-w-32 {\n min-width: 3.2rem\n }\n\n .w-16 {\n width: 1.6rem\n }\n\n .w-2 {\n width: .2rem\n }\n\n .w-20 {\n width: 2rem\n }\n\n .w-24 {\n width: 2.4rem\n }\n\n .w-32 {\n width: 3.2rem\n }\n\n .w-40 {\n width: 4rem\n }\n\n .w-44 {\n width: 4.4rem\n }\n\n .w-8 {\n width: .8rem\n }\n\n .w-full {\n width: 100%\n }\n\n .w-max {\n width: max-content\n }\n\n .w-unset {\n width: unset\n }\n\n .before\\\\:h-20:before {\n height: 2rem\n }\n\n .before\\\\:h-full:before {\n height: 100%\n }\n\n .before\\\\:w-20:before {\n width: 2rem\n }\n\n .before\\\\:w-32:before {\n width: 3.2rem\n }\n\n .h-\\\\[--w-modal-height\\\\] {\n height: var(--w-modal-height)\n }\n\n .h-\\\\[14px\\\\] {\n height: 14px\n }\n\n .h-\\\\[16px\\\\] {\n height: 16px\n }\n\n .max-h-\\\\[--w-modal-max-height\\\\] {\n max-height: var(--w-modal-max-height)\n }\n\n .min-h-\\\\[--w-modal-min-height\\\\] {\n min-height: var(--w-modal-min-height)\n }\n\n .min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .min-h-\\\\[40px\\\\] {\n min-height: 40px\n }\n\n .min-h-\\\\[42\\\\] {\n min-height: 4.2rem\n }\n\n .min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .min-w-\\\\[40px\\\\] {\n min-width: 40px\n }\n\n .min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .w-\\\\[--w-modal-width\\\\] {\n width: var(--w-modal-width)\n }\n\n .w-\\\\[14px\\\\] {\n width: 14px\n }\n\n .w-\\\\[16px\\\\] {\n width: 16px\n }\n\n .space-x-8 > :not([hidden]) ~ :not([hidden]) {\n --w-space-x-reverse: 0;\n margin-left: calc(.8rem * calc(1 - var(--w-space-x-reverse)));\n margin-right: calc(.8rem * var(--w-space-x-reverse))\n }\n\n .space-y-16 > :not([hidden]) ~ :not([hidden]) {\n --w-space-y-reverse: 0;\n margin-top: calc(1.6rem * calc(1 - var(--w-space-y-reverse)));\n margin-bottom: calc(1.6rem * var(--w-space-y-reverse))\n }\n\n .m-0 {\n margin: 0rem\n }\n\n .m-auto {\n margin: auto\n }\n\n .-mx-16 {\n margin-left: -1.6rem;\n margin-right: -1.6rem\n }\n\n .mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .mx-8 {\n margin-left: .8rem;\n margin-right: .8rem\n }\n\n .mx-auto {\n margin-left: auto;\n margin-right: auto\n }\n\n .-mb-1 {\n margin-bottom: -.1rem\n }\n\n .-ml-8 {\n margin-left: -.8rem\n }\n\n .-mr-1 {\n margin-right: -.1rem\n }\n\n .-mr-8 {\n margin-right: -.8rem\n }\n\n .-mt-2 {\n margin-top: -.2rem\n }\n\n .-mt-4 {\n margin-top: -.4rem\n }\n\n .last-child\\\\:mb-0 > :last-child, .mb-0 {\n margin-bottom: 0rem\n }\n\n .mb-32 {\n margin-bottom: 3.2rem\n }\n\n .ml-8 {\n margin-left: .8rem\n }\n\n .ml-auto {\n margin-left: auto\n }\n\n .mr-8 {\n margin-right: .8rem\n }\n\n .mt-16 {\n margin-top: 1.6rem\n }\n\n .mt-4 {\n margin-top: .4rem\n }\n\n .group:not(:first-child) .group-not-first\\\\:-ml-2 {\n margin-left: -.2rem\n }\n\n .last\\\\:mb-0:last-child {\n margin-bottom: 0rem\n }\n\n .last\\\\:mr-0:last-child {\n margin-right: 0rem\n }\n\n .m-\\\\[8px\\\\] {\n margin: 8px\n }\n\n .p-0 {\n padding: 0rem\n }\n\n .p-16 {\n padding: 1.6rem\n }\n\n .p-4 {\n padding: .4rem\n }\n\n .p-8 {\n padding: .8rem\n }\n\n .px-0 {\n padding-left: 0rem;\n padding-right: 0rem\n }\n\n .px-1 {\n padding-left: .1rem;\n padding-right: .1rem\n }\n\n .px-12 {\n padding-left: 1.2rem;\n padding-right: 1.2rem\n }\n\n .px-14 {\n padding-left: 1.4rem;\n padding-right: 1.4rem\n }\n\n .px-16 {\n padding-left: 1.6rem;\n padding-right: 1.6rem\n }\n\n .px-8 {\n padding-left: .8rem;\n padding-right: .8rem\n }\n\n .py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .py-1 {\n padding-top: .1rem;\n padding-bottom: .1rem\n }\n\n .py-10 {\n padding-top: 1rem;\n padding-bottom: 1rem\n }\n\n .py-12 {\n padding-top: 1.2rem;\n padding-bottom: 1.2rem\n }\n\n .py-2 {\n padding-top: .2rem;\n padding-bottom: .2rem\n }\n\n .py-4 {\n padding-top: .4rem;\n padding-bottom: .4rem\n }\n\n .py-6 {\n padding-top: .6rem;\n padding-bottom: .6rem\n }\n\n .py-8 {\n padding-top: .8rem;\n padding-bottom: .8rem\n }\n\n .pb-0 {\n padding-bottom: 0rem\n }\n\n .pb-32 {\n padding-bottom: 3.2rem\n }\n\n .pb-4 {\n padding-bottom: .4rem\n }\n\n .pb-8 {\n padding-bottom: .8rem\n }\n\n .pl-0 {\n padding-left: 0rem\n }\n\n .pl-1 {\n padding-left: .1rem\n }\n\n .pl-12 {\n padding-left: 1.2rem\n }\n\n .pl-28 {\n padding-left: 2.8rem\n }\n\n .pl-4 {\n padding-left: .4rem\n }\n\n .pl-8 {\n padding-left: .8rem\n }\n\n .pr-12 {\n padding-right: 1.2rem\n }\n\n .pr-14 {\n padding-right: 1.4rem\n }\n\n .pr-2 {\n padding-right: .2rem\n }\n\n .pr-32 {\n padding-right: 3.2rem\n }\n\n .pr-40 {\n padding-right: 4rem\n }\n\n .pt-0 {\n padding-top: 0rem\n }\n\n .pt-1 {\n padding-top: .1rem\n }\n\n .pt-16 {\n padding-top: 1.6rem\n }\n\n .pt-24 {\n padding-top: 2.4rem\n }\n\n .pt-8 {\n padding-top: .8rem\n }\n\n .group\\\\/step:last-child .group-last\\\\/step\\\\:last\\\\:pb-0:last-child {\n padding-bottom: 0rem\n }\n\n .last\\\\:pb-1:last-child {\n padding-bottom: .1rem\n }\n\n .last\\\\:pr-1:last-child {\n padding-right: .1rem\n }\n\n .p-\\\\[8px\\\\] {\n padding: 8px\n }\n\n .px-\\\\[15px\\\\] {\n padding-left: 15px;\n padding-right: 15px\n }\n\n .px-\\\\[8px\\\\] {\n padding-left: 8px;\n padding-right: 8px\n }\n\n .py-\\\\[11px\\\\] {\n padding-top: 11px;\n padding-bottom: 11px\n }\n\n .py-\\\\[5px\\\\] {\n padding-top: 5px;\n padding-bottom: 5px\n }\n\n .py-\\\\[7px\\\\] {\n padding-top: 7px;\n padding-bottom: 7px\n }\n\n .pl-\\\\[var\\\\(--w-prefix-width\\\\,_40px\\\\)\\\\] {\n padding-left: var(--w-prefix-width, 40px)\n }\n\n .invisible {\n visibility: hidden\n }\n\n .backface-hidden {\n backface-visibility: hidden\n }\n\n .break-words {\n overflow-wrap: break-word\n }\n\n .before\\\\:content-\\\\[\\\\\"\u00E2\u20AC\u201C\\\\\"\\\\]:before {\n content: \"\u00E2\u20AC\u201C\"\n }\n\n .before\\\\:content-\\\\[\\\\\"\\\\\"\\\\]:before {\n content: \"\"\n }\n\n .cursor-default {\n cursor: default\n }\n\n .cursor-pointer {\n cursor: pointer\n }\n\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n font-smoothing: grayscale\n }\n\n .font-bold {\n font-weight: 700\n }\n\n .before\\\\:font-bold:before {\n font-weight: 700\n }\n\n .font-normal {\n font-weight: 400\n }\n\n .pointer-events-auto {\n pointer-events: auto\n }\n\n .pointer-events-none {\n pointer-events: none\n }\n\n .before\\\\:pointer-events-none:before {\n pointer-events: none\n }\n\n .pb-safe-\\\\[32\\\\] {\n padding-bottom: calc(32px + env(safe-area-inset-bottom, 0px))\n }\n\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0\n }\n\n .touch-pan-y {\n touch-action: pan-y\n }\n\n .select-none {\n -webkit-user-select: none;\n user-select: none\n }\n\n .translate-x-20 {\n --w-translate-x: 2rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .translate-z-0 {\n --w-translate-z: 0rem;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .-rotate-180, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:-rotate-180::part(w-icon-chevron-down-16-part) {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: -180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:rotate-180::part(w-icon-chevron-up-16-part), .rotate-180 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 180deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .rotate-90 {\n --w-rotate-x: 0;\n --w-rotate-y: 0;\n --w-rotate-z: 0;\n --w-rotate: 90deg;\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform::part(w-icon-chevron-up-16-part), .transform {\n transform: translate(var(--w-translate-x)) translateY(var(--w-translate-y)) translateZ(var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transform-gpu::part(w-icon-chevron-up-16-part), .transform-gpu {\n transform: translate3d(var(--w-translate-x), var(--w-translate-y), var(--w-translate-z)) rotate(var(--w-rotate)) rotateX(var(--w-rotate-x)) rotateY(var(--w-rotate-y)) rotate(var(--w-rotate-z)) skew(var(--w-skew-x)) skewY(var(--w-skew-y)) scaleX(var(--w-scale-x)) scaleY(var(--w-scale-y)) scaleZ(var(--w-scale-z))\n }\n\n .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:transition-transform::part(w-icon-chevron-up-16-part), .transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-300 {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .3s\n }\n\n .transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-colors {\n transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .transition-shadow {\n transition-property: box-shadow;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .before\\\\:transition-all:before {\n transition-property: all;\n transition-timing-function: cubic-bezier(.4, 0, .2, 1);\n transition-duration: .15s\n }\n\n .duration-300 {\n transition-duration: .3s\n }\n\n .ease-in-out, .part-\\\\[w-icon-chevron-down-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-down-16-part), .part-\\\\[w-icon-chevron-up-16-part\\\\]\\\\:ease-in-out::part(w-icon-chevron-up-16-part) {\n transition-timing-function: cubic-bezier(.4, 0, .2, 1)\n }\n\n .text-m {\n font-size: var(--w-font-size-m);\n line-height: var(--w-line-height-m)\n }\n\n .text-s {\n font-size: var(--w-font-size-s);\n line-height: var(--w-line-height-s)\n }\n\n .text-xs {\n font-size: var(--w-font-size-xs);\n line-height: var(--w-line-height-xs)\n }\n\n .leading-m {\n line-height: var(--w-line-height-m)\n }\n\n .before\\\\:leading-xs:before {\n line-height: var(--w-line-height-xs)\n }\n\n .leading-\\\\[24\\\\] {\n line-height: 2.4rem\n }\n\n @media (max-width: 479.9px) {\n .lt-sm\\\\:rounded-b-0 {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0\n }\n }\n @media (min-width: 480px) {\n .sm\\\\:border-b-0 {\n border-bottom-width: 0\n }\n\n .sm\\\\:rounded-8 {\n border-radius: 8px\n }\n\n .sm\\\\:rounded-b-8 {\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px\n }\n\n .sm\\\\:gap-16 {\n gap: 1.6rem\n }\n\n .sm\\\\:place-content-center {\n place-content: center\n }\n\n .sm\\\\:place-items-center {\n place-items: center\n }\n\n .sm\\\\:h-24 {\n height: 2.4rem\n }\n\n .sm\\\\:min-h-48 {\n min-height: 4.8rem\n }\n\n .sm\\\\:w-24 {\n width: 2.4rem\n }\n\n .sm\\\\:min-h-\\\\[32px\\\\] {\n min-height: 32px\n }\n\n .sm\\\\:min-h-\\\\[44px\\\\] {\n min-height: 44px\n }\n\n .sm\\\\:min-h-\\\\[45\\\\] {\n min-height: 4.5rem\n }\n\n .sm\\\\:min-w-\\\\[32px\\\\] {\n min-width: 32px\n }\n\n .sm\\\\:min-w-\\\\[44px\\\\] {\n min-width: 44px\n }\n\n .sm\\\\:mx-0 {\n margin-left: 0rem;\n margin-right: 0rem\n }\n\n .sm\\\\:mx-16 {\n margin-left: 1.6rem;\n margin-right: 1.6rem\n }\n\n .sm\\\\:-ml-12 {\n margin-left: -1.2rem\n }\n\n .sm\\\\:-mr-12 {\n margin-right: -1.2rem\n }\n\n .sm\\\\:-mt-8 {\n margin-top: -.8rem\n }\n\n .sm\\\\:px-32 {\n padding-left: 3.2rem;\n padding-right: 3.2rem\n }\n\n .sm\\\\:py-0 {\n padding-top: 0rem;\n padding-bottom: 0rem\n }\n\n .sm\\\\:pb-32 {\n padding-bottom: 3.2rem\n }\n\n .sm\\\\:pt-24 {\n padding-top: 2.4rem\n }\n\n .sm\\\\:pt-32 {\n padding-top: 3.2rem\n }\n }\n @media (min-width: 768px) {\n .md\\\\:block {\n display: block\n }\n\n .md\\\\:hidden {\n display: none\n }\n }\n `);\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ingen resultater\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ingen forslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultater\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" forslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" forslag\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"No results\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"No suggestions\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" result\\\"],\\\"other\\\":[\\\"#\\\",\\\" results\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" suggestion\\\"],\\\"other\\\":[\\\"#\\\",\\\" suggestions\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ei tuloksia\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ei ehdotuksia\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" tulos\\\"],\\\"other\\\":[\\\"#\\\",\\\" tulosta\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" ehdotus\\\"],\\\"other\\\":[\\\"#\\\",\\\" ehdotusta\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Ingen resultater\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Ingen forslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultater\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" forslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" forslag\\\"]}]]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\"combobox.aria.noResults\\\":[\\\"Inga resultat\\\"],\\\"combobox.aria.noSuggestions\\\":[\\\"Inga f\u00F6rslag\\\"],\\\"combobox.aria.pluralResults\\\":[[\\\"numResults\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" resultat\\\"],\\\"other\\\":[\\\"#\\\",\\\" resultat\\\"]}]],\\\"combobox.aria.pluralSuggestions\\\":[[\\\"numSuggestions\\\",\\\"plural\\\",{\\\"one\\\":[\\\"#\\\",\\\" f\u00F6rslag\\\"],\\\"other\\\":[\\\"#\\\",\\\" f\u00F6rslag\\\"]}]]}\");", "import { unsafeCSS } from \"lit\";\nexport const styles = unsafeCSS(\n\t\"*,:before,:after{--w-rotate:0;--w-rotate-x:0;--w-rotate-y:0;--w-rotate-z:0;--w-scale-x:1;--w-scale-y:1;--w-scale-z:1;--w-skew-x:0;--w-skew-y:0;--w-translate-x:0;--w-translate-y:0;--w-translate-z:0}.rounded-8{border-radius:8px}.block{display:block}.overflow-hidden{overflow:hidden}.list-none{list-style-type:none}.left-0{left:0}.right-0{right:0}.absolute{position:absolute}.relative{position:relative}.static{position:static}.z-0{z-index:0}.z-20{z-index:20}.s-bg{background-color:var(--w-s-color-background)}.s-bg-selected{background-color:var(--w-s-color-background-selected)}.hover\\\\:s-bg-hover:hover{background-color:var(--w-s-color-background-hover)}.hover\\\\:s-bg-selected-hover:hover{background-color:var(--w-s-color-background-selected-hover)}.shadow-m{box-shadow:var(--w-shadow-m)}.m-0{margin:0}.p-0{padding:0}.p-8{padding:.8rem}.pb-4{padding-bottom:.4rem}.visible{visibility:visible}.cursor-pointer{cursor:pointer}.font-bold{font-weight:700}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.select-none{-webkit-user-select:none;user-select:none}\",\n);\n"],
5
+ "mappings": "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AAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqRRG,GAAaF,GAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAsnE3B,EC74EgB,IAAMG,GAAS,KAAK,MAAM,kUAA8W,ECAxY,IAAMC,GAAS,KAAK,MAAM,+TAA2W,ECArY,IAAMC,GAAS,KAAK,MAAM,yTAAqW,ECA/X,IAAMC,GAAS,KAAK,MAAM,kUAA8W,ECAxY,IAAMC,GAAS,KAAK,MAAM,qUAAwW,ECA3Z,OAAS,aAAAC,OAAiB,MACnB,IAAMC,GAASD,GACrB,wnCACD,ERiBA,IAAME,EAAa,CAClB,QAAS,eACT,KAAM,4EACN,QAAS,gCACT,OAAQ,2BACR,iBAAkB,mBAClB,eAAgB,0CAChB,UAAW,YACX,KAAM,SACP,EA7BAC,EAAAC,EAAAC,EAAAC,GAAAC,GAgDaC,EAAN,cAA2BC,GAAiBC,EAAU,CAAE,CAiK9D,aAAc,CACb,MAAM,EAlKDC,EAAA,KAAAN,GAON,aAA4B,CAAC,EAQ7B,WAAiB,GAQjB,iBAAuB,GAQvB,WAAQ,GAQR,iBAAc,GAad,kBAAe,GAQf,uBAAoB,GAYpB,4BAAyB,GAQzB,aAAU,GAaV,cAAoB,GAQpB,cAAW,GAQX,cAAW,GAQX,cAAW,GAQX,UAAgB,GAQhB,kBAAwB,MAIxB,KAAQ,QAAU,GAIlB,KAAQ,kBAAiD,KAIzD,KAAQ,gBAA0C,CAAC,EAInD,KAAQ,iBAAqC,CAAC,EAI9C,KAAQ,iBAAmB,EAI3B,KAAQ,cAAgB,GAUxBM,EAAA,KAAAR,EAAgB,IAChBQ,EAAA,KAAAP,GALCQ,GAAaC,GAAYA,GAAYA,GAAYA,GAAYA,EAAU,CACxE,CAMA,cAAe,CACdC,GAAA,KAAKX,EAAgB,KAAK,MAC3B,CAEA,QAAQY,EAA+C,CAClDA,EAAkB,IAAI,OAAO,GAChC,KAAK,SAAS,KAAK,KAAK,CAE1B,CAEA,kBAAyB,CACxB,KAAK,MAAQC,EAAA,KAAKb,EACnB,CAEA,mBAAoB,CACnB,MAAM,kBAAkB,EAExBc,EAAA,KAAKZ,EAAAE,IAAL,WAEAO,GAAA,KAAKV,EAAoB,IAAI,iBAAiB,IAAM,CACnDa,EAAA,KAAKZ,EAAAE,IAAL,UACD,CAAC,GACDS,EAAA,KAAKZ,GAAkB,QAAQ,KAAM,CACpC,UAAW,GACX,QAAS,GACT,cAAe,GACf,WAAY,GACZ,gBAAiB,CAAC,QAAS,OAAO,CACnC,CAAC,CACF,CAEA,sBAAuB,CACtB,MAAM,qBAAqB,EAC3BY,EAAA,KAAKZ,IAAmB,WAAW,CACpC,CAEA,IAAY,YAAa,CACxB,MAAO,GAAG,KAAK,GAAG,UACnB,CAEA,IAAY,KAAM,CACjB,MAAO,UACR,CAEA,IAAY,SAAU,CACrB,OAAO,KAAK,SAAW,GAAG,KAAK,GAAG,SAAW,MAC9C,CAEA,IAAY,gBAAiB,CAC5B,OAAO,MAAM,QAAQ,KAAK,OAAO,GAAK,KAAK,QAAQ,OAChD,KAAK,QACL,KAAK,gBACT,CAGA,IAAY,gCAAiC,CAC5C,OAAI,KAAK,kBACD,KAAK,kBAAkB,OAAS,KAAK,kBAAkB,MAExD,KAAK,aACb,CAGA,IAAY,8BAA+B,CAC1C,OAAO,KAAK,mBAAmB,OAAS,KAAK,KAC9C,CAGQ,6BACPc,EACAC,EACyB,CACzB,OAAOD,EAAQ,IAAI,CAACE,EAAQC,KAAW,CACtC,GAAGD,EACH,GAAI,GAAG,KAAK,GAAG,WAAW,KAAK,iBAAmBC,CAAK,GACvD,IAAKD,EAAO,KAAOA,EAAO,MAC1B,kBAAAD,CACD,EAAE,CACH,CAwBQ,aACPD,EACAI,EACAC,EACC,CACD,GAAI,CAACL,GAAW,CAACK,EAAQ,MAAO,GAEhC,IAAMC,EAA8BN,EAAQ,OAAQE,IAClDA,EAAO,OAASA,EAAO,OACtB,YAAY,EACZ,SAASE,EAAM,YAAY,CAAC,CAC/B,EAEMG,EAAoBC,EAAK,EAAE,CAChC,GAAI,kCACJ,QACC,qEACD,QAAS,gEACT,OAAQ,CAAE,eAAgBF,EAA4B,MAAO,CAC9D,CAAC,EAEKG,EAAgBD,EAAK,EAAE,CAC5B,GAAI,8BACJ,QAAS,iBACT,QAAS,4CACV,CAAC,EAED,OAAOF,EAA4B,OAChCC,EACAE,CACJ,CAGQ,kBAAkBP,EAA8B,CACvD,OAAOQ,EACN1B,EAAW,OACX,KAAK,mBAAmB,KAAOkB,GAAQ,GACpClB,EAAW,eACXA,EAAW,gBACf,CACD,CAGQ,eAAe,EAAkB,CACxC,IAAM2B,EAAkB,CACvB,YACA,UACA,SACA,WACA,OACA,KACD,EAAE,SAAS,EAAE,GAAG,EACVC,EAAa,CAAC,YAAa,YAAa,UAAW,YAAY,EAErE,GAAID,GAAmB,CAAC,KAAK,QAAS,CACrC,KAAK,QAAU,GACf,MACD,CACA,GAAIA,GAAmB,KAAK,QAAS,CACpC,KAAK,wBAAwB,CAAC,EAC9B,MACD,CACA,GAAI,IAAE,QAAU,EAAE,SAAW,EAAE,SAAW,EAAE,UAK5C,OAAQ,EAAE,IAAK,CACd,IAAK,QACA,KAAK,oBACR,EAAE,eAAe,EACjB,KAAK,cAAc,KAAK,iBAAiB,EAGzC,sBAAsB,IAAM,CAE3B,IAAME,EADY,KAAK,YAAY,cAAc,aAAa,GACrC,YAAY,cAAc,OAAO,EACtDA,IACHA,EAAM,MAAQ,KAAK,cAErB,CAAC,GAEF,KAAK,QAAU,GACf,MACD,IAAK,MACL,IAAK,SACJ,KAAK,QAAU,GACf,MACD,IAAK,SACA,KAAK,QACR,KAAK,QAAU,GAEf,KAAK,cAAc,EAAE,EAEtB,KAAK,kBAAoB,KACzB,MACD,IAAK,YACJ,KAAK,cAAc,KAAK,8BAA8B,EACtD,KAAK,kBAAoB,KACzB,KAAK,QAAU,GACf,MACD,QACC,GAAID,EAAW,SAAS,EAAE,GAAG,EAC5B,MAGD,KAAK,QAAU,GACX,KAAK,mBACR,KAAK,cAAc,KAAK,kBAAkB,KAAK,EAC/C,KAAK,kBAAoB,MAEzB,KAAK,cAAc,KAAK,KAAK,EAE9B,KACF,CACD,CAGQ,wBAAwB,EAAkB,CACjD,EAAE,eAAe,EAEjB,IAAME,EAAY,KAAK,gBAAgB,UACrCZ,GAAWA,EAAO,KAAO,KAAK,mBAAmB,EACnD,EACMa,EAAYD,EAAY,EACxBE,EAAYF,EAAY,EAE9B,OAAQ,EAAE,IAAK,CACd,IAAK,YACJ,KAAK,kBACJC,EAAY,KAAK,gBAAgB,OAAS,EACvC,KACA,KAAK,gBAAgBA,CAAS,EAClC,MACD,IAAK,UACJ,KAAK,kBACJC,IAAc,GACV,KAAK,gBAAgB,GAAG,EAAE,GAAK,KAChCA,EAAY,EACX,KACA,KAAK,gBAAgBA,CAAS,EACnC,MACD,IAAK,SACJ,KAAK,kBACJF,EAAY,GAAK,EACd,KAAK,gBAAgB,CAAC,EACtB,KAAK,gBAAgBA,EAAY,EAAE,EACvC,MACD,IAAK,WACJ,KAAK,kBACJA,EAAY,GAAK,KAAK,gBAAgB,OAAS,EAC3C,KAAK,gBAAgB,GAAG,EAAE,GAAK,KAC/B,KAAK,gBAAgBA,EAAY,EAAE,GAAK,KAC7C,MACD,IAAK,OACJ,KAAK,kBAAoB,KAAK,gBAAgB,CAAC,EAC/C,MACD,IAAK,MACJ,KAAK,kBAAoB,KAAK,gBAAgB,GAAG,EAAE,GAAK,KACxD,KACF,CACD,CAGQ,cAAcZ,EAA8B,CACnD,KAAK,MAAQA,EAAO,MACpB,KAAK,cAAgBA,EAAO,OAASA,EAAO,MAC5C,KAAK,SAAS,KAAK,KAAK,EAExB,IAAMe,EAAc,IAAI,YAAY,SAAU,CAC7C,OAAQ,CAAE,MAAOf,EAAO,KAAM,EAC9B,QAAS,GACT,SAAU,EACX,CAAC,EACD,KAAK,cAAce,CAAW,EAE9B,KAAK,QAAU,GACf,KAAK,kBAAoB,KAGrB,KAAK,yBACR,KAAK,gBAAkB,CAAC,EAE1B,CAGQ,cAAcC,EAAkB,CACvC,GAAIA,IAAa,OAAW,OAE5B,KAAK,MAAQA,EACb,KAAK,cAAgBA,EAErB,IAAMC,EAAc,IAAI,YAAY,SAAU,CAC7C,OAAQ,CAAE,MAAOD,CAAS,EAC1B,QAAS,GACT,SAAU,EACX,CAAC,EACD,KAAK,cAAcC,CAAW,CAC/B,CAGQ,cAAe,CACtB,GAAI,CAAC,KAAK,YAAa,OAEvB,IAAMC,EAAa,IAAI,YAAY,QAAS,CAC3C,QAAS,GACT,SAAU,EACX,CAAC,EACD,KAAK,cAAcA,CAAU,EAE7B,KAAK,QAAU,EAChB,CAGQ,YAAY,EAAe,CAElC,IAAMC,EAAgB,EAAE,cACxB,GAAIA,GAAiB,KAAK,YAAY,SAASA,CAAa,EAC3D,OAMD,GAHA,KAAK,QAAU,GAId,KAAK,eACJ,KAAK,mBACJ,CAAC,KAAK,mBACN,KAAK,gBAAgB,UAAWC,GAAMA,EAAE,QAAU,KAAK,KAAK,IAAM,IACnE,CACD,IAAMC,EAAgB,KAAK,mBAAmB,OAAS,KAAK,MAC5D,KAAK,MAAQA,EAEb,IAAMN,EAAc,IAAI,YAAY,SAAU,CAC7C,OAAQ,CAAE,MAAOM,CAAc,EAC/B,QAAS,GACT,SAAU,EACX,CAAC,EACD,KAAK,cAAcN,CAAW,CAC/B,CAEA,KAAK,kBAAoB,KAEzB,IAAMO,EAAY,IAAI,YAAY,OAAQ,CACzC,OAAQ,CAAE,MAAO,KAAK,4BAA6B,EACnD,QAAS,GACT,SAAU,EACX,CAAC,EACD,KAAK,cAAcA,CAAS,CAC7B,CAGQ,mBAAmB,EAAetB,EAA8B,CACvE,KAAK,cAAcA,CAAM,EAGzB,sBAAsB,IAAM,CAE3B,IAAMW,EADY,KAAK,YAAY,cAAc,aAAa,GACrC,YAAY,cAAc,OAAO,EACtDA,IACHA,EAAM,MAAQX,EAAO,OAASA,EAAO,MAEvC,CAAC,CACF,CAGQ,qBAAqB,EAAe,EAE1C,CAAC,EAAE,eACH,CAAE,EAAE,cAA0B,SAAS,EAAE,aAAwB,KAEjE,KAAK,QAAU,GAEjB,CAGQ,iBAAiBuB,EAAiBvB,EAA8B,CACvE,GAAI,CAAC,KAAK,kBAAmB,OAAOuB,EAEpC,IAAMC,EAAWD,EACf,YAAY,EACZ,QAAQvB,EAAO,kBAAkB,YAAY,CAAC,EAEhD,GAAIwB,IAAa,GAAI,CACpB,IAAMC,EAASD,EAAWxB,EAAO,kBAAkB,OACnD,OAAO0B,KAAOH,EAAQ,UAAU,EAAGC,CAAQ,CAAC;AAAA,cACjC1C,EAAW,SAAS;AAAA,QAC1ByC,EAAQ,UAAUC,EAAUC,CAAM,CAAC;AAAA,OACpCF,EAAQ,UAAUE,CAAM,CAAC,EAC9B,CAEA,OAAOF,CACR,CAEU,WAAW5B,EAAyC,CAC7D,IAAMG,EAAU,KAAK,eACf6B,EACLhC,EACC,IAAI,kBAAkB,EAGxB,GACCA,EAAkB,IAAI,OAAO,GAC7BA,EAAkB,IAAI,SAAS,GAC/BgC,EACC,CACD,IAAMC,EAAiB9B,EAAQ,KAAMsB,GAAMA,EAAE,QAAU,KAAK,KAAK,EAG3DS,EAAkBD,EACrBA,EAAe,OAASA,EAAe,MACvC,KAAK,MAEP,KAAK,gBAAkBC,GACvB,KAAK,gBAAkB,KAAK,QAE5B,KAAK,cAAgBA,GAGlB,CAAC,KAAK,eAAiB,KAAK,QAC/B,KAAK,cAAgBA,EAEvB,EAGClC,EAAkB,IAAI,SAAS,GAC/BgC,GACAhC,EAAkB,IAAI,OAAO,GAC7BA,EAAkB,IAAI,wBAAwB,GAC7CA,EAA2C,IAAI,eAAe,KAE/D,KAAK,kBAAoBG,EAAQ,OAEjC,KAAK,gBAAkB,KAAK,6BAC3BA,EACA,KAAK,aACN,EAAE,OAAQE,GACR,KAAK,uBAIH,IAHCA,EAAO,OAASA,EAAO,OACvB,YAAY,EACZ,SAAS,KAAK,cAAc,YAAY,CAAC,CAE9C,GAIA,KAAK,wBACL,KAAK,gBAAgB,QACrB,KAAK,gBAAgB,SAAW,GAChC,CAAC,KAAK,gBAAgB,KAAMoB,GAAMA,EAAE,QAAU,KAAK,KAAK,GACxD,CAAC,KAAK,UAEN,KAAK,QAAU,GAEjB,CAEA,QAAS,CACR,OAAOM;AAAA;AAAA,YAEGlB,EAAW1B,EAAW,OAAO,CAAC;AAAA,YAC9B,KAAK,oBAAoB;AAAA;AAAA;AAAA;AAAA,cAIvB,KAAK,8BAA8B;AAAA,cACnC,KAAK,KAAK;AAAA,oBACJ,KAAK,WAAW;AAAA,gBACpB,KAAK,OAAO;AAAA,iBACX,KAAK,QAAQ;AAAA,iBACb,KAAK,QAAQ;AAAA,iBACb,KAAK,QAAQ;AAAA,iBACb,KAAK,QAAQ;AAAA,aACjB,KAAK,IAAI;AAAA,sBACA,KAAK,cAAgB,KAAK;AAAA;AAAA;AAAA,qBAG3B,KAAK,SAAW,KAAK,gBAAgB,SAAW,CAAC;AAAA,6BACzCgD,GACvB,KAAK,QAAU,KAAK,mBAAmB,GAAK,MAC7C,CAAC;AAAA,qBACe,KAAK,UAAU;AAAA,cACrB,GAAmB,KAAK,cAAc,GAAG,QAAQ,KAAK,CAAC;AAAA,cACxD,KAAK,YAAY;AAAA,aAClB,KAAK,WAAW;AAAA,gBACb,KAAK,cAAc;AAAA;AAAA;AAAA,mBAGhBhD,EAAW,IAAI;AAAA,OAC3B,KAAK,aACN,KAAK,gBACL,KAAK,cACL,KAAK,OACN,CAAC;AAAA;AAAA;AAAA;AAAA,eAIS,CAAC,KAAK,SAAW,CAAC,KAAK,gBAAgB,MAAM;AAAA,aAC/C0B,EAAW1B,EAAW,IAAI,CAAC;AAAA;AAAA;AAAA,WAG7B,KAAK,UAAU;AAAA;AAAA,eAEXA,EAAW,OAAO;AAAA;AAAA,QAEzBiD,GACD,KAAK,gBACJ/B,GAAWA,EAAO,IAClBA,GAAW,CACX,IAAMuB,EAAUvB,EAAO,OAASA,EAAO,MACvC,OAAO0B;AAAA;AAAA,eAEA1B,EAAO,EAAE;AAAA;AAAA,0BAEE,KAAK,mBAAmB,KAAOA,EAAO,EAAE;AAAA;AAAA,kBAEhD,KAAK,kBAAkBA,CAAM,CAAC;AAAA,uBACxBgC,GACb,KAAK,mBAAmBA,EAAGhC,CAAM,CAAC;AAAA;AAAA,YAEjC,KAAK,iBAAiBuB,EAASvB,CAAM,CAAC;AAAA;AAAA,SAG3C,CACD,CAAC;AAAA;AAAA;AAAA;AAAA,GAKN,CACD,EAthBCjB,EAAA,YACAC,EAAA,YAxKMC,EAAA,YA0PNC,GAAe,UAAG,CACjB,MAAO,CAAC,GAAG,KAAK,QAAQ,EAAE,OACxB+C,GAAUA,EAAM,QAAQ,YAAY,IAAM,QAC5C,CACD,EAEA9C,GAAwB,UAAG,CAC1B,KAAK,iBAAmBU,EAAA,KAAKZ,EAAAC,IAAL,WAAuB,IAAKc,GAAW,CAC9D,IAAME,EAAQF,EAAO,aAAa,OAAO,GAAK,GACxCkC,EAAQlC,EAAO,aAAa,OAAO,EACrCA,EAAO,aAAa,OAAO,GAAK,GAChCA,EAAO,aAAe,GAE1B,MAAO,CACN,MAAAE,EACA,MAAAgC,EACA,IAAKhC,CACN,CACD,CAAC,CACF,EA7QYd,EA+JL,OAAS,CAAC+C,GAAOC,EAAM,EAxJ9BC,EAAA,CADCC,EAAS,CAAE,KAAM,KAAM,CAAC,GANblD,EAOZ,uBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GAd/ClD,EAeZ,qBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GAtB/ClD,EAuBZ,2BAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GA9B/ClD,EA+BZ,qBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,UAAW,gBAAiB,QAAS,EAAK,CAAC,GAtC1DlD,EAuCZ,2BAaAiD,EAAA,CANCC,EAAS,CACT,KAAM,QACN,UAAW,iBACX,QAAS,GACT,WAAY,EACb,CAAC,GAnDWlD,EAoDZ,4BAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,UAAW,sBAAuB,QAAS,EAAK,CAAC,GA3DhElD,EA4DZ,iCAYAiD,EAAA,CALCC,EAAS,CACT,KAAM,QACN,UAAW,2BACX,QAAS,EACV,CAAC,GAvEWlD,EAwEZ,sCAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA/E9BlD,EAgFZ,uBAaAiD,EAAA,CANCC,EAAS,CACT,KAAM,OACN,UAAW,YACX,QAAS,GACT,WAAY,EACb,CAAC,GA5FWlD,EA6FZ,wBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GApG9BlD,EAqGZ,wBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GA5G9BlD,EA6GZ,wBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,QAAS,QAAS,EAAK,CAAC,GApH9BlD,EAqHZ,wBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GA5H/ClD,EA6HZ,oBAQAiD,EAAA,CADCC,EAAS,CAAE,KAAM,OAAQ,QAAS,GAAM,WAAY,EAAK,CAAC,GApI/ClD,EAqIZ,4BAIQiD,EAAA,CADPE,EAAM,GAxIKnD,EAyIJ,uBAIAiD,EAAA,CADPE,EAAM,GA5IKnD,EA6IJ,iCAIAiD,EAAA,CADPE,EAAM,GAhJKnD,EAiJJ,+BAIAiD,EAAA,CADPE,EAAM,GApJKnD,EAqJJ,gCAIAiD,EAAA,CADPE,EAAM,GAxJKnD,EAyJJ,gCAIAiD,EAAA,CADPE,EAAM,GA5JKnD,EA6JJ,6BAkiBJ,eAAe,IAAI,YAAY,GACnC,eAAe,OAAO,aAAcA,CAAY",
6
+ "names": ["r", "t", "n", "isString", "s", "isFunction", "f", "cache", "defaultLocale", "normalizeLocales", "locales", "date", "value", "format", "_locales", "o", "getMemoized", "cacheKey", "time", "number", "plural", "ordinal", "offset", "rules", "plurals", "getKey", "construct", "key", "formatter", "type", "options", "localeKey", "ESCAPE_SEQUENCE_REGEX", "decodeEscapeSequences", "str", "_", "unicode", "hex", "codePoint", "OCTOTHORPE_PH", "getDefaultFormats", "locale", "passedLocales", "formats", "locales", "style", "format", "replaceOctothorpe", "value", "message", "numberFormat", "valueStr", "number", "cases", "offset", "plural", "selectFormatter", "date", "time", "rules", "interpolate", "translation", "values", "formatters", "formatMessage", "tokens", "token", "isString", "name", "type", "interpolatedFormat", "key", "value2", "formatter", "result", "__defProp$1", "__defNormalProp$1", "obj", "__publicField$1", "EventEmitter", "event", "listener", "_a", "maybeListeners", "index", "args", "__defProp", "__defNormalProp", "__publicField", "I18n", "params", "defaultLocale", "localeData", "maybeLocaleData", "compiler", "localeOrAllData", "messages", "maybeMessages", "localeOrMessages", "messages2", "id", "options", "messageForId", "messageMissing", "missing", "isFunction", "setupI18n", "i18n", "FormControlMixin", "SuperClass", "FormControl", "args", "_FormControl_focused", "_FormControl_forceError", "_FormControl_touched", "_FormControl_abortController", "_FormControl_previousAbortController", "_FormControl_awaitingValidationTarget", "_FormControl_value", "_FormControl_onFocus", "__classPrivateFieldSet", "__classPrivateFieldGet", "_FormControl_instances", "_FormControl_shouldShowError", "_FormControl_onBlur", "_FormControl_runValidators", "showError", "_FormControl_onInvalid", "_a", "_FormControl_validationCompleteResolver", "_FormControl_isValidationPending", "_FormControl_validationComplete", "_b", "_c", "validatorAttributes", "validator", "observedAttributes", "attribute", "name", "oldValue", "newValue", "validators", "value", "valueToUpdate", "resolve", "rootNode", "selector", "proto", "validity", "asyncValidators", "hasAsyncValidators", "abortController", "validationMessage", "hasChange", "key", "isValid", "isValidatorValid", "_FormControl_getValidatorMessageForValue", "_FormControl_setValidityWithOptionalTarget", "message", "html", "LitElement", "property", "state", "repeat", "ifDefined", "supportedLocales", "defaultLocale", "getSupportedLocale", "usedLocale", "locale", "detectLocale", "serverLocale", "htmlLocale", "getDocumentLang", "frameLocale", "getFrameElementLang", "parentLocale", "getParentDocument", "e", "activateI18n", "enMessages", "nbMessages", "fiMessages", "daMessages", "svMessages", "i18n", "locale", "detectLocale", "notifyI18nChange", "setupLangObserver", "I18N_CHANGE_EVENT", "langObserverInitialized", "handleLangChange", "nextLocale", "observer", "mutations", "mutation", "parentDocument", "getParentDocument", "frameEl", "getFrameElement", "getDocumentLang", "doc", "getFrameElementLang", "css", "unsafeCSS", "reset", "components", "messages", "messages", "messages", "messages", "messages", "unsafeCSS", "styles", "ccCombobox", "_initialValue", "_lightDomObserver", "_WarpCombobox_instances", "getOptionNodes_fn", "syncOptionsFromLightDom_fn", "WarpCombobox", "FormControlMixin", "LitElement", "__privateAdd", "activateI18n", "messages", "__privateSet", "changedProperties", "__privateGet", "__privateMethod", "options", "currentInputValue", "option", "index", "value", "isOpen", "filteredOptionsByInputValue", "pluralSuggestions", "i18n", "noSuggestions", "r", "isNavigationKey", "ignoreList", "input", "currIndex", "nextIndex", "prevIndex", "selectEvent", "newValue", "changeEvent", "focusEvent", "relatedTarget", "o", "selectedValue", "blurEvent", "display", "startIdx", "endIdx", "html", "lightDomOptionsChanged", "matchingOption", "expectedDisplay", "ifDefined", "repeat", "e", "child", "label", "reset", "styles", "__decorateClass", "property", "state"]
7
7
  }