@nanoforge-dev/editor 0.0.2-beta.d5ae009 → 0.0.2-beta.ddbefdc

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 (140) hide show
  1. package/dist/client/_app/immutable/assets/{0.CjGIZXZs.css → 0.PlL6w-dg.css} +1 -1
  2. package/dist/client/_app/immutable/assets/0.PlL6w-dg.css.br +0 -0
  3. package/dist/client/_app/immutable/assets/0.PlL6w-dg.css.gz +0 -0
  4. package/dist/client/_app/immutable/chunks/BW1UW6Hp.js +1 -0
  5. package/dist/client/_app/immutable/chunks/BW1UW6Hp.js.br +0 -0
  6. package/dist/client/_app/immutable/chunks/BW1UW6Hp.js.gz +0 -0
  7. package/dist/client/_app/immutable/chunks/C1k-YaT9.js +293 -0
  8. package/dist/client/_app/immutable/chunks/C1k-YaT9.js.br +0 -0
  9. package/dist/client/_app/immutable/chunks/C1k-YaT9.js.gz +0 -0
  10. package/dist/client/_app/immutable/chunks/{FP7xnvT4.js → C8VsmuzL.js} +1 -1
  11. package/dist/client/_app/immutable/chunks/C8VsmuzL.js.br +0 -0
  12. package/dist/client/_app/immutable/chunks/C8VsmuzL.js.gz +0 -0
  13. package/dist/client/_app/immutable/chunks/CUEbnJ91.js +6 -0
  14. package/dist/client/_app/immutable/chunks/CUEbnJ91.js.br +0 -0
  15. package/dist/client/_app/immutable/chunks/CUEbnJ91.js.gz +0 -0
  16. package/dist/client/_app/immutable/chunks/{CT3UgqBA.js → xJ1-16vC.js} +1 -1
  17. package/dist/client/_app/immutable/chunks/xJ1-16vC.js.br +0 -0
  18. package/dist/client/_app/immutable/chunks/xJ1-16vC.js.gz +0 -0
  19. package/dist/client/_app/immutable/chunks/{MAzZK5cV.js → y9jahtbD.js} +1 -1
  20. package/dist/client/_app/immutable/chunks/y9jahtbD.js.br +0 -0
  21. package/dist/client/_app/immutable/chunks/y9jahtbD.js.gz +0 -0
  22. package/dist/client/_app/immutable/entry/{app.D7Qhroat.js → app.qM3aoeOi.js} +2 -2
  23. package/dist/client/_app/immutable/entry/app.qM3aoeOi.js.br +0 -0
  24. package/dist/client/_app/immutable/entry/app.qM3aoeOi.js.gz +0 -0
  25. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js +1 -0
  26. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js.br +0 -0
  27. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js.gz +0 -0
  28. package/dist/client/_app/immutable/nodes/{1.D2petaCJ.js → 1.D-XWgJOb.js} +1 -1
  29. package/dist/client/_app/immutable/nodes/1.D-XWgJOb.js.br +2 -0
  30. package/dist/client/_app/immutable/nodes/1.D-XWgJOb.js.gz +0 -0
  31. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js +6 -0
  32. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js.br +0 -0
  33. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js.gz +0 -0
  34. package/dist/client/_app/immutable/nodes/2.D2mbM0C2.js +1 -0
  35. package/dist/client/_app/immutable/nodes/2.D2mbM0C2.js.br +0 -0
  36. package/dist/client/_app/immutable/nodes/2.D2mbM0C2.js.gz +0 -0
  37. package/dist/client/_app/immutable/nodes/{9.BGu6EfS2.js → 9.BrWnGfyr.js} +1 -1
  38. package/dist/client/_app/immutable/nodes/9.BrWnGfyr.js.br +0 -0
  39. package/dist/client/_app/immutable/nodes/9.BrWnGfyr.js.gz +0 -0
  40. package/dist/client/_app/version.json +1 -1
  41. package/dist/client/_app/version.json.br +0 -0
  42. package/dist/client/_app/version.json.gz +0 -0
  43. package/dist/server/chunks/{0-D3qhveQr.js → 0-CaJWcpu3.js} +3 -3
  44. package/dist/server/chunks/{0-D3qhveQr.js.map → 0-CaJWcpu3.js.map} +1 -1
  45. package/dist/server/chunks/{1-DC3uFVBV.js → 1-na9Uh1hG.js} +5 -5
  46. package/dist/server/chunks/{1-DC3uFVBV.js.map → 1-na9Uh1hG.js.map} +1 -1
  47. package/dist/server/chunks/{10-BVrMXTW8.js → 10-Dh1abrew.js} +8 -8
  48. package/dist/server/chunks/{10-BVrMXTW8.js.map → 10-Dh1abrew.js.map} +1 -1
  49. package/dist/server/chunks/{2-DX6ErPQr.js → 2-BM68e_rU.js} +7 -7
  50. package/dist/server/chunks/{2-DX6ErPQr.js.map → 2-BM68e_rU.js.map} +1 -1
  51. package/dist/server/chunks/{3-BFIclw2U.js → 3-CtfjP4uZ.js} +2 -2
  52. package/dist/server/chunks/{3-BFIclw2U.js.map → 3-CtfjP4uZ.js.map} +1 -1
  53. package/dist/server/chunks/{4-Cim4b7CK.js → 4-DP-_gDay.js} +2 -2
  54. package/dist/server/chunks/{4-Cim4b7CK.js.map → 4-DP-_gDay.js.map} +1 -1
  55. package/dist/server/chunks/{5-DQ3o1uwg.js → 5-610NKQc3.js} +2 -2
  56. package/dist/server/chunks/{5-DQ3o1uwg.js.map → 5-610NKQc3.js.map} +1 -1
  57. package/dist/server/chunks/{6-CadULKrR.js → 6-Dl_h_OyU.js} +2 -2
  58. package/dist/server/chunks/{6-CadULKrR.js.map → 6-Dl_h_OyU.js.map} +1 -1
  59. package/dist/server/chunks/{7-CxjbU6zP.js → 7-BUEKgK7m.js} +2 -2
  60. package/dist/server/chunks/{7-CxjbU6zP.js.map → 7-BUEKgK7m.js.map} +1 -1
  61. package/dist/server/chunks/{8-D8RKzhKE.js → 8-s07Rj2Zo.js} +2 -2
  62. package/dist/server/chunks/{8-D8RKzhKE.js.map → 8-s07Rj2Zo.js.map} +1 -1
  63. package/dist/server/chunks/{9-C-mS2ReE.js → 9-DkqE8li9.js} +8 -8
  64. package/dist/server/chunks/{9-C-mS2ReE.js.map → 9-DkqE8li9.js.map} +1 -1
  65. package/dist/server/chunks/{_page.svelte-CF_EqiqV.js → _page.svelte-1bR7bJ2y.js} +5 -5
  66. package/dist/server/chunks/_page.svelte-1bR7bJ2y.js.map +1 -0
  67. package/dist/server/chunks/{_page.svelte-ByqpfNPC.js → _page.svelte-B_0YFORc.js} +6 -6
  68. package/dist/server/chunks/_page.svelte-B_0YFORc.js.map +1 -0
  69. package/dist/server/chunks/{_page.svelte-C1HyEKjK.js → _page.svelte-BmrR5-n-.js} +89 -26
  70. package/dist/server/chunks/_page.svelte-BmrR5-n-.js.map +1 -0
  71. package/dist/server/chunks/{_server.ts-DvvWYqRd.js → _server.ts-DlC2sxcm.js} +2 -2
  72. package/dist/server/chunks/{_server.ts-DvvWYqRd.js.map → _server.ts-DlC2sxcm.js.map} +1 -1
  73. package/dist/server/chunks/{_server.ts-DFC8ij6-.js → _server.ts-a-I4s4R9.js} +2 -2
  74. package/dist/server/chunks/{_server.ts-DFC8ij6-.js.map → _server.ts-a-I4s4R9.js.map} +1 -1
  75. package/dist/server/chunks/{client-DhMlbh2c.js → client-BkmWBFaS.js} +2 -2
  76. package/dist/server/chunks/{client-DhMlbh2c.js.map → client-BkmWBFaS.js.map} +1 -1
  77. package/dist/server/chunks/{error-Df0LgzGi.js → error-BGQyviUk.js} +105 -50
  78. package/dist/server/chunks/error-BGQyviUk.js.map +1 -0
  79. package/dist/server/chunks/{error.svelte-DM_iE9zL.js → error.svelte-T6M8Vz4W.js} +2 -2
  80. package/dist/server/chunks/{error.svelte-DM_iE9zL.js.map → error.svelte-T6M8Vz4W.js.map} +1 -1
  81. package/dist/server/chunks/{hooks.server-CKcZoYoT.js → hooks.server-Bb56FM49.js} +2 -2
  82. package/dist/server/chunks/{hooks.server-CKcZoYoT.js.map → hooks.server-Bb56FM49.js.map} +1 -1
  83. package/dist/server/chunks/{internal2-CRbvkWND.js → internal2-CeV_cIh4.js} +3 -3
  84. package/dist/server/chunks/{internal2-CRbvkWND.js.map → internal2-CeV_cIh4.js.map} +1 -1
  85. package/dist/server/chunks/{logo-C422_TRA.js → logo-Cit4wZkS.js} +2 -2
  86. package/dist/server/chunks/logo-Cit4wZkS.js.map +1 -0
  87. package/dist/server/chunks/{project-loader-3ZC0fkGL.js → project-loader-BSqYC-7k.js} +3 -3
  88. package/dist/server/chunks/{project-loader-3ZC0fkGL.js.map → project-loader-BSqYC-7k.js.map} +1 -1
  89. package/dist/server/chunks/{request-handler-DIqttORJ.js → request-handler-guINVc1G.js} +3 -3
  90. package/dist/server/chunks/request-handler-guINVc1G.js.map +1 -0
  91. package/dist/server/chunks/{schemas-iHhaE-aY.js → schemas-DbJHhqwa.js} +6 -25
  92. package/dist/server/chunks/schemas-DbJHhqwa.js.map +1 -0
  93. package/dist/server/chunks/{state-DHSP_spt.js → state-DpIO_6NS.js} +2 -2
  94. package/dist/server/chunks/{state-DHSP_spt.js.map → state-DpIO_6NS.js.map} +1 -1
  95. package/dist/server/index.js +1 -1
  96. package/dist/server/manifest.js +18 -18
  97. package/dist/server/manifest.js.map +1 -1
  98. package/package.json +1 -1
  99. package/dist/client/_app/immutable/assets/0.CjGIZXZs.css.br +0 -0
  100. package/dist/client/_app/immutable/assets/0.CjGIZXZs.css.gz +0 -0
  101. package/dist/client/_app/immutable/chunks/CBO6kAED.js +0 -293
  102. package/dist/client/_app/immutable/chunks/CBO6kAED.js.br +0 -0
  103. package/dist/client/_app/immutable/chunks/CBO6kAED.js.gz +0 -0
  104. package/dist/client/_app/immutable/chunks/CT3UgqBA.js.br +0 -0
  105. package/dist/client/_app/immutable/chunks/CT3UgqBA.js.gz +0 -0
  106. package/dist/client/_app/immutable/chunks/DEqe37pD.js +0 -6
  107. package/dist/client/_app/immutable/chunks/DEqe37pD.js.br +0 -0
  108. package/dist/client/_app/immutable/chunks/DEqe37pD.js.gz +0 -0
  109. package/dist/client/_app/immutable/chunks/DNftsqR1.js +0 -1
  110. package/dist/client/_app/immutable/chunks/DNftsqR1.js.br +0 -0
  111. package/dist/client/_app/immutable/chunks/DNftsqR1.js.gz +0 -0
  112. package/dist/client/_app/immutable/chunks/FP7xnvT4.js.br +0 -0
  113. package/dist/client/_app/immutable/chunks/FP7xnvT4.js.gz +0 -0
  114. package/dist/client/_app/immutable/chunks/MAzZK5cV.js.br +0 -0
  115. package/dist/client/_app/immutable/chunks/MAzZK5cV.js.gz +0 -0
  116. package/dist/client/_app/immutable/entry/app.D7Qhroat.js.br +0 -0
  117. package/dist/client/_app/immutable/entry/app.D7Qhroat.js.gz +0 -0
  118. package/dist/client/_app/immutable/entry/start.Di1N-dwj.js +0 -1
  119. package/dist/client/_app/immutable/entry/start.Di1N-dwj.js.br +0 -1
  120. package/dist/client/_app/immutable/entry/start.Di1N-dwj.js.gz +0 -0
  121. package/dist/client/_app/immutable/nodes/1.D2petaCJ.js.br +0 -1
  122. package/dist/client/_app/immutable/nodes/1.D2petaCJ.js.gz +0 -0
  123. package/dist/client/_app/immutable/nodes/10.C4HJc4cu.js +0 -6
  124. package/dist/client/_app/immutable/nodes/10.C4HJc4cu.js.br +0 -0
  125. package/dist/client/_app/immutable/nodes/10.C4HJc4cu.js.gz +0 -0
  126. package/dist/client/_app/immutable/nodes/2.DnluJ7u1.js +0 -1
  127. package/dist/client/_app/immutable/nodes/2.DnluJ7u1.js.br +0 -0
  128. package/dist/client/_app/immutable/nodes/2.DnluJ7u1.js.gz +0 -0
  129. package/dist/client/_app/immutable/nodes/9.BGu6EfS2.js.br +0 -0
  130. package/dist/client/_app/immutable/nodes/9.BGu6EfS2.js.gz +0 -0
  131. package/dist/server/chunks/_page.svelte-ByqpfNPC.js.map +0 -1
  132. package/dist/server/chunks/_page.svelte-C1HyEKjK.js.map +0 -1
  133. package/dist/server/chunks/_page.svelte-CF_EqiqV.js.map +0 -1
  134. package/dist/server/chunks/error-Df0LgzGi.js.map +0 -1
  135. package/dist/server/chunks/logo-C422_TRA.js.map +0 -1
  136. package/dist/server/chunks/request-handler-DIqttORJ.js.map +0 -1
  137. package/dist/server/chunks/schemas-iHhaE-aY.js.map +0 -1
  138. /package/dist/client/_app/immutable/nodes/{0.CW6BAtSC.js → 0.Dd5fG40d.js} +0 -0
  139. /package/dist/client/_app/immutable/nodes/{0.CW6BAtSC.js.br → 0.Dd5fG40d.js.br} +0 -0
  140. /package/dist/client/_app/immutable/nodes/{0.CW6BAtSC.js.gz → 0.Dd5fG40d.js.gz} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-B_0YFORc.js","names":["z.object","z.enum","z.boolean"],"sources":["../../../.svelte-kit/adapter-bun/entries/pages/load/_page.svelte.js"],"sourcesContent":["import { b as unsubscribe_stores, v as store_get } from \"../../../chunks/index-server.js\";\nimport { Ct as createQuery, dt as ProjectLoader, gt as toastError, ht as PLException, it as Card, mt as PLErrors, n as Loading_button, t as runSafe, xt as getConfig } from \"../../../chunks/error.js\";\nimport { a as goto, d as resolve } from \"../../../chunks/client.js\";\nimport { t as page } from \"../../../chunks/state.js\";\nimport { a as Form, n as FormFieldSwitch, r as FormFieldSelect, t as useForm } from \"../../../chunks/form.svelte.js\";\nimport { n as Full_page_project_spinner } from \"../../../chunks/project-loader.js\";\nimport { z } from \"zod\";\n//#region src/routes/load/components/complete-project-form.svelte\nfunction Complete_project_form($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tconst { gatewayId } = $$props;\n\t\tlet isLoading = false;\n\t\tconst schema = z.object({\n\t\t\tlanguage: z.enum([\"ts\", \"js\"]).default(\"ts\"),\n\t\t\tmultiplayerServer: z.boolean().default(false)\n\t\t});\n\t\tconst completeProject = async (values) => {\n\t\t\tisLoading = true;\n\t\t\tawait runSafe(\"create project\", async () => {\n\t\t\t\tawait goto(`/dashboard?id=${(await ProjectLoader.complete({\n\t\t\t\t\t...values,\n\t\t\t\t\tgatewayId\n\t\t\t\t})).id}`);\n\t\t\t}, () => {\n\t\t\t\tisLoading = false;\n\t\t\t});\n\t\t};\n\t\tconst formCtx = useForm({\n\t\t\tschema,\n\t\t\tdefaultValues: {\n\t\t\t\tlanguage: \"ts\",\n\t\t\t\tmultiplayerServer: false\n\t\t\t},\n\t\t\tonSubmit: completeProject\n\t\t});\n\t\tconst { submitting } = formCtx;\n\t\tif (Card) {\n\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\tCard($$renderer, {\n\t\t\t\tclass: \"w-full max-w-lg p-4\",\n\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\tForm($$renderer, {\n\t\t\t\t\t\tform: formCtx,\n\t\t\t\t\t\tclass: \"w-full\",\n\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t$$renderer.push(`<div class=\"modal-header\"><div class=\"modal-icon-badge\"><span class=\"i-ic-baseline-check text-primary text-lg\"></span></div> <div><h2 class=\"text-sm font-semibold text-foreground tracking-tight leading-tight\">Init project</h2> <p class=\"text-xs text-muted-foreground mt-0.5\">Configure and scaffold your project</p></div></div> <div class=\"modal-body\">`);\n\t\t\t\t\t\t\tFormFieldSelect($$renderer, {\n\t\t\t\t\t\t\t\tname: \"language\",\n\t\t\t\t\t\t\t\tlabel: \"Language\",\n\t\t\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\t\t\ttrigger: \"w-40 p-4\",\n\t\t\t\t\t\t\t\t\tcontent: \"p-2\",\n\t\t\t\t\t\t\t\t\titem: \"p-2\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\toptions: [{\n\t\t\t\t\t\t\t\t\tvalue: \"ts\",\n\t\t\t\t\t\t\t\t\tlabel: \"Typescript\"\n\t\t\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t\t\tvalue: \"js\",\n\t\t\t\t\t\t\t\t\tlabel: \"Javascript\"\n\t\t\t\t\t\t\t\t}]\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!----> <div class=\"flex flex-col gap-1\">`);\n\t\t\t\t\t\t\tFormFieldSwitch($$renderer, {\n\t\t\t\t\t\t\t\tlabel: \"Multiplayer game\",\n\t\t\t\t\t\t\t\tname: \"multiplayerServer\"\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!----></div></div> <div class=\"modal-footer\">`);\n\t\t\t\t\t\t\tLoading_button($$renderer, {\n\t\t\t\t\t\t\t\ttype: \"submit\",\n\t\t\t\t\t\t\t\tsize: \"lg\",\n\t\t\t\t\t\t\t\tloading: store_get($$store_subs ??= {}, \"$submitting\", submitting) || isLoading,\n\t\t\t\t\t\t\t\tclass: \"btn-primary px-6\",\n\t\t\t\t\t\t\t\tchildren: ($$renderer) => {\n\t\t\t\t\t\t\t\t\t$$renderer.push(`<!---->Init Project`);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t$$renderer.push(`<!----></div>`);\n\t\t\t\t\t\t},\n\t\t\t\t\t\t$$slots: { default: true }\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t$$slots: { default: true }\n\t\t\t});\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t}\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\n//#region src/routes/load/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tconst getResolvable = () => {\n\t\t\tif (getConfig().mode === \"offline\") {\n\t\t\t\tconst path = page.url.searchParams.get(\"path\");\n\t\t\t\tif (!path) return null;\n\t\t\t\treturn { path };\n\t\t\t} else {\n\t\t\t\tconst gatewayId = page.url.searchParams.get(\"gatewayId\");\n\t\t\t\tif (!gatewayId) return null;\n\t\t\t\treturn { gatewayId };\n\t\t\t}\n\t\t};\n\t\tconst id = page.url.searchParams.get(\"id\");\n\t\tconst resolvable = getResolvable();\n\t\tconst query = createQuery(() => ({\n\t\t\tqueryKey: [\n\t\t\t\t\"load\",\n\t\t\t\t\"verify\",\n\t\t\t\tresolvable ? \"path\" in resolvable ? resolvable.path : resolvable.gatewayId : \"\"\n\t\t\t],\n\t\t\tqueryFn: async () => {\n\t\t\t\tif (!id && !resolvable) throw new Error(\"No resolvable\");\n\t\t\t\tif (id) try {\n\t\t\t\t\tawait goto(resolve(`/dashboard?id=${(await ProjectLoader.loadFromId(id)).id}`));\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof PLException) {\n\t\t\t\t\t\tif (e.reason === PLErrors.Empty_Project && getConfig().mode === \"online\") return e.args[1];\n\t\t\t\t\t}\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\ttoastError(\"Failed to load project from id\", e.message);\n\t\t\t\t}\n\t\t\t\tif (resolvable) try {\n\t\t\t\t\tawait goto(resolve(`/dashboard?id=${(await (\"path\" in resolvable ? ProjectLoader.loadFromPath(resolvable.path) : ProjectLoader.loadFromGatewayId(resolvable.gatewayId))).id}`));\n\t\t\t\t\treturn null;\n\t\t\t\t} catch (e) {\n\t\t\t\t\tif (e instanceof PLException) {\n\t\t\t\t\t\tif (e.reason === PLErrors.Empty_Project && getConfig().mode === \"online\") return e.args[1];\n\t\t\t\t\t}\n\t\t\t\t\tconsole.error(e);\n\t\t\t\t\ttoastError(\"Failed to load project\", e.message);\n\t\t\t\t}\n\t\t\t\tawait goto(resolve(\"/\"));\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}));\n\t\tif (query.isFetched && !query.isLoading && query.data) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<div class=\"flex h-100vh w-full items-center justify-center\">`);\n\t\t\tComplete_project_form($$renderer, { gatewayId: query.data });\n\t\t\t$$renderer.push(`<!----></div>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\tFull_page_project_spinner($$renderer, {});\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"mappings":"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"}
@@ -1,11 +1,12 @@
1
- import { $ as onDestroy, D as ensure_array_like, M as get$1, St as writable, _t as to_array, bt as unsubscribe_stores, dt as spread_props, f as attr, ft as store_get, g as bind_props, h as attributes, k as escape_html, m as attr_style, p as attr_class, pt as stringify, r as on, tt as props_id, w as derived, y as clsx$1 } from "./events-Bhh2w-5S.js";
2
- import "./internal2-CRbvkWND.js";
3
- import "./client-DhMlbh2c.js";
4
- import "./state-DHSP_spt.js";
1
+ import { $ as onDestroy, D as ensure_array_like, M as get$1, P as getContext, St as writable, _t as to_array, bt as unsubscribe_stores, ct as setContext, dt as spread_props, f as attr, ft as store_get, g as bind_props, h as attributes, k as escape_html, m as attr_style, p as attr_class, pt as stringify, r as on, tt as props_id, w as derived, y as clsx$1 } from "./events-Bhh2w-5S.js";
2
+ import "./internal2-CeV_cIh4.js";
3
+ import { r as formatFrom } from "./format-DGOlJxF5.js";
4
+ import "./client-BkmWBFaS.js";
5
+ import "./state-DpIO_6NS.js";
5
6
  import { c as SvelteMap, t as Icon$1 } from "./loader-circle-CFNm9vip.js";
6
- import { $ as createId, A as PresenceManager, C as MenuRootState, D as Popper_layer, G as attachRef, H as Switch, J as boolToTrueOrUndef, K as boolToEmptyStrOrUndef, N as RovingFocusGroup, O as Popper_layer_force_mount, Q as createBitsAttrs, S as MenuMenuState, U as Switch_thumb, X as capitalize, Y as boxWith, Z as cn, _ as Floating_layer_anchor, _t as useProject, at as getDataTransitionAttrs, b as MenuContentState, ct as isElement$1, d as DOMContext, dt as noop, et as createQuery, g as Floating_layer, gt as useId, h as FloatingArrowState, ht as useDebounce, k as Portal, l as Context, lt as isFocusVisible, n as Button, ot as getDocument, p as DropdownMenuTriggerState, pt as simpleBox, q as boolToStr, r as CONTEXT_MENU_TRIGGER_ATTR, st as getFloatingContentCSSVars, t as AnimationsComplete, u as ContextMenuTriggerState, ut as mergeProps, vt as watch, w as MenuSeparatorState, x as MenuItemState, y as IsMounted, yt as tv } from "./error-Df0LgzGi.js";
7
- import { a as Dialog_header, c as Skeleton, i as Dialog_footer, n as Dialog_content, o as Dialog_title, r as Dialog_description, s as Input, t as Dialog } from "./logo-C422_TRA.js";
8
- import { n as Progress_bar, t as Full_page_project_spinner } from "./project-loader-3ZC0fkGL.js";
7
+ import { $ as createBitsAttrs, A as Portal, C as MenuMenuState, J as boolToStr, K as attachRef, O as Popper_layer, P as RovingFocusGroup, Q as cn, S as MenuItemState, T as MenuSeparatorState, U as Switch, W as Switch_thumb, X as boxWith, Y as boolToTrueOrUndef, Z as capitalize, _ as Floating_layer_anchor, _t as useId, b as Loading_button, bt as tv, ct as getFloatingContentCSSVars, d as DOMContext, dt as mergeProps, et as createId, ft as noop, g as Floating_layer, gt as useDebounce, h as FloatingArrowState, j as PresenceManager, k as Popper_layer_force_mount, l as Context, lt as isElement$1, mt as simpleBox, n as Button, ot as getDataTransitionAttrs, p as DropdownMenuTriggerState, q as boolToEmptyStrOrUndef, r as CONTEXT_MENU_TRIGGER_ATTR, st as getDocument, t as AnimationsComplete, tt as createQuery, u as ContextMenuTriggerState, ut as isFocusVisible, vt as useProject, w as MenuRootState, x as MenuContentState, y as IsMounted, yt as watch } from "./error-BGQyviUk.js";
8
+ import { a as Dialog_header, c as Skeleton, i as Dialog_footer, n as Dialog_content, o as Dialog_title, r as Dialog_description, s as Input, t as Dialog } from "./logo-Cit4wZkS.js";
9
+ import { n as Progress_bar, t as Full_page_project_spinner } from "./project-loader-BSqYC-7k.js";
9
10
  //#region .svelte-kit/adapter-bun/entries/pages/dashboard/_page.svelte.js
10
11
  function Arrow($$renderer, $$props) {
11
12
  $$renderer.component(($$renderer) => {
@@ -3711,6 +3712,27 @@ function Icon($$renderer, $$props) {
3711
3712
  }
3712
3713
  var currentDir = writable("");
3713
3714
  var joinPath = (path, name) => `${path ? `${path}/` : ""}${name}`;
3715
+ var FILE_TYPES = [
3716
+ ["ts", ["ts", "js"]],
3717
+ ["3d", ["fbd"]],
3718
+ ["song", [
3719
+ "mp3",
3720
+ "wav",
3721
+ "flac"
3722
+ ]],
3723
+ ["img", [
3724
+ "png",
3725
+ "jpg",
3726
+ "jpeg",
3727
+ "gif",
3728
+ "svg",
3729
+ "webp"
3730
+ ]]
3731
+ ];
3732
+ var getType = (name) => {
3733
+ const [type] = FILE_TYPES.find(([, exts]) => exts.includes(name.split(".").pop())) ?? ["unknown"];
3734
+ return type;
3735
+ };
3714
3736
  function Content_item($$renderer, $$props) {
3715
3737
  $$renderer.component(($$renderer) => {
3716
3738
  var $$store_subs;
@@ -4200,8 +4222,16 @@ function Tabs($$renderer, $$props) {
4200
4222
  function Base_dialog($$renderer, $$props) {
4201
4223
  $$renderer.component(($$renderer) => {
4202
4224
  let { open = false, title, description, children, confirmText, cancelText, confirmDisabled, onOpenChange, onConfirm } = $$props;
4203
- const confirm = () => {
4204
- onConfirm?.();
4225
+ let isLoading = false;
4226
+ const confirm = async () => {
4227
+ isLoading = true;
4228
+ try {
4229
+ await onConfirm?.();
4230
+ } catch (e) {
4231
+ isLoading = false;
4232
+ throw e;
4233
+ }
4234
+ isLoading = false;
4205
4235
  open = false;
4206
4236
  onOpenChange?.(false);
4207
4237
  };
@@ -4266,7 +4296,8 @@ function Base_dialog($$renderer, $$props) {
4266
4296
  $$slots: { default: true }
4267
4297
  });
4268
4298
  $$renderer.push(`<!----> `);
4269
- Button($$renderer, {
4299
+ Loading_button($$renderer, {
4300
+ loading: isLoading,
4270
4301
  disabled: confirmDisabled,
4271
4302
  onclick: confirm,
4272
4303
  children: ($$renderer) => {
@@ -4437,7 +4468,7 @@ function Input_dialog($$renderer, $$props) {
4437
4468
  }
4438
4469
  function Dialog_name($$renderer, $$props) {
4439
4470
  $$renderer.component(($$renderer) => {
4440
- let { open = false, title, nameText, nameValue = "", confirmText, onConfirm } = $$props;
4471
+ let { open = false, title, nameText, nameValue = "", confirmText, onConfirm, validate } = $$props;
4441
4472
  const handleEnterConfirm = (confirm) => (e) => {
4442
4473
  if (e.key === "Enter") {
4443
4474
  e.preventDefault();
@@ -4445,11 +4476,13 @@ function Dialog_name($$renderer, $$props) {
4445
4476
  confirm();
4446
4477
  }
4447
4478
  };
4448
- const handleConfirm = () => {
4479
+ const handleConfirm = async () => {
4480
+ if (validate?.(nameValue.trim())) return;
4449
4481
  const n = nameValue.trim();
4450
4482
  if (!n) throw "Name is required";
4451
- onConfirm?.(n);
4483
+ await onConfirm?.(n);
4452
4484
  };
4485
+ const error = derived(() => validate?.(nameValue.trim()));
4453
4486
  const reset = () => {
4454
4487
  nameValue = "";
4455
4488
  };
@@ -4470,7 +4503,12 @@ function Dialog_name($$renderer, $$props) {
4470
4503
  $$settled = false;
4471
4504
  }
4472
4505
  });
4473
- $$renderer.push(`<!----></div>`);
4506
+ $$renderer.push(`<!----> `);
4507
+ if (error()) {
4508
+ $$renderer.push("<!--[0-->");
4509
+ $$renderer.push(`<span class="text-xs text-destructive">Error: ${escape_html(error())}</span>`);
4510
+ } else $$renderer.push("<!--[-1-->");
4511
+ $$renderer.push(`<!--]--></div>`);
4474
4512
  }
4475
4513
  Input_dialog($$renderer, {
4476
4514
  title,
@@ -4911,6 +4949,13 @@ function Package_row($$renderer, $$props) {
4911
4949
  };
4912
4950
  const onOpenCode = (e) => {
4913
4951
  e.stopPropagation();
4952
+ const item = get$1(pkg());
4953
+ if (type === "library" || !item.path) return;
4954
+ tabsStore.openTab({
4955
+ type: getType(item.path),
4956
+ title: item.path.split("/").at(-1) ?? item.name,
4957
+ metadata: { path: item.path }
4958
+ });
4914
4959
  };
4915
4960
  const handleDelete = () => {
4916
4961
  handle.delete();
@@ -4965,6 +5010,7 @@ function Package_row($$renderer, $$props) {
4965
5010
  } else $$renderer.push("<!--[-1-->");
4966
5011
  $$renderer.push(`<!--]--> `);
4967
5012
  Button($$renderer, {
5013
+ disabled: type === "library",
4968
5014
  variant: "ghost",
4969
5015
  size: "icon",
4970
5016
  class: "text-destructive hover:text-destructive hover:bg-destructive/20",
@@ -5005,6 +5051,7 @@ function Package_row($$renderer, $$props) {
5005
5051
  } else $$renderer.push("<!--[-1-->");
5006
5052
  $$renderer.push(`<!--]--> `);
5007
5053
  Context_menu_item($$renderer, {
5054
+ disabled: type === "library",
5008
5055
  variant: "destructive",
5009
5056
  onclick: onDelete,
5010
5057
  children: ($$renderer) => {
@@ -5033,7 +5080,7 @@ function Package_row($$renderer, $$props) {
5033
5080
  }
5034
5081
  function Dialog_create_package($$renderer, $$props) {
5035
5082
  $$renderer.component(($$renderer) => {
5036
- let { name, open = false, onConfirm } = $$props;
5083
+ let { name, open = false, onConfirm, validate } = $$props;
5037
5084
  let $$settled = true;
5038
5085
  let $$inner_renderer;
5039
5086
  function $$render_inner($$renderer) {
@@ -5041,6 +5088,7 @@ function Dialog_create_package($$renderer, $$props) {
5041
5088
  title: `Create ${name}`,
5042
5089
  nameText: `${name} name`,
5043
5090
  onConfirm,
5091
+ validate,
5044
5092
  get open() {
5045
5093
  return open;
5046
5094
  },
@@ -5245,21 +5293,25 @@ function Package_tab($$renderer, $$props) {
5245
5293
  const packages = derived(() => manager.store);
5246
5294
  const nameCapitalized = derived(() => capitalize(type));
5247
5295
  const namePlural = derived(() => type === "library" ? "libraries" : type + "s");
5296
+ getContext("ecsQuery");
5248
5297
  let query = "";
5249
5298
  const sorted = derived(() => store_get($$store_subs ??= {}, "$packages", packages()).filter((c) => !query || (c.name ?? c.id).toLowerCase().includes(query.toLowerCase())).sort((a, b) => (a.name ?? a.id).localeCompare(b.name ?? b.id)));
5250
5299
  let createOpen = false;
5251
5300
  let importOpen = false;
5252
- const handleCreate = (name) => {
5253
- manager.add({
5254
- name,
5255
- params: []
5256
- });
5301
+ const handleCreate = async (name) => {
5302
+ if (!("create" in manager)) throw new Error(`Cannot create in library - use the "Import Library" button instead.`);
5303
+ await manager.create(name);
5257
5304
  };
5258
- const handleImport = (name) => {
5259
- manager.add({
5260
- name,
5261
- params: []
5262
- });
5305
+ const handleImport = async (names) => {
5306
+ if (!("import" in manager)) throw new Error(`Cannot import in library`);
5307
+ await manager.import([names]);
5308
+ };
5309
+ const validate = (raw, suffix = nameCapitalized()) => {
5310
+ if (!raw) return "Name is required";
5311
+ const name = `${formatFrom.all(raw)[type === "system" ? "toCamel" : "toPascal"]()}${suffix}`;
5312
+ console.log(name, store_get($$store_subs ??= {}, "$packages", packages()));
5313
+ if (store_get($$store_subs ??= {}, "$packages", packages()).find((p) => p.id === name)) return `${nameCapitalized()} already exists`;
5314
+ return null;
5263
5315
  };
5264
5316
  let $$settled = true;
5265
5317
  let $$inner_renderer;
@@ -5267,6 +5319,7 @@ function Package_tab($$renderer, $$props) {
5267
5319
  Dialog_create_package($$renderer, {
5268
5320
  name: nameCapitalized(),
5269
5321
  onConfirm: handleCreate,
5322
+ validate,
5270
5323
  get open() {
5271
5324
  return createOpen;
5272
5325
  },
@@ -5346,6 +5399,7 @@ function Package_tab($$renderer, $$props) {
5346
5399
  }]));
5347
5400
  }
5348
5401
  Dropdown_menu_trigger($$renderer, {
5402
+ disabled: type === "library",
5349
5403
  child,
5350
5404
  $$slots: { child: true }
5351
5405
  });
@@ -5438,6 +5492,15 @@ function Widget$2($$renderer, $$props) {
5438
5492
  $$renderer.component(($$renderer) => {
5439
5493
  const { ecs } = useProject();
5440
5494
  let selectedTab = "scenes";
5495
+ let query = {
5496
+ entities: "",
5497
+ packages: ""
5498
+ };
5499
+ const selectTab = (tab) => {
5500
+ selectedTab = tab;
5501
+ };
5502
+ setContext("selectTab", selectTab);
5503
+ setContext("ecsQuery", query);
5441
5504
  let $$settled = true;
5442
5505
  let $$inner_renderer;
5443
5506
  function $$render_inner($$renderer) {
@@ -6246,4 +6309,4 @@ function _page($$renderer, $$props) {
6246
6309
  //#endregion
6247
6310
  export { _page as default };
6248
6311
 
6249
- //# sourceMappingURL=_page.svelte-C1HyEKjK.js.map
6312
+ //# sourceMappingURL=_page.svelte-BmrR5-n-.js.map