solid-ui 3.1.3-6 → 3.1.3-8

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 (552) hide show
  1. package/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
  2. package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
  3. package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
  4. package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
  5. package/dist/_virtual/~icons/lucide/chevron-down.cjs.js +1 -1
  6. package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -0
  7. package/dist/_virtual/~icons/lucide/circle-user.cjs.js +1 -1
  8. package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -0
  9. package/dist/_virtual/~icons/lucide/log-in.cjs.js +1 -1
  10. package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -0
  11. package/dist/_virtual/~icons/lucide/log-out.cjs.js +1 -1
  12. package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -0
  13. package/dist/_virtual/~icons/lucide/user.cjs.js +1 -1
  14. package/dist/_virtual/~icons/lucide/user.esm.js +1 -0
  15. package/dist/_virtual/~icons/lucide/x.cjs.js +1 -1
  16. package/dist/_virtual/~icons/lucide/x.esm.js +1 -0
  17. package/dist/_virtual/~icons/svg-spinners/180-ring.cjs.js +1 -1
  18. package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -0
  19. package/dist/acl/access-controller.cjs.js +1 -1
  20. package/dist/acl/access-controller.cjs.js.map +1 -1
  21. package/dist/acl/access-controller.esm.js.map +1 -1
  22. package/dist/acl/access-groups.cjs.js.map +1 -1
  23. package/dist/acl/access-groups.esm.js.map +1 -1
  24. package/dist/acl/acl-control.cjs.js +1 -1
  25. package/dist/acl/acl-control.cjs.js.map +1 -1
  26. package/dist/acl/acl-control.esm.js +1 -1
  27. package/dist/acl/acl-control.esm.js.map +1 -1
  28. package/dist/acl/acl.cjs.js.map +1 -1
  29. package/dist/acl/acl.esm.js.map +1 -1
  30. package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
  31. package/dist/acl/add-agent-buttons.esm.js.map +1 -1
  32. package/dist/breakpoints.css +1 -0
  33. package/dist/breakpoints.css.d.ts +1 -0
  34. package/dist/chat/bookmarks.cjs.js +1 -1
  35. package/dist/chat/bookmarks.cjs.js.map +1 -1
  36. package/dist/chat/bookmarks.esm.js +1 -1
  37. package/dist/chat/bookmarks.esm.js.map +1 -1
  38. package/dist/chat/chatLogic.cjs.js.map +1 -1
  39. package/dist/chat/chatLogic.esm.js.map +1 -1
  40. package/dist/chat/dateFolder.cjs.js +1 -1
  41. package/dist/chat/dateFolder.cjs.js.map +1 -1
  42. package/dist/chat/dateFolder.esm.js +1 -1
  43. package/dist/chat/dateFolder.esm.js.map +1 -1
  44. package/dist/chat/infinite.cjs.js +1 -1
  45. package/dist/chat/infinite.cjs.js.map +1 -1
  46. package/dist/chat/infinite.esm.js +1 -1
  47. package/dist/chat/infinite.esm.js.map +1 -1
  48. package/dist/chat/keys.cjs.js +1 -1
  49. package/dist/chat/keys.cjs.js.map +1 -1
  50. package/dist/chat/keys.esm.js +1 -1
  51. package/dist/chat/keys.esm.js.map +1 -1
  52. package/dist/chat/message.cjs.js +1 -1
  53. package/dist/chat/message.cjs.js.map +1 -1
  54. package/dist/chat/message.esm.js +24 -24
  55. package/dist/chat/message.esm.js.map +1 -1
  56. package/dist/chat/messageTools.cjs.js.map +1 -1
  57. package/dist/chat/messageTools.esm.js.map +1 -1
  58. package/dist/chat/signature.cjs.js +1 -1
  59. package/dist/chat/signature.cjs.js.map +1 -1
  60. package/dist/chat/signature.esm.js +1 -1
  61. package/dist/chunks/{DialogProvider-DphduSXG.js → DialogProvider-Bt65G0Tk.js} +4 -4
  62. package/dist/chunks/DialogProvider-Bt65G0Tk.js.map +1 -0
  63. package/dist/chunks/{account-CFhrB0LO.js → account-jSZP2tZ5.js} +76 -60
  64. package/dist/chunks/account-jSZP2tZ5.js.map +1 -0
  65. package/dist/chunks/{auth-Cpf3HYqF.js → auth-CZOEEeJ8.js} +23 -23
  66. package/dist/chunks/{auth-Cpf3HYqF.js.map → auth-CZOEEeJ8.js.map} +1 -1
  67. package/dist/chunks/{avatar-D281qln0.js → avatar-BugsRJZg.js} +5 -5
  68. package/dist/chunks/avatar-BugsRJZg.js.map +1 -0
  69. package/dist/chunks/{button-DbKYu6-r.js → button-0s0lZdxm.js} +2 -2
  70. package/dist/chunks/{button-DbKYu6-r.js.map → button-0s0lZdxm.js.map} +1 -1
  71. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js +1516 -0
  72. package/dist/chunks/chunk.K442ELDU-TtQSV9g1.js.map +1 -0
  73. package/dist/chunks/combobox-Cxi8xUMn.js +473 -0
  74. package/dist/chunks/combobox-Cxi8xUMn.js.map +1 -0
  75. package/dist/chunks/{combobox-option-Ck0mu4Gc.js → combobox-option-DiR3VpyT.js} +2 -2
  76. package/dist/chunks/{combobox-option-Ck0mu4Gc.js.map → combobox-option-DiR3VpyT.js.map} +1 -1
  77. package/dist/chunks/{components-BlEGdx4i.js → components-C1LEhsaK.js} +5 -9
  78. package/dist/chunks/components-C1LEhsaK.js.map +1 -0
  79. package/dist/chunks/{context-DJ_8r7Oc.js → context-uE5jJlS0.js} +2 -2
  80. package/dist/chunks/{context-DJ_8r7Oc.js.map → context-uE5jJlS0.js.map} +1 -1
  81. package/dist/chunks/decorators-BiCkPd_3.js.map +1 -1
  82. package/dist/chunks/{dialog-DlBtmOm6.js → dialog-BAzrHJ8w.js} +6 -6
  83. package/dist/chunks/dialog-BAzrHJ8w.js.map +1 -0
  84. package/dist/chunks/{dialog-content-CMeH_BD7.js → dialog-content-fdJrkCyB.js} +2 -2
  85. package/dist/chunks/{dialog-content-CMeH_BD7.js.map → dialog-content-fdJrkCyB.js.map} +1 -1
  86. package/dist/chunks/{dialog-footer-D0zzIMlx.js → dialog-footer-Bs_p2Nn9.js} +2 -2
  87. package/dist/chunks/{dialog-footer-D0zzIMlx.js.map → dialog-footer-Bs_p2Nn9.js.map} +1 -1
  88. package/dist/chunks/{dialog-header-DeC1iiLD.js → dialog-header-CWIAAoDo.js} +2 -2
  89. package/dist/chunks/{dialog-header-DeC1iiLD.js.map → dialog-header-CWIAAoDo.js.map} +1 -1
  90. package/dist/chunks/{dialogs-root-BcUcRuAt.js → dialogs-root-Cv932Aqm.js} +3 -3
  91. package/dist/chunks/{dialogs-root-BcUcRuAt.js.map → dialogs-root-Cv932Aqm.js.map} +1 -1
  92. package/dist/chunks/{footer-Bxe4WPgl.js → footer-kVa_uMeQ.js} +3 -3
  93. package/dist/chunks/{footer-Bxe4WPgl.js.map → footer-kVa_uMeQ.js.map} +1 -1
  94. package/dist/chunks/{guard-Da3znlJI.js → guard-Cml6dHTv.js} +4 -4
  95. package/dist/chunks/{guard-Da3znlJI.js.map → guard-Cml6dHTv.js.map} +1 -1
  96. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js → headerFooterHelpers-BiZ6X10e.js} +15 -15
  97. package/dist/chunks/{headerFooterHelpers-5LYv-0Rt.js.map → headerFooterHelpers-BiZ6X10e.js.map} +1 -1
  98. package/dist/chunks/{input-Bkzi4zSV.js → input-BF224Jid.js} +2 -2
  99. package/dist/chunks/{input-Bkzi4zSV.js.map → input-BF224Jid.js.map} +1 -1
  100. package/dist/chunks/{jsonld-DZG2v1pE.js → jsonld-Cd-ZhJmZ.js} +54 -54
  101. package/dist/chunks/{jsonld-DZG2v1pE.js.map → jsonld-Cd-ZhJmZ.js.map} +1 -1
  102. package/dist/chunks/lit-C4H1jI4q.js.map +1 -1
  103. package/dist/chunks/{login-button-C603hM0G.js → login-button-pe1-DVNZ.js} +5 -5
  104. package/dist/chunks/{login-button-C603hM0G.js.map → login-button-pe1-DVNZ.js.map} +1 -1
  105. package/dist/chunks/{logout-button-Cxzpq-C3.js → logout-button-C5dtQiBB.js} +5 -5
  106. package/dist/chunks/{logout-button-Cxzpq-C3.js.map → logout-button-C5dtQiBB.js.map} +1 -1
  107. package/dist/chunks/{menu-aQiqq1ET.js → menu-DNcuV-1J.js} +183 -1693
  108. package/dist/chunks/menu-DNcuV-1J.js.map +1 -0
  109. package/dist/chunks/{menu-item-DBy4o-M4.js → menu-item-CWg-eS4V.js} +8 -6
  110. package/dist/chunks/menu-item-CWg-eS4V.js.map +1 -0
  111. package/dist/chunks/photo-capture-tiBsdSbA.js.map +1 -1
  112. package/dist/chunks/{provider-DZmdgerD.js → provider-DRxSExO6.js} +5 -5
  113. package/dist/chunks/{provider-DZmdgerD.js.map → provider-DRxSExO6.js.map} +1 -1
  114. package/dist/chunks/{select-wczAzbZF.js → select-D8dW53pr.js} +2 -2
  115. package/dist/chunks/{select-wczAzbZF.js.map → select-D8dW53pr.js.map} +1 -1
  116. package/dist/chunks/{select-option-hd_d1RNj.js → select-option-B-6ULCpQ.js} +2 -2
  117. package/dist/chunks/{select-option-hd_d1RNj.js.map → select-option-B-6ULCpQ.js.map} +1 -1
  118. package/dist/chunks/{signup-button-CsRaOUI4.js → signup-button-QvYELqb6.js} +5 -5
  119. package/dist/chunks/{signup-button-CsRaOUI4.js.map → signup-button-QvYELqb6.js.map} +1 -1
  120. package/dist/chunks/solid-emblem-BDzhMTjL.js +185 -0
  121. package/dist/chunks/solid-emblem-BDzhMTjL.js.map +1 -0
  122. package/dist/chunks/{solid-logic.esm-7q6hmfIF.js → solid-logic.esm-BhVcNu8u.js} +2517 -2521
  123. package/dist/chunks/solid-logic.esm-BhVcNu8u.js.map +1 -0
  124. package/dist/chunks/{src-BOU-JwWx.js → src-DYvSns7X.js} +2378 -2354
  125. package/dist/chunks/src-DYvSns7X.js.map +1 -0
  126. package/dist/components/account/Account.cjs.js +7 -2
  127. package/dist/components/account/Account.cjs.js.map +1 -1
  128. package/dist/components/account/Account.d.ts +8 -1
  129. package/dist/components/account/Account.d.ts.map +1 -1
  130. package/dist/components/account/Account.esm.js +64 -48
  131. package/dist/components/account/Account.esm.js.map +1 -1
  132. package/dist/components/account/Account.stories.d.ts +3 -8
  133. package/dist/components/account/Account.stories.d.ts.map +1 -1
  134. package/dist/components/account/Account.styles.cjs.js +1 -1
  135. package/dist/components/account/Account.styles.cjs.js.map +1 -1
  136. package/dist/components/account/Account.styles.esm.js +1 -1
  137. package/dist/components/account/Account.styles.esm.js.map +1 -1
  138. package/dist/components/account/index.cjs.js +1 -1
  139. package/dist/components/account/index.cjs.js.map +1 -1
  140. package/dist/components/account/index.d.ts +2 -2
  141. package/dist/components/account/index.d.ts.map +1 -1
  142. package/dist/components/account/index.esm.js +1 -1
  143. package/dist/components/account/index.esm.js.map +1 -1
  144. package/dist/components/account.js +1 -1
  145. package/dist/components/avatar/Avatar.cjs.js +1 -1
  146. package/dist/components/avatar/Avatar.cjs.js.map +1 -1
  147. package/dist/components/avatar/Avatar.esm.js +1 -1
  148. package/dist/components/avatar/Avatar.styles.cjs.js +1 -1
  149. package/dist/components/avatar/Avatar.styles.cjs.js.map +1 -1
  150. package/dist/components/avatar/Avatar.styles.esm.js +1 -1
  151. package/dist/components/avatar/Avatar.styles.esm.js.map +1 -1
  152. package/dist/components/avatar/index.cjs.js +1 -1
  153. package/dist/components/avatar/index.esm.js +1 -1
  154. package/dist/components/avatar.js +1 -1
  155. package/dist/components/button/Button.cjs.js +1 -1
  156. package/dist/components/button/Button.cjs.js.map +1 -1
  157. package/dist/components/button/Button.esm.js +1 -1
  158. package/dist/components/button/Button.esm.js.map +1 -1
  159. package/dist/components/button/index.cjs.js +1 -1
  160. package/dist/components/button/index.esm.js +3 -3
  161. package/dist/components/button.js +1 -1
  162. package/dist/components/combobox/Combobox.cjs.js +57 -25
  163. package/dist/components/combobox/Combobox.cjs.js.map +1 -1
  164. package/dist/components/combobox/Combobox.d.ts +22 -3
  165. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  166. package/dist/components/combobox/Combobox.esm.js +220 -101
  167. package/dist/components/combobox/Combobox.esm.js.map +1 -1
  168. package/dist/components/combobox/Combobox.styles.cjs.js +1 -1
  169. package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -1
  170. package/dist/components/combobox/Combobox.styles.esm.js +1 -1
  171. package/dist/components/combobox/Combobox.styles.esm.js.map +1 -1
  172. package/dist/components/combobox/index.cjs.js +1 -1
  173. package/dist/components/combobox/index.esm.js +1 -1
  174. package/dist/components/combobox-option/ComboboxOption.cjs.js +1 -1
  175. package/dist/components/combobox-option/ComboboxOption.cjs.js.map +1 -1
  176. package/dist/components/combobox-option/ComboboxOption.esm.js +1 -1
  177. package/dist/components/combobox-option/index.cjs.js +1 -1
  178. package/dist/components/combobox-option/index.esm.js +1 -1
  179. package/dist/components/combobox-option.js +1 -1
  180. package/dist/components/combobox.js +1 -1
  181. package/dist/components/dialog/Dialog.cjs.js +2 -2
  182. package/dist/components/dialog/Dialog.cjs.js.map +1 -1
  183. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  184. package/dist/components/dialog/Dialog.esm.js +2 -2
  185. package/dist/components/dialog/Dialog.esm.js.map +1 -1
  186. package/dist/components/dialog/index.cjs.js +1 -1
  187. package/dist/components/dialog/index.esm.js +1 -1
  188. package/dist/components/dialog-content/DialogContent.cjs.js +1 -1
  189. package/dist/components/dialog-content/DialogContent.cjs.js.map +1 -1
  190. package/dist/components/dialog-content/DialogContent.esm.js +1 -1
  191. package/dist/components/dialog-content/DialogContent.esm.js.map +1 -1
  192. package/dist/components/dialog-content/index.cjs.js +1 -1
  193. package/dist/components/dialog-content/index.esm.js +1 -1
  194. package/dist/components/dialog-content.js +1 -1
  195. package/dist/components/dialog-footer/DialogFooter.cjs.js +1 -1
  196. package/dist/components/dialog-footer/DialogFooter.cjs.js.map +1 -1
  197. package/dist/components/dialog-footer/DialogFooter.esm.js +1 -1
  198. package/dist/components/dialog-footer/DialogFooter.esm.js.map +1 -1
  199. package/dist/components/dialog-footer/index.cjs.js +1 -1
  200. package/dist/components/dialog-footer/index.esm.js +1 -1
  201. package/dist/components/dialog-footer.js +1 -1
  202. package/dist/components/dialog-header/DialogHeader.cjs.js +1 -1
  203. package/dist/components/dialog-header/DialogHeader.cjs.js.map +1 -1
  204. package/dist/components/dialog-header/DialogHeader.esm.js +1 -1
  205. package/dist/components/dialog-header/DialogHeader.esm.js.map +1 -1
  206. package/dist/components/dialog-header/index.cjs.js +1 -1
  207. package/dist/components/dialog-header/index.esm.js +1 -1
  208. package/dist/components/dialog-header.js +1 -1
  209. package/dist/components/dialog-provider/DialogProvider.cjs.js +1 -1
  210. package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -1
  211. package/dist/components/dialog-provider/DialogProvider.esm.js +2 -2
  212. package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -1
  213. package/dist/components/dialog-provider/index.cjs.js +1 -1
  214. package/dist/components/dialog-provider/index.esm.js +1 -1
  215. package/dist/components/dialog-provider.js +1 -1
  216. package/dist/components/dialog.js +1 -1
  217. package/dist/components/dialogs-root/DialogsRoot.cjs.js +1 -1
  218. package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -1
  219. package/dist/components/dialogs-root/DialogsRoot.esm.js +1 -1
  220. package/dist/components/dialogs-root/index.cjs.js +1 -1
  221. package/dist/components/dialogs-root/index.esm.js +1 -1
  222. package/dist/components/dialogs-root.js +1 -1
  223. package/dist/components/footer.js +1 -1
  224. package/dist/components/guard/Guard.cjs.js +1 -1
  225. package/dist/components/guard/Guard.cjs.js.map +1 -1
  226. package/dist/components/guard/Guard.esm.js +1 -1
  227. package/dist/components/guard/index.cjs.js +1 -1
  228. package/dist/components/guard/index.esm.js +1 -1
  229. package/dist/components/guard.js +1 -1
  230. package/dist/components/index.cjs.js +1 -1
  231. package/dist/components/index.esm.js +2 -2
  232. package/dist/components/input/Input.cjs.js +1 -1
  233. package/dist/components/input/Input.cjs.js.map +1 -1
  234. package/dist/components/input/Input.esm.js +1 -1
  235. package/dist/components/input/index.cjs.js +1 -1
  236. package/dist/components/input/index.esm.js +1 -1
  237. package/dist/components/input.js +1 -1
  238. package/dist/components/login-button/LoginButton.cjs.js +1 -1
  239. package/dist/components/login-button/LoginButton.cjs.js.map +1 -1
  240. package/dist/components/login-button/LoginButton.esm.js +1 -1
  241. package/dist/components/login-button/index.cjs.js +1 -1
  242. package/dist/components/login-button/index.esm.js +1 -1
  243. package/dist/components/login-button.js +1 -1
  244. package/dist/components/login-modal/LoginModal.cjs.js +1 -1
  245. package/dist/components/login-modal/LoginModal.cjs.js.map +1 -1
  246. package/dist/components/login-modal/LoginModal.esm.js +1 -1
  247. package/dist/components/login-modal/index.cjs.js +1 -1
  248. package/dist/components/login-modal/index.esm.js +1 -1
  249. package/dist/components/login-modal.js +1 -1
  250. package/dist/components/logout-button/LogoutButton.cjs.js +1 -1
  251. package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -1
  252. package/dist/components/logout-button/LogoutButton.esm.js +1 -1
  253. package/dist/components/logout-button/index.cjs.js +1 -1
  254. package/dist/components/logout-button/index.esm.js +1 -1
  255. package/dist/components/logout-button.js +1 -1
  256. package/dist/components/menu/Menu.cjs.js +1 -1
  257. package/dist/components/menu/Menu.cjs.js.map +1 -1
  258. package/dist/components/menu/Menu.esm.js +1 -1
  259. package/dist/components/menu/Menu.esm.js.map +1 -1
  260. package/dist/components/menu/index.cjs.js +1 -1
  261. package/dist/components/menu/index.esm.js +1 -1
  262. package/dist/components/menu-item/MenuItem.cjs.js +6 -4
  263. package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
  264. package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
  265. package/dist/components/menu-item/MenuItem.esm.js +6 -4
  266. package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
  267. package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
  268. package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
  269. package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
  270. package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
  271. package/dist/components/menu-item/index.cjs.js +1 -1
  272. package/dist/components/menu-item/index.esm.js +1 -1
  273. package/dist/components/menu-item.js +1 -1
  274. package/dist/components/menu.js +1 -1
  275. package/dist/components/provider/Provider.cjs.js +1 -1
  276. package/dist/components/provider/Provider.cjs.js.map +1 -1
  277. package/dist/components/provider/Provider.esm.js +1 -1
  278. package/dist/components/provider/index.cjs.js +1 -1
  279. package/dist/components/provider/index.esm.js +1 -1
  280. package/dist/components/provider.js +1 -1
  281. package/dist/components/select/Select.cjs.js +1 -1
  282. package/dist/components/select/Select.cjs.js.map +1 -1
  283. package/dist/components/select/Select.esm.js +1 -1
  284. package/dist/components/select/Select.esm.js.map +1 -1
  285. package/dist/components/select/index.cjs.js +1 -1
  286. package/dist/components/select/index.esm.js +1 -1
  287. package/dist/components/select-option/SelectOption.cjs.js +1 -1
  288. package/dist/components/select-option/SelectOption.cjs.js.map +1 -1
  289. package/dist/components/select-option/SelectOption.esm.js +1 -1
  290. package/dist/components/select-option/index.cjs.js +1 -1
  291. package/dist/components/select-option/index.esm.js +1 -1
  292. package/dist/components/select-option.js +1 -1
  293. package/dist/components/select.js +1 -1
  294. package/dist/components/signup-button/SignupButton.cjs.js +1 -1
  295. package/dist/components/signup-button/SignupButton.cjs.js.map +1 -1
  296. package/dist/components/signup-button/SignupButton.esm.js +1 -1
  297. package/dist/components/signup-button/index.cjs.js +1 -1
  298. package/dist/components/signup-button/index.esm.js +1 -1
  299. package/dist/components/signup-button.js +1 -1
  300. package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
  301. package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
  302. package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
  303. package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
  304. package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
  305. package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
  306. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
  307. package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
  308. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
  309. package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
  310. package/dist/components/solid-emblem/index.cjs.js +2 -0
  311. package/dist/components/solid-emblem/index.cjs.js.map +1 -0
  312. package/dist/components/solid-emblem/index.d.ts +4 -0
  313. package/dist/components/solid-emblem/index.d.ts.map +1 -0
  314. package/dist/components/solid-emblem/index.esm.js +7 -0
  315. package/dist/components/solid-emblem/index.esm.js.map +1 -0
  316. package/dist/components/solid-emblem.js +2 -0
  317. package/dist/components.js +23 -23
  318. package/dist/create/create.cjs.js.map +1 -1
  319. package/dist/create/create.esm.js.map +1 -1
  320. package/dist/create/index.cjs.js.map +1 -1
  321. package/dist/footer/index.cjs.js +1 -1
  322. package/dist/footer/index.esm.js +1 -1
  323. package/dist/header/index.cjs.js +1 -1
  324. package/dist/header/index.cjs.js.map +1 -1
  325. package/dist/header/index.esm.js +1 -1
  326. package/dist/header/index.esm.js.map +1 -1
  327. package/dist/index.js +6 -7
  328. package/dist/lib/auth/SolidAuth.cjs.js.map +1 -1
  329. package/dist/lib/auth/SolidAuth.esm.js.map +1 -1
  330. package/dist/lib/auth/context.cjs.js.map +1 -1
  331. package/dist/lib/auth/index.cjs.js +1 -1
  332. package/dist/lib/auth/index.esm.js +5 -4
  333. package/dist/lib/components/ids.cjs.js.map +1 -1
  334. package/dist/lib/components/ids.esm.js.map +1 -1
  335. package/dist/lib/components/index.cjs.js +1 -1
  336. package/dist/lib/components/index.esm.js +6 -5
  337. package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -1
  338. package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -1
  339. package/dist/lib/components/traits/InputTrait.cjs.js +1 -1
  340. package/dist/lib/components/traits/InputTrait.cjs.js.map +1 -1
  341. package/dist/lib/components/traits/InputTrait.d.ts +1 -0
  342. package/dist/lib/components/traits/InputTrait.d.ts.map +1 -1
  343. package/dist/lib/components/traits/InputTrait.esm.js +3 -2
  344. package/dist/lib/components/traits/InputTrait.esm.js.map +1 -1
  345. package/dist/lib/components/traits/index.cjs.js +1 -1
  346. package/dist/lib/components/traits/index.esm.js +3 -2
  347. package/dist/lib/components/web-component/WebComponent.cjs.js +1 -1
  348. package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -1
  349. package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -1
  350. package/dist/lib/components/web-component/WebComponent.esm.js +1 -6
  351. package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -1
  352. package/dist/lib/components/web-component/WebComponent.styles.cjs.js.map +1 -1
  353. package/dist/lib/components/web-component/WebComponent.styles.esm.js.map +1 -1
  354. package/dist/lib/components/web-component/index.cjs.js +1 -1
  355. package/dist/lib/components/web-component/index.esm.js +2 -1
  356. package/dist/lib/dialogs/context.cjs.js.map +1 -1
  357. package/dist/lib/dialogs/index.cjs.js +1 -1
  358. package/dist/lib/dialogs/index.esm.js +6 -5
  359. package/dist/lib/forms/rdfHelper.d.ts +4 -0
  360. package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
  361. package/dist/lib/log.cjs.js +1 -1
  362. package/dist/lib/log.cjs.js.map +1 -1
  363. package/dist/lib/log.esm.js +1 -1
  364. package/dist/lib/log.esm.js.map +1 -1
  365. package/dist/lib/messageArea.cjs.js.map +1 -1
  366. package/dist/lib/messageArea.esm.js.map +1 -1
  367. package/dist/lib/ns.cjs.js.map +1 -1
  368. package/dist/lib/pad.cjs.js +1 -1
  369. package/dist/lib/pad.cjs.js.map +1 -1
  370. package/dist/lib/pad.esm.js +1 -1
  371. package/dist/lib/pad.esm.js.map +1 -1
  372. package/dist/lib/participation.cjs.js.map +1 -1
  373. package/dist/lib/participation.esm.js.map +1 -1
  374. package/dist/lib/preferences.cjs.js +1 -1
  375. package/dist/lib/preferences.cjs.js.map +1 -1
  376. package/dist/lib/preferences.esm.js +1 -1
  377. package/dist/lib/preferences.esm.js.map +1 -1
  378. package/dist/lib/table.cjs.js.map +1 -1
  379. package/dist/lib/table.esm.js.map +1 -1
  380. package/dist/lib/tabs.cjs.js +1 -1
  381. package/dist/lib/tabs.cjs.js.map +1 -1
  382. package/dist/lib/tabs.esm.js +1 -1
  383. package/dist/lib/tabs.esm.js.map +1 -1
  384. package/dist/loader.js +6 -7
  385. package/dist/login/login.cjs.js +1 -1
  386. package/dist/login/login.cjs.js.map +1 -1
  387. package/dist/login/login.esm.js +1 -1
  388. package/dist/login/login.esm.js.map +1 -1
  389. package/dist/matrix/index.cjs.js.map +1 -1
  390. package/dist/matrix/matrix.cjs.js.map +1 -1
  391. package/dist/matrix/matrix.esm.js.map +1 -1
  392. package/dist/media/media-capture.cjs.js.map +1 -1
  393. package/dist/media/media-capture.esm.js.map +1 -1
  394. package/dist/signup/signup.cjs.js.map +1 -1
  395. package/dist/signup/signup.esm.js.map +1 -1
  396. package/dist/solid-ui.js +321 -1380
  397. package/dist/solid-ui.min.js +321 -1380
  398. package/dist/solid-ui.min.js.map +1 -1
  399. package/dist/theme.css +1 -1
  400. package/dist/utils/headerFooterHelpers.cjs.js.map +1 -1
  401. package/dist/utils/headerFooterHelpers.esm.js.map +1 -1
  402. package/dist/utils/index.cjs.js +2 -2
  403. package/dist/utils/index.cjs.js.map +1 -1
  404. package/dist/utils/index.esm.js +1 -1
  405. package/dist/utils/index.esm.js.map +1 -1
  406. package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
  407. package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
  408. package/dist/utils/keyHelpers/accessData.esm.js +1 -1
  409. package/dist/utils/keyHelpers/accessData.esm.js.map +1 -1
  410. package/dist/utils/keyHelpers/acl.cjs.js.map +1 -1
  411. package/dist/utils/keyHelpers/acl.esm.js.map +1 -1
  412. package/dist/utils/keyHelpers/otherHelpers.cjs.js.map +1 -1
  413. package/dist/utils/keyHelpers/otherHelpers.esm.js.map +1 -1
  414. package/dist/utils/label.cjs.js.map +1 -1
  415. package/dist/utils/label.esm.js.map +1 -1
  416. package/dist/v2/components/layout/footer/index.cjs.js +1 -1
  417. package/dist/v2/components/layout/footer/index.esm.js +1 -0
  418. package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js.map +1 -1
  419. package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js.map +1 -1
  420. package/dist/v2/components/media/photoCapture/index.cjs.js +1 -1
  421. package/dist/v2/components/media/photoCapture/index.esm.js +1 -0
  422. package/dist/widgets/buttons/iconLinks.cjs.js.map +1 -1
  423. package/dist/widgets/buttons/iconLinks.esm.js.map +1 -1
  424. package/dist/widgets/buttons.cjs.js.map +1 -1
  425. package/dist/widgets/buttons.esm.js.map +1 -1
  426. package/dist/widgets/dragAndDrop.cjs.js.map +1 -1
  427. package/dist/widgets/dragAndDrop.esm.js.map +1 -1
  428. package/dist/widgets/error.cjs.js.map +1 -1
  429. package/dist/widgets/error.esm.js.map +1 -1
  430. package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
  431. package/dist/widgets/forms/autocomplete/autocompleteField.esm.js.map +1 -1
  432. package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
  433. package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
  434. package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
  435. package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
  436. package/dist/widgets/forms/autocomplete/language.esm.js +1 -1
  437. package/dist/widgets/forms/autocomplete/language.esm.js.map +1 -1
  438. package/dist/widgets/forms/autocomplete/publicData.cjs.js +1 -1
  439. package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
  440. package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -1
  441. package/dist/widgets/forms/autocomplete/publicData.esm.js.map +1 -1
  442. package/dist/widgets/forms/basic.cjs.js.map +1 -1
  443. package/dist/widgets/forms/basic.esm.js.map +1 -1
  444. package/dist/widgets/forms/fieldFunction.cjs.js.map +1 -1
  445. package/dist/widgets/forms/fieldParams.cjs.js.map +1 -1
  446. package/dist/widgets/forms/fieldParams.esm.js.map +1 -1
  447. package/dist/widgets/forms/formStyle.cjs.js.map +1 -1
  448. package/dist/widgets/forms/formStyle.esm.js.map +1 -1
  449. package/dist/widgets/forms.cjs.js +1 -1
  450. package/dist/widgets/forms.cjs.js.map +1 -1
  451. package/dist/widgets/forms.esm.js +1 -1
  452. package/dist/widgets/forms.esm.js.map +1 -1
  453. package/dist/widgets/index.cjs.js +1 -1
  454. package/dist/widgets/index.esm.js +65 -65
  455. package/dist/widgets/multiSelect.cjs.js.map +1 -1
  456. package/dist/widgets/multiSelect.esm.js.map +1 -1
  457. package/dist/widgets/peoplePicker.cjs.js.map +1 -1
  458. package/dist/widgets/peoplePicker.esm.js.map +1 -1
  459. package/dist/widgets/widgetHelpers.cjs.js.map +1 -1
  460. package/dist/widgets/widgetHelpers.esm.js.map +1 -1
  461. package/package.json +14 -11
  462. package/dist/chunks/DialogProvider-DphduSXG.js.map +0 -1
  463. package/dist/chunks/account-CFhrB0LO.js.map +0 -1
  464. package/dist/chunks/avatar-D281qln0.js.map +0 -1
  465. package/dist/chunks/combobox-Dtgc8qqO.js +0 -354
  466. package/dist/chunks/combobox-Dtgc8qqO.js.map +0 -1
  467. package/dist/chunks/components-BlEGdx4i.js.map +0 -1
  468. package/dist/chunks/dialog-DlBtmOm6.js.map +0 -1
  469. package/dist/chunks/header-Bqd2CEK3.js +0 -1486
  470. package/dist/chunks/header-Bqd2CEK3.js.map +0 -1
  471. package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
  472. package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
  473. package/dist/chunks/menu-aQiqq1ET.js.map +0 -1
  474. package/dist/chunks/menu-item-DBy4o-M4.js.map +0 -1
  475. package/dist/chunks/solid-logic.esm-7q6hmfIF.js.map +0 -1
  476. package/dist/chunks/src-BOU-JwWx.js.map +0 -1
  477. package/dist/components/header/index.cjs.js +0 -1
  478. package/dist/components/header/index.d.ts +0 -2
  479. package/dist/components/header/index.d.ts.map +0 -1
  480. package/dist/components/header/index.esm.js +0 -3
  481. package/dist/components/header.js +0 -2
  482. package/dist/lib/features.cjs.js +0 -2
  483. package/dist/lib/features.cjs.js.map +0 -1
  484. package/dist/lib/features.d.ts +0 -8
  485. package/dist/lib/features.d.ts.map +0 -1
  486. package/dist/lib/features.esm.js +0 -6
  487. package/dist/lib/features.esm.js.map +0 -1
  488. package/dist/solid-ui.js.map +0 -1
  489. package/dist/v2/components/actions/button/Button.d.ts +0 -97
  490. package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
  491. package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
  492. package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
  493. package/dist/v2/components/actions/button/index.d.ts +0 -8
  494. package/dist/v2/components/actions/button/index.d.ts.map +0 -1
  495. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
  496. package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
  497. package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
  498. package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
  499. package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
  500. package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
  501. package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
  502. package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
  503. package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
  504. package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
  505. package/dist/v2/components/auth/loginButton/index.esm.js +0 -7
  506. package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
  507. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
  508. package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
  509. package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
  510. package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
  511. package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
  512. package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
  513. package/dist/v2/components/auth/signupButton/index.esm.js +0 -7
  514. package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
  515. package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
  516. package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
  517. package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
  518. package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
  519. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
  520. package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
  521. package/dist/v2/components/forms/combobox/index.d.ts +0 -3
  522. package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
  523. package/dist/v2/components/forms/select/Select.d.ts +0 -68
  524. package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
  525. package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
  526. package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
  527. package/dist/v2/components/forms/select/index.d.ts +0 -3
  528. package/dist/v2/components/forms/select/index.d.ts.map +0 -1
  529. package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
  530. package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
  531. package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
  532. package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
  533. package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
  534. package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
  535. package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
  536. package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
  537. package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
  538. package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
  539. package/dist/v2/components/layout/header/Header.cjs.js +0 -625
  540. package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
  541. package/dist/v2/components/layout/header/Header.d.ts +0 -160
  542. package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
  543. package/dist/v2/components/layout/header/Header.esm.js +0 -873
  544. package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
  545. package/dist/v2/components/layout/header/header.test.d.ts +0 -1
  546. package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
  547. package/dist/v2/components/layout/header/index.cjs.js +0 -2
  548. package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
  549. package/dist/v2/components/layout/header/index.d.ts +0 -4
  550. package/dist/v2/components/layout/header/index.d.ts.map +0 -1
  551. package/dist/v2/components/layout/header/index.esm.js +0 -7
  552. package/dist/v2/components/layout/header/index.esm.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"menu-aQiqq1ET.js","names":["scopedUrlAlphabet","LitElement","property","LocalizeController","DefaultLocalizationController","computePosition","arrow","flip","offset","shift","size","getComputedStyle","query","property","customElement","query","property","state","customElement","e","i","r","t","t","e","i","e","s","i","r","t","offsetParent","classMap","query","property","customElement","o","isTemplateResult","state","property","customElement","customElement","WebComponent","html","property","query","state","styles","_classDecs","_Menu","_Menu2","_A","WeakMap","_B","_C","_D","_ref","_placementDecs","type","String","reflect","_distanceDecs","Number","_dropdownDecs","_itemsDecs","_Menu3","Menu","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_placement","_init_distance","_init_dropdown","_init_items","_defineProperty","MutationObserver","syncItems","_classPrivateFieldGet","placement","v","_classPrivateFieldSet","distance","dropdown","items","connectedCallback","observer","observe","childList","disconnectedCallback","disconnect","render","onWaSelect","map","item","onItemClick","slot","Array","from","children","filter","child","hasAttribute","index","slotName","getAttribute","setAttribute","event","waItem","currentTarget","stopPropagation","disabled","selectedEvent","dispatchSelectEvent","defaultPrevented","open","detail","preventDefault","querySelector","click","CustomEvent","bubbles","composed","cancelable","dispatchEvent","e","c","_initClass","_applyDecs","_Class","_identity","default","Menu"],"sources":["../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.2LXKNNNE.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.TTJR7FH2.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.Z6IK7DP4.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.4ZAKP7NY.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.MQODJ75V.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.3NKIHICW.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.PX3HMKF7.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.52WA2DJO.js","../../node_modules/@awesome.me/webawesome/node_modules/nanoid/url-alphabet/index.js","../../node_modules/@awesome.me/webawesome/node_modules/nanoid/index.browser.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.KNJT7KBU.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.RPQJAXXR.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.G5ZZIGWB.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.L6CIKOFQ.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.PZAN6FPN.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.7VGCIHDG.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.AOKMSJXD.js","../../node_modules/@shoelace-style/localize/dist/index.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.HBKCENRD.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.TWDBLNQF.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.5SFAASOS.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.VCKA3KNZ.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.RWNXKUCF.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.HUPDX6RW.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.ZWQCGLB5.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.HS5AYC6E.js","../../node_modules/composed-offset-position/dist/composed-offset-position.browser.min.mjs","../../node_modules/lit-html/directive.js","../../node_modules/lit-html/directives/class-map.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.K442ELDU.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.YDQCS2HK.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.WDIIGUNP.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.L5E22IYH.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.HGBRCPUS.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.HCXBOJYW.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.XTA2JDH4.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.NF5JTFKH.js","../../node_modules/lit-html/directive-helpers.js","../../node_modules/@awesome.me/webawesome/dist/chunks/chunk.ITAFLY5Y.js","../../src/components/menu/Menu.styles.css","../../src/components/menu/Menu.ts","../../src/components/menu/index.ts"],"sourcesContent":["/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/select.ts\nvar WaSelectEvent = class extends Event {\n constructor(detail) {\n super(\"wa-select\", { bubbles: true, cancelable: true, composed: true });\n this.detail = detail;\n }\n};\n\nexport {\n WaSelectEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/active-elements.ts\nfunction* activeElements(activeElement = document.activeElement) {\n if (activeElement === null || activeElement === void 0) return;\n yield activeElement;\n if (\"shadowRoot\" in activeElement && activeElement.shadowRoot && activeElement.shadowRoot.mode !== \"closed\") {\n yield* activeElements(activeElement.shadowRoot.activeElement);\n }\n}\n\nexport {\n activeElements\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/components/dropdown/dropdown.styles.ts\nimport { css } from \"lit\";\nvar dropdown_styles_default = css`\n :host {\n --show-duration: var(--wa-transition-fast);\n --hide-duration: var(--wa-transition-fast);\n display: contents;\n }\n\n #menu {\n display: flex;\n flex-direction: column;\n width: max-content;\n margin: 0;\n padding: 0.25em;\n border: var(--wa-border-style) var(--wa-border-width-s) var(--wa-color-surface-border);\n border-radius: var(--wa-border-radius-m);\n background-color: var(--wa-color-surface-raised);\n box-shadow: var(--wa-shadow-m);\n color: var(--wa-color-text-normal);\n text-align: start;\n user-select: none;\n overflow: auto;\n max-width: var(--auto-size-available-width) !important;\n max-height: var(--auto-size-available-height) !important;\n\n &.show {\n animation: show var(--show-duration) ease;\n }\n\n &.hide {\n animation: show var(--hide-duration) ease reverse;\n }\n\n ::slotted(h1),\n ::slotted(h2),\n ::slotted(h3),\n ::slotted(h4),\n ::slotted(h5),\n ::slotted(h6) {\n display: block !important;\n margin: 0.25em 0 !important;\n padding: 0.25em 0.75em !important;\n color: var(--wa-color-text-quiet);\n font-family: var(--wa-font-family-body) !important;\n font-weight: var(--wa-font-weight-semibold) !important;\n font-size: var(--wa-font-size-smaller) !important;\n }\n\n ::slotted(wa-divider) {\n --spacing: 0.25em; /* Component-specific, left as-is */\n }\n }\n\n wa-popup[data-current-placement^='top'] #menu {\n transform-origin: bottom;\n }\n\n wa-popup[data-current-placement^='bottom'] #menu {\n transform-origin: top;\n }\n\n wa-popup[data-current-placement^='left'] #menu {\n transform-origin: right;\n }\n\n wa-popup[data-current-placement^='right'] #menu {\n transform-origin: left;\n }\n\n wa-popup[data-current-placement='left-start'] #menu {\n transform-origin: right top;\n }\n\n wa-popup[data-current-placement='left-end'] #menu {\n transform-origin: right bottom;\n }\n\n wa-popup[data-current-placement='right-start'] #menu {\n transform-origin: left top;\n }\n\n wa-popup[data-current-placement='right-end'] #menu {\n transform-origin: left bottom;\n }\n\n @keyframes show {\n from {\n scale: 0.9;\n opacity: 0;\n }\n to {\n scale: 1;\n opacity: 1;\n }\n }\n`;\n\nexport {\n dropdown_styles_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/show.ts\nvar WaShowEvent = class extends Event {\n constructor() {\n super(\"wa-show\", { bubbles: true, cancelable: true, composed: true });\n }\n};\n\nexport {\n WaShowEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/hide.ts\nvar WaHideEvent = class extends Event {\n constructor(detail) {\n super(\"wa-hide\", { bubbles: true, cancelable: true, composed: true });\n this.detail = detail;\n }\n};\n\nexport {\n WaHideEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/after-hide.ts\nvar WaAfterHideEvent = class extends Event {\n constructor() {\n super(\"wa-after-hide\", { bubbles: true, cancelable: false, composed: true });\n }\n};\n\nexport {\n WaAfterHideEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/after-show.ts\nvar WaAfterShowEvent = class extends Event {\n constructor() {\n super(\"wa-after-show\", { bubbles: true, cancelable: false, composed: true });\n }\n};\n\nexport {\n WaAfterShowEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/dismissible-stack.ts\nvar dismissibleStack = [];\nfunction registerDismissible(key) {\n dismissibleStack.push(key);\n}\nfunction unregisterDismissible(key) {\n for (let i = dismissibleStack.length - 1; i >= 0; i--) {\n if (dismissibleStack[i] === key) {\n dismissibleStack.splice(i, 1);\n break;\n }\n }\n}\nfunction isTopDismissible(key) {\n return dismissibleStack.length > 0 && dismissibleStack[dismissibleStack.length - 1] === key;\n}\n\nexport {\n registerDismissible,\n unregisterDismissible,\n isTopDismissible\n};\n","export let urlAlphabet =\n 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict'\n","\n\nimport { urlAlphabet as scopedUrlAlphabet } from './url-alphabet/index.js'\n\nexport { urlAlphabet } from './url-alphabet/index.js'\n\nexport let random = bytes => crypto.getRandomValues(new Uint8Array(bytes))\n\nexport let customRandom = (alphabet, defaultSize, getRandom) => {\n let safeByteCutoff = 256 - (256 % alphabet.length)\n\n if (safeByteCutoff === 256) {\n let mask = alphabet.length - 1\n\n return (size = defaultSize) => {\n if (!size) return ''\n let id = ''\n while (true) {\n let bytes = getRandom(size)\n let j = size\n while (j--) {\n id += alphabet[bytes[j] & mask]\n if (id.length >= size) return id\n }\n }\n }\n }\n\n let step = Math.ceil((1.6 * 256 * defaultSize) / safeByteCutoff)\n\n return (size = defaultSize) => {\n if (!size) return ''\n let id = ''\n while (true) {\n let bytes = getRandom(step)\n let j = step\n while (j--) {\n if (bytes[j] < safeByteCutoff) {\n id += alphabet[bytes[j] % alphabet.length]\n if (id.length >= size) return id\n }\n }\n }\n }\n}\n\nexport let customAlphabet = (alphabet, size = 21) =>\n customRandom(alphabet, size | 0, random)\n\nexport let nanoid = (size = 21) => {\n let id = ''\n let bytes = crypto.getRandomValues(new Uint8Array((size |= 0)))\n while (size--) {\n id += scopedUrlAlphabet[bytes[size] & 63]\n }\n return id\n}\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/math.ts\nimport { nanoid } from \"nanoid\";\nfunction clamp(value, min, max) {\n const noNegativeZero = (n) => Object.is(n, -0) ? 0 : n;\n if (value < min) {\n return noNegativeZero(min);\n }\n if (value > max) {\n return noNegativeZero(max);\n }\n return noNegativeZero(value);\n}\nfunction uniqueId(prefix = \"\") {\n return `${prefix}${nanoid()}`;\n}\n\nexport {\n clamp,\n uniqueId\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/size.ts\nvar DEPRECATION_MAP = {\n small: \"s\",\n medium: \"m\",\n large: \"l\"\n};\nvar warned = /* @__PURE__ */ new Set();\nfunction warnDeprecatedSize(tagName, value) {\n if (value in DEPRECATION_MAP && !warned.has(`${tagName}:${value}`)) {\n warned.add(`${tagName}:${value}`);\n console.warn(\n `[${tagName}] size=\"${value}\" is deprecated. Use size=\"${DEPRECATION_MAP[value]}\" instead. The long-form value will be removed in the next major version.`\n );\n }\n}\n\nexport {\n warnDeprecatedSize\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/styles/component/size.styles.ts\nimport { css } from \"lit\";\nvar size_styles_default = css`\n :host([size='xs']) {\n font-size: var(--wa-font-size-xs);\n }\n\n :host([size='s']),\n :host([size='small']) {\n font-size: var(--wa-font-size-s);\n }\n\n :host([size='m']),\n :host([size='medium']) {\n font-size: var(--wa-font-size-m);\n }\n\n :host([size='l']),\n :host([size='large']) {\n font-size: var(--wa-font-size-l);\n }\n\n :host([size='xl']) {\n font-size: var(--wa-font-size-xl);\n }\n`;\n\nexport {\n size_styles_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/animate.ts\nasync function animate(el, keyframes, options) {\n return el.animate(keyframes, options).finished.catch(() => {\n });\n}\nfunction animateWithClass(el, className) {\n return new Promise((resolve) => {\n const controller = new AbortController();\n const { signal } = controller;\n if (el.classList.contains(className)) {\n return;\n }\n el.classList.add(className);\n let resolved = false;\n let onEnd = () => {\n if (resolved) {\n return;\n }\n resolved = true;\n el.classList.remove(className);\n resolve();\n controller.abort();\n };\n el.addEventListener(\"animationend\", onEnd, { once: true, signal });\n el.addEventListener(\"animationcancel\", onEnd, { once: true, signal });\n requestAnimationFrame(() => {\n if (!resolved && el.getAnimations().length === 0) {\n onEnd();\n }\n });\n });\n}\nfunction parseDuration(duration) {\n duration = duration.toString().toLowerCase();\n if (duration.indexOf(\"ms\") > -1) {\n return parseFloat(duration) || 0;\n }\n if (duration.indexOf(\"s\") > -1) {\n return (parseFloat(duration) || 0) * 1e3;\n }\n return parseFloat(duration) || 0;\n}\nfunction prefersReducedMotion() {\n const query = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n return query.matches;\n}\n\nexport {\n animate,\n animateWithClass,\n parseDuration,\n prefersReducedMotion\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/watch.ts\nfunction watch(propertyName, options) {\n const resolvedOptions = {\n waitUntilFirstUpdate: false,\n ...options\n };\n return (proto, decoratedFnName) => {\n const { update } = proto;\n const watchedProperties = Array.isArray(propertyName) ? propertyName : [propertyName];\n proto.update = function(changedProps) {\n watchedProperties.forEach((property) => {\n const key = property;\n if (changedProps.has(key)) {\n const oldValue = changedProps.get(key);\n const newValue = this[key];\n if (oldValue !== newValue) {\n if (!resolvedOptions.waitUntilFirstUpdate || this.hasUpdated) {\n this[decoratedFnName](oldValue, newValue);\n }\n }\n }\n });\n update.call(this, changedProps);\n };\n };\n}\n\nexport {\n watch\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __decorateClass = (decorators, target, key, kind) => {\n var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;\n for (var i = decorators.length - 1, decorator; i >= 0; i--)\n if (decorator = decorators[i])\n result = (kind ? decorator(target, key, result) : decorator(result)) || result;\n if (kind && result) __defProp(target, key, result);\n return result;\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nvar __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, \"write to private field\"), setter ? setter.call(obj, value) : member.set(obj, value), value);\n\nexport {\n __decorateClass,\n __privateGet,\n __privateAdd,\n __privateSet\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n __decorateClass,\n __privateAdd,\n __privateGet,\n __privateSet\n} from \"./chunk.7VGCIHDG.js\";\n\n// src/styles/component/host.styles.ts\nimport { css } from \"lit\";\nvar host_styles_default = css`\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden],\n :host([hidden]) {\n display: none !important;\n }\n`;\n\n// src/internal/webawesome-element.ts\nimport { LitElement, isServer } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nvar HAS_ENDING_COLON = /;\\s+$/;\nfunction camelToKebab(str) {\n return str.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);\n}\nfunction buildStyleAttribute(options) {\n const { property: property2, value, element } = options;\n if (value) {\n let style = element.getAttribute(\"style\") || \"\";\n if (style) {\n if (!style.match(HAS_ENDING_COLON)) {\n style += \";\";\n }\n style += \" \";\n }\n const str = `${property2}: ${value}`;\n if (style.includes(str)) {\n return;\n }\n return `${style}${str};`;\n }\n return null;\n}\nvar _hasRecordedInitialProperties;\nvar WebAwesomeElement = class extends LitElement {\n constructor() {\n super();\n __privateAdd(this, _hasRecordedInitialProperties, false);\n this.initialReflectedProperties = /* @__PURE__ */ new Map();\n this.didSSR = isServer || Boolean(this.shadowRoot);\n /**\n * @internal Methods for setting and checking custom states.\n */\n this.customStates = {\n /** Adds or removes the specified custom state. */\n set: (customState, active) => {\n if (!Boolean(this.internals?.states)) return;\n try {\n if (active) {\n this.internals.states.add(customState);\n } else {\n this.internals.states.delete(customState);\n }\n } catch (e) {\n if (String(e).includes(\"must start with '--'\")) {\n console.error(\"Your browser implements an outdated version of CustomStateSet. Consider using a polyfill\");\n } else {\n throw e;\n }\n }\n },\n /** Determines whether or not the element currently has the specified state. */\n has: (customState) => {\n if (!Boolean(this.internals?.states)) return false;\n try {\n return this.internals.states.has(customState);\n } catch {\n return false;\n }\n }\n };\n try {\n this.internals = this.attachInternals();\n } catch {\n console.error(\"Element internals are not supported in your browser. Consider using a polyfill\");\n }\n this.customStates.set(\"wa-defined\", true);\n let Self = this.constructor;\n for (let [property2, spec] of Self.elementProperties) {\n if (spec.default === \"inherit\" && spec.initial !== void 0 && typeof property2 === \"string\") {\n this.customStates.set(`initial-${property2}-${spec.initial}`, true);\n }\n }\n }\n /** Prepends host styles to the component's styles. */\n static get styles() {\n const styles = Array.isArray(this.css) ? this.css : this.css ? [this.css] : [];\n return [host_styles_default, ...styles];\n }\n connectedCallback() {\n super.connectedCallback();\n if (!this.didSSR) {\n this.shadowRoot?.prepend(\n document.createComment(\n ` Web Awesome: https://webawesome.com/docs/components/${this.localName.replace(\"wa-\", \"\")} `\n )\n );\n }\n if (this.didSSR) {\n this.updateComplete.then(() => {\n this.shadowRoot?.prepend(\n document.createComment(\n ` Web Awesome: https://webawesome.com/docs/components/${this.localName.replace(\"wa-\", \"\")} `\n )\n );\n });\n }\n }\n attributeChangedCallback(name, oldValue, newValue) {\n if (!__privateGet(this, _hasRecordedInitialProperties)) {\n this.constructor.elementProperties.forEach(\n (obj, prop) => {\n if (obj.reflect && this[prop] != null) {\n this.initialReflectedProperties.set(prop, this[prop]);\n }\n }\n );\n __privateSet(this, _hasRecordedInitialProperties, true);\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n willUpdate(changedProperties) {\n super.willUpdate(changedProperties);\n this.initialReflectedProperties.forEach((value, prop) => {\n if (changedProperties.has(prop) && this[prop] == null) {\n this[prop] = value;\n }\n });\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n if (this.didSSR) {\n this.shadowRoot?.querySelectorAll(\"slot\").forEach((slotElement) => {\n slotElement.dispatchEvent(new Event(\"slotchange\", { bubbles: true, composed: false, cancelable: false }));\n });\n }\n }\n update(changedProperties) {\n try {\n super.update(changedProperties);\n } catch (e) {\n if (this.didSSR && !this.hasUpdated) {\n const event = new Event(\"lit-hydration-error\", { bubbles: true, composed: true, cancelable: false });\n event.error = e;\n this.dispatchEvent(event);\n }\n throw e;\n }\n }\n /**\n * @internal\n * Internal way to set styles across both client and server\n */\n setStyle(property2, value) {\n if (!this.style) {\n const str = buildStyleAttribute({\n // because this is going to be serialized to an HTML style attribute, need to transform the casing.\n property: camelToKebab(property2),\n value,\n element: this\n });\n if (str) {\n this.setAttribute(\"style\", str);\n }\n return;\n }\n this.style[property2] = value;\n }\n /**\n * @internal\n * Internal way to set a CSS custom property across both client and server.\n */\n setStyleProperty(property2, value) {\n if (!this.style) {\n const str = buildStyleAttribute({\n // because this is going to be serialized to an HTML style attribute, need to transform the casing.\n property: property2,\n value,\n element: this\n });\n if (str) {\n this.setAttribute(\"style\", str);\n }\n return;\n }\n this.style.setProperty(property2, value);\n }\n /**\n * @internal Given a native event, this function cancels it and dispatches it again from the host element using the desired\n * event options.\n */\n relayNativeEvent(event, eventOptions) {\n event.stopImmediatePropagation();\n this.dispatchEvent(\n new event.constructor(event.type, {\n ...event,\n ...eventOptions\n })\n );\n }\n};\n_hasRecordedInitialProperties = new WeakMap();\n__decorateClass([\n property()\n], WebAwesomeElement.prototype, \"dir\", 2);\n__decorateClass([\n property()\n], WebAwesomeElement.prototype, \"lang\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true, attribute: \"did-ssr\" })\n], WebAwesomeElement.prototype, \"didSSR\", 2);\n\nexport {\n host_styles_default,\n WebAwesomeElement\n};\n","const connectedElements = new Set();\nconst translations = new Map();\nlet fallback;\nlet documentDirection = 'ltr';\nlet documentLanguage = 'en';\nconst isClient = typeof MutationObserver !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof document.documentElement !== 'undefined';\nif (isClient) {\n const documentElementObserver = new MutationObserver(update);\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n documentElementObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['dir', 'lang']\n });\n}\nexport function registerTranslation(...translation) {\n translation.map(t => {\n const code = t.$code.toLowerCase();\n if (translations.has(code)) {\n translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t));\n }\n else {\n translations.set(code, t);\n }\n if (!fallback) {\n fallback = t;\n }\n });\n update();\n}\nexport function update() {\n if (isClient) {\n documentDirection = document.documentElement.dir || 'ltr';\n documentLanguage = document.documentElement.lang || navigator.language;\n }\n [...connectedElements.keys()].map(el => {\n if (typeof el.requestUpdate === 'function') {\n el.requestUpdate();\n }\n });\n}\nexport class LocalizeController {\n constructor(host) {\n this.host = host;\n this.host.addController(this);\n }\n hostConnected() {\n connectedElements.add(this.host);\n }\n hostDisconnected() {\n connectedElements.delete(this.host);\n }\n dir() {\n return `${this.host.dir || documentDirection}`.toLowerCase();\n }\n lang() {\n return `${this.host.lang || documentLanguage}`.toLowerCase();\n }\n getTranslationData(lang) {\n var _a, _b;\n let locale;\n try {\n locale = new Intl.Locale(lang.replace(/_/g, '-'));\n }\n catch (_c) {\n return { locale: undefined, language: '', region: '', primary: undefined, secondary: undefined };\n }\n const language = locale.language.toLowerCase();\n const region = (_b = (_a = locale.region) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';\n const primary = translations.get(`${language}-${region}`);\n const secondary = translations.get(language);\n return { locale, language, region, primary, secondary };\n }\n exists(key, options) {\n var _a;\n const { primary, secondary } = this.getTranslationData((_a = options.lang) !== null && _a !== void 0 ? _a : this.lang());\n options = Object.assign({ includeFallback: false }, options);\n if ((primary && primary[key]) ||\n (secondary && secondary[key]) ||\n (options.includeFallback && fallback && fallback[key])) {\n return true;\n }\n return false;\n }\n term(key, ...args) {\n const { primary, secondary } = this.getTranslationData(this.lang());\n let term;\n if (primary && primary[key]) {\n term = primary[key];\n }\n else if (secondary && secondary[key]) {\n term = secondary[key];\n }\n else if (fallback && fallback[key]) {\n term = fallback[key];\n }\n else {\n console.error(`No translation found for: ${String(key)}`);\n return String(key);\n }\n if (typeof term === 'function') {\n return term(...args);\n }\n return term;\n }\n date(dateToFormat, options) {\n dateToFormat = new Date(dateToFormat);\n return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);\n }\n number(numberToFormat, options) {\n numberToFormat = Number(numberToFormat);\n return isNaN(numberToFormat) ? '' : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);\n }\n relativeTime(value, unit, options) {\n return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);\n }\n}\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/translations/en.ts\nimport { registerTranslation } from \"@shoelace-style/localize\";\nvar translation = {\n $code: \"en\",\n $name: \"English\",\n $dir: \"ltr\",\n carousel: \"Carousel\",\n captions: \"Captions\",\n chooseDate: \"Choose date\",\n chooseDecade: \"Choose decade\",\n chooseMonth: \"Choose month\",\n chooseYear: \"Choose year\",\n clearEntry: \"Clear entry\",\n close: \"Close\",\n closeCalendar: \"Close calendar\",\n createOption: (value) => `Create \"${value}\"`,\n copied: \"Copied\",\n copy: \"Copy\",\n currentValue: \"Current value\",\n date: \"Date\",\n datePickerKeyboardHelp: \"Use arrow keys to change values; press Alt+Down Arrow to open the calendar.\",\n day: \"Day\",\n incompleteDate: \"Enter a complete date.\",\n dropFileHere: \"Drop file here or click to browse\",\n decrement: \"Decrement\",\n dropFilesHere: \"Drop files here or click to browse\",\n empty: \"Empty\",\n endDate: \"End date\",\n error: \"Error\",\n enterFullscreen: \"Enter fullscreen\",\n exitFullscreen: \"Exit fullscreen\",\n goToSlide: (slide, count) => `Go to slide ${slide} of ${count}`,\n hidePassword: \"Hide password\",\n increment: \"Increment\",\n loading: \"Loading\",\n month: \"Month\",\n moreOptions: \"More Options\",\n mute: \"Mute\",\n nextDecade: \"Next decade\",\n nextMonth: \"Next month\",\n nextSlide: \"Next slide\",\n nextVideo: \"Next Video\",\n nextYear: \"Next year\",\n numCharacters: (num) => {\n if (num === 1) return \"1 character\";\n return `${num} characters`;\n },\n numCharactersRemaining: (num) => {\n if (num === 1) return \"1 character remaining\";\n return `${num} characters remaining`;\n },\n numOptionsSelected: (num) => {\n if (num === 0) return \"No options selected\";\n if (num === 1) return \"1 option selected\";\n return `${num} options selected`;\n },\n pause: \"Pause\",\n pauseAnimation: \"Pause animation\",\n pictureInPicture: \"Picture in picture\",\n play: \"Play\",\n playbackSpeed: \"Playback speed\",\n playlist: \"Playlist\",\n playAnimation: \"Play animation\",\n previousDecade: \"Previous decade\",\n previousMonth: \"Previous month\",\n previousSlide: \"Previous slide\",\n previousVideo: \"Previous video\",\n previousYear: \"Previous year\",\n progress: \"Progress\",\n rangeTooLong: (max) => {\n if (max === 1) return \"Select a range no longer than 1 day\";\n return `Select a range no longer than ${max} days`;\n },\n rangeTooShort: (min) => {\n if (min === 1) return \"Select a range at least 1 day long\";\n return `Select a range at least ${min} days long`;\n },\n readonly: \"Read-only\",\n selected: \"Selected\",\n selectedDateLabel: (date) => `Selected: ${date}`,\n selectedRangeLabel: (range) => `Selected range: ${range}`,\n selectionCleared: \"Selection cleared\",\n remove: \"Remove\",\n resize: \"Resize\",\n scrollableRegion: \"Scrollable region\",\n scrollToEnd: \"Scroll to end\",\n scrollToStart: \"Scroll to start\",\n selectAColorFromTheScreen: \"Select a color from the screen\",\n showPassword: \"Show password\",\n slideNum: (slide) => `Slide ${slide}`,\n startDate: \"Start date\",\n today: \"Today\",\n toggleColorFormat: \"Toggle color format\",\n seek: \"Seek\",\n seekProgress: (current, duration) => `${current} of ${duration}`,\n currentlyPlaying: \"currently playing\",\n unmute: \"Unmute\",\n videoPlayer: \"Video player\",\n volume: \"Volume\",\n year: \"Year\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n am: \"AM\",\n chooseTime: \"Choose time\",\n closeTimeInput: \"Close time picker\",\n dayPeriod: \"AM/PM\",\n hour: \"Hour\",\n minute: \"Minute\",\n now: \"Now\",\n pm: \"PM\",\n second: \"Second\",\n time: \"Time\",\n timeInputKeyboardHelp: \"Use arrow keys to change values; press Alt+Down Arrow to open the time picker.\"\n};\nregisterTranslation(translation);\nvar en_default = translation;\n\nexport {\n en_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n en_default\n} from \"./chunk.HBKCENRD.js\";\n\n// src/utilities/localize.ts\nimport { LocalizeController as DefaultLocalizationController, registerTranslation } from \"@shoelace-style/localize\";\nimport { registerTranslation as registerTranslation2 } from \"@shoelace-style/localize\";\nvar LocalizeController = class extends DefaultLocalizationController {\n lang() {\n if (this.host.didSSR && !this.host.hasUpdated) {\n return this.host.lang || \"en\";\n }\n return super.lang();\n }\n};\nregisterTranslation(en_default);\n\nexport {\n LocalizeController,\n registerTranslation2 as registerTranslation\n};\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n const firstChar = placement[0];\n return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n const side = getSide(placement);\n return oppositeSideMap[side] + placement.slice(side.length);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';\n}\nfunction isTableElement(element) {\n return /^(table|td|th)$/.test(getNodeName(element));\n}\nfunction isTopLayer(element) {\n try {\n if (element.matches(':popover-open')) {\n return true;\n }\n } catch (_e) {\n // no-op\n }\n try {\n return element.matches(':modal');\n } catch (_e) {\n return false;\n }\n}\nconst willChangeRe = /transform|translate|scale|rotate|perspective|filter/;\nconst containRe = /paint|layout|strict|content/;\nconst isNotNone = value => !!value && value !== 'none';\nlet isWebKitValue;\nfunction isContainingBlock(elementOrCss) {\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (isWebKitValue == null) {\n isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');\n }\n return isWebKitValue;\n}\nfunction isLastTraversableNode(node) {\n return /^(html|body|#document)$/.test(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n } else {\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n }\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);\n let top = firstRect.top;\n let right = firstRect.right;\n let bottom = firstRect.bottom;\n let left = firstRect.left;\n for (let i = 1; i < clippingAncestors.length; i++) {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);\n top = max(rect.top, top);\n right = min(rect.right, right);\n bottom = min(rect.bottom, bottom);\n left = max(rect.left, left);\n }\n return {\n width: right - left,\n height: bottom - top,\n x: left,\n y: top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...(floating ? getOverflowAncestors(floating) : [])] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n if (floating) {\n resizeObserver.observe(floating);\n }\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n WaSelectEvent\n} from \"./chunk.2LXKNNNE.js\";\nimport {\n activeElements\n} from \"./chunk.TTJR7FH2.js\";\nimport {\n dropdown_styles_default\n} from \"./chunk.Z6IK7DP4.js\";\nimport {\n WaShowEvent\n} from \"./chunk.4ZAKP7NY.js\";\nimport {\n WaHideEvent\n} from \"./chunk.MQODJ75V.js\";\nimport {\n WaAfterHideEvent\n} from \"./chunk.3NKIHICW.js\";\nimport {\n WaAfterShowEvent\n} from \"./chunk.PX3HMKF7.js\";\nimport {\n isTopDismissible,\n registerDismissible,\n unregisterDismissible\n} from \"./chunk.52WA2DJO.js\";\nimport {\n uniqueId\n} from \"./chunk.KNJT7KBU.js\";\nimport {\n warnDeprecatedSize\n} from \"./chunk.RPQJAXXR.js\";\nimport {\n size_styles_default\n} from \"./chunk.G5ZZIGWB.js\";\nimport {\n animateWithClass\n} from \"./chunk.L6CIKOFQ.js\";\nimport {\n watch\n} from \"./chunk.PZAN6FPN.js\";\nimport {\n WebAwesomeElement\n} from \"./chunk.AOKMSJXD.js\";\nimport {\n LocalizeController\n} from \"./chunk.TWDBLNQF.js\";\nimport {\n __decorateClass\n} from \"./chunk.7VGCIHDG.js\";\n\n// src/components/dropdown/dropdown.ts\nimport { autoUpdate, computePosition, flip, offset, shift } from \"@floating-ui/dom\";\nimport { html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nvar openDropdowns = /* @__PURE__ */ new Set();\nvar WaDropdown = class extends WebAwesomeElement {\n constructor() {\n super(...arguments);\n this.submenuCleanups = /* @__PURE__ */ new Map();\n this.localize = new LocalizeController(this);\n this.userTypedQuery = \"\";\n this.openSubmenuStack = [];\n this.open = false;\n this.size = \"m\";\n this.placement = \"bottom-start\";\n this.distance = 0;\n this.skidding = 0;\n /** Handles key down events when the menu is open */\n this.handleDocumentKeyDown = async (event) => {\n const isRtl = this.localize.dir() === \"rtl\";\n if (event.key === \"Escape\" && this.open && isTopDismissible(this)) {\n const trigger = this.getTrigger();\n event.preventDefault();\n event.stopPropagation();\n this.open = false;\n trigger?.focus({ preventScroll: true });\n return;\n }\n const activeElement = [...activeElements()].find((el) => el.localName === \"wa-dropdown-item\");\n const isFocusedOnItem = activeElement?.localName === \"wa-dropdown-item\";\n const currentSubmenuItem = this.getCurrentSubmenuItem();\n const isInSubmenu = !!currentSubmenuItem;\n let items;\n let activeItem;\n let activeItemIndex;\n if (isInSubmenu) {\n items = this.getSubmenuItems(currentSubmenuItem);\n activeItem = items.find((item) => item.active || item === activeElement);\n activeItemIndex = activeItem ? items.indexOf(activeItem) : -1;\n } else {\n items = this.getItems();\n activeItem = items.find((item) => item.active || item === activeElement);\n activeItemIndex = activeItem ? items.indexOf(activeItem) : -1;\n }\n let itemToSelect;\n if (event.key === \"ArrowUp\") {\n event.preventDefault();\n event.stopPropagation();\n if (activeItemIndex > 0) {\n itemToSelect = items[activeItemIndex - 1];\n } else {\n itemToSelect = items[items.length - 1];\n }\n }\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n event.stopPropagation();\n if (activeItemIndex !== -1 && activeItemIndex < items.length - 1) {\n itemToSelect = items[activeItemIndex + 1];\n } else {\n itemToSelect = items[0];\n }\n }\n if (event.key === (isRtl ? \"ArrowLeft\" : \"ArrowRight\") && isFocusedOnItem && activeItem) {\n if (activeItem.hasSubmenu) {\n event.preventDefault();\n event.stopPropagation();\n activeItem.submenuOpen = true;\n this.addToSubmenuStack(activeItem);\n setTimeout(() => {\n const submenuItems = this.getSubmenuItems(activeItem);\n if (submenuItems.length > 0) {\n submenuItems.forEach((item, index) => item.active = index === 0);\n submenuItems[0].focus({ preventScroll: true });\n }\n }, 0);\n return;\n }\n }\n if (event.key === (isRtl ? \"ArrowRight\" : \"ArrowLeft\") && isInSubmenu) {\n event.preventDefault();\n event.stopPropagation();\n const removedItem = this.removeFromSubmenuStack();\n if (removedItem) {\n removedItem.submenuOpen = false;\n setTimeout(() => {\n removedItem.focus({ preventScroll: true });\n removedItem.active = true;\n const parentItems = removedItem.slot === \"submenu\" ? this.getSubmenuItems(removedItem.parentElement) : this.getItems();\n parentItems.forEach((item) => {\n if (item !== removedItem) {\n item.active = false;\n }\n });\n }, 0);\n }\n return;\n }\n if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n event.stopPropagation();\n itemToSelect = event.key === \"Home\" ? items[0] : items[items.length - 1];\n }\n if (event.key === \"Tab\") {\n await this.hideMenu();\n }\n if (event.key.length === 1 && !(event.metaKey || event.ctrlKey || event.altKey) && !(event.key === \" \" && this.userTypedQuery === \"\")) {\n clearTimeout(this.userTypedTimeout);\n this.userTypedTimeout = setTimeout(() => {\n this.userTypedQuery = \"\";\n }, 1e3);\n this.userTypedQuery += event.key;\n items.some((item) => {\n const label = (item.textContent || \"\").trim().toLowerCase();\n const selectionQuery = this.userTypedQuery.trim().toLowerCase();\n if (label.startsWith(selectionQuery)) {\n itemToSelect = item;\n return true;\n }\n return false;\n });\n }\n if (itemToSelect) {\n event.preventDefault();\n event.stopPropagation();\n items.forEach((item) => item.active = item === itemToSelect);\n itemToSelect.focus({ preventScroll: true });\n itemToSelect.scrollIntoView({ block: \"nearest\" });\n return;\n }\n if ((event.key === \"Enter\" || event.key === \" \" && this.userTypedQuery === \"\") && isFocusedOnItem && activeItem) {\n event.preventDefault();\n event.stopPropagation();\n if (activeItem.hasSubmenu) {\n activeItem.submenuOpen = true;\n this.addToSubmenuStack(activeItem);\n setTimeout(() => {\n const submenuItems = this.getSubmenuItems(activeItem);\n if (submenuItems.length > 0) {\n submenuItems.forEach((item, index) => item.active = index === 0);\n submenuItems[0].focus({ preventScroll: true });\n }\n }, 0);\n } else {\n this.makeSelection(activeItem);\n }\n }\n };\n /** Handles pointer down events when the dropdown is open. */\n this.handleDocumentPointerDown = (event) => {\n const path = event.composedPath();\n const isInDropdownHierarchy = path.some((el) => {\n if (el instanceof HTMLElement) {\n return el === this || el.closest('wa-dropdown, [part=\"submenu\"]');\n }\n return false;\n });\n if (!isInDropdownHierarchy) {\n this.open = false;\n }\n };\n /** Handle global mouse movement for safe triangle logic */\n this.handleGlobalMouseMove = (event) => {\n const currentSubmenuItem = this.getCurrentSubmenuItem();\n if (!currentSubmenuItem?.submenuOpen || !currentSubmenuItem.submenuElement) return;\n const submenuRect = currentSubmenuItem.submenuElement.getBoundingClientRect();\n const isRtl = this.localize.dir() === \"rtl\";\n const submenuEdgeX = isRtl ? submenuRect.right : submenuRect.left;\n const constrainedX = isRtl ? Math.max(event.clientX, submenuEdgeX) : Math.min(event.clientX, submenuEdgeX);\n const constrainedY = Math.max(submenuRect.top, Math.min(event.clientY, submenuRect.bottom));\n currentSubmenuItem.submenuElement.style.setProperty(\"--safe-triangle-cursor-x\", `${constrainedX}px`);\n currentSubmenuItem.submenuElement.style.setProperty(\"--safe-triangle-cursor-y\", `${constrainedY}px`);\n const composedPath = event.composedPath();\n const submenuItemHovered = currentSubmenuItem.matches(\":hover\");\n const submenuElementHovered = Boolean(currentSubmenuItem.submenuElement?.matches(\":hover\"));\n const isOverItem = submenuItemHovered || !!composedPath.find((el) => el === currentSubmenuItem);\n const isOverSubmenu = submenuElementHovered || !!composedPath.find(\n (el) => el instanceof HTMLElement && el.closest('[part=\"submenu\"]') === currentSubmenuItem.submenuElement\n );\n if (!isOverItem && !isOverSubmenu) {\n setTimeout(() => {\n if (!submenuItemHovered && !submenuElementHovered) {\n currentSubmenuItem.submenuOpen = false;\n }\n }, 100);\n }\n };\n }\n handleSizeChange() {\n warnDeprecatedSize(this.localName, this.size);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n clearInterval(this.userTypedTimeout);\n this.closeAllSubmenus();\n this.submenuCleanups.forEach((cleanup) => cleanup());\n this.submenuCleanups.clear();\n document.removeEventListener(\"mousemove\", this.handleGlobalMouseMove);\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.removeEventListener(\"pointerdown\", this.handleDocumentPointerDown);\n unregisterDismissible(this);\n }\n firstUpdated() {\n this.syncAriaAttributes();\n }\n async updated(changedProperties) {\n if (changedProperties.has(\"open\")) {\n const previousOpen = changedProperties.get(\"open\");\n if (previousOpen === this.open) {\n return;\n }\n if (previousOpen === void 0 && this.open === false) {\n return;\n }\n this.customStates.set(\"open\", this.open);\n if (this.open) {\n await this.showMenu();\n } else {\n this.closeAllSubmenus();\n await this.hideMenu();\n }\n }\n if (changedProperties.has(\"size\")) {\n this.syncItemSizes();\n }\n }\n /** Gets all dropdown items slotted in the menu. */\n getItems(includeDisabled = false) {\n const items = (this.defaultSlot?.assignedElements({ flatten: true }) ?? []).filter(\n (el) => el.localName === \"wa-dropdown-item\"\n );\n return includeDisabled ? items : items.filter((item) => !item.disabled);\n }\n /** Gets all dropdown items in a specific submenu. */\n getSubmenuItems(parentItem, includeDisabled = false) {\n const submenuSlot = parentItem.shadowRoot?.querySelector('slot[name=\"submenu\"]') || parentItem.querySelector('slot[name=\"submenu\"]');\n if (!submenuSlot) {\n return [];\n }\n const items = submenuSlot.assignedElements({ flatten: true }).filter((el) => el.localName === \"wa-dropdown-item\");\n return includeDisabled ? items : items.filter((item) => !item.disabled);\n }\n /** Syncs item sizes with the dropdown's size property. */\n syncItemSizes() {\n const items = (this.defaultSlot?.assignedElements({ flatten: true }) ?? []).filter(\n (el) => el.localName === \"wa-dropdown-item\"\n );\n items.forEach((item) => item.size = this.size);\n }\n /** Handles the submenu navigation stack */\n addToSubmenuStack(item) {\n const index = this.openSubmenuStack.indexOf(item);\n if (index !== -1) {\n this.openSubmenuStack = this.openSubmenuStack.slice(0, index + 1);\n } else {\n this.openSubmenuStack.push(item);\n }\n }\n /** Removes the last item from the submenu stack */\n removeFromSubmenuStack() {\n return this.openSubmenuStack.pop();\n }\n /** Gets the current active submenu item */\n getCurrentSubmenuItem() {\n return this.openSubmenuStack.length > 0 ? this.openSubmenuStack[this.openSubmenuStack.length - 1] : void 0;\n }\n /** Closes all submenus in the dropdown. */\n closeAllSubmenus() {\n const items = this.getItems(true);\n items.forEach((item) => {\n item.submenuOpen = false;\n });\n this.openSubmenuStack = [];\n }\n /** Closes sibling submenus at the same level as the specified item. */\n closeSiblingSubmenus(item) {\n const parentDropdownItem = item.closest('wa-dropdown-item:not([slot=\"submenu\"])');\n let siblingItems;\n if (parentDropdownItem) {\n siblingItems = this.getSubmenuItems(parentDropdownItem, true);\n } else {\n siblingItems = this.getItems(true);\n }\n siblingItems.forEach((siblingItem) => {\n if (siblingItem !== item && siblingItem.submenuOpen) {\n siblingItem.submenuOpen = false;\n }\n });\n if (!this.openSubmenuStack.includes(item)) {\n this.openSubmenuStack.push(item);\n }\n }\n /** Get the slotted trigger button, a <wa-button> or <button> element */\n getTrigger() {\n return this.querySelector('[slot=\"trigger\"]');\n }\n /** Shows the dropdown menu. This should only be called from within updated(). */\n async showMenu() {\n const anchor = this.getTrigger();\n if (!anchor || !this.popup || !this.menu) return;\n const showEvent = new WaShowEvent();\n this.dispatchEvent(showEvent);\n if (showEvent.defaultPrevented) {\n this.open = false;\n return;\n }\n if (this.popup.active) {\n return;\n }\n openDropdowns.forEach((dropdown) => dropdown.open = false);\n this.popup.active = true;\n this.open = true;\n openDropdowns.add(this);\n registerDismissible(this);\n this.syncAriaAttributes();\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.addEventListener(\"pointerdown\", this.handleDocumentPointerDown);\n document.addEventListener(\"mousemove\", this.handleGlobalMouseMove);\n this.menu.classList.remove(\"hide\");\n await animateWithClass(this.menu, \"show\");\n const items = this.getItems();\n if (items.length > 0) {\n items.forEach((item, index) => item.active = index === 0);\n items[0].focus({ preventScroll: true });\n }\n this.dispatchEvent(new WaAfterShowEvent());\n }\n /** Hides the dropdown menu. This should only be called from within updated(). */\n async hideMenu() {\n if (!this.popup || !this.menu) return;\n const hideEvent = new WaHideEvent({ source: this });\n this.dispatchEvent(hideEvent);\n if (hideEvent.defaultPrevented) {\n this.open = true;\n return;\n }\n this.open = false;\n openDropdowns.delete(this);\n unregisterDismissible(this);\n this.syncAriaAttributes();\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n document.removeEventListener(\"pointerdown\", this.handleDocumentPointerDown);\n document.removeEventListener(\"mousemove\", this.handleGlobalMouseMove);\n this.menu.classList.remove(\"show\");\n await animateWithClass(this.menu, \"hide\");\n this.popup.active = this.open;\n this.dispatchEvent(new WaAfterHideEvent());\n }\n /** Handles clicks on the menu. */\n handleMenuClick(event) {\n const item = event.target.closest(\"wa-dropdown-item\");\n if (!item || item.disabled) return;\n if (item.hasSubmenu) {\n if (!item.submenuOpen) {\n this.closeSiblingSubmenus(item);\n this.addToSubmenuStack(item);\n item.submenuOpen = true;\n }\n event.stopPropagation();\n return;\n }\n this.makeSelection(item);\n }\n /** Prepares dropdown items when they get added or removed */\n async handleMenuSlotChange() {\n const items = this.getItems(true);\n await Promise.all(items.map((item) => item.updateComplete));\n this.syncItemSizes();\n const hasCheckbox = items.some((item) => item.type === \"checkbox\");\n const hasSubmenu = items.some((item) => item.hasSubmenu);\n items.forEach((item, index) => {\n item.active = index === 0;\n item.checkboxAdjacent = hasCheckbox;\n item.submenuAdjacent = hasSubmenu;\n });\n }\n /** Toggles the dropdown menu */\n handleTriggerClick() {\n this.open = !this.open;\n }\n /** Handles submenu opening events */\n handleSubmenuOpening(event) {\n const openingItem = event.detail.item;\n this.closeSiblingSubmenus(openingItem);\n this.addToSubmenuStack(openingItem);\n this.setupSubmenuPosition(openingItem);\n this.processSubmenuItems(openingItem);\n }\n /** Sets up submenu positioning with autoUpdate */\n setupSubmenuPosition(item) {\n if (!item.submenuElement) return;\n this.cleanupSubmenuPosition(item);\n const cleanup = autoUpdate(item, item.submenuElement, () => {\n this.positionSubmenu(item);\n this.updateSafeTriangleCoordinates(item);\n });\n this.submenuCleanups.set(item, cleanup);\n const submenuSlot = item.submenuElement.querySelector('slot[name=\"submenu\"]');\n if (submenuSlot) {\n submenuSlot.removeEventListener(\"slotchange\", WaDropdown.handleSubmenuSlotChange);\n submenuSlot.addEventListener(\"slotchange\", WaDropdown.handleSubmenuSlotChange);\n WaDropdown.handleSubmenuSlotChange({ target: submenuSlot });\n }\n }\n static handleSubmenuSlotChange(event) {\n const slot = event.target;\n if (!slot) return;\n const items = slot.assignedElements().filter((el) => el.localName === \"wa-dropdown-item\");\n if (items.length === 0) return;\n const hasSubmenuItems = items.some((item) => item.hasSubmenu);\n const hasCheckboxItems = items.some((item) => item.type === \"checkbox\");\n items.forEach((item) => {\n item.submenuAdjacent = hasSubmenuItems;\n item.checkboxAdjacent = hasCheckboxItems;\n });\n }\n processSubmenuItems(item) {\n if (!item.submenuElement) return;\n const submenuItems = this.getSubmenuItems(item, true);\n const hasSubmenuItems = submenuItems.some((subItem) => subItem.hasSubmenu);\n submenuItems.forEach((subItem) => {\n subItem.submenuAdjacent = hasSubmenuItems;\n });\n }\n /** Cleans up submenu positioning */\n cleanupSubmenuPosition(item) {\n const cleanup = this.submenuCleanups.get(item);\n if (cleanup) {\n cleanup();\n this.submenuCleanups.delete(item);\n }\n }\n /** Positions a submenu relative to its parent item */\n positionSubmenu(item) {\n if (!item.submenuElement) return;\n const isRtl = this.localize.dir() === \"rtl\";\n const placement = isRtl ? \"left-start\" : \"right-start\";\n computePosition(item, item.submenuElement, {\n placement,\n middleware: [\n offset({\n mainAxis: 0,\n crossAxis: -5\n }),\n flip({\n fallbackStrategy: \"bestFit\"\n }),\n shift({\n padding: 8\n })\n ]\n }).then(({ x, y, placement: placement2 }) => {\n item.submenuElement.setAttribute(\"data-placement\", placement2);\n Object.assign(item.submenuElement.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n });\n }\n /** Updates the safe triangle coordinates for a submenu */\n updateSafeTriangleCoordinates(item) {\n if (!item.submenuElement || !item.submenuOpen) return;\n const isKeyboardNavigation = document.activeElement?.matches(\":focus-visible\");\n if (isKeyboardNavigation) {\n item.submenuElement.style.setProperty(\"--safe-triangle-visible\", \"none\");\n return;\n }\n item.submenuElement.style.setProperty(\"--safe-triangle-visible\", \"block\");\n const submenuRect = item.submenuElement.getBoundingClientRect();\n const isRtl = this.localize.dir() === \"rtl\";\n item.submenuElement.style.setProperty(\n \"--safe-triangle-submenu-start-x\",\n `${isRtl ? submenuRect.right : submenuRect.left}px`\n );\n item.submenuElement.style.setProperty(\"--safe-triangle-submenu-start-y\", `${submenuRect.top}px`);\n item.submenuElement.style.setProperty(\n \"--safe-triangle-submenu-end-x\",\n `${isRtl ? submenuRect.right : submenuRect.left}px`\n );\n item.submenuElement.style.setProperty(\"--safe-triangle-submenu-end-y\", `${submenuRect.bottom}px`);\n }\n /** Makes a selection, emits the wa-select event, and closes the dropdown. */\n makeSelection(item) {\n const trigger = this.getTrigger();\n if (item.disabled) {\n return;\n }\n if (item.type === \"checkbox\") {\n item.checked = !item.checked;\n }\n const selectEvent = new WaSelectEvent({ item });\n this.dispatchEvent(selectEvent);\n if (!selectEvent.defaultPrevented) {\n this.open = false;\n trigger?.focus({ preventScroll: true });\n }\n }\n /** Syncs aria attributes on the slotted trigger element and the menu based on the dropdown's current state */\n async syncAriaAttributes() {\n const trigger = this.getTrigger();\n let nativeButton;\n if (!trigger) {\n return;\n }\n if (trigger.localName === \"wa-button\") {\n await customElements.whenDefined(\"wa-button\");\n await trigger.updateComplete;\n nativeButton = trigger.shadowRoot.querySelector('[part=\"base\"]');\n } else {\n nativeButton = trigger;\n }\n if (!nativeButton.hasAttribute(\"id\")) {\n nativeButton.setAttribute(\"id\", uniqueId(\"wa-dropdown-trigger-\"));\n }\n nativeButton.setAttribute(\"aria-haspopup\", \"menu\");\n nativeButton.setAttribute(\"aria-expanded\", this.open ? \"true\" : \"false\");\n this.menu?.setAttribute(\"aria-expanded\", \"false\");\n }\n render() {\n let active = this.didSSR && !this.hasUpdated ? this.open : this.popup?.active;\n return html`\n <wa-popup\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n ?active=${active}\n flip\n flip-fallback-strategy=\"best-fit\"\n shift\n shift-padding=\"10\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n @click=${this.handleTriggerClick}\n @slotchange=${this.syncAriaAttributes}\n ></slot>\n <div\n id=\"menu\"\n part=\"menu\"\n role=\"menu\"\n tabindex=\"-1\"\n aria-orientation=\"vertical\"\n @click=${this.handleMenuClick}\n @submenu-opening=${this.handleSubmenuOpening}\n >\n <slot @slotchange=${this.handleMenuSlotChange}></slot>\n </div>\n </wa-popup>\n `;\n }\n};\nWaDropdown.css = [size_styles_default, dropdown_styles_default];\n__decorateClass([\n query(\"slot:not([name])\")\n], WaDropdown.prototype, \"defaultSlot\", 2);\n__decorateClass([\n query(\"#menu\")\n], WaDropdown.prototype, \"menu\", 2);\n__decorateClass([\n query(\"wa-popup\")\n], WaDropdown.prototype, \"popup\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], WaDropdown.prototype, \"open\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaDropdown.prototype, \"size\", 2);\n__decorateClass([\n watch(\"size\")\n], WaDropdown.prototype, \"handleSizeChange\", 1);\n__decorateClass([\n property({ reflect: true })\n], WaDropdown.prototype, \"placement\", 2);\n__decorateClass([\n property({ type: Number })\n], WaDropdown.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], WaDropdown.prototype, \"skidding\", 2);\nWaDropdown = __decorateClass([\n customElement(\"wa-dropdown\")\n], WaDropdown);\n\nexport {\n WaDropdown\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/components/dropdown-item/dropdown-item.styles.ts\nimport { css } from \"lit\";\nvar dropdown_item_styles_default = css`\n :host {\n display: flex;\n position: relative;\n align-items: center;\n padding: 0.5em 1em;\n border-radius: var(--wa-border-radius-s);\n isolation: isolate;\n color: var(--wa-color-text-normal);\n line-height: var(--wa-line-height-condensed);\n cursor: pointer;\n transition:\n var(--wa-transition-fast) background-color var(--wa-transition-easing),\n var(--wa-transition-fast) color var(--wa-transition-easing);\n }\n\n @media (hover: hover) {\n :host(:hover:not(:state(disabled))) {\n background-color: var(--wa-color-neutral-fill-normal);\n }\n }\n\n :host(:state(submenu-open)) {\n background-color: var(--wa-color-neutral-fill-normal);\n }\n\n :host(:focus-visible) {\n z-index: 1;\n outline: var(--wa-focus-ring);\n background-color: var(--wa-color-neutral-fill-normal);\n }\n\n :host(:state(disabled)),\n :host([disabled]) {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n /* Danger variant */\n :host([variant='danger']),\n :host([variant='danger']) #details {\n color: var(--wa-color-danger-on-quiet);\n }\n\n @media (hover: hover) {\n :host([variant='danger']:hover) {\n background-color: var(--wa-color-danger-fill-normal);\n color: var(--wa-color-danger-on-normal);\n }\n }\n\n :host([variant='danger']:state(submenu-open)),\n :host([variant='danger']:focus-visible) {\n background-color: var(--wa-color-danger-fill-normal);\n color: var(--wa-color-danger-on-normal);\n }\n\n :host([checkbox-adjacent]) {\n padding-inline-start: 2em;\n }\n\n /* Only add padding when item actually has a submenu */\n :host([submenu-adjacent]:not(:state(has-submenu))) #details {\n padding-inline-end: 0;\n }\n\n :host(:state(has-submenu)[submenu-adjacent]) #details {\n padding-inline-end: 1.75em;\n }\n\n #check {\n visibility: hidden;\n margin-inline-start: -1.5em;\n margin-inline-end: 0.5em;\n font-size: var(--wa-font-size-smaller);\n }\n\n :host(:state(checked)) #check {\n visibility: visible;\n }\n\n #icon ::slotted(*) {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n margin-inline-end: 0.75em !important;\n font-size: var(--wa-font-size-smaller);\n }\n\n #label {\n flex: 1 1 auto;\n min-width: 0;\n }\n\n #details {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: end;\n color: var(--wa-color-text-quiet);\n font-size: var(--wa-font-size-smaller) !important;\n }\n\n #details ::slotted(*) {\n margin-inline-start: 2em !important;\n }\n\n /* Submenu indicator icon */\n #submenu-indicator {\n position: absolute;\n inset-inline-end: 1em;\n color: var(--wa-color-neutral-on-quiet);\n font-size: var(--wa-font-size-smaller);\n }\n\n /* Flip chevron icon when RTL */\n :host(:dir(rtl)) #submenu-indicator {\n transform: scaleX(-1);\n }\n\n /* Submenu styles */\n #submenu {\n display: flex;\n z-index: 10;\n position: absolute;\n top: 0;\n left: 0;\n flex-direction: column;\n width: max-content;\n margin: 0;\n padding: 0.25em;\n border: var(--wa-border-style) var(--wa-border-width-s) var(--wa-color-surface-border);\n border-radius: var(--wa-border-radius-m);\n background-color: var(--wa-color-surface-raised);\n box-shadow: var(--wa-shadow-m);\n color: var(--wa-color-text-normal);\n text-align: start;\n user-select: none;\n\n /* Override default popover styles */\n &[popover] {\n margin: 0;\n inset: auto;\n padding: 0.25em;\n overflow: visible;\n border-radius: var(--wa-border-radius-m);\n }\n\n &.show {\n animation: submenu-show var(--show-duration, var(--wa-transition-fast)) ease;\n }\n\n &.hide {\n animation: submenu-show var(--show-duration, var(--wa-transition-fast)) ease reverse;\n }\n\n /* Submenu placement transform origins */\n &[data-placement^='top'] {\n transform-origin: bottom;\n }\n\n &[data-placement^='bottom'] {\n transform-origin: top;\n }\n\n &[data-placement^='left'] {\n transform-origin: right;\n }\n\n &[data-placement^='right'] {\n transform-origin: left;\n }\n\n &[data-placement='left-start'] {\n transform-origin: right top;\n }\n\n &[data-placement='left-end'] {\n transform-origin: right bottom;\n }\n\n &[data-placement='right-start'] {\n transform-origin: left top;\n }\n\n &[data-placement='right-end'] {\n transform-origin: left bottom;\n }\n\n /* Safe triangle styling */\n &::before {\n display: none;\n z-index: 9;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: transparent;\n content: '';\n clip-path: polygon(\n var(--safe-triangle-cursor-x, 0) var(--safe-triangle-cursor-y, 0),\n var(--safe-triangle-submenu-start-x, 0) var(--safe-triangle-submenu-start-y, 0),\n var(--safe-triangle-submenu-end-x, 0) var(--safe-triangle-submenu-end-y, 0)\n );\n pointer-events: auto; /* Enable mouse events on the triangle */\n }\n\n &[data-visible]::before {\n display: block;\n }\n }\n\n ::slotted(wa-dropdown-item) {\n font-size: inherit;\n }\n\n ::slotted(wa-divider) {\n --spacing: 0.25em;\n }\n\n @keyframes submenu-show {\n from {\n scale: 0.9;\n opacity: 0;\n }\n to {\n scale: 1;\n opacity: 1;\n }\n }\n`;\n\nexport {\n dropdown_item_styles_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/internal/slot.ts\nvar HasSlotController = class {\n constructor(host, ...slotNames) {\n this.slotNames = [];\n this.handleSlotChange = (event) => {\n const slot = event.target;\n if (this.slotNames.includes(\"[default]\") && !slot.name || slot.name && this.slotNames.includes(slot.name)) {\n this.host.requestUpdate();\n }\n };\n (this.host = host).addController(this);\n this.slotNames = slotNames;\n }\n hasDefaultSlot() {\n if (!this.host.childNodes) {\n return false;\n }\n return [...this.host.childNodes].some((node) => {\n if (node.nodeType === Node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n if (node.nodeType === Node.ELEMENT_NODE) {\n const el = node;\n const tagName = el.tagName.toLowerCase();\n if (tagName === \"wa-visually-hidden\") {\n return false;\n }\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n return false;\n });\n }\n hasNamedSlot(name) {\n return this.host.querySelector?.(`:scope > [slot=\"${name}\"]`) !== null;\n }\n /**\n * @param slotName - Name of the slot to look for\n * @param propertyName - Generally we infer via `withHeader` property on the host, but in cases where its different, you can specify a manual property name.\n */\n test(slotName, propertyName) {\n if (propertyName && this.host.didSSR && !this.host.hasUpdated) {\n return Boolean(this.host[propertyName]);\n }\n return slotName === \"[default]\" ? this.hasDefaultSlot() : this.hasNamedSlot(slotName);\n }\n hostConnected() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot && \"addEventListener\" in shadowRoot) {\n shadowRoot.addEventListener(\"slotchange\", this.handleSlotChange);\n }\n }\n hostDisconnected() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot && \"removeEventListener\" in shadowRoot) {\n shadowRoot.removeEventListener(\"slotchange\", this.handleSlotChange);\n }\n }\n};\n\nexport {\n HasSlotController\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n dropdown_item_styles_default\n} from \"./chunk.VCKA3KNZ.js\";\nimport {\n warnDeprecatedSize\n} from \"./chunk.RPQJAXXR.js\";\nimport {\n HasSlotController\n} from \"./chunk.RWNXKUCF.js\";\nimport {\n animateWithClass\n} from \"./chunk.L6CIKOFQ.js\";\nimport {\n watch\n} from \"./chunk.PZAN6FPN.js\";\nimport {\n WebAwesomeElement\n} from \"./chunk.AOKMSJXD.js\";\nimport {\n __decorateClass\n} from \"./chunk.7VGCIHDG.js\";\n\n// src/components/dropdown-item/dropdown-item.ts\nimport { html } from \"lit\";\nimport { customElement, property, query, state } from \"lit/decorators.js\";\nvar WaDropdownItem = class extends WebAwesomeElement {\n constructor() {\n super(...arguments);\n this.hasSlotController = new HasSlotController(this, \"[default]\", \"start\", \"end\");\n this.active = false;\n this.variant = \"default\";\n this.size = \"m\";\n this.checkboxAdjacent = false;\n this.submenuAdjacent = false;\n this.type = \"normal\";\n this.checked = false;\n this.disabled = false;\n this.submenuOpen = false;\n this.hasSubmenu = false;\n this.handleSlotChange = () => {\n this.hasSubmenu = this.hasSlotController.test(\"submenu\");\n this.updateHasSubmenuState();\n if (this.hasSubmenu) {\n this.setAttribute(\"aria-haspopup\", \"menu\");\n this.setAttribute(\"aria-expanded\", this.submenuOpen ? \"true\" : \"false\");\n } else {\n this.removeAttribute(\"aria-haspopup\");\n this.removeAttribute(\"aria-expanded\");\n }\n };\n /** Prevents click events from firing on the host when the item is disabled (e.g. programmatic .click() calls). */\n this.handleHostClick = (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n /** Prevents click events from firing when the item is disabled. */\n this.handleClick = (event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n };\n }\n handleSizeChange() {\n warnDeprecatedSize(this.localName, this.size);\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener?.(\"click\", this.handleHostClick);\n this.addEventListener?.(\"mouseenter\", this.handleMouseEnter.bind(this));\n this.shadowRoot?.addEventListener?.(\"click\", this.handleClick, { capture: true });\n this.shadowRoot?.addEventListener?.(\"slotchange\", this.handleSlotChange);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.closeSubmenu();\n this.removeEventListener?.(\"click\", this.handleHostClick);\n this.removeEventListener?.(\"mouseenter\", this.handleMouseEnter);\n this.shadowRoot?.removeEventListener?.(\"click\", this.handleClick, { capture: true });\n this.shadowRoot?.removeEventListener?.(\"slotchange\", this.handleSlotChange);\n }\n firstUpdated() {\n this.setAttribute(\"tabindex\", \"-1\");\n this.hasSubmenu = this.hasSlotController.test(\"submenu\");\n this.updateHasSubmenuState();\n }\n updated(changedProperties) {\n if (changedProperties.has(\"active\")) {\n this.setAttribute(\"tabindex\", this.active ? \"0\" : \"-1\");\n this.customStates.set(\"active\", this.active);\n }\n if (changedProperties.has(\"checked\")) {\n if (this.type === \"checkbox\") {\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.removeAttribute(\"aria-checked\");\n }\n this.customStates.set(\"checked\", this.checked);\n }\n if (changedProperties.has(\"disabled\")) {\n this.setAttribute(\"aria-disabled\", this.disabled ? \"true\" : \"false\");\n this.customStates.set(\"disabled\", this.disabled);\n }\n if (changedProperties.has(\"type\")) {\n if (this.type === \"checkbox\") {\n this.setAttribute(\"role\", \"menuitemcheckbox\");\n this.setAttribute(\"aria-checked\", this.checked ? \"true\" : \"false\");\n } else {\n this.setAttribute(\"role\", \"menuitem\");\n this.removeAttribute(\"aria-checked\");\n }\n }\n if (changedProperties.has(\"submenuOpen\")) {\n this.customStates.set(\"submenu-open\", this.submenuOpen);\n if (this.submenuOpen) {\n this.openSubmenu();\n } else {\n this.closeSubmenu();\n }\n }\n }\n /** Update the has-submenu custom state */\n updateHasSubmenuState() {\n this.customStates.set(\"has-submenu\", this.hasSubmenu);\n }\n /** Opens the submenu. */\n async openSubmenu() {\n const submenu = this.submenuElement;\n if (!this.hasSubmenu || !submenu || !this.isConnected) return;\n this.notifyParentOfOpening();\n submenu.showPopover?.();\n submenu.hidden = false;\n submenu.setAttribute(\"data-visible\", \"\");\n this.submenuOpen = true;\n this.setAttribute(\"aria-expanded\", \"true\");\n await animateWithClass(submenu, \"show\");\n setTimeout(() => {\n const items = this.getSubmenuItems();\n if (items.length > 0) {\n items.forEach((item, index) => item.active = index === 0);\n items[0].focus({ preventScroll: true });\n }\n }, 0);\n }\n /** Notifies the parent dropdown that this item is opening its submenu */\n notifyParentOfOpening() {\n const event = new CustomEvent(\"submenu-opening\", {\n bubbles: true,\n composed: true,\n detail: { item: this }\n });\n this.dispatchEvent(event);\n const parent = this.parentElement;\n if (parent) {\n const siblings = [...parent.children].filter(\n (el) => el !== this && el.localName === \"wa-dropdown-item\" && el.getAttribute(\"slot\") === this.getAttribute(\"slot\") && el.submenuOpen\n );\n siblings.forEach((sibling) => {\n sibling.submenuOpen = false;\n });\n }\n }\n /** Closes the submenu. */\n async closeSubmenu() {\n const submenu = this.submenuElement;\n if (!this.hasSubmenu || !submenu) return;\n this.submenuOpen = false;\n this.setAttribute(\"aria-expanded\", \"false\");\n if (!submenu.hidden) {\n await animateWithClass(submenu, \"hide\");\n if (submenu?.isConnected) {\n submenu.hidden = true;\n submenu.removeAttribute(\"data-visible\");\n submenu.hidePopover?.();\n }\n }\n }\n /** Gets all dropdown items in the submenu. */\n getSubmenuItems() {\n return [...this.children].filter(\n (el) => el.localName === \"wa-dropdown-item\" && el.getAttribute(\"slot\") === \"submenu\" && !el.hasAttribute(\"disabled\")\n );\n }\n /** Handles mouse enter to open the submenu */\n handleMouseEnter() {\n if (this.hasSubmenu && !this.disabled) {\n this.notifyParentOfOpening();\n this.submenuOpen = true;\n }\n }\n render() {\n return html`\n ${this.type === \"checkbox\" ? html`\n <wa-icon\n id=\"check\"\n part=\"checkmark\"\n exportparts=\"svg:checkmark__svg\"\n library=\"system\"\n name=\"check\"\n ></wa-icon>\n ` : \"\"}\n\n <span id=\"icon\" part=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n\n <span id=\"label\" part=\"label\">\n <slot></slot>\n </span>\n\n <span id=\"details\" part=\"details\">\n <slot name=\"details\"></slot>\n </span>\n\n ${this.hasSubmenu ? html`\n <wa-icon\n id=\"submenu-indicator\"\n part=\"submenu-icon\"\n exportparts=\"svg:submenu-icon__svg\"\n library=\"system\"\n name=\"chevron-right\"\n ></wa-icon>\n ` : \"\"}\n ${this.hasSubmenu ? html`\n <div\n id=\"submenu\"\n part=\"submenu\"\n popover=\"manual\"\n role=\"menu\"\n tabindex=\"-1\"\n aria-orientation=\"vertical\"\n hidden\n >\n <slot name=\"submenu\"></slot>\n </div>\n ` : \"\"}\n `;\n }\n};\nWaDropdownItem.css = dropdown_item_styles_default;\n__decorateClass([\n query(\"#submenu\")\n], WaDropdownItem.prototype, \"submenuElement\", 2);\n__decorateClass([\n property({ type: Boolean })\n], WaDropdownItem.prototype, \"active\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaDropdownItem.prototype, \"variant\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaDropdownItem.prototype, \"size\", 2);\n__decorateClass([\n watch(\"size\")\n], WaDropdownItem.prototype, \"handleSizeChange\", 1);\n__decorateClass([\n property({ attribute: \"checkbox-adjacent\", type: Boolean, reflect: true })\n], WaDropdownItem.prototype, \"checkboxAdjacent\", 2);\n__decorateClass([\n property({ attribute: \"submenu-adjacent\", type: Boolean, reflect: true })\n], WaDropdownItem.prototype, \"submenuAdjacent\", 2);\n__decorateClass([\n property()\n], WaDropdownItem.prototype, \"value\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaDropdownItem.prototype, \"type\", 2);\n__decorateClass([\n property({ type: Boolean })\n], WaDropdownItem.prototype, \"checked\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], WaDropdownItem.prototype, \"disabled\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], WaDropdownItem.prototype, \"submenuOpen\", 2);\n__decorateClass([\n state()\n], WaDropdownItem.prototype, \"hasSubmenu\", 2);\nWaDropdownItem = __decorateClass([\n customElement(\"wa-dropdown-item\")\n], WaDropdownItem);\n\nexport {\n WaDropdownItem\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/reposition.ts\nvar WaRepositionEvent = class extends Event {\n constructor() {\n super(\"wa-reposition\", { bubbles: true, cancelable: false, composed: true });\n }\n};\n\nexport {\n WaRepositionEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/components/popup/popup.styles.ts\nimport { css } from \"lit\";\nvar popup_styles_default = css`\n :host {\n --arrow-color: black;\n --arrow-size: var(--wa-tooltip-arrow-size);\n --popup-border-width: 0px;\n --show-duration: var(--wa-transition-fast);\n --hide-duration: var(--wa-transition-fast);\n\n /*\n * These properties are computed to account for the arrow's dimensions after being rotated 45º. The constant\n * 0.7071 is derived from sin(45) to calculate the length of the arrow after rotation.\n *\n * The diamond will be translated inward by --arrow-base-offset, the border thickness, to centralise it on\n * the inner edge of the popup border. This also means we need to increase the size of the arrow by the\n * same amount to compensate.\n *\n * A diamond shaped clipping mask is used to avoid overlap of popup content. This extends slightly inward so\n * the popup border is covered with no sub-pixel rounding artifacts. The diamond corners are mitred at 22.5º\n * to properly merge any arrow border with the popup border. The constant 1.4142 is derived from 1 + tan(22.5).\n *\n */\n --arrow-base-offset: var(--popup-border-width);\n --arrow-size-diagonal: calc((var(--arrow-size) + var(--arrow-base-offset)) * 0.7071);\n --arrow-padding-offset: calc(var(--arrow-size-diagonal) - var(--arrow-size));\n --arrow-size-div: calc(var(--arrow-size-diagonal) * 2);\n --arrow-clipping-corner: calc(var(--arrow-base-offset) * 1.4142);\n\n display: contents;\n }\n\n .popup {\n position: absolute;\n isolation: isolate;\n max-width: var(--auto-size-available-width, none);\n max-height: var(--auto-size-available-height, none);\n\n /* Clear UA styles for [popover] */\n :where(&) {\n inset: unset;\n padding: unset;\n margin: unset;\n width: unset;\n height: unset;\n color: unset;\n background: unset;\n border: unset;\n overflow: unset;\n }\n }\n\n .popup-fixed {\n position: fixed;\n }\n\n .popup:not(.popup-active) {\n display: none;\n }\n\n .arrow {\n position: absolute;\n width: var(--arrow-size-div);\n height: var(--arrow-size-div);\n background: var(--arrow-color);\n z-index: 3;\n clip-path: polygon(\n var(--arrow-clipping-corner) 100%,\n var(--arrow-base-offset) calc(100% - var(--arrow-base-offset)),\n calc(var(--arrow-base-offset) - 2px) calc(100% - var(--arrow-base-offset)),\n calc(100% - var(--arrow-base-offset)) calc(var(--arrow-base-offset) - 2px),\n calc(100% - var(--arrow-base-offset)) var(--arrow-base-offset),\n 100% var(--arrow-clipping-corner),\n 100% 100%\n );\n rotate: 45deg;\n }\n\n :host([data-current-placement|='left']) .arrow {\n rotate: -45deg;\n }\n\n :host([data-current-placement|='right']) .arrow {\n rotate: 135deg;\n }\n\n :host([data-current-placement|='bottom']) .arrow {\n rotate: 225deg;\n }\n\n /* Hover bridge */\n .popup-hover-bridge:not(.popup-hover-bridge-visible) {\n display: none;\n }\n\n .popup-hover-bridge {\n position: fixed;\n z-index: 899;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n clip-path: polygon(\n var(--hover-bridge-top-left-x, 0) var(--hover-bridge-top-left-y, 0),\n var(--hover-bridge-top-right-x, 0) var(--hover-bridge-top-right-y, 0),\n var(--hover-bridge-bottom-right-x, 0) var(--hover-bridge-bottom-right-y, 0),\n var(--hover-bridge-bottom-left-x, 0) var(--hover-bridge-bottom-left-y, 0)\n );\n }\n\n /* Built-in animations */\n .show {\n animation: show var(--show-duration) ease;\n }\n\n .hide {\n animation: show var(--hide-duration) ease reverse;\n }\n\n @keyframes show {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n\n .show-with-scale {\n animation: show-with-scale var(--show-duration) ease;\n }\n\n .hide-with-scale {\n animation: show-with-scale var(--hide-duration) ease reverse;\n }\n\n @keyframes show-with-scale {\n from {\n opacity: 0;\n scale: 0.8;\n }\n to {\n opacity: 1;\n scale: 1;\n }\n }\n`;\n\nexport {\n popup_styles_default\n};\n","import{isContainingBlock as t}from\"@floating-ui/utils/dom\";function e(t){return i(t)}function n(t){return f(t,\"offsetTop\")}function o(t){return f(t,\"offsetLeft\")}function r(t){return t.assignedSlot?t.assignedSlot:t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentNode}function i(e){for(let t=e;t;t=r(t))if(t instanceof Element&&\"none\"===getComputedStyle(t).display)return null;for(let n=r(e);n;n=r(n)){if(!(n instanceof Element))continue;const e=getComputedStyle(n);if(\"contents\"!==e.display){if(\"static\"!==e.position||t(e))return n;if(\"BODY\"===n.tagName)return n}}return null}function f(t,e){let n=t[e],o=i(t);const r=function(t){const e=new Set;let n=t.getRootNode();for(;n;)e.add(n),n=n.parentNode?n.parentNode.getRootNode():null;return e}(t);for(;o&&!r.has(o.getRootNode());)n-=o[e],o=i(o);return n}export{o as offsetLeft,e as offsetParent,n as offsetTop};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n WaRepositionEvent\n} from \"./chunk.ZWQCGLB5.js\";\nimport {\n popup_styles_default\n} from \"./chunk.HS5AYC6E.js\";\nimport {\n WebAwesomeElement\n} from \"./chunk.AOKMSJXD.js\";\nimport {\n LocalizeController\n} from \"./chunk.TWDBLNQF.js\";\nimport {\n __decorateClass\n} from \"./chunk.7VGCIHDG.js\";\n\n// src/components/popup/popup.ts\nimport {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n getOverflowAncestors,\n offset,\n platform,\n shift,\n size\n} from \"@floating-ui/dom\";\nimport { offsetParent } from \"composed-offset-position\";\nimport { html } from \"lit\";\nimport { customElement, property, query } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nfunction isVirtualElement(e) {\n return e !== null && typeof e === \"object\" && \"getBoundingClientRect\" in e && (\"contextElement\" in e ? e instanceof Element : true);\n}\nvar SUPPORTS_POPOVER = Boolean(globalThis?.HTMLElement?.prototype.hasOwnProperty(\"popover\"));\nvar WaPopup = class extends WebAwesomeElement {\n constructor() {\n super(...arguments);\n this.localize = new LocalizeController(this);\n this.SUPPORTS_POPOVER = false;\n this.active = false;\n this.placement = \"top\";\n this.boundary = \"viewport\";\n this.distance = 0;\n this.skidding = 0;\n this.arrow = false;\n this.arrowPlacement = \"anchor\";\n this.arrowPadding = 10;\n this.flip = false;\n this.flipFallbackPlacements = \"\";\n this.flipFallbackStrategy = \"best-fit\";\n this.flipPadding = 0;\n this.shift = false;\n this.shiftPadding = 0;\n this.autoSizePadding = 0;\n this.hoverBridge = false;\n this.updateHoverBridge = () => {\n if (this.hoverBridge && this.anchorEl && this.popup) {\n const anchorRect = this.anchorEl.getBoundingClientRect();\n const popupRect = this.popup.getBoundingClientRect();\n const isVertical = this.placement.includes(\"top\") || this.placement.includes(\"bottom\");\n let topLeftX = 0;\n let topLeftY = 0;\n let topRightX = 0;\n let topRightY = 0;\n let bottomLeftX = 0;\n let bottomLeftY = 0;\n let bottomRightX = 0;\n let bottomRightY = 0;\n if (isVertical) {\n if (anchorRect.top < popupRect.top) {\n topLeftX = anchorRect.left;\n topLeftY = anchorRect.bottom;\n topRightX = anchorRect.right;\n topRightY = anchorRect.bottom;\n bottomLeftX = popupRect.left;\n bottomLeftY = popupRect.top;\n bottomRightX = popupRect.right;\n bottomRightY = popupRect.top;\n } else {\n topLeftX = popupRect.left;\n topLeftY = popupRect.bottom;\n topRightX = popupRect.right;\n topRightY = popupRect.bottom;\n bottomLeftX = anchorRect.left;\n bottomLeftY = anchorRect.top;\n bottomRightX = anchorRect.right;\n bottomRightY = anchorRect.top;\n }\n } else {\n if (anchorRect.left < popupRect.left) {\n topLeftX = anchorRect.right;\n topLeftY = anchorRect.top;\n topRightX = popupRect.left;\n topRightY = popupRect.top;\n bottomLeftX = anchorRect.right;\n bottomLeftY = anchorRect.bottom;\n bottomRightX = popupRect.left;\n bottomRightY = popupRect.bottom;\n } else {\n topLeftX = popupRect.right;\n topLeftY = popupRect.top;\n topRightX = anchorRect.left;\n topRightY = anchorRect.top;\n bottomLeftX = popupRect.right;\n bottomLeftY = popupRect.bottom;\n bottomRightX = anchorRect.left;\n bottomRightY = anchorRect.bottom;\n }\n }\n this.style.setProperty(\"--hover-bridge-top-left-x\", `${topLeftX}px`);\n this.style.setProperty(\"--hover-bridge-top-left-y\", `${topLeftY}px`);\n this.style.setProperty(\"--hover-bridge-top-right-x\", `${topRightX}px`);\n this.style.setProperty(\"--hover-bridge-top-right-y\", `${topRightY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-x\", `${bottomLeftX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-left-y\", `${bottomLeftY}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-x\", `${bottomRightX}px`);\n this.style.setProperty(\"--hover-bridge-bottom-right-y\", `${bottomRightY}px`);\n }\n };\n }\n async connectedCallback() {\n super.connectedCallback();\n await this.updateComplete;\n this.SUPPORTS_POPOVER = SUPPORTS_POPOVER;\n this.start();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.stop();\n }\n async updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has(\"active\")) {\n if (this.active) {\n this.start();\n } else {\n this.stop();\n }\n }\n if (changedProperties.has(\"anchor\")) {\n this.handleAnchorChange();\n }\n if (this.active) {\n await this.updateComplete;\n this.reposition();\n }\n }\n async handleAnchorChange() {\n await this.stop();\n if (this.anchor && typeof this.anchor === \"string\") {\n const root = this.getRootNode();\n this.anchorEl = root.getElementById(this.anchor);\n } else if (this.anchor instanceof Element || isVirtualElement(this.anchor)) {\n this.anchorEl = this.anchor;\n } else {\n this.anchorEl = this.querySelector('[slot=\"anchor\"]');\n }\n if (this.anchorEl instanceof HTMLSlotElement) {\n this.anchorEl = this.anchorEl.assignedElements({ flatten: true })[0];\n }\n if (this.anchorEl) {\n this.start();\n }\n }\n start() {\n if (!this.anchorEl || !this.active || !this.isConnected) {\n return;\n }\n this.popup?.showPopover?.();\n this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {\n this.reposition();\n });\n }\n async stop() {\n return new Promise((resolve) => {\n this.popup?.hidePopover?.();\n if (this.cleanup) {\n this.cleanup();\n this.cleanup = void 0;\n this.removeAttribute(\"data-current-placement\");\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n requestAnimationFrame(() => resolve());\n } else {\n resolve();\n }\n });\n }\n /** Forces the popup to recalculate and reposition itself. */\n reposition() {\n if (!this.active || !this.anchorEl || !this.popup) {\n return;\n }\n const middleware = [\n // The offset middleware goes first\n offset({ mainAxis: this.distance, crossAxis: this.skidding })\n ];\n if (this.sync) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n const syncWidth = this.sync === \"width\" || this.sync === \"both\";\n const syncHeight = this.sync === \"height\" || this.sync === \"both\";\n this.popup.style.width = syncWidth ? `${rects.reference.width}px` : \"\";\n this.popup.style.height = syncHeight ? `${rects.reference.height}px` : \"\";\n }\n })\n );\n } else {\n this.popup.style.width = \"\";\n this.popup.style.height = \"\";\n }\n let defaultBoundary;\n if (this.SUPPORTS_POPOVER && !isVirtualElement(this.anchor) && this.boundary === \"scroll\") {\n defaultBoundary = getOverflowAncestors(this.anchorEl).filter((el) => el instanceof Element);\n }\n if (this.flip) {\n middleware.push(\n flip({\n boundary: this.flipBoundary || defaultBoundary,\n // @ts-expect-error - We're converting a string attribute to an array here\n fallbackPlacements: this.flipFallbackPlacements,\n fallbackStrategy: this.flipFallbackStrategy === \"best-fit\" ? \"bestFit\" : \"initialPlacement\",\n padding: this.flipPadding\n })\n );\n }\n if (this.shift) {\n middleware.push(\n shift({\n boundary: this.shiftBoundary || defaultBoundary,\n padding: this.shiftPadding\n })\n );\n }\n if (this.autoSize) {\n middleware.push(\n size({\n boundary: this.autoSizeBoundary || defaultBoundary,\n padding: this.autoSizePadding,\n apply: ({ availableWidth, availableHeight }) => {\n if (this.autoSize === \"vertical\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-height\", `${availableHeight}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.autoSize === \"horizontal\" || this.autoSize === \"both\") {\n this.style.setProperty(\"--auto-size-available-width\", `${availableWidth}px`);\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n }\n }\n })\n );\n } else {\n this.style.removeProperty(\"--auto-size-available-width\");\n this.style.removeProperty(\"--auto-size-available-height\");\n }\n if (this.arrow) {\n middleware.push(\n arrow({\n element: this.arrowEl,\n padding: this.arrowPadding\n })\n );\n }\n const getOffsetParent = this.SUPPORTS_POPOVER ? (element) => platform.getOffsetParent(element, offsetParent) : platform.getOffsetParent;\n computePosition(this.anchorEl, this.popup, {\n placement: this.placement,\n middleware,\n strategy: this.SUPPORTS_POPOVER ? \"absolute\" : \"fixed\",\n platform: {\n ...platform,\n getOffsetParent\n }\n }).then(({ x, y, middlewareData, placement }) => {\n const isRtl = this.localize.dir() === \"rtl\";\n const staticSide = { top: \"bottom\", right: \"left\", bottom: \"top\", left: \"right\" }[placement.split(\"-\")[0]];\n this.setAttribute(\"data-current-placement\", placement);\n Object.assign(this.popup.style, {\n left: `${x}px`,\n top: `${y}px`\n });\n if (this.arrow) {\n const arrowX = middlewareData.arrow.x;\n const arrowY = middlewareData.arrow.y;\n let top = \"\";\n let right = \"\";\n let bottom = \"\";\n let left = \"\";\n if (this.arrowPlacement === \"start\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? value : \"\";\n left = isRtl ? \"\" : value;\n } else if (this.arrowPlacement === \"end\") {\n const value = typeof arrowX === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n right = isRtl ? \"\" : value;\n left = isRtl ? value : \"\";\n bottom = typeof arrowY === \"number\" ? `calc(${this.arrowPadding}px - var(--arrow-padding-offset))` : \"\";\n } else if (this.arrowPlacement === \"center\") {\n left = typeof arrowX === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n top = typeof arrowY === \"number\" ? `calc(50% - var(--arrow-size-diagonal))` : \"\";\n } else {\n left = typeof arrowX === \"number\" ? `${arrowX}px` : \"\";\n top = typeof arrowY === \"number\" ? `${arrowY}px` : \"\";\n }\n Object.assign(this.arrowEl.style, {\n top,\n right,\n bottom,\n left,\n [staticSide]: \"calc(var(--arrow-base-offset) - var(--arrow-size-diagonal))\"\n });\n }\n });\n requestAnimationFrame(() => this.updateHoverBridge());\n this.dispatchEvent(new WaRepositionEvent());\n }\n render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this.handleAnchorChange}></slot>\n\n <span\n part=\"hover-bridge\"\n class=${classMap({\n \"popup-hover-bridge\": true,\n \"popup-hover-bridge-visible\": this.hoverBridge && this.active\n })}\n ></span>\n\n <div\n popover=\"manual\"\n part=\"popup\"\n class=${classMap({\n popup: true,\n \"popup-active\": this.active,\n \"popup-fixed\": !this.SUPPORTS_POPOVER,\n \"popup-has-arrow\": this.arrow\n })}\n >\n <slot></slot>\n ${this.arrow ? html`<div part=\"arrow\" class=\"arrow\" role=\"presentation\"></div>` : \"\"}\n </div>\n `;\n }\n};\nWaPopup.css = popup_styles_default;\n__decorateClass([\n query(\".popup\")\n], WaPopup.prototype, \"popup\", 2);\n__decorateClass([\n query(\".arrow\")\n], WaPopup.prototype, \"arrowEl\", 2);\n__decorateClass([\n property({ attribute: false, type: Boolean })\n], WaPopup.prototype, \"SUPPORTS_POPOVER\", 2);\n__decorateClass([\n property()\n], WaPopup.prototype, \"anchor\", 2);\n__decorateClass([\n property({ type: Boolean, reflect: true })\n], WaPopup.prototype, \"active\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaPopup.prototype, \"placement\", 2);\n__decorateClass([\n property()\n], WaPopup.prototype, \"boundary\", 2);\n__decorateClass([\n property({ type: Number })\n], WaPopup.prototype, \"distance\", 2);\n__decorateClass([\n property({ type: Number })\n], WaPopup.prototype, \"skidding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], WaPopup.prototype, \"arrow\", 2);\n__decorateClass([\n property({ attribute: \"arrow-placement\" })\n], WaPopup.prototype, \"arrowPlacement\", 2);\n__decorateClass([\n property({ attribute: \"arrow-padding\", type: Number })\n], WaPopup.prototype, \"arrowPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], WaPopup.prototype, \"flip\", 2);\n__decorateClass([\n property({\n attribute: \"flip-fallback-placements\",\n converter: {\n fromAttribute: (value) => {\n return value.split(\" \").map((p) => p.trim()).filter((p) => p !== \"\");\n },\n toAttribute: (value) => {\n return value.join(\" \");\n }\n }\n })\n], WaPopup.prototype, \"flipFallbackPlacements\", 2);\n__decorateClass([\n property({ attribute: \"flip-fallback-strategy\" })\n], WaPopup.prototype, \"flipFallbackStrategy\", 2);\n__decorateClass([\n property({ type: Object })\n], WaPopup.prototype, \"flipBoundary\", 2);\n__decorateClass([\n property({ attribute: \"flip-padding\", type: Number })\n], WaPopup.prototype, \"flipPadding\", 2);\n__decorateClass([\n property({ type: Boolean })\n], WaPopup.prototype, \"shift\", 2);\n__decorateClass([\n property({ type: Object })\n], WaPopup.prototype, \"shiftBoundary\", 2);\n__decorateClass([\n property({ attribute: \"shift-padding\", type: Number })\n], WaPopup.prototype, \"shiftPadding\", 2);\n__decorateClass([\n property({ attribute: \"auto-size\" })\n], WaPopup.prototype, \"autoSize\", 2);\n__decorateClass([\n property()\n], WaPopup.prototype, \"sync\", 2);\n__decorateClass([\n property({ type: Object })\n], WaPopup.prototype, \"autoSizeBoundary\", 2);\n__decorateClass([\n property({ attribute: \"auto-size-padding\", type: Number })\n], WaPopup.prototype, \"autoSizePadding\", 2);\n__decorateClass([\n property({ attribute: \"hover-bridge\", type: Boolean })\n], WaPopup.prototype, \"hoverBridge\", 2);\nWaPopup = __decorateClass([\n customElement(\"wa-popup\")\n], WaPopup);\n\nexport {\n WaPopup\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/error.ts\nvar WaErrorEvent = class extends Event {\n constructor() {\n super(\"wa-error\", { bubbles: true, cancelable: false, composed: true });\n }\n};\n\nexport {\n WaErrorEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/events/load.ts\nvar WaLoadEvent = class extends Event {\n constructor() {\n super(\"wa-load\", { bubbles: true, cancelable: false, composed: true });\n }\n};\n\nexport {\n WaLoadEvent\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/components/icon/icon.styles.ts\nimport { css } from \"lit\";\nvar icon_styles_default = css`\n :host {\n --primary-color: currentColor;\n --primary-opacity: 1;\n --secondary-color: currentColor;\n --secondary-opacity: 0.4;\n --rotate-angle: 0deg;\n\n box-sizing: content-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: -0.125em;\n }\n\n /* Standard */\n :host(:not([auto-width])) {\n width: 1.25em;\n height: 1em;\n min-width: 1.25em; /* <-- this is what Safari respects for intrinsic */\n min-height: 1em;\n }\n\n /* Auto-width */\n :host([auto-width]) {\n width: auto;\n height: 1em;\n }\n\n svg {\n fill: currentColor;\n height: 1em;\n overflow: visible;\n width: auto;\n\n /* Duotone colors with path-specific opacity fallback */\n path[data-duotone-primary] {\n color: var(--primary-color);\n opacity: var(--path-opacity, var(--primary-opacity));\n }\n\n path[data-duotone-secondary] {\n color: var(--secondary-color);\n opacity: var(--path-opacity, var(--secondary-opacity));\n }\n }\n\n /* Rotation */\n :host([rotate]) {\n transform: rotate(var(--rotate-angle, 0deg));\n }\n\n /* Flipping */\n :host([flip='x']) {\n transform: scaleX(-1);\n }\n :host([flip='y']) {\n transform: scaleY(-1);\n }\n :host([flip='both']) {\n transform: scale(-1, -1);\n }\n\n /* Rotation and Flipping combined */\n :host([rotate][flip='x']) {\n transform: rotate(var(--rotate-angle, 0deg)) scaleX(-1);\n }\n :host([rotate][flip='y']) {\n transform: rotate(var(--rotate-angle, 0deg)) scaleY(-1);\n }\n :host([rotate][flip='both']) {\n transform: rotate(var(--rotate-angle, 0deg)) scale(-1, -1);\n }\n\n /* Animations */\n :host([animation='beat']) {\n animation-name: beat;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, ease-in-out);\n }\n\n :host([animation='fade']) {\n animation-name: fade;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n }\n\n :host([animation='beat-fade']) {\n animation-name: beat-fade;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\n }\n\n :host([animation='bounce']) {\n animation-name: bounce;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\n }\n\n :host([animation='flip']) {\n animation-name: flip;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, ease-in-out);\n }\n\n :host([animation='shake']) {\n animation-name: shake;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, linear);\n }\n\n :host([animation='spin']) {\n animation-name: spin;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 2s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, linear);\n }\n\n :host([animation='spin-pulse']) {\n animation-name: spin-pulse;\n animation-direction: var(--animation-direction, normal);\n animation-duration: var(--animation-duration, 1s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, steps(8));\n }\n\n :host([animation='spin-reverse']) {\n animation-name: spin;\n animation-delay: var(--animation-delay, 0s);\n animation-direction: var(--animation-direction, reverse);\n animation-duration: var(--animation-duration, 2s);\n animation-iteration-count: var(--animation-iteration-count, infinite);\n animation-timing-function: var(--animation-timing, linear);\n }\n\n /* Keyframes */\n @media (prefers-reduced-motion: reduce) {\n :host([animation='beat']),\n :host([animation='bounce']),\n :host([animation='fade']),\n :host([animation='beat-fade']),\n :host([animation='flip']),\n :host([animation='shake']),\n :host([animation='spin']),\n :host([animation='spin-pulse']),\n :host([animation='spin-reverse']) {\n animation: none !important;\n transition: none !important;\n }\n }\n @keyframes beat {\n 0%,\n 90% {\n transform: scale(1);\n }\n 45% {\n transform: scale(var(--beat-scale, 1.25));\n }\n }\n\n @keyframes fade {\n 50% {\n opacity: var(--fade-opacity, 0.4);\n }\n }\n\n @keyframes beat-fade {\n 0%,\n 100% {\n opacity: var(--beat-fade-opacity, 0.4);\n transform: scale(1);\n }\n 50% {\n opacity: 1;\n transform: scale(var(--beat-fade-scale, 1.125));\n }\n }\n\n @keyframes bounce {\n 0% {\n transform: scale(1, 1) translateY(0);\n }\n 10% {\n transform: scale(var(--bounce-start-scale-x, 1.1), var(--bounce-start-scale-y, 0.9)) translateY(0);\n }\n 30% {\n transform: scale(var(--bounce-jump-scale-x, 0.9), var(--bounce-jump-scale-y, 1.1))\n translateY(var(--bounce-height, -0.5em));\n }\n 50% {\n transform: scale(var(--bounce-land-scale-x, 1.05), var(--bounce-land-scale-y, 0.95)) translateY(0);\n }\n 57% {\n transform: scale(1, 1) translateY(var(--bounce-rebound, -0.125em));\n }\n 64% {\n transform: scale(1, 1) translateY(0);\n }\n 100% {\n transform: scale(1, 1) translateY(0);\n }\n }\n\n @keyframes flip {\n 50% {\n transform: rotate3d(var(--flip-x, 0), var(--flip-y, 1), var(--flip-z, 0), var(--flip-angle, -180deg));\n }\n }\n\n @keyframes shake {\n 0% {\n transform: rotate(-15deg);\n }\n 4% {\n transform: rotate(15deg);\n }\n 8%,\n 24% {\n transform: rotate(-18deg);\n }\n 12%,\n 28% {\n transform: rotate(18deg);\n }\n 16% {\n transform: rotate(-22deg);\n }\n 20% {\n transform: rotate(22deg);\n }\n 32% {\n transform: rotate(-12deg);\n }\n 36% {\n transform: rotate(12deg);\n }\n 40%,\n 100% {\n transform: rotate(0deg);\n }\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n @keyframes spin-pulse {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n\nexport {\n icon_styles_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/utilities/base-path.ts\nvar basePath = \"\";\nvar iconPath = \"\";\nvar kitCode = \"\";\nfunction setBasePath(path) {\n basePath = path;\n}\nfunction getBasePath(subpath = \"\") {\n if (!basePath) {\n const el = document.querySelector(\"[data-webawesome]\");\n if (el?.hasAttribute(\"data-webawesome\")) {\n const rootRelativeUrl = new URL(el.getAttribute(\"data-webawesome\") ?? \"\", window.location.href).pathname;\n setBasePath(rootRelativeUrl);\n } else {\n const scripts = [...document.getElementsByTagName(\"script\")];\n const waScript = scripts.find(\n (script) => script.src.endsWith(\"webawesome.js\") || script.src.endsWith(\"webawesome.loader.js\") || script.src.endsWith(\"webawesome.ssr-loader.js\")\n );\n if (waScript) {\n const path = String(waScript.getAttribute(\"src\"));\n setBasePath(path.split(\"/\").slice(0, -1).join(\"/\"));\n }\n }\n }\n return basePath.replace(/\\/$/, \"\") + (subpath ? `/${subpath.replace(/^\\//, \"\")}` : ``);\n}\nfunction setIconPath(path) {\n iconPath = path;\n}\nfunction getIconPath() {\n return iconPath.replace(/\\/$/, \"\");\n}\nfunction setKitCode(code) {\n kitCode = code;\n}\nfunction getKitCode() {\n if (!kitCode) {\n const el = document.querySelector(\"[data-fa-kit-code]\");\n if (el) {\n setKitCode(el.getAttribute(\"data-fa-kit-code\") || \"\");\n }\n }\n return kitCode;\n}\n\nexport {\n setBasePath,\n getBasePath,\n setIconPath,\n getIconPath,\n setKitCode,\n getKitCode\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n getIconPath,\n getKitCode\n} from \"./chunk.HGBRCPUS.js\";\n\n// src/components/icon/library.default.ts\nvar FA_VERSION = \"7.2.0\";\nfunction getIconFolder(_name, family, variant) {\n let folder = \"solid\";\n if (family === \"chisel\") {\n folder = \"chisel-regular\";\n }\n if (family === \"etch\") {\n folder = \"etch-solid\";\n }\n if (family === \"graphite\") {\n folder = \"graphite-thin\";\n }\n if (family === \"jelly\") {\n folder = \"jelly-regular\";\n if (variant === \"duo-regular\") folder = \"jelly-duo-regular\";\n if (variant === \"fill-regular\") folder = \"jelly-fill-regular\";\n }\n if (family === \"jelly-duo\") {\n folder = \"jelly-duo-regular\";\n }\n if (family === \"jelly-fill\") {\n folder = \"jelly-fill-regular\";\n }\n if (family === \"notdog\") {\n if (variant === \"solid\") folder = \"notdog-solid\";\n if (variant === \"duo-solid\") folder = \"notdog-duo-solid\";\n }\n if (family === \"notdog-duo\") {\n folder = \"notdog-duo-solid\";\n }\n if (family === \"slab\") {\n if (variant === \"solid\" || variant === \"regular\") folder = \"slab-regular\";\n if (variant === \"press-regular\") folder = \"slab-press-regular\";\n }\n if (family === \"slab-press\") {\n folder = \"slab-press-regular\";\n }\n if (family === \"thumbprint\") {\n folder = \"thumbprint-light\";\n }\n if (family === \"utility\") {\n folder = \"utility-semibold\";\n }\n if (family === \"utility-duo\") {\n folder = \"utility-duo-semibold\";\n }\n if (family === \"utility-fill\") {\n folder = \"utility-fill-semibold\";\n }\n if (family === \"whiteboard\") {\n folder = \"whiteboard-semibold\";\n }\n if (family === \"classic\") {\n if (variant === \"thin\") folder = \"thin\";\n if (variant === \"light\") folder = \"light\";\n if (variant === \"regular\") folder = \"regular\";\n if (variant === \"solid\") folder = \"solid\";\n }\n if (family === \"duotone\") {\n if (variant === \"thin\") folder = \"duotone-thin\";\n if (variant === \"light\") folder = \"duotone-light\";\n if (variant === \"regular\") folder = \"duotone-regular\";\n if (variant === \"solid\") folder = \"duotone\";\n }\n if (family === \"sharp\") {\n if (variant === \"thin\") folder = \"sharp-thin\";\n if (variant === \"light\") folder = \"sharp-light\";\n if (variant === \"regular\") folder = \"sharp-regular\";\n if (variant === \"solid\") folder = \"sharp-solid\";\n }\n if (family === \"sharp-duotone\") {\n if (variant === \"thin\") folder = \"sharp-duotone-thin\";\n if (variant === \"light\") folder = \"sharp-duotone-light\";\n if (variant === \"regular\") folder = \"sharp-duotone-regular\";\n if (variant === \"solid\") folder = \"sharp-duotone-solid\";\n }\n if (family === \"brands\") {\n folder = \"brands\";\n }\n return folder;\n}\nfunction getIconUrl(name, family, variant) {\n const folder = getIconFolder(name, family, variant);\n const iconBase = getIconPath();\n if (iconBase) {\n return `${iconBase}/${folder}/${name}.svg`;\n }\n const kitCode = getKitCode();\n const isPro = kitCode.length > 0;\n return isPro ? `https://ka-p.fontawesome.com/releases/v${FA_VERSION}/svgs/${folder}/${name}.svg?token=${encodeURIComponent(kitCode)}` : `https://ka-f.fontawesome.com/releases/v${FA_VERSION}/svgs/${folder}/${name}.svg`;\n}\nvar library = {\n name: \"default\",\n resolver: (name, family = \"classic\", variant = \"solid\") => {\n return getIconUrl(name, family, variant);\n },\n mutator: (svg, hostEl) => {\n if (hostEl?.family && !svg.hasAttribute(\"data-duotone-initialized\")) {\n const { family, variant } = hostEl;\n if (\n // Duotone\n family === \"duotone\" || // Sharp duotone\n family === \"sharp-duotone\" || // Notdog duo (correct usage: family=\"notdog-duo\")\n family === \"notdog-duo\" || // NOTE: family=\"notdog\" variant=\"duo-solid\" is deprecated\n family === \"notdog\" && variant === \"duo-solid\" || // Jelly duo (correct usage: family=\"jelly-duo\")\n family === \"jelly-duo\" || // NOTE: family=\"jelly\" variant=\"duo-regular\" is deprecated\n family === \"jelly\" && variant === \"duo-regular\" || // Utility duo (correct usage: family=\"utility-duo\")\n family === \"utility-duo\" || // Thumbprint\n family === \"thumbprint\"\n ) {\n const paths = [...svg.querySelectorAll(\"path\")];\n const primaryPath = paths.find((p) => !p.hasAttribute(\"opacity\"));\n const secondaryPath = paths.find((p) => p.hasAttribute(\"opacity\"));\n if (!primaryPath || !secondaryPath) return;\n primaryPath.setAttribute(\"data-duotone-primary\", \"\");\n secondaryPath.setAttribute(\"data-duotone-secondary\", \"\");\n if (hostEl.swapOpacity && primaryPath && secondaryPath) {\n const originalOpacity = secondaryPath.getAttribute(\"opacity\") || \"0.4\";\n primaryPath.style.setProperty(\"--path-opacity\", originalOpacity);\n secondaryPath.style.setProperty(\"--path-opacity\", \"1\");\n }\n svg.setAttribute(\"data-duotone-initialized\", \"\");\n }\n }\n }\n};\nvar library_default_default = library;\n\nexport {\n getIconFolder,\n library_default_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\n\n// src/components/icon/library.system.ts\nfunction dataUri(svg) {\n return `data:image/svg+xml,${encodeURIComponent(svg)}`;\n}\nvar icons = {\n //\n // Solid variant\n //\n solid: {\n backward: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M236.3 107.1C247.9 96 265 92.9 279.7 99.2C294.4 105.5 304 120 304 136L304 272.3L476.3 107.2C487.9 96 505 92.9 519.7 99.2C534.4 105.5 544 120 544 136L544 504C544 520 534.4 534.5 519.7 540.8C505 547.1 487.9 544 476.3 532.9L304 367.7L304 504C304 520 294.4 534.5 279.7 540.8C265 547.1 247.9 544 236.3 532.9L44.3 348.9C36.5 341.3 32 330.9 32 320C32 309.1 36.5 298.7 44.3 291.1L236.3 107.1z\"/></svg>`,\n \"backward-step\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M491 100.8C478.1 93.8 462.3 94.5 450 102.6L192 272.1L192 128C192 110.3 177.7 96 160 96C142.3 96 128 110.3 128 128L128 512C128 529.7 142.3 544 160 544C177.7 544 192 529.7 192 512L192 367.9L450 537.5C462.3 545.6 478 546.3 491 539.3C504 532.3 512 518.8 512 504.1L512 136.1C512 121.4 503.9 107.9 491 100.9z\"/></svg>`,\n check: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M434.8 70.1c14.3 10.4 17.5 30.4 7.1 44.7l-256 352c-5.5 7.6-14 12.3-23.4 13.1s-18.5-2.7-25.1-9.3l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l101.5 101.5 234-321.7c10.4-14.3 30.4-17.5 44.7-7.1z\"/></svg>`,\n \"chevron-down\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M201.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 338.7 54.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z\"/></svg>`,\n \"chevron-left\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/></svg>`,\n \"chevron-right\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M311.1 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L243.2 256 73.9 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/></svg>`,\n circle: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0z\"/></svg>`,\n \"closed-captioning\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M64 192C64 156.7 92.7 128 128 128L512 128C547.3 128 576 156.7 576 192L576 448C576 483.3 547.3 512 512 512L128 512C92.7 512 64 483.3 64 448L64 192zM216 272L248 272C252.4 272 256 275.6 256 280C256 293.3 266.7 304 280 304C293.3 304 304 293.3 304 280C304 249.1 278.9 224 248 224L216 224C185.1 224 160 249.1 160 280L160 360C160 390.9 185.1 416 216 416L248 416C278.9 416 304 390.9 304 360C304 346.7 293.3 336 280 336C266.7 336 256 346.7 256 360C256 364.4 252.4 368 248 368L216 368C211.6 368 208 364.4 208 360L208 280C208 275.6 211.6 272 216 272zM384 280C384 275.6 387.6 272 392 272L424 272C428.4 272 432 275.6 432 280C432 293.3 442.7 304 456 304C469.3 304 480 293.3 480 280C480 249.1 454.9 224 424 224L392 224C361.1 224 336 249.1 336 280L336 360C336 390.9 361.1 416 392 416L424 416C454.9 416 480 390.9 480 360C480 346.7 469.3 336 456 336C442.7 336 432 346.7 432 360C432 364.4 428.4 368 424 368L392 368C387.6 368 384 364.4 384 360L384 280z\"/></svg>`,\n \"closed-captioning-slash\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M39 39.1C48.4 29.7 63.6 29.7 72.9 39.1L161.8 128L512 128C547.3 128 576 156.7 576 192L576 448C576 473.5 561.1 495.4 539.6 505.8L601 567.1C610.4 576.5 610.4 591.7 601 601C591.6 610.3 576.4 610.4 567.1 601L39 73.1C29.7 63.7 29.7 48.5 39 39.1zM384 350.1L384 279.9C384 275.5 387.6 271.9 392 271.9L424 271.9C428.4 271.9 432 275.5 432 279.9C432 293.2 442.7 303.9 456 303.9C469.3 303.9 480 293.2 480 279.9C480 249 454.9 223.9 424 223.9L392 223.9C361.1 223.9 336 249 336 279.9L336 302.1L384 350.1zM445.5 411.6C465.7 403.2 480 383.2 480 359.9C480 346.6 469.3 335.9 456 335.9C442.7 335.9 432 346.6 432 359.9C432 364.3 428.4 367.9 424 367.9L401.8 367.9L445.5 411.6zM162.3 264.1C160.8 269.1 160 274.5 160 280L160 360C160 390.9 185.1 416 216 416L248 416C266.1 416 282.1 407.5 292.4 394.2L410.2 512L128 512C92.7 512 64 483.3 64 448L64 192C64 184.2 65.4 176.7 68 169.8L162.3 264.1zM256.1 357.9C256 358.6 256 359.3 256 360C256 364.4 252.4 368 248 368L216 368C211.6 368 208 364.4 208 360L208 309.8L256.1 357.9z\"/></svg>`,\n compress: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M160 64c0-17.7-14.3-32-32-32S96 46.3 96 64l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96zM32 320c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM352 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 320c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-96 0z\"/></svg>`,\n \"ellipsis-vertical\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M320 208C289.1 208 264 182.9 264 152C264 121.1 289.1 96 320 96C350.9 96 376 121.1 376 152C376 182.9 350.9 208 320 208zM320 432C350.9 432 376 457.1 376 488C376 518.9 350.9 544 320 544C289.1 544 264 518.9 264 488C264 457.1 289.1 432 320 432zM376 320C376 350.9 350.9 376 320 376C289.1 376 264 350.9 264 320C264 289.1 289.1 264 320 264C350.9 264 376 289.1 376 320z\"/></svg>`,\n expand: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 96C110.3 96 96 110.3 96 128L96 224C96 241.7 110.3 256 128 256C145.7 256 160 241.7 160 224L160 160L224 160C241.7 160 256 145.7 256 128C256 110.3 241.7 96 224 96L128 96zM160 416C160 398.3 145.7 384 128 384C110.3 384 96 398.3 96 416L96 512C96 529.7 110.3 544 128 544L224 544C241.7 544 256 529.7 256 512C256 494.3 241.7 480 224 480L160 480L160 416zM416 96C398.3 96 384 110.3 384 128C384 145.7 398.3 160 416 160L480 160L480 224C480 241.7 494.3 256 512 256C529.7 256 544 241.7 544 224L544 128C544 110.3 529.7 96 512 96L416 96zM544 416C544 398.3 529.7 384 512 384C494.3 384 480 398.3 480 416L480 480L416 480C398.3 480 384 494.3 384 512C384 529.7 398.3 544 416 544L512 544C529.7 544 544 529.7 544 512L544 416z\"/></svg>`,\n eyedropper: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M341.6 29.2l-101.6 101.6-9.4-9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-9.4-9.4 101.6-101.6c39-39 39-102.2 0-141.1s-102.2-39-141.1 0zM55.4 323.3c-15 15-23.4 35.4-23.4 56.6l0 42.4-26.6 39.9c-8.5 12.7-6.8 29.6 4 40.4s27.7 12.5 40.4 4l39.9-26.6 42.4 0c21.2 0 41.6-8.4 56.6-23.4l109.4-109.4-45.3-45.3-109.4 109.4c-3 3-7.1 4.7-11.3 4.7l-36.1 0 0-36.1c0-4.2 1.7-8.3 4.7-11.3l109.4-109.4-45.3-45.3-109.4 109.4z\"/></svg>`,\n forward: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M403.7 107.1C392.1 96 375 92.9 360.3 99.2C345.6 105.5 336 120 336 136L336 272.3L163.7 107.2C152.1 96 135 92.9 120.3 99.2C105.6 105.5 96 120 96 136L96 504C96 520 105.6 534.5 120.3 540.8C135 547.1 152.1 544 163.7 532.9L336 367.7L336 504C336 520 345.6 534.5 360.3 540.8C375 547.1 392.1 544 403.7 532.9L595.7 348.9C603.6 341.4 608 330.9 608 320C608 309.1 603.5 298.7 595.7 291.1L403.7 107.1z\"/></svg>`,\n file: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M192 64C156.7 64 128 92.7 128 128L128 512C128 547.3 156.7 576 192 576L448 576C483.3 576 512 547.3 512 512L512 234.5C512 217.5 505.3 201.2 493.3 189.2L386.7 82.7C374.7 70.7 358.5 64 341.5 64L192 64zM453.5 240L360 240C346.7 240 336 229.3 336 216L336 122.5L453.5 240z\"/></svg>`,\n \"file-audio\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM389.8 307.7C380.7 301.4 368.3 303.6 362 312.7C355.7 321.8 357.9 334.2 367 340.5C390.9 357.2 406.4 384.8 406.4 416C406.4 447.2 390.8 474.9 367 491.5C357.9 497.8 355.7 510.3 362 519.3C368.3 528.3 380.8 530.6 389.8 524.3C423.9 500.5 446.4 460.8 446.4 416C446.4 371.2 424 331.5 389.8 307.7zM208 376C199.2 376 192 383.2 192 392L192 440C192 448.8 199.2 456 208 456L232 456L259.2 490C262.2 493.8 266.8 496 271.7 496L272 496C280.8 496 288 488.8 288 480L288 352C288 343.2 280.8 336 272 336L271.7 336C266.8 336 262.2 338.2 259.2 342L232 376L208 376zM336 448.2C336 458.9 346.5 466.4 354.9 459.8C367.8 449.5 376 433.7 376 416C376 398.3 367.8 382.5 354.9 372.2C346.5 365.5 336 373.1 336 383.8L336 448.3z\"/></svg>`,\n \"file-code\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM282.2 359.6C290.8 349.5 289.7 334.4 279.6 325.8C269.5 317.2 254.4 318.3 245.8 328.4L197.8 384.4C190.1 393.4 190.1 406.6 197.8 415.6L245.8 471.6C254.4 481.7 269.6 482.8 279.6 474.2C289.6 465.6 290.8 450.4 282.2 440.4L247.6 400L282.2 359.6zM394.2 328.4C385.6 318.3 370.4 317.2 360.4 325.8C350.4 334.4 349.2 349.6 357.8 359.6L392.4 400L357.8 440.4C349.2 450.5 350.3 465.6 360.4 474.2C370.5 482.8 385.6 481.7 394.2 471.6L442.2 415.6C449.9 406.6 449.9 393.4 442.2 384.4L394.2 328.4z\"/></svg>`,\n \"file-excel\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM292 330.7C284.6 319.7 269.7 316.7 258.7 324C247.7 331.3 244.7 346.3 252 357.3L291.2 416L252 474.7C244.6 485.7 247.6 500.6 258.7 508C269.8 515.4 284.6 512.4 292 501.3L320 459.3L348 501.3C355.4 512.3 370.3 515.3 381.3 508C392.3 500.7 395.3 485.7 388 474.7L348.8 416L388 357.3C395.4 346.3 392.4 331.4 381.3 324C370.2 316.6 355.4 319.6 348 330.7L320 372.7L292 330.7z\"/></svg>`,\n \"file-image\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM256 320C256 302.3 241.7 288 224 288C206.3 288 192 302.3 192 320C192 337.7 206.3 352 224 352C241.7 352 256 337.7 256 320zM220.6 512L419.4 512C435.2 512 448 499.2 448 483.4C448 476.1 445.2 469 440.1 463.7L343.3 361.9C337.3 355.6 328.9 352 320.1 352L319.8 352C311 352 302.7 355.6 296.6 361.9L199.9 463.7C194.8 469 192 476.1 192 483.4C192 499.2 204.8 512 220.6 512z\"/></svg>`,\n \"file-pdf\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 64C92.7 64 64 92.7 64 128L64 512C64 547.3 92.7 576 128 576L208 576L208 464C208 428.7 236.7 400 272 400L448 400L448 234.5C448 217.5 441.3 201.2 429.3 189.2L322.7 82.7C310.7 70.7 294.5 64 277.5 64L128 64zM389.5 240L296 240C282.7 240 272 229.3 272 216L272 122.5L389.5 240zM272 444C261 444 252 453 252 464L252 592C252 603 261 612 272 612C283 612 292 603 292 592L292 564L304 564C337.1 564 364 537.1 364 504C364 470.9 337.1 444 304 444L272 444zM304 524L292 524L292 484L304 484C315 484 324 493 324 504C324 515 315 524 304 524zM400 444C389 444 380 453 380 464L380 592C380 603 389 612 400 612L432 612C460.7 612 484 588.7 484 560L484 496C484 467.3 460.7 444 432 444L400 444zM420 572L420 484L432 484C438.6 484 444 489.4 444 496L444 560C444 566.6 438.6 572 432 572L420 572zM508 464L508 592C508 603 517 612 528 612C539 612 548 603 548 592L548 548L576 548C587 548 596 539 596 528C596 517 587 508 576 508L548 508L548 484L576 484C587 484 596 475 596 464C596 453 587 444 576 444L528 444C517 444 508 453 508 464z\"/></svg>`,\n \"file-powerpoint\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM280 320C266.7 320 256 330.7 256 344L256 488C256 501.3 266.7 512 280 512C293.3 512 304 501.3 304 488L304 464L328 464C367.8 464 400 431.8 400 392C400 352.2 367.8 320 328 320L280 320zM328 416L304 416L304 368L328 368C341.3 368 352 378.7 352 392C352 405.3 341.3 416 328 416z\"/></svg>`,\n \"file-video\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM208 368L208 464C208 481.7 222.3 496 240 496L336 496C353.7 496 368 481.7 368 464L368 440L403 475C406.2 478.2 410.5 480 415 480C424.4 480 432 472.4 432 463L432 368.9C432 359.5 424.4 351.9 415 351.9C410.5 351.9 406.2 353.7 403 356.9L368 391.9L368 367.9C368 350.2 353.7 335.9 336 335.9L240 335.9C222.3 335.9 208 350.2 208 367.9z\"/></svg>`,\n \"file-word\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM263.4 338.8C260.5 325.9 247.7 317.7 234.8 320.6C221.9 323.5 213.7 336.3 216.6 349.2L248.6 493.2C250.9 503.7 260 511.4 270.8 512C281.6 512.6 291.4 505.9 294.8 495.6L320 419.9L345.2 495.6C348.6 505.8 358.4 512.5 369.2 512C380 511.5 389.1 503.8 391.4 493.2L423.4 349.2C426.3 336.3 418.1 323.4 405.2 320.6C392.3 317.8 379.4 325.9 376.6 338.8L363.4 398.2L342.8 336.4C339.5 326.6 330.4 320 320 320C309.6 320 300.5 326.6 297.2 336.4L276.6 398.2L263.4 338.8z\"/></svg>`,\n \"file-zipper\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M128 128C128 92.7 156.7 64 192 64L341.5 64C358.5 64 374.8 70.7 386.8 82.7L493.3 189.3C505.3 201.3 512 217.6 512 234.6L512 512C512 547.3 483.3 576 448 576L192 576C156.7 576 128 547.3 128 512L128 128zM336 122.5L336 216C336 229.3 346.7 240 360 240L453.5 240L336 122.5zM192 136C192 149.3 202.7 160 216 160L264 160C277.3 160 288 149.3 288 136C288 122.7 277.3 112 264 112L216 112C202.7 112 192 122.7 192 136zM192 232C192 245.3 202.7 256 216 256L264 256C277.3 256 288 245.3 288 232C288 218.7 277.3 208 264 208L216 208C202.7 208 192 218.7 192 232zM256 304L224 304C206.3 304 192 318.3 192 336L192 384C192 410.5 213.5 432 240 432C266.5 432 288 410.5 288 384L288 336C288 318.3 273.7 304 256 304zM240 368C248.8 368 256 375.2 256 384C256 392.8 248.8 400 240 400C231.2 400 224 392.8 224 384C224 375.2 231.2 368 240 368z\"/></svg>`,\n \"forward-step\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M21 36.8c12.9-7 28.7-6.3 41 1.8L320 208.1 320 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 384c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-144.1-258 169.6c-12.3 8.1-28 8.8-41 1.8S0 454.7 0 440L0 72C0 57.3 8.1 43.8 21 36.8z\"/></svg>`,\n gauge: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm320 96c0-26.9-16.5-49.9-40-59.3L280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 172.7c-23.5 9.5-40 32.5-40 59.3 0 35.3 28.7 64 64 64s64-28.7 64-64zM144 176a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm-16 80a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM400 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\"/></svg>`,\n gear: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M259.1 73.5C262.1 58.7 275.2 48 290.4 48L350.2 48C365.4 48 378.5 58.7 381.5 73.5L396 143.5C410.1 149.5 423.3 157.2 435.3 166.3L503.1 143.8C517.5 139 533.3 145 540.9 158.2L570.8 210C578.4 223.2 575.7 239.8 564.3 249.9L511 297.3C511.9 304.7 512.3 312.3 512.3 320C512.3 327.7 511.8 335.3 511 342.7L564.4 390.2C575.8 400.3 578.4 417 570.9 430.1L541 481.9C533.4 495 517.6 501.1 503.2 496.3L435.4 473.8C423.3 482.9 410.1 490.5 396.1 496.6L381.7 566.5C378.6 581.4 365.5 592 350.4 592L290.6 592C275.4 592 262.3 581.3 259.3 566.5L244.9 496.6C230.8 490.6 217.7 482.9 205.6 473.8L137.5 496.3C123.1 501.1 107.3 495.1 99.7 481.9L69.8 430.1C62.2 416.9 64.9 400.3 76.3 390.2L129.7 342.7C128.8 335.3 128.4 327.7 128.4 320C128.4 312.3 128.9 304.7 129.7 297.3L76.3 249.8C64.9 239.7 62.3 223 69.8 209.9L99.7 158.1C107.3 144.9 123.1 138.9 137.5 143.7L205.3 166.2C217.4 157.1 230.6 149.5 244.6 143.4L259.1 73.5zM320.3 400C364.5 399.8 400.2 363.9 400 319.7C399.8 275.5 363.9 239.8 319.7 240C275.5 240.2 239.8 276.1 240 320.3C240.2 364.5 276.1 400.2 320.3 400z\"/></svg>`,\n \"grip-vertical\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M128 40c0-22.1-17.9-40-40-40L40 0C17.9 0 0 17.9 0 40L0 88c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zm0 192c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM0 424l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 40c0-22.1-17.9-40-40-40L232 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48zM192 232l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40zM320 424c0-22.1-17.9-40-40-40l-48 0c-22.1 0-40 17.9-40 40l0 48c0 22.1 17.9 40 40 40l48 0c22.1 0 40-17.9 40-40l0-48z\"/></svg>`,\n indeterminate: `<svg part=\"indeterminate-icon\" class=\"icon\" viewBox=\"0 0 16 16\"><g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" stroke-linecap=\"round\"><g stroke=\"currentColor\" stroke-width=\"2\"><g transform=\"translate(2.285714 6.857143)\"><path d=\"M10.2857143,1.14285714 L1.14285714,1.14285714\"/></g></g></g></svg>`,\n minus: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z\"/></svg>`,\n pause: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M48 32C21.5 32 0 53.5 0 80L0 432c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48L48 32zm224 0c-26.5 0-48 21.5-48 48l0 352c0 26.5 21.5 48 48 48l64 0c26.5 0 48-21.5 48-48l0-352c0-26.5-21.5-48-48-48l-64 0z\"/></svg>`,\n \"picture-in-picture\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M448 32c35.3 0 64 28.7 64 64l0 112-64 0 0-112-384 0 0 320 144 0 0 64-144 0-6.5-.3c-30.1-3.1-54.1-27-57.1-57.1L0 416 0 96C0 62.9 25.2 35.6 57.5 32.3L64 32 448 32zm16 224c26.5 0 48 21.5 48 48l0 128c0 26.5-21.5 48-48 48l-160 0c-26.5 0-48-21.5-48-48l0-128c0-26.5 21.5-48 48-48l160 0z\"/></svg>`,\n play: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M91.2 36.9c-12.4-6.8-27.4-6.5-39.6 .7S32 57.9 32 72l0 368c0 14.1 7.5 27.2 19.6 34.4s27.2 7.5 39.6 .7l336-184c12.8-7 20.8-20.5 20.8-35.1s-8-28.1-20.8-35.1l-336-184z\"/></svg>`,\n \"play-circle\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zM188.3 147.1c-7.6 4.2-12.3 12.3-12.3 20.9l0 176c0 8.7 4.7 16.7 12.3 20.9s16.8 4.1 24.3-.5l144-88c7.1-4.4 11.5-12.1 11.5-20.5s-4.4-16.1-11.5-20.5l-144-88c-7.4-4.5-16.7-4.7-24.3-.5z\"/></svg>`,\n plus: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M352 128C352 110.3 337.7 96 320 96C302.3 96 288 110.3 288 128L288 288L128 288C110.3 288 96 302.3 96 320C96 337.7 110.3 352 128 352L288 352L288 512C288 529.7 302.3 544 320 544C337.7 544 352 529.7 352 512L352 352L512 352C529.7 352 544 337.7 544 320C544 302.3 529.7 288 512 288L352 288L352 128z\"/></svg>`,\n star: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z\"/></svg>`,\n upload: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M352 173.3L352 384C352 401.7 337.7 416 320 416C302.3 416 288 401.7 288 384L288 173.3L246.6 214.7C234.1 227.2 213.8 227.2 201.3 214.7C188.8 202.2 188.8 181.9 201.3 169.4L297.3 73.4C309.8 60.9 330.1 60.9 342.6 73.4L438.6 169.4C451.1 181.9 451.1 202.2 438.6 214.7C426.1 227.2 405.8 227.2 393.3 214.7L352 173.3zM320 464C364.2 464 400 428.2 400 384L480 384C515.3 384 544 412.7 544 448L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 448C96 412.7 124.7 384 160 384L240 384C240 428.2 275.8 464 320 464zM464 488C477.3 488 488 477.3 488 464C488 450.7 477.3 440 464 440C450.7 440 440 450.7 440 464C440 477.3 450.7 488 464 488z\"/></svg>`,\n user: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z\"/></svg>`,\n volume: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M48 352l48 0 134.1 119.2c6.4 5.7 14.6 8.8 23.1 8.8 19.2 0 34.8-15.6 34.8-34.8l0-378.4c0-19.2-15.6-34.8-34.8-34.8-8.5 0-16.7 3.1-23.1 8.8L96 160 48 160c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48zM441.1 107c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C443.3 170.7 464 210.9 464 256s-20.7 85.3-53.2 111.8c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5c43.2-35.2 70.9-88.9 70.9-149s-27.7-113.8-70.9-149zm-60.5 74.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C361.1 227.6 368 241 368 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C402.1 312.9 416 286.1 416 256s-13.9-56.9-35.5-74.5z\"/></svg>`,\n \"volume-low\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M48 352l48 0 134.1 119.2c6.4 5.7 14.6 8.8 23.1 8.8 19.2 0 34.8-15.6 34.8-34.8l0-378.4c0-19.2-15.6-34.8-34.8-34.8-8.5 0-16.7 3.1-23.1 8.8L96 160 48 160c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48zM380.6 181.5c-10.3-8.4-25.4-6.8-33.8 3.5s-6.8 25.4 3.5 33.8C361.1 227.6 368 241 368 256s-6.9 28.4-17.7 37.3c-10.3 8.4-11.8 23.5-3.5 33.8s23.5 11.8 33.8 3.5C402.1 312.9 416 286.1 416 256s-13.9-56.9-35.5-74.5z\"/></svg>`,\n \"volume-xmark\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path fill=\"currentColor\" d=\"M48 352l48 0 134.1 119.2c6.4 5.7 14.6 8.8 23.1 8.8 19.2 0 34.8-15.6 34.8-34.8l0-378.4c0-19.2-15.6-34.8-34.8-34.8-8.5 0-16.7 3.1-23.1 8.8L96 160 48 160c-26.5 0-48 21.5-48 48l0 96c0 26.5 21.5 48 48 48zM367 175c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z\"/></svg>`,\n xmark: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z\"/></svg>`\n },\n //\n // Regular variant\n //\n regular: {\n calendar: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d=\"M216 64C229.3 64 240 74.7 240 88L240 128L400 128L400 88C400 74.7 410.7 64 424 64C437.3 64 448 74.7 448 88L448 128L480 128C515.3 128 544 156.7 544 192L544 480C544 515.3 515.3 544 480 544L160 544C124.7 544 96 515.3 96 480L96 192C96 156.7 124.7 128 160 128L192 128L192 88C192 74.7 202.7 64 216 64zM216 176L160 176C151.2 176 144 183.2 144 192L144 240L496 240L496 192C496 183.2 488.8 176 480 176L216 176zM144 288L144 480C144 488.8 151.2 496 160 496L480 496C488.8 496 496 488.8 496 480L496 288L144 288z\"/></svg>`,\n \"circle-question\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M464 256a208 208 0 1 0 -416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1 -512 0zm256-80c-17.7 0-32 14.3-32 32 0 13.3-10.7 24-24 24s-24-10.7-24-24c0-44.2 35.8-80 80-80s80 35.8 80 80c0 47.2-36 67.2-56 74.5l0 3.8c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-8.1c0-20.5 14.8-35.2 30.1-40.2 6.4-2.1 13.2-5.5 18.2-10.3 4.3-4.2 7.7-10 7.7-19.6 0-17.7-14.3-32-32-32zM224 368a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\"/></svg>`,\n \"circle-xmark\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zM167 167c-9.4 9.4-9.4 24.6 0 33.9l55 55-55 55c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55 55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-55-55 55-55c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55-55-55c-9.4-9.4-24.6-9.4-33.9 0z\"/></svg>`,\n clock: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 640\"><!--!Font Awesome Free v7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2026 Fonticons, Inc.--><path d=\"M528 320C528 434.9 434.9 528 320 528C205.1 528 112 434.9 112 320C112 205.1 205.1 112 320 112C434.9 112 528 205.1 528 320zM64 320C64 461.4 178.6 576 320 576C461.4 576 576 461.4 576 320C576 178.6 461.4 64 320 64C178.6 64 64 178.6 64 320zM296 184L296 320C296 328 300 335.5 306.7 340L402.7 404C413.7 411.4 428.6 408.4 436 397.3C443.4 386.2 440.4 371.4 429.3 364L344 307.2L344 184C344 170.7 333.3 160 320 160C306.7 160 296 170.7 296 184z\"/></svg>`,\n copy: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M384 336l-192 0c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l133.5 0c4.2 0 8.3 1.7 11.3 4.7l58.5 58.5c3 3 4.7 7.1 4.7 11.3L400 320c0 8.8-7.2 16-16 16zM192 384l192 0c35.3 0 64-28.7 64-64l0-197.5c0-17-6.7-33.3-18.7-45.3L370.7 18.7C358.7 6.7 342.5 0 325.5 0L192 0c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64zM64 128c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-16-48 0 0 16c0 8.8-7.2 16-16 16L64 464c-8.8 0-16-7.2-16-16l0-256c0-8.8 7.2-16 16-16l16 0 0-48-16 0z\"/></svg>`,\n eye: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288 80C222.8 80 169.2 109.6 128.1 147.7 89.6 183.5 63 226 49.4 256 63 286 89.6 328.5 128.1 364.3 169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256 513 226 486.4 183.5 447.9 147.7 406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1 3.3 7.9 3.3 16.7 0 24.6-14.9 35.7-46.2 87.7-93 131.1-47.1 43.7-111.8 80.6-192.6 80.6S142.5 443.2 95.4 399.4c-46.8-43.5-78.1-95.4-93-131.1-3.3-7.9-3.3-16.7 0-24.6 14.9-35.7 46.2-87.7 93-131.1zM288 336c44.2 0 80-35.8 80-80 0-29.6-16.1-55.5-40-69.3-1.4 59.7-49.6 107.9-109.3 109.3 13.8 23.9 39.7 40 69.3 40zm-79.6-88.4c2.5 .3 5 .4 7.6 .4 35.3 0 64-28.7 64-64 0-2.6-.2-5.1-.4-7.6-37.4 3.9-67.2 33.7-71.1 71.1zm45.6-115c10.8-3 22.2-4.5 33.9-4.5 8.8 0 17.5 .9 25.8 2.6 .3 .1 .5 .1 .8 .2 57.9 12.2 101.4 63.7 101.4 125.2 0 70.7-57.3 128-128 128-61.6 0-113-43.5-125.2-101.4-1.8-8.6-2.8-17.5-2.8-26.6 0-11 1.4-21.8 4-32 .2-.7 .3-1.3 .5-1.9 11.9-43.4 46.1-77.6 89.5-89.5z\"/></svg>`,\n \"eye-slash\": `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M41-24.9c-9.4-9.4-24.6-9.4-33.9 0S-2.3-.3 7 9.1l528 528c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-96.4-96.4c2.7-2.4 5.4-4.8 8-7.2 46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1-47.1-43.7-111.8-80.6-192.6-80.6-56.8 0-105.6 18.2-146 44.2L41-24.9zM176.9 111.1c32.1-18.9 69.2-31.1 111.1-31.1 65.2 0 118.8 29.6 159.9 67.7 38.5 35.7 65.1 78.3 78.6 108.3-13.6 30-40.2 72.5-78.6 108.3-3.1 2.8-6.2 5.6-9.4 8.4L393.8 328c14-20.5 22.2-45.3 22.2-72 0-70.7-57.3-128-128-128-26.7 0-51.5 8.2-72 22.2l-39.1-39.1zm182 182l-108-108c11.1-5.8 23.7-9.1 37.1-9.1 44.2 0 80 35.8 80 80 0 13.4-3.3 26-9.1 37.1zM103.4 173.2l-34-34c-32.6 36.8-55 75.8-66.9 104.5-3.3 7.9-3.3 16.7 0 24.6 14.9 35.7 46.2 87.7 93 131.1 47.1 43.7 111.8 80.6 192.6 80.6 37.3 0 71.2-7.9 101.5-20.6L352.2 422c-20 6.4-41.4 10-64.2 10-65.2 0-118.8-29.6-159.9-67.7-38.5-35.7-65.1-78.3-78.6-108.3 10.4-23.1 28.6-53.6 54-82.8z\"/></svg>`,\n star: `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288.1-32c9 0 17.3 5.1 21.4 13.1L383 125.3 542.9 150.7c8.9 1.4 16.3 7.7 19.1 16.3s.5 18-5.8 24.4L441.7 305.9 467 465.8c1.4 8.9-2.3 17.9-9.6 23.2s-17 6.1-25 2L288.1 417.6 143.8 491c-8 4.1-17.7 3.3-25-2s-11-14.2-9.6-23.2L134.4 305.9 20 191.4c-6.4-6.4-8.6-15.8-5.8-24.4s10.1-14.9 19.1-16.3l159.9-25.4 73.6-144.2c4.1-8 12.4-13.1 21.4-13.1zm0 76.8L230.3 158c-3.5 6.8-10 11.6-17.6 12.8l-125.5 20 89.8 89.9c5.4 5.4 7.9 13.1 6.7 20.7l-19.8 125.5 113.3-57.6c6.8-3.5 14.9-3.5 21.8 0l113.3 57.6-19.8-125.5c-1.2-7.6 1.3-15.3 6.7-20.7l89.8-89.9-125.5-20c-7.6-1.2-14.1-6-17.6-12.8L288.1 44.8z\"/></svg>`\n }\n};\nvar systemLibrary = {\n name: \"system\",\n resolver: (name, _family = \"classic\", variant = \"solid\") => {\n let collection = icons[variant];\n let svg = collection[name] ?? icons.regular[name] ?? icons.regular[\"circle-question\"];\n if (svg) {\n return dataUri(svg);\n }\n return \"\";\n }\n};\nvar library_system_default = systemLibrary;\n\nexport {\n icons,\n library_system_default\n};\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n library_default_default\n} from \"./chunk.HCXBOJYW.js\";\nimport {\n library_system_default\n} from \"./chunk.XTA2JDH4.js\";\n\n// src/components/icon/library.ts\nvar defaultIconFamily = \"classic\";\nvar registry = [library_default_default, library_system_default];\nvar watchedIcons = /* @__PURE__ */ new Set();\nfunction watchIcon(icon) {\n watchedIcons.add(icon);\n}\nfunction unwatchIcon(icon) {\n watchedIcons.delete(icon);\n}\nfunction getIconLibrary(name) {\n return registry.find((lib) => lib.name === name);\n}\nfunction registerIconLibrary(name, options) {\n unregisterIconLibrary(name);\n registry.push({\n name,\n resolver: options.resolver,\n mutator: options.mutator,\n spriteSheet: options.spriteSheet\n });\n watchedIcons.forEach((icon) => {\n if (icon.library === name) {\n icon.setIcon();\n }\n });\n}\nfunction unregisterIconLibrary(name) {\n registry = registry.filter((lib) => lib.name !== name);\n}\nfunction setDefaultIconFamily(family) {\n defaultIconFamily = family;\n watchedIcons.forEach((icon) => icon.setIcon());\n}\nfunction getDefaultIconFamily() {\n return defaultIconFamily;\n}\n\nexport {\n watchIcon,\n unwatchIcon,\n getIconLibrary,\n registerIconLibrary,\n unregisterIconLibrary,\n setDefaultIconFamily,\n getDefaultIconFamily\n};\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","/*! Copyright 2026 Fonticons, Inc. - https://webawesome.com/license */\nimport {\n WaErrorEvent\n} from \"./chunk.YDQCS2HK.js\";\nimport {\n WaLoadEvent\n} from \"./chunk.WDIIGUNP.js\";\nimport {\n icon_styles_default\n} from \"./chunk.L5E22IYH.js\";\nimport {\n watch\n} from \"./chunk.PZAN6FPN.js\";\nimport {\n WebAwesomeElement\n} from \"./chunk.AOKMSJXD.js\";\nimport {\n getDefaultIconFamily,\n getIconLibrary,\n unwatchIcon,\n watchIcon\n} from \"./chunk.NF5JTFKH.js\";\nimport {\n __decorateClass\n} from \"./chunk.7VGCIHDG.js\";\n\n// src/components/icon/icon.ts\nimport { html } from \"lit\";\nimport { customElement, property, state } from \"lit/decorators.js\";\nimport { isTemplateResult } from \"lit/directive-helpers.js\";\nvar CACHEABLE_ERROR = Symbol();\nvar RETRYABLE_ERROR = Symbol();\nvar parser;\nvar iconCache = /* @__PURE__ */ new Map();\nvar WaIcon = class extends WebAwesomeElement {\n constructor() {\n super(...arguments);\n this.svg = null;\n this.autoWidth = false;\n this.swapOpacity = false;\n this.label = \"\";\n this.library = \"default\";\n this.rotate = 0;\n /** Given a URL, this function returns the resulting SVG element or an appropriate error symbol. */\n this.resolveIcon = async (url, library) => {\n let fileData;\n if (library?.spriteSheet) {\n if (!this.hasUpdated) {\n await this.updateComplete;\n }\n this.svg = html`<svg part=\"svg\">\n <use part=\"use\" href=\"${url}\"></use>\n </svg>`;\n await this.updateComplete;\n const svg = this.shadowRoot.querySelector(\"[part='svg']\");\n if (typeof library.mutator === \"function\") {\n library.mutator(svg, this);\n }\n return this.svg;\n }\n try {\n fileData = await fetch(url, { mode: \"cors\" });\n if (!fileData.ok) return fileData.status === 410 ? CACHEABLE_ERROR : RETRYABLE_ERROR;\n } catch {\n return RETRYABLE_ERROR;\n }\n try {\n const div = document.createElement(\"div\");\n div.innerHTML = await fileData.text();\n const svg = div.firstElementChild;\n if (svg?.tagName?.toLowerCase() !== \"svg\") return CACHEABLE_ERROR;\n if (!parser) parser = new DOMParser();\n const doc = parser.parseFromString(svg.outerHTML, \"text/html\");\n const svgEl = doc.body.querySelector(\"svg\");\n if (!svgEl) return CACHEABLE_ERROR;\n svgEl.part.add(\"svg\");\n return document.adoptNode(svgEl);\n } catch {\n return CACHEABLE_ERROR;\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n watchIcon(this);\n }\n firstUpdated(changedProperties) {\n super.firstUpdated(changedProperties);\n if (this.hasAttribute(\"rotate\")) {\n this.style.setProperty(\"--rotate-angle\", `${this.rotate}deg`);\n }\n this.setIcon();\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n unwatchIcon(this);\n }\n async getIconSource() {\n const library = getIconLibrary(this.library);\n const family = this.family || getDefaultIconFamily();\n if (this.name && library) {\n let url;\n try {\n url = await library.resolver(this.name, family, this.variant, this.autoWidth);\n } catch {\n url = void 0;\n }\n return { url, fromLibrary: true };\n }\n return {\n url: this.src,\n fromLibrary: false\n };\n }\n handleLabelChange() {\n const hasLabel = typeof this.label === \"string\" && this.label.length > 0;\n if (hasLabel) {\n this.setAttribute(\"role\", \"img\");\n this.setAttribute(\"aria-label\", this.label);\n this.removeAttribute(\"aria-hidden\");\n } else {\n this.removeAttribute(\"role\");\n this.removeAttribute(\"aria-label\");\n this.setAttribute(\"aria-hidden\", \"true\");\n }\n }\n async setIcon() {\n const { url, fromLibrary } = await this.getIconSource();\n const library = fromLibrary ? getIconLibrary(this.library) : void 0;\n if (!url) {\n this.svg = null;\n return;\n }\n let iconResolver = iconCache.get(url);\n if (!iconResolver) {\n iconResolver = this.resolveIcon(url, library);\n iconCache.set(url, iconResolver);\n }\n const svg = await iconResolver;\n if (svg === RETRYABLE_ERROR) {\n iconCache.delete(url);\n }\n const sourceAfterFetch = await this.getIconSource();\n if (url !== sourceAfterFetch.url) {\n return;\n }\n if (isTemplateResult(svg)) {\n this.svg = svg;\n return;\n }\n switch (svg) {\n case RETRYABLE_ERROR:\n case CACHEABLE_ERROR:\n this.svg = null;\n this.dispatchEvent(new WaErrorEvent());\n break;\n default:\n this.svg = svg.cloneNode(true);\n library?.mutator?.(this.svg, this);\n this.dispatchEvent(new WaLoadEvent());\n }\n }\n willUpdate(changedProperties) {\n if (!this.style) {\n this.setStyleProperty(\"--rotate-angle\", `${this.rotate}deg`);\n }\n return super.willUpdate(changedProperties);\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n const library = getIconLibrary(this.library);\n if (this.hasAttribute(\"rotate\")) {\n this.style.setProperty(\"--rotate-angle\", `${this.rotate}deg`);\n }\n const svg = this.shadowRoot?.querySelector(\"svg\");\n if (svg) {\n library?.mutator?.(svg, this);\n }\n }\n render() {\n if (this.hasUpdated) {\n return this.svg;\n }\n return html`<svg part=\"svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"></svg>`;\n }\n};\nWaIcon.css = icon_styles_default;\n__decorateClass([\n state()\n], WaIcon.prototype, \"svg\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaIcon.prototype, \"name\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaIcon.prototype, \"family\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaIcon.prototype, \"variant\", 2);\n__decorateClass([\n property({ attribute: \"auto-width\", type: Boolean, reflect: true })\n], WaIcon.prototype, \"autoWidth\", 2);\n__decorateClass([\n property({ attribute: \"swap-opacity\", type: Boolean, reflect: true })\n], WaIcon.prototype, \"swapOpacity\", 2);\n__decorateClass([\n property()\n], WaIcon.prototype, \"src\", 2);\n__decorateClass([\n property()\n], WaIcon.prototype, \"label\", 2);\n__decorateClass([\n property({ reflect: true })\n], WaIcon.prototype, \"library\", 2);\n__decorateClass([\n property({ type: Number, reflect: true })\n], WaIcon.prototype, \"rotate\", 2);\n__decorateClass([\n property({ type: String, reflect: true })\n], WaIcon.prototype, \"flip\", 2);\n__decorateClass([\n property({ type: String, reflect: true })\n], WaIcon.prototype, \"animation\", 2);\n__decorateClass([\n watch(\"label\")\n], WaIcon.prototype, \"handleLabelChange\", 1);\n__decorateClass([\n watch([\"family\", \"name\", \"library\", \"variant\", \"src\", \"autoWidth\", \"swapOpacity\"], { waitUntilFirstUpdate: true })\n], WaIcon.prototype, \"setIcon\", 1);\nWaIcon = __decorateClass([\n customElement(\"wa-icon\")\n], WaIcon);\n\nexport {\n WaIcon\n};\n","wa-dropdown::part(menu) {\n min-width: 300px;\n box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.35);\n}\n\nwa-dropdown-item {\n padding: 0px;\n}\n","import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport type WaDropdown from '@awesome.me/webawesome/dist/components/dropdown/dropdown.js'\nimport type WaDropdownItem from '@awesome.me/webawesome/dist/components/dropdown-item/dropdown-item.js'\nimport type { WaDropdownSelectEvent } from '@awesome.me/webawesome'\n\nimport '@awesome.me/webawesome/dist/components/dropdown/dropdown.js'\nimport '@awesome.me/webawesome/dist/components/dropdown-item/dropdown-item.js'\n\nimport styles from './Menu.styles.css'\n\n@customElement('solid-ui-menu')\nexport default class Menu extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor placement: WaDropdown['placement'] = 'bottom-start';\n\n @property({ type: Number, reflect: true })\n accessor distance: number = 0;\n\n @query('wa-dropdown')\n private accessor dropdown: WaDropdown | null = null;\n\n @state()\n private accessor items: { slot: string; }[] = []\n\n private observer: MutationObserver = new MutationObserver(() => this.syncItems())\n\n connectedCallback () {\n super.connectedCallback()\n\n this.syncItems()\n this.observer.observe(this, { childList: true })\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.observer.disconnect()\n }\n\n protected render () {\n return html`\n <wa-dropdown\n placement=${this.placement}\n distance=${this.distance}\n @wa-select=${this.onWaSelect}\n >\n <slot name=\"trigger\" slot=\"trigger\"></slot>\n\n ${this.items.map(\n (item) =>\n html`<wa-dropdown-item @click=${this.onItemClick}>\n <slot name=${item.slot}></slot>\n </wa-dropdown-item>`\n )}\n </wa-dropdown>\n `\n }\n\n private syncItems (): void {\n const items = Array.from(this.children).filter(\n (child) => !child.hasAttribute('slot')\n )\n\n this.items = items.map((item, index) => {\n const slotName = `menu-item-${index}`\n\n if (item.getAttribute('slot') !== slotName) {\n item.setAttribute('slot', slotName)\n }\n\n return { slot: slotName }\n })\n }\n\n private onItemClick (event: Event) {\n const waItem = event.currentTarget as WaDropdownItem\n\n event.stopPropagation()\n\n if (waItem.disabled) {\n return\n }\n\n const selectedEvent = this.dispatchSelectEvent(waItem)\n\n if (selectedEvent.defaultPrevented || !this.dropdown) {\n return\n }\n\n this.dropdown.open = false\n }\n\n private onWaSelect (event: WaDropdownSelectEvent) {\n const selectedEvent = this.dispatchSelectEvent(event.detail.item)\n\n if (selectedEvent.defaultPrevented) {\n event.preventDefault()\n\n return\n }\n\n const slotName = event.detail.item.children[0].getAttribute('name')\n const item = this.querySelector<{ click?: () => void } & Element>(`[slot=\"${slotName}\"]`)\n\n item?.click?.()\n }\n\n private dispatchSelectEvent (waItem: WaDropdownItem) {\n const slotName = waItem.children[0].getAttribute('name')\n const item = this.querySelector(`[slot=\"${slotName}\"]`)\n const event = new CustomEvent('solid-ui-select', {\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n\n item?.dispatchEvent(event)\n\n return event\n }\n}\n","import Menu from './Menu'\n\nexport { Menu }\nexport default Menu\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"mappings":"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"}