@axium/server 0.24.1 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/build/client/_app/immutable/assets/account.dAAx7bby.css +1 -0
  2. package/build/client/_app/immutable/assets/account.dAAx7bby.css.br +0 -0
  3. package/build/client/_app/immutable/assets/account.dAAx7bby.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/list.DVGH0BeP.css +1 -0
  5. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.br +0 -0
  6. package/build/client/_app/immutable/assets/list.DVGH0BeP.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css +1 -0
  8. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.br +2 -0
  9. package/build/client/_app/immutable/assets/styles.D8SZ-PeY.css.gz +0 -0
  10. package/build/client/_app/immutable/chunks/1taVrT-y.js +1 -0
  11. package/build/client/_app/immutable/chunks/1taVrT-y.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/1taVrT-y.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/BSFUgC2l.js +23 -0
  14. package/build/client/_app/immutable/chunks/BSFUgC2l.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BSFUgC2l.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/Bbzjahjl.js +2 -0
  17. package/build/client/_app/immutable/chunks/Bbzjahjl.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/Bbzjahjl.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BxjargW5.js +1 -0
  20. package/build/client/_app/immutable/chunks/BxjargW5.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/BxjargW5.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/C2ewTgu8.js +1 -0
  23. package/build/client/_app/immutable/chunks/C2ewTgu8.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/C2ewTgu8.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/CFWAHLsq.js +1 -0
  26. package/build/client/_app/immutable/chunks/CFWAHLsq.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/CFWAHLsq.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/CPL43v-I.js +1 -0
  29. package/build/client/_app/immutable/chunks/CPL43v-I.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/CPL43v-I.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/CTKC36WM.js +1 -0
  32. package/build/client/_app/immutable/chunks/CTKC36WM.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/CTKC36WM.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/CekH6JMP.js +1 -0
  35. package/build/client/_app/immutable/chunks/CekH6JMP.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/CekH6JMP.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/Ch16TNvP.js +1 -0
  38. package/build/client/_app/immutable/chunks/Ch16TNvP.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/Ch16TNvP.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/CqfYW08-.js +1 -0
  41. package/build/client/_app/immutable/chunks/CqfYW08-.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/CqfYW08-.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/D1v6O410.js +1 -0
  44. package/build/client/_app/immutable/chunks/D1v6O410.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/D1v6O410.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/DY4fWHx_.js +1 -0
  47. package/build/client/_app/immutable/chunks/DY4fWHx_.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/DY4fWHx_.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/DdnE6dyJ.js +2 -0
  50. package/build/client/_app/immutable/chunks/DdnE6dyJ.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/DdnE6dyJ.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/DeieCYM0.js +22 -0
  53. package/build/client/_app/immutable/chunks/DeieCYM0.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/DeieCYM0.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/DfUzlYF5.js +1 -0
  56. package/build/client/_app/immutable/chunks/DfUzlYF5.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/DfUzlYF5.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/Dnk28BpG.js +1 -0
  59. package/build/client/_app/immutable/chunks/Dnk28BpG.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/Dnk28BpG.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/KNAS5R2A.js +3 -0
  62. package/build/client/_app/immutable/chunks/KNAS5R2A.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/KNAS5R2A.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/eyJgPND9.js +1 -0
  65. package/build/client/_app/immutable/chunks/eyJgPND9.js.br +1 -0
  66. package/build/client/_app/immutable/chunks/eyJgPND9.js.gz +0 -0
  67. package/build/client/_app/immutable/entry/app.CPF6A_DV.js +2 -0
  68. package/build/client/_app/immutable/entry/app.CPF6A_DV.js.br +0 -0
  69. package/build/client/_app/immutable/entry/app.CPF6A_DV.js.gz +0 -0
  70. package/build/client/_app/immutable/entry/start.Dos_Ttds.js +1 -0
  71. package/build/client/_app/immutable/entry/start.Dos_Ttds.js.br +2 -0
  72. package/build/client/_app/immutable/entry/start.Dos_Ttds.js.gz +0 -0
  73. package/build/client/_app/immutable/nodes/{0.DlE8ZTIF.js → 0.C5HgTRfT.js} +1 -1
  74. package/build/client/_app/immutable/nodes/0.C5HgTRfT.js.br +0 -0
  75. package/build/client/_app/immutable/nodes/0.C5HgTRfT.js.gz +0 -0
  76. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js +1 -0
  77. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js.br +0 -0
  78. package/build/client/_app/immutable/nodes/1.CGcgSoA9.js.gz +0 -0
  79. package/build/client/_app/immutable/nodes/10.ukScuXwz.js +1 -0
  80. package/build/client/_app/immutable/nodes/10.ukScuXwz.js.br +5 -0
  81. package/build/client/_app/immutable/nodes/10.ukScuXwz.js.gz +0 -0
  82. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js +1 -0
  83. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js.br +0 -0
  84. package/build/client/_app/immutable/nodes/11.D3RDNx7M.js.gz +0 -0
  85. package/build/client/_app/immutable/nodes/12._vvpCcSG.js +1 -0
  86. package/build/client/_app/immutable/nodes/12._vvpCcSG.js.br +0 -0
  87. package/build/client/_app/immutable/nodes/12._vvpCcSG.js.gz +0 -0
  88. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js +1 -0
  89. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js.br +0 -0
  90. package/build/client/_app/immutable/nodes/13.BWPzZMQ5.js.gz +0 -0
  91. package/build/client/_app/immutable/nodes/14.Cr843Lep.js +1 -0
  92. package/build/client/_app/immutable/nodes/14.Cr843Lep.js.br +0 -0
  93. package/build/client/_app/immutable/nodes/14.Cr843Lep.js.gz +0 -0
  94. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js +1 -0
  95. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js.br +0 -0
  96. package/build/client/_app/immutable/nodes/2.DUpwDjw8.js.gz +0 -0
  97. package/build/client/_app/immutable/nodes/{2.CvEpuMc7.js → 3.DPH7xl7M.js} +1 -1
  98. package/build/client/_app/immutable/nodes/3.DPH7xl7M.js.br +0 -0
  99. package/build/client/_app/immutable/nodes/3.DPH7xl7M.js.gz +0 -0
  100. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js +1 -0
  101. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js.br +0 -0
  102. package/build/client/_app/immutable/nodes/4.Bk0knTIK.js.gz +0 -0
  103. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js +1 -0
  104. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js.br +0 -0
  105. package/build/client/_app/immutable/nodes/5.DwnZ1Bh8.js.gz +0 -0
  106. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js +2 -0
  107. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js.br +0 -0
  108. package/build/client/_app/immutable/nodes/6.5U-KxFgt.js.gz +0 -0
  109. package/build/client/_app/immutable/nodes/7.DFc4sJix.js +1 -0
  110. package/build/client/_app/immutable/nodes/7.DFc4sJix.js.br +0 -0
  111. package/build/client/_app/immutable/nodes/7.DFc4sJix.js.gz +0 -0
  112. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js +1 -0
  113. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js.br +0 -0
  114. package/build/client/_app/immutable/nodes/8.BG4bv5P5.js.gz +0 -0
  115. package/build/client/_app/immutable/nodes/9.BKljyhOi.js +1 -0
  116. package/build/client/_app/immutable/nodes/9.BKljyhOi.js.br +0 -0
  117. package/build/client/_app/immutable/nodes/9.BKljyhOi.js.gz +0 -0
  118. package/build/client/_app/version.json +1 -1
  119. package/build/client/_app/version.json.br +0 -0
  120. package/build/client/_app/version.json.gz +0 -0
  121. package/build/client/styles.css +7 -0
  122. package/build/client/styles.css.br +0 -0
  123. package/build/client/styles.css.gz +0 -0
  124. package/build/handler.js +20 -3
  125. package/build/server/chunks/0-CZBaNtSI.js +9 -0
  126. package/build/server/chunks/{0-DgHTujtC.js.map → 0-CZBaNtSI.js.map} +1 -1
  127. package/build/server/chunks/1-D_3BtEbe.js +9 -0
  128. package/build/server/chunks/{1-B3zVLOO8.js.map → 1-D_3BtEbe.js.map} +1 -1
  129. package/build/server/chunks/10-CLkNMKHU.js +13 -0
  130. package/build/server/chunks/10-CLkNMKHU.js.map +1 -0
  131. package/build/server/chunks/11-5xPYR_1w.js +13 -0
  132. package/build/server/chunks/11-5xPYR_1w.js.map +1 -0
  133. package/build/server/chunks/12-N7UaQj7u.js +9 -0
  134. package/build/server/chunks/12-N7UaQj7u.js.map +1 -0
  135. package/build/server/chunks/13-QYVLpXli.js +9 -0
  136. package/build/server/chunks/13-QYVLpXli.js.map +1 -0
  137. package/build/server/chunks/14-CPY578rT.js +9 -0
  138. package/build/server/chunks/14-CPY578rT.js.map +1 -0
  139. package/build/server/chunks/2-_1jFrcvz.js +13 -0
  140. package/build/server/chunks/2-_1jFrcvz.js.map +1 -0
  141. package/build/server/chunks/3-B1CwnVF_.js +9 -0
  142. package/build/server/chunks/{2-CXlrhpR6.js.map → 3-B1CwnVF_.js.map} +1 -1
  143. package/build/server/chunks/4-CcxCcH4F.js +13 -0
  144. package/build/server/chunks/4-CcxCcH4F.js.map +1 -0
  145. package/build/server/chunks/5-CrlH6VoB.js +13 -0
  146. package/build/server/chunks/5-CrlH6VoB.js.map +1 -0
  147. package/build/server/chunks/6-FkP678Uz.js +13 -0
  148. package/build/server/chunks/6-FkP678Uz.js.map +1 -0
  149. package/build/server/chunks/7-B1iCe7VA.js +13 -0
  150. package/build/server/chunks/7-B1iCe7VA.js.map +1 -0
  151. package/build/server/chunks/8-p6n9G-P_.js +13 -0
  152. package/build/server/chunks/8-p6n9G-P_.js.map +1 -0
  153. package/build/server/chunks/9-fc3lKB7X.js +13 -0
  154. package/build/server/chunks/9-fc3lKB7X.js.map +1 -0
  155. package/build/server/chunks/Icon-CG7XnWX5.js +30 -0
  156. package/build/server/chunks/Icon-CG7XnWX5.js.map +1 -0
  157. package/build/server/chunks/Logout-BwzK1P29.js +45 -0
  158. package/build/server/chunks/Logout-BwzK1P29.js.map +1 -0
  159. package/build/server/chunks/_layout.svelte-9KMUotip.js +31 -0
  160. package/build/server/chunks/_layout.svelte-9KMUotip.js.map +1 -0
  161. package/build/server/chunks/_page.svelte-BD3HmLo_.js +28 -0
  162. package/build/server/chunks/_page.svelte-BD3HmLo_.js.map +1 -0
  163. package/build/server/chunks/_page.svelte-BFzPdJ6z.js +105 -0
  164. package/build/server/chunks/_page.svelte-BFzPdJ6z.js.map +1 -0
  165. package/build/server/chunks/_page.svelte-BIxxuzff.js +64 -0
  166. package/build/server/chunks/_page.svelte-BIxxuzff.js.map +1 -0
  167. package/build/server/chunks/_page.svelte-Bou2_u6i.js +13 -0
  168. package/build/server/chunks/_page.svelte-Bou2_u6i.js.map +1 -0
  169. package/build/server/chunks/_page.svelte-C25oQ2NT.js +80 -0
  170. package/build/server/chunks/_page.svelte-C25oQ2NT.js.map +1 -0
  171. package/build/server/chunks/_page.svelte-CAzWL4aq.js +66 -0
  172. package/build/server/chunks/_page.svelte-CAzWL4aq.js.map +1 -0
  173. package/build/server/chunks/_page.svelte-Ci5V-DhL.js +72 -0
  174. package/build/server/chunks/_page.svelte-Ci5V-DhL.js.map +1 -0
  175. package/build/server/chunks/_page.svelte-CnfRSJsl.js +37 -0
  176. package/build/server/chunks/_page.svelte-CnfRSJsl.js.map +1 -0
  177. package/build/server/chunks/_page.svelte-DgyZKeaF.js +231 -0
  178. package/build/server/chunks/_page.svelte-DgyZKeaF.js.map +1 -0
  179. package/build/server/chunks/_page.svelte-VDBvShZ8.js +6 -0
  180. package/build/server/chunks/_page.svelte-VDBvShZ8.js.map +1 -0
  181. package/build/server/chunks/_page.svelte-cAsZlwLs.js +24 -0
  182. package/build/server/chunks/_page.svelte-cAsZlwLs.js.map +1 -0
  183. package/build/server/chunks/_page.svelte-rrN2zFNa.js +66 -0
  184. package/build/server/chunks/_page.svelte-rrN2zFNa.js.map +1 -0
  185. package/build/server/chunks/account-BZSP6KBP.js +445 -0
  186. package/build/server/chunks/account-BZSP6KBP.js.map +1 -0
  187. package/build/server/chunks/color-K_MR7m8s.js +14 -0
  188. package/build/server/chunks/color-K_MR7m8s.js.map +1 -0
  189. package/build/server/chunks/context-R2425nfV.js +64 -0
  190. package/build/server/chunks/context-R2425nfV.js.map +1 -0
  191. package/build/server/chunks/{error.svelte-DNQXZmIO.js → error.svelte-DTrQqomO.js} +8 -7
  192. package/build/server/chunks/error.svelte-DTrQqomO.js.map +1 -0
  193. package/build/server/chunks/index-DJrm8BZm.js +844 -0
  194. package/build/server/chunks/index-DJrm8BZm.js.map +1 -0
  195. package/build/server/chunks/{index-CvHf_GW2.js → index-eKiDBuyI.js} +826 -438
  196. package/build/server/chunks/index-eKiDBuyI.js.map +1 -0
  197. package/build/server/chunks/layout.svelte-UxsTmhKc.js +8 -0
  198. package/build/server/chunks/layout.svelte-UxsTmhKc.js.map +1 -0
  199. package/build/server/chunks/{string-DLbvtT1R.js → numbers-DL8C9q4W.js} +1 -71
  200. package/build/server/chunks/numbers-DL8C9q4W.js.map +1 -0
  201. package/build/server/chunks/{FormDialog-CB-2YGWi.js → user2-Coq3Frtw.js} +102 -203
  202. package/build/server/chunks/user2-Coq3Frtw.js.map +1 -0
  203. package/build/server/chunks/{utils-h74ns7K6.js → utils-DlBYhQz7.js} +2 -1
  204. package/build/server/chunks/utils-DlBYhQz7.js.map +1 -0
  205. package/build/server/index.js +1787 -994
  206. package/build/server/index.js.map +1 -1
  207. package/build/server/manifest.js +70 -13
  208. package/build/server/manifest.js.map +1 -1
  209. package/dist/acl.d.ts +1 -2
  210. package/dist/api/acl.js +4 -4
  211. package/dist/api/admin.d.ts +1 -0
  212. package/dist/api/admin.js +135 -0
  213. package/dist/api/index.d.ts +2 -0
  214. package/dist/api/index.js +2 -0
  215. package/dist/api/metadata.js +3 -3
  216. package/dist/api/passkeys.js +10 -10
  217. package/dist/api/register.js +4 -4
  218. package/dist/api/session.js +5 -5
  219. package/dist/api/users.js +48 -48
  220. package/dist/audit.d.ts +7 -39
  221. package/dist/audit.js +10 -13
  222. package/dist/auth.d.ts +4 -11
  223. package/dist/auth.js +4 -4
  224. package/dist/cli.js +40 -54
  225. package/dist/config.d.ts +24 -14
  226. package/dist/config.js +42 -25
  227. package/dist/database.d.ts +3 -4
  228. package/dist/database.js +12 -12
  229. package/dist/internal_requests.d.ts +3 -0
  230. package/dist/internal_requests.js +119 -0
  231. package/dist/io.d.ts +1 -0
  232. package/dist/io.js +1 -1
  233. package/dist/linking.d.ts +0 -1
  234. package/dist/linking.js +2 -5
  235. package/dist/plugins.d.ts +4 -39
  236. package/dist/plugins.js +35 -51
  237. package/dist/requests.d.ts +5 -5
  238. package/dist/requests.js +14 -14
  239. package/dist/routes.d.ts +6 -10
  240. package/dist/routes.js +4 -5
  241. package/dist/serve.d.ts +3 -2
  242. package/dist/serve.js +165 -13
  243. package/dist/state.js +2 -1
  244. package/package.json +6 -5
  245. package/routes/account/+page.svelte +5 -109
  246. package/routes/admin/+layout.svelte +56 -0
  247. package/routes/admin/+layout.ts +29 -0
  248. package/routes/admin/+page.svelte +39 -0
  249. package/routes/admin/+page.ts +7 -0
  250. package/routes/admin/audit/+page.svelte +137 -0
  251. package/routes/admin/audit/+page.ts +20 -0
  252. package/routes/admin/audit/[id]/+page.svelte +43 -0
  253. package/routes/admin/audit/[id]/+page.ts +9 -0
  254. package/routes/admin/audit/styles.css +31 -0
  255. package/routes/admin/config/+page.svelte +28 -0
  256. package/routes/admin/config/+page.ts +9 -0
  257. package/routes/admin/plugins/+page.svelte +23 -0
  258. package/routes/admin/plugins/+page.ts +7 -0
  259. package/routes/admin/users/+page.svelte +60 -0
  260. package/routes/admin/users/+page.ts +9 -0
  261. package/routes/admin/users/[id]/+page.svelte +108 -0
  262. package/routes/admin/users/[id]/+page.ts +17 -0
  263. package/routes/tsconfig.json +1 -1
  264. package/svelte.config.js +4 -10
  265. package/{web/template.html → template.html} +1 -1
  266. package/{web/tsconfig.json → web.tsconfig.json} +2 -2
  267. package/build/client/_app/immutable/chunks/B1E1cVbi.js +0 -1
  268. package/build/client/_app/immutable/chunks/B1E1cVbi.js.br +0 -0
  269. package/build/client/_app/immutable/chunks/B1E1cVbi.js.gz +0 -0
  270. package/build/client/_app/immutable/chunks/CIywFg5g.js +0 -3
  271. package/build/client/_app/immutable/chunks/CIywFg5g.js.br +0 -0
  272. package/build/client/_app/immutable/chunks/CIywFg5g.js.gz +0 -0
  273. package/build/client/_app/immutable/chunks/D3hk2v8y.js +0 -1
  274. package/build/client/_app/immutable/chunks/D3hk2v8y.js.br +0 -2
  275. package/build/client/_app/immutable/chunks/D3hk2v8y.js.gz +0 -0
  276. package/build/client/_app/immutable/chunks/D4Bce_hb.js +0 -1
  277. package/build/client/_app/immutable/chunks/D4Bce_hb.js.br +0 -0
  278. package/build/client/_app/immutable/chunks/D4Bce_hb.js.gz +0 -0
  279. package/build/client/_app/immutable/chunks/D9TfJrfD.js +0 -1
  280. package/build/client/_app/immutable/chunks/D9TfJrfD.js.br +0 -0
  281. package/build/client/_app/immutable/chunks/D9TfJrfD.js.gz +0 -0
  282. package/build/client/_app/immutable/chunks/DJeR1n-B.js +0 -51
  283. package/build/client/_app/immutable/chunks/DJeR1n-B.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/DJeR1n-B.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/Dy1O3iBu.js +0 -2
  286. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.br +0 -0
  287. package/build/client/_app/immutable/chunks/Dy1O3iBu.js.gz +0 -0
  288. package/build/client/_app/immutable/chunks/pba7IodQ.js +0 -1
  289. package/build/client/_app/immutable/chunks/pba7IodQ.js.br +0 -0
  290. package/build/client/_app/immutable/chunks/pba7IodQ.js.gz +0 -0
  291. package/build/client/_app/immutable/entry/app.ChtScU8h.js +0 -2
  292. package/build/client/_app/immutable/entry/app.ChtScU8h.js.br +0 -0
  293. package/build/client/_app/immutable/entry/app.ChtScU8h.js.gz +0 -0
  294. package/build/client/_app/immutable/entry/start.DdjgBKiR.js +0 -1
  295. package/build/client/_app/immutable/entry/start.DdjgBKiR.js.br +0 -2
  296. package/build/client/_app/immutable/entry/start.DdjgBKiR.js.gz +0 -0
  297. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.br +0 -0
  298. package/build/client/_app/immutable/nodes/0.DlE8ZTIF.js.gz +0 -0
  299. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js +0 -1
  300. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js.br +0 -0
  301. package/build/client/_app/immutable/nodes/1.DRjfV_5C.js.gz +0 -0
  302. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.br +0 -0
  303. package/build/client/_app/immutable/nodes/2.CvEpuMc7.js.gz +0 -0
  304. package/build/client/_app/immutable/nodes/3.CVudd8x2.js +0 -7
  305. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.br +0 -0
  306. package/build/client/_app/immutable/nodes/3.CVudd8x2.js.gz +0 -0
  307. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js +0 -1
  308. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.br +0 -0
  309. package/build/client/_app/immutable/nodes/4.Dhj0R0r7.js.gz +0 -0
  310. package/build/client/_app/immutable/nodes/5.CGoBaVII.js +0 -1
  311. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.br +0 -0
  312. package/build/client/_app/immutable/nodes/5.CGoBaVII.js.gz +0 -0
  313. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js +0 -1
  314. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.br +0 -0
  315. package/build/client/_app/immutable/nodes/6.BtB2uWXy.js.gz +0 -0
  316. package/build/server/chunks/0-DgHTujtC.js +0 -9
  317. package/build/server/chunks/1-B3zVLOO8.js +0 -9
  318. package/build/server/chunks/2-CXlrhpR6.js +0 -9
  319. package/build/server/chunks/3-CGT4Ugys.js +0 -13
  320. package/build/server/chunks/3-CGT4Ugys.js.map +0 -1
  321. package/build/server/chunks/4-BscEiwUk.js +0 -9
  322. package/build/server/chunks/4-BscEiwUk.js.map +0 -1
  323. package/build/server/chunks/5-H0ePIJBE.js +0 -9
  324. package/build/server/chunks/5-H0ePIJBE.js.map +0 -1
  325. package/build/server/chunks/6-BrPpcagX.js +0 -9
  326. package/build/server/chunks/6-BrPpcagX.js.map +0 -1
  327. package/build/server/chunks/FormDialog-CB-2YGWi.js.map +0 -1
  328. package/build/server/chunks/Logout-LKOt-AST.js +0 -45
  329. package/build/server/chunks/Logout-LKOt-AST.js.map +0 -1
  330. package/build/server/chunks/_page.svelte-B1LK5J87.js +0 -11
  331. package/build/server/chunks/_page.svelte-B1LK5J87.js.map +0 -1
  332. package/build/server/chunks/_page.svelte-CMtkwvbP.js +0 -68
  333. package/build/server/chunks/_page.svelte-CMtkwvbP.js.map +0 -1
  334. package/build/server/chunks/_page.svelte-CbI2KxeA.js +0 -62
  335. package/build/server/chunks/_page.svelte-CbI2KxeA.js.map +0 -1
  336. package/build/server/chunks/_page.svelte-D1_WJoyP.js +0 -6
  337. package/build/server/chunks/_page.svelte-D1_WJoyP.js.map +0 -1
  338. package/build/server/chunks/_page.svelte-d01Hl2Ia.js +0 -639
  339. package/build/server/chunks/_page.svelte-d01Hl2Ia.js.map +0 -1
  340. package/build/server/chunks/error.svelte-DNQXZmIO.js.map +0 -1
  341. package/build/server/chunks/hooks.server-CQhG9POo.js +0 -17298
  342. package/build/server/chunks/hooks.server-CQhG9POo.js.map +0 -1
  343. package/build/server/chunks/index-CvHf_GW2.js.map +0 -1
  344. package/build/server/chunks/index-RTKpMYZ1.js +0 -397
  345. package/build/server/chunks/index-RTKpMYZ1.js.map +0 -1
  346. package/build/server/chunks/layout.svelte-BSvrn-4a.js +0 -8
  347. package/build/server/chunks/layout.svelte-BSvrn-4a.js.map +0 -1
  348. package/build/server/chunks/string-DLbvtT1R.js.map +0 -1
  349. package/build/server/chunks/utils-h74ns7K6.js.map +0 -1
  350. package/dist/sveltekit.d.ts +0 -8
  351. package/dist/sveltekit.js +0 -60
  352. package/web/hooks.server.ts +0 -4
@@ -0,0 +1,137 @@
1
+ <script lang="ts">
2
+ import { Icon } from '@axium/client/components';
3
+ import '@axium/client/styles/list';
4
+ import './styles.css';
5
+ import { Severity, severityNames } from '@axium/core';
6
+ import { capitalize } from 'utilium';
7
+
8
+ const { data } = $props();
9
+ </script>
10
+
11
+ <svelte:head>
12
+ <title>Admin — Audit Log</title>
13
+ </svelte:head>
14
+
15
+ <h2>Audit Log</h2>
16
+
17
+ {#if data.filterError}
18
+ <div class="error">
19
+ <strong>Invalid Filter:</strong>
20
+ {#each data.filterError.split('\n') as line}
21
+ <p>{line}</p>
22
+ {/each}
23
+ </div>
24
+ {/if}
25
+
26
+ <form id="filter" method="dialog">
27
+ <h4>Filters</h4>
28
+ <span>Minimum Severity:</span>
29
+ <select name="severity" value={data.filter.severity}>
30
+ {#each severityNames as value}
31
+ <option {value} selected={value == 'info'}>{capitalize(value)}</option>
32
+ {/each}
33
+ </select>
34
+ <span>Since:</span>
35
+ <input type="date" name="since" value={data.filter.since} />
36
+
37
+ <span>Until:</span>
38
+ <input type="date" name="until" value={data.filter.until} />
39
+
40
+ <span>Tags:</span>
41
+ <input type="text" name="tags" value={data.filter.tags} />
42
+
43
+ <span>Event Name:</span>
44
+ <input type="text" name="event" value={data.filter.event} />
45
+
46
+ <span>Source:</span>
47
+ <input type="text" name="source" value={data.filter.source} />
48
+
49
+ <span>User UUID:</span>
50
+ <input type="text" name="user" size="36" value={data.filter.user} />
51
+ <button
52
+ onclick={e => {
53
+ e.preventDefault();
54
+ const fd = new FormData(e.currentTarget.form!);
55
+ const params = new URLSearchParams();
56
+ for (let [key, value] of fd.entries()) {
57
+ if (!value) continue;
58
+ switch (key) {
59
+ case 'since':
60
+ case 'until':
61
+ params.set(key, new Date(value as string).toISOString());
62
+ break;
63
+ case 'tags':
64
+ for (const tag of value
65
+ .toString()
66
+ .split(',')
67
+ .map(t => t.trim()))
68
+ params.append(key, tag);
69
+ break;
70
+ default:
71
+ params.set(key, value as string);
72
+ }
73
+ }
74
+ location.search = params ? '?' + params.toString() : '';
75
+ }}>Apply</button
76
+ >
77
+ <button
78
+ onclick={e => {
79
+ e.preventDefault();
80
+ location.search = '';
81
+ }}>Reset</button
82
+ >
83
+ </form>
84
+
85
+ <div class="list-container">
86
+ <div class="list">
87
+ <div class="list-item list-header">
88
+ <span>Timestamp</span>
89
+ <span>Severity</span>
90
+ <span>Source</span>
91
+ <span>Name</span>
92
+ <span>Tags</span>
93
+ <span>User</span>
94
+ </div>
95
+
96
+ {#each data.events as event}
97
+ <div class="list-item" onclick={e => e.currentTarget === e.target && (location.href = '/admin/audit/' + event.id)}>
98
+ <span>{new Date(event.timestamp).toLocaleString()}</span>
99
+ <span class="severity--{Severity[event.severity].toLowerCase()}">{Severity[event.severity]}</span>
100
+ <span>{event.source}</span>
101
+ <span>{event.name}</span>
102
+ <span>{event.tags.join(', ')}</span>
103
+ {#if event.user}
104
+ <a href="/admin/users/{event.userId}">
105
+ {event.user.name}
106
+ {#if event.userId === data.session?.userId}<span class="subtle">(You)</span>{/if}
107
+ </a>
108
+ {:else}
109
+ <i>Unknown</i>
110
+ {/if}
111
+ <a href="/admin/audit/{event.id}"><Icon i="chevron-right" /></a>
112
+ </div>
113
+ {:else}
114
+ <p class="list-empty">No audit log events found</p>
115
+ {/each}
116
+ </div>
117
+ </div>
118
+
119
+ <style>
120
+ .list-item {
121
+ grid-template-columns: 15em 10em 10em 1fr 1fr 10em repeat(1, 2em);
122
+ }
123
+
124
+ #filter {
125
+ background-color: var(--bg-menu);
126
+ padding: 1em;
127
+ border-radius: 0.5em;
128
+ display: grid;
129
+ grid-template-columns: repeat(2, 1fr);
130
+ gap: 0.25em;
131
+ width: fit-content;
132
+
133
+ h4 {
134
+ grid-column: 1 / span 2;
135
+ }
136
+ }
137
+ </style>
@@ -0,0 +1,20 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+ import { AuditFilter, Severity } from '@axium/core';
3
+ import { prettifyError, type input } from 'zod';
4
+
5
+ export const ssr = false;
6
+
7
+ export async function load({ url }) {
8
+ let filterError = null;
9
+ try {
10
+ AuditFilter.parse(Object.fromEntries(url.searchParams));
11
+ } catch (e: any) {
12
+ filterError = prettifyError(e);
13
+ }
14
+
15
+ const filter: input<typeof AuditFilter> = filterError ? {} : Object.fromEntries(url.searchParams);
16
+
17
+ const events = await fetchAPI('GET', 'admin/audit/events', filter);
18
+
19
+ return { events, filterError, filter };
20
+ }
@@ -0,0 +1,43 @@
1
+ <script lang="ts">
2
+ import { Severity } from '@axium/core/audit';
3
+ import '../styles.css';
4
+ import UserCard from '@axium/client/components/UserCard';
5
+
6
+ const { data } = $props();
7
+ const { event } = data;
8
+ </script>
9
+
10
+ <svelte:head>
11
+ <title>Admin — Audit Log Event #{event.id}</title>
12
+ </svelte:head>
13
+
14
+ <h2>Audit Event</h2>
15
+
16
+ <h4>UUID</h4>
17
+ <p>{event.id}</p>
18
+
19
+ <h4>Severity</h4>
20
+ <p class="severity--{Severity[event.severity].toLowerCase()}">{Severity[event.severity]}</p>
21
+
22
+ <h4>Name</h4>
23
+ <p>{event.name}</p>
24
+
25
+ <h4>Timestamp</h4>
26
+ <p>{new Date(event.timestamp).toLocaleString()}</p>
27
+
28
+ <h4>Source</h4>
29
+ <p>{event.source}</p>
30
+
31
+ <h4>Tags</h4>
32
+ <p>{event.tags.join(', ')}</p>
33
+
34
+ <h4>User</h4>
35
+ {#if event.user}
36
+ <UserCard user={event.user} href="/admin/users/{event.user.id}" />
37
+ {:else}
38
+ <i>Unknown</i>
39
+ {/if}
40
+
41
+ <h4>Extra Data</h4>
42
+
43
+ <pre>{JSON.stringify(event.extra, null, 4)}</pre>
@@ -0,0 +1,9 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+
3
+ export const ssr = false;
4
+
5
+ export async function load({ params }) {
6
+ const event = await fetchAPI('GET', 'admin/audit/:eventId', null, params.id);
7
+
8
+ return { event };
9
+ }
@@ -0,0 +1,31 @@
1
+ .severity--emergency {
2
+ background-color: red;
3
+ color: white;
4
+ text-decoration: underline;
5
+ }
6
+
7
+ .severity--alert {
8
+ background-color: red;
9
+ color: white;
10
+ }
11
+
12
+ .severity--critical {
13
+ font-weight: bold;
14
+ color: red;
15
+ }
16
+
17
+ .severity--error {
18
+ color: red;
19
+ }
20
+
21
+ .severity--warning {
22
+ color: yellow;
23
+ }
24
+
25
+ .severity--notice {
26
+ color: cyan;
27
+ }
28
+
29
+ .severity--debug {
30
+ opacity: 0.7;
31
+ }
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ const { data } = $props();
3
+ </script>
4
+
5
+ <svelte:head>
6
+ <title>Admin — Configuration</title>
7
+ </svelte:head>
8
+
9
+ <h2>Active Configuration</h2>
10
+
11
+ <pre>{JSON.stringify(data.config, null, 4)}</pre>
12
+
13
+ <h2>Loaded Files</h2>
14
+
15
+ {#each Object.entries(data.files) as [path, config]}
16
+ <details>
17
+ <summary>{path}</summary>
18
+ <pre>{JSON.stringify(config, null, 4)}</pre>
19
+ </details>
20
+ {/each}
21
+
22
+ <style>
23
+ summary {
24
+ cursor: pointer;
25
+ padding: 1em 0;
26
+ font-size: large;
27
+ }
28
+ </style>
@@ -0,0 +1,9 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+
3
+ export const ssr = false;
4
+
5
+ export async function load() {
6
+ const result = await fetchAPI('GET', 'admin/config');
7
+
8
+ return result;
9
+ }
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ const { data } = $props();
3
+ </script>
4
+
5
+ <svelte:head>
6
+ <title>Admin — Plugins</title>
7
+ </svelte:head>
8
+
9
+ <h2>Plugins</h2>
10
+
11
+ {#each data.plugins as plugin}
12
+ <h4>{plugin.name}</h4>
13
+ <p><strong>Loaded from</strong> {plugin.path} by {plugin._loadedBy ?? '<unknown>'}</p>
14
+ <p><strong>Version:</strong> {plugin.version}</p>
15
+ <p><strong>Author:</strong> {plugin.author}</p>
16
+ <p>
17
+ <strong>Provided apps:</strong>
18
+ {#if plugin.apps?.length}{plugin.apps?.map(a => a.name).join(', ')}{:else}<i>None</i>{/if}
19
+ </p>
20
+ <p>{plugin.description}</p>
21
+ {:else}
22
+ <i>No plugins loaded.</i>
23
+ {/each}
@@ -0,0 +1,7 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+
3
+ export async function load() {
4
+ return {
5
+ plugins: await fetchAPI('GET', 'admin/plugins'),
6
+ };
7
+ }
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ import Icon from '@axium/client/components/Icon';
3
+ import '@axium/client/styles/list';
4
+ import { colorHash } from '@axium/core/color';
5
+
6
+ const { data } = $props();
7
+ </script>
8
+
9
+ <svelte:head>
10
+ <title>Admin - Users</title>
11
+ </svelte:head>
12
+
13
+ <h2>Users</h2>
14
+
15
+ {#snippet attr(i: string, text: string, color: string = colorHash(text))}
16
+ <span class="attribute" style:background-color={color}><Icon {i} />{text}</span>
17
+ {/snippet}
18
+
19
+ <div id="user-list" class="list">
20
+ <div class="list-item list-header">
21
+ <span>Name</span>
22
+ <span>Email</span>
23
+ <span>Attributes</span>
24
+ </div>
25
+ {#each data.users as user}
26
+ <div class="user list-item" onclick={e => e.currentTarget === e.target && (location.href = '/admin/users/' + user.id)}>
27
+ <span>{user.name}</span>
28
+ <span>{user.email}</span>
29
+ <span>
30
+ {#if user.isAdmin}
31
+ {@render attr('crown', 'Admin', '#710')}
32
+ {/if}
33
+ {#each user.tags as tag}
34
+ {@render attr('hashtag', tag)}
35
+ {/each}
36
+ {#each user.roles as role}
37
+ {@render attr('at', role)}
38
+ {/each}
39
+ </span>
40
+ <a href="/admin/audit?user={user.id}"><Icon i="file-shield" /></a>
41
+ <a href="/admin/users/{user.id}"><Icon i="chevron-right" /></a>
42
+ </div>
43
+ {:else}
44
+ <div class="error">No users!</div>
45
+ {/each}
46
+ </div>
47
+
48
+ <style>
49
+ .list-item {
50
+ grid-template-columns: 1fr 1fr 3fr repeat(2, 2em);
51
+ }
52
+
53
+ .attribute {
54
+ border-radius: 1em;
55
+ padding: 0.25em 0.75em;
56
+ display: inline-flex;
57
+ align-items: center;
58
+ gap: 0.25em;
59
+ }
60
+ </style>
@@ -0,0 +1,9 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+
3
+ export const ssr = false;
4
+
5
+ export async function load() {
6
+ const users = await fetchAPI('GET', 'admin/users/all');
7
+
8
+ return { users };
9
+ }
@@ -0,0 +1,108 @@
1
+ <script lang="ts">
2
+ import { ClipboardCopy, Preferences, SessionList, Icon } from '@axium/client/components';
3
+ import '@axium/client/styles/account';
4
+ import { formatDateRange } from '@axium/core/format';
5
+
6
+ const { data } = $props();
7
+ const { user } = data;
8
+
9
+ let sessions = $state(user.sessions);
10
+ </script>
11
+
12
+ <svelte:head>
13
+ <title>Admin — User Management</title>
14
+ </svelte:head>
15
+
16
+ <a href="/admin/users">
17
+ <button class="icon-text">
18
+ <Icon i="up-left" /> Back to all users
19
+ </button>
20
+ </a>
21
+
22
+ <h2>User Management</h2>
23
+
24
+ <div class="section main">
25
+ <div class="item info">
26
+ <p>UUID</p>
27
+ <p>{user.id}</p>
28
+ <ClipboardCopy value={user.id} --size="16px" />
29
+ </div>
30
+
31
+ <div class="item info">
32
+ <p>Display Name</p>
33
+ <p>{user.name}</p>
34
+ <ClipboardCopy value={user.name} --size="16px" />
35
+ </div>
36
+
37
+ <div class="item info">
38
+ <p>Email</p>
39
+ <p>
40
+ <a href="mailto:{user.email}">{user.email}</a>, {user.emailVerified
41
+ ? 'verified ' + user.emailVerified.toLocaleString()
42
+ : 'not verified'}
43
+ </p>
44
+ <ClipboardCopy value={user.email} --size="16px" />
45
+ </div>
46
+
47
+ <div class="item info">
48
+ <p>Registered</p>
49
+ <p>{formatDateRange(user.registeredAt)}</p>
50
+ <ClipboardCopy value={user.registeredAt.toISOString()} --size="16px" />
51
+ </div>
52
+ <div class="item info">
53
+ <p>Administrator</p>
54
+ {#if user.isAdmin}
55
+ <strong>Yes</strong>
56
+ {:else}
57
+ <p>No</p>
58
+ {/if}
59
+ <p></p>
60
+ </div>
61
+ <div class="item info">
62
+ <p>Suspended</p>
63
+ {#if user.isSuspended}
64
+ <strong>Yes</strong>
65
+ {:else}
66
+ <p>No</p>
67
+ {/if}
68
+ <button>{user.isSuspended ? 'Unsuspend' : 'Suspend'}</button>
69
+ </div>
70
+ <div class="item info">
71
+ <p>Profile Image</p>
72
+ {#if user.image}
73
+ <a href={user.image} target="_blank" rel="noopener noreferrer">{user.image}</a>
74
+ <ClipboardCopy value={user.image} --size="16px" />
75
+ {:else}
76
+ <i>Default</i>
77
+ <p></p>
78
+ {/if}
79
+ </div>
80
+ <div class="item info">
81
+ <p>Roles</p>
82
+ <p>{user.roles.join(', ')}</p>
83
+ </div>
84
+ <div class="item info">
85
+ <p>Tags</p>
86
+ <p>{user.tags.join(', ')}</p>
87
+ </div>
88
+ </div>
89
+
90
+ <div class="section main">
91
+ <h3>Sessions</h3>
92
+ <SessionList {sessions} {user} />
93
+ </div>
94
+
95
+ <div class="section main">
96
+ <h3>Preferences</h3>
97
+ <Preferences userId={user.id} bind:preferences={user.preferences} />
98
+ </div>
99
+
100
+ <style>
101
+ div.info {
102
+ grid-template-columns: 10em 1fr 6em;
103
+ }
104
+
105
+ .section {
106
+ margin-bottom: 2em;
107
+ }
108
+ </style>
@@ -0,0 +1,17 @@
1
+ import { fetchAPI } from '@axium/client/requests';
2
+
3
+ export const ssr = false;
4
+
5
+ export async function load({ params }) {
6
+ const user = await fetchAPI('GET', 'admin/users/:userId', null, params.id);
7
+
8
+ for (const session of user.sessions) {
9
+ session.created = new Date(session.created);
10
+ session.expires = new Date(session.expires);
11
+ }
12
+
13
+ user.registeredAt = new Date(user.registeredAt);
14
+ user.emailVerified = user.emailVerified ? new Date(user.emailVerified) : null;
15
+
16
+ return { user };
17
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
- "extends": "../web/tsconfig.json",
2
+ "extends": "../web.tsconfig.json",
3
3
  "include": ["**/*"]
4
4
  }
package/svelte.config.js CHANGED
@@ -1,13 +1,7 @@
1
- import config from '@axium/server/config';
2
1
  import node from '@sveltejs/adapter-node';
3
2
  import { join } from 'node:path/posix';
4
3
  import { fileURLToPath } from 'node:url';
5
-
6
- /**
7
- * Paths relative to the directory of this file.
8
- * This allows this file to be imported from other projects and still resolve to the correct paths.
9
- */
10
- const fixed = p => join(import.meta.dirname, p);
4
+ import config from '@axium/server/config';
11
5
 
12
6
  /** @type {import('@sveltejs/kit').Config} */
13
7
  export default {
@@ -20,11 +14,11 @@ export default {
20
14
  kit: {
21
15
  adapter: node(),
22
16
  files: {
23
- routes: config.web.routes,
24
17
  assets: join(fileURLToPath(new URL(import.meta.resolve('@axium/client'))), '../../assets'),
25
- appTemplate: fixed('web/template.html'),
18
+ appTemplate: join(import.meta.dirname, 'template.html'),
19
+ routes: config.web.routes,
26
20
  hooks: {
27
- server: fixed('web/hooks.server.ts'),
21
+ universal: '/dev/null',
28
22
  },
29
23
  },
30
24
  },
@@ -2,7 +2,7 @@
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
- <link rel="icon" href="%sveltekit.assets%/favicon.svg" />
5
+ <link rel="icon" href="%sveltekit.assets%/favicon.svg" type="image/svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1" />
7
7
  <meta name="color-scheme" content="dark light" />
8
8
  <link rel="stylesheet" href="%sveltekit.assets%/theme.css" />
@@ -1,9 +1,9 @@
1
1
  {
2
- "extends": ["../.svelte-kit/tsconfig.json"],
2
+ "extends": ["./.svelte-kit/tsconfig.json"],
3
3
  "compilerOptions": {
4
4
  "target": "ES2023",
5
5
  "strict": true,
6
6
  "lib": ["ESNext", "DOM", "DOM.Iterable"]
7
7
  },
8
- "include": ["./**/*"]
8
+ "include": []
9
9
  }
@@ -1 +0,0 @@
1
- import"./DsnmJJEf.js";import{q as p,r as c,p as f,v as d,f as b,a as u}from"./D9TfJrfD.js";import{d as v}from"./Dy1O3iBu.js";import{p as n,i as _}from"./pba7IodQ.js";import{F as h,l as k}from"./DJeR1n-B.js";var w=(t,o)=>{t.preventDefault(),o().close(),history.back()},y=f("<button>Take me back</button>"),L=f("<p>Are you sure you want to log out?</p> <!>",1);function A(t,o){p(o,!0);let a=n(o,"dialog",15),l=n(o,"fullPage",3,!1);h(t,{get pageMode(){return l()},submitText:"Log Out",submit:()=>k().then(()=>window.location.href="/"),get dialog(){return a()},set dialog(r){a(r)},children:(r,P)=>{var i=L(),g=d(b(i),2);{var m=e=>{var s=y();s.__click=[w,a],u(e,s)};_(g,e=>{l()&&e(m)})}u(r,i)},$$slots:{default:!0}}),c()}v(["click"]);export{A as L};