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

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 (134) hide show
  1. package/dist/client/_app/immutable/assets/{0.PlL6w-dg.css → 0.DM_luNRS.css} +1 -1
  2. package/dist/client/_app/immutable/assets/0.DM_luNRS.css.br +0 -0
  3. package/dist/client/_app/immutable/assets/0.DM_luNRS.css.gz +0 -0
  4. package/dist/client/_app/immutable/chunks/{C8VsmuzL.js → BGzu53pG.js} +1 -1
  5. package/dist/client/_app/immutable/chunks/BGzu53pG.js.br +0 -0
  6. package/dist/client/_app/immutable/chunks/BGzu53pG.js.gz +0 -0
  7. package/dist/client/_app/immutable/chunks/{BW1UW6Hp.js → BnWY0TZI.js} +1 -1
  8. package/dist/client/_app/immutable/chunks/BnWY0TZI.js.br +0 -0
  9. package/dist/client/_app/immutable/chunks/BnWY0TZI.js.gz +0 -0
  10. package/dist/client/_app/immutable/chunks/{C1k-YaT9.js → CVHDnHfN.js} +1 -1
  11. package/dist/client/_app/immutable/chunks/CVHDnHfN.js.br +0 -0
  12. package/dist/client/_app/immutable/chunks/CVHDnHfN.js.gz +0 -0
  13. package/dist/client/_app/immutable/chunks/{y9jahtbD.js → DXCLqAaQ.js} +1 -1
  14. package/dist/client/_app/immutable/chunks/DXCLqAaQ.js.br +0 -0
  15. package/dist/client/_app/immutable/chunks/DXCLqAaQ.js.gz +0 -0
  16. package/dist/client/_app/immutable/chunks/{CUEbnJ91.js → DoLBDi-M.js} +3 -3
  17. package/dist/client/_app/immutable/chunks/DoLBDi-M.js.br +0 -0
  18. package/dist/client/_app/immutable/chunks/DoLBDi-M.js.gz +0 -0
  19. package/dist/client/_app/immutable/chunks/{xJ1-16vC.js → IxQBh0uF.js} +1 -1
  20. package/dist/client/_app/immutable/chunks/IxQBh0uF.js.br +0 -0
  21. package/dist/client/_app/immutable/chunks/IxQBh0uF.js.gz +0 -0
  22. package/dist/client/_app/immutable/entry/{app.qM3aoeOi.js → app.BDH5Gw2t.js} +2 -2
  23. package/dist/client/_app/immutable/entry/app.BDH5Gw2t.js.br +0 -0
  24. package/dist/client/_app/immutable/entry/app.BDH5Gw2t.js.gz +0 -0
  25. package/dist/client/_app/immutable/entry/start.D1GEGS4G.js +1 -0
  26. package/dist/client/_app/immutable/entry/start.D1GEGS4G.js.br +0 -0
  27. package/dist/client/_app/immutable/entry/start.D1GEGS4G.js.gz +0 -0
  28. package/dist/client/_app/immutable/nodes/{1.D-XWgJOb.js → 1.nyMXETd-.js} +1 -1
  29. package/dist/client/_app/immutable/nodes/1.nyMXETd-.js.br +1 -0
  30. package/dist/client/_app/immutable/nodes/1.nyMXETd-.js.gz +0 -0
  31. package/dist/client/_app/immutable/nodes/{9.BrWnGfyr.js → 10.D5dyxEoB.js} +1 -1
  32. package/dist/client/_app/immutable/nodes/10.D5dyxEoB.js.br +0 -0
  33. package/dist/client/_app/immutable/nodes/10.D5dyxEoB.js.gz +0 -0
  34. package/dist/client/_app/immutable/nodes/{2.D2mbM0C2.js → 2.LU26GJum.js} +1 -1
  35. package/dist/client/_app/immutable/nodes/2.LU26GJum.js.br +0 -0
  36. package/dist/client/_app/immutable/nodes/2.LU26GJum.js.gz +0 -0
  37. package/dist/client/_app/immutable/nodes/3.DekRDPns.js +6 -0
  38. package/dist/client/_app/immutable/nodes/3.DekRDPns.js.br +0 -0
  39. package/dist/client/_app/immutable/nodes/3.DekRDPns.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-CaJWcpu3.js → 0-DZ9xD1ZS.js} +3 -3
  44. package/dist/server/chunks/{0-CaJWcpu3.js.map → 0-DZ9xD1ZS.js.map} +1 -1
  45. package/dist/server/chunks/{1-na9Uh1hG.js → 1-BmDOEhD1.js} +5 -5
  46. package/dist/server/chunks/{1-na9Uh1hG.js.map → 1-BmDOEhD1.js.map} +1 -1
  47. package/dist/server/chunks/{9-DkqE8li9.js → 10-fxkdMQYG.js} +10 -10
  48. package/dist/server/chunks/10-fxkdMQYG.js.map +1 -0
  49. package/dist/server/chunks/{2-BM68e_rU.js → 2-CTnsJAeO.js} +7 -7
  50. package/dist/server/chunks/{2-BM68e_rU.js.map → 2-CTnsJAeO.js.map} +1 -1
  51. package/dist/server/chunks/3-sY71Rvnf.js +22 -0
  52. package/dist/server/chunks/3-sY71Rvnf.js.map +1 -0
  53. package/dist/server/chunks/{3-CtfjP4uZ.js → 4-BYQgShv3.js} +3 -3
  54. package/dist/server/chunks/{3-CtfjP4uZ.js.map → 4-BYQgShv3.js.map} +1 -1
  55. package/dist/server/chunks/{8-s07Rj2Zo.js → 5-B4IXyXqv.js} +3 -3
  56. package/dist/server/chunks/{8-s07Rj2Zo.js.map → 5-B4IXyXqv.js.map} +1 -1
  57. package/dist/server/chunks/{4-DP-_gDay.js → 6-DH_IMDRv.js} +3 -3
  58. package/dist/server/chunks/{4-DP-_gDay.js.map → 6-DH_IMDRv.js.map} +1 -1
  59. package/dist/server/chunks/{6-Dl_h_OyU.js → 7-CPMeoSUO.js} +3 -3
  60. package/dist/server/chunks/{6-Dl_h_OyU.js.map → 7-CPMeoSUO.js.map} +1 -1
  61. package/dist/server/chunks/{7-BUEKgK7m.js → 8-CRTa48Fz.js} +3 -3
  62. package/dist/server/chunks/{7-BUEKgK7m.js.map → 8-CRTa48Fz.js.map} +1 -1
  63. package/dist/server/chunks/{5-610NKQc3.js → 9-DPn3d8kr.js} +3 -3
  64. package/dist/server/chunks/{5-610NKQc3.js.map → 9-DPn3d8kr.js.map} +1 -1
  65. package/dist/server/chunks/{_page.svelte-B_0YFORc.js → _page.svelte-C9Sfe7iL.js} +6 -6
  66. package/dist/server/chunks/{_page.svelte-B_0YFORc.js.map → _page.svelte-C9Sfe7iL.js.map} +1 -1
  67. package/dist/server/chunks/{_page.svelte-BmrR5-n-.js → _page.svelte-CKCWxyuV.js} +122 -24
  68. package/dist/server/chunks/_page.svelte-CKCWxyuV.js.map +1 -0
  69. package/dist/server/chunks/{_page.svelte-1bR7bJ2y.js → _page.svelte-DrUJljJj.js} +5 -5
  70. package/dist/server/chunks/{_page.svelte-1bR7bJ2y.js.map → _page.svelte-DrUJljJj.js.map} +1 -1
  71. package/dist/server/chunks/{_server.ts-DlC2sxcm.js → _server.ts-y6LeO9-5.js} +14 -2
  72. package/dist/server/chunks/_server.ts-y6LeO9-5.js.map +1 -0
  73. package/dist/server/chunks/{client-BkmWBFaS.js → client-wcMzlYMJ.js} +2 -2
  74. package/dist/server/chunks/{client-BkmWBFaS.js.map → client-wcMzlYMJ.js.map} +1 -1
  75. package/dist/server/chunks/{error-BGQyviUk.js → error-yRLerN6-.js} +25 -10
  76. package/dist/server/chunks/error-yRLerN6-.js.map +1 -0
  77. package/dist/server/chunks/{error.svelte-T6M8Vz4W.js → error.svelte-CSc64jDg.js} +2 -2
  78. package/dist/server/chunks/{error.svelte-T6M8Vz4W.js.map → error.svelte-CSc64jDg.js.map} +1 -1
  79. package/dist/server/chunks/{hooks.server-Bb56FM49.js → hooks.server-DZzWiuvp.js} +2 -2
  80. package/dist/server/chunks/{hooks.server-Bb56FM49.js.map → hooks.server-DZzWiuvp.js.map} +1 -1
  81. package/dist/server/chunks/{internal2-CeV_cIh4.js → internal2-CymmS2kD.js} +3 -3
  82. package/dist/server/chunks/{internal2-CeV_cIh4.js.map → internal2-CymmS2kD.js.map} +1 -1
  83. package/dist/server/chunks/{logo-Cit4wZkS.js → logo-DQvU3yHs.js} +2 -2
  84. package/dist/server/chunks/{logo-Cit4wZkS.js.map → logo-DQvU3yHs.js.map} +1 -1
  85. package/dist/server/chunks/{project-loader-BSqYC-7k.js → project-loader-WpOsdMow.js} +3 -3
  86. package/dist/server/chunks/{project-loader-BSqYC-7k.js.map → project-loader-WpOsdMow.js.map} +1 -1
  87. package/dist/server/chunks/{schemas-DbJHhqwa.js → schemas-C35GnK5_.js} +4 -4
  88. package/dist/server/chunks/{schemas-DbJHhqwa.js.map → schemas-C35GnK5_.js.map} +1 -1
  89. package/dist/server/chunks/{state-DpIO_6NS.js → state-t8aj5-Cf.js} +2 -2
  90. package/dist/server/chunks/{state-DpIO_6NS.js.map → state-t8aj5-Cf.js.map} +1 -1
  91. package/dist/server/index.js +1 -1
  92. package/dist/server/manifest.js +28 -28
  93. package/dist/server/manifest.js.map +1 -1
  94. package/package.json +1 -1
  95. package/dist/client/_app/immutable/assets/0.PlL6w-dg.css.br +0 -0
  96. package/dist/client/_app/immutable/assets/0.PlL6w-dg.css.gz +0 -0
  97. package/dist/client/_app/immutable/chunks/BW1UW6Hp.js.br +0 -0
  98. package/dist/client/_app/immutable/chunks/BW1UW6Hp.js.gz +0 -0
  99. package/dist/client/_app/immutable/chunks/C1k-YaT9.js.br +0 -0
  100. package/dist/client/_app/immutable/chunks/C1k-YaT9.js.gz +0 -0
  101. package/dist/client/_app/immutable/chunks/C8VsmuzL.js.br +0 -0
  102. package/dist/client/_app/immutable/chunks/C8VsmuzL.js.gz +0 -0
  103. package/dist/client/_app/immutable/chunks/CUEbnJ91.js.br +0 -0
  104. package/dist/client/_app/immutable/chunks/CUEbnJ91.js.gz +0 -0
  105. package/dist/client/_app/immutable/chunks/xJ1-16vC.js.br +0 -0
  106. package/dist/client/_app/immutable/chunks/xJ1-16vC.js.gz +0 -0
  107. package/dist/client/_app/immutable/chunks/y9jahtbD.js.br +0 -0
  108. package/dist/client/_app/immutable/chunks/y9jahtbD.js.gz +0 -0
  109. package/dist/client/_app/immutable/entry/app.qM3aoeOi.js.br +0 -0
  110. package/dist/client/_app/immutable/entry/app.qM3aoeOi.js.gz +0 -0
  111. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js +0 -1
  112. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js.br +0 -0
  113. package/dist/client/_app/immutable/entry/start.CDMZxkmh.js.gz +0 -0
  114. package/dist/client/_app/immutable/nodes/1.D-XWgJOb.js.br +0 -2
  115. package/dist/client/_app/immutable/nodes/1.D-XWgJOb.js.gz +0 -0
  116. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js +0 -6
  117. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js.br +0 -0
  118. package/dist/client/_app/immutable/nodes/10.DkYlNzbR.js.gz +0 -0
  119. package/dist/client/_app/immutable/nodes/2.D2mbM0C2.js.br +0 -0
  120. package/dist/client/_app/immutable/nodes/2.D2mbM0C2.js.gz +0 -0
  121. package/dist/client/_app/immutable/nodes/9.BrWnGfyr.js.br +0 -0
  122. package/dist/client/_app/immutable/nodes/9.BrWnGfyr.js.gz +0 -0
  123. package/dist/server/chunks/10-Dh1abrew.js +0 -22
  124. package/dist/server/chunks/10-Dh1abrew.js.map +0 -1
  125. package/dist/server/chunks/9-DkqE8li9.js.map +0 -1
  126. package/dist/server/chunks/_page.svelte-BmrR5-n-.js.map +0 -1
  127. package/dist/server/chunks/_server.ts-DlC2sxcm.js.map +0 -1
  128. package/dist/server/chunks/error-BGQyviUk.js.map +0 -1
  129. /package/dist/client/_app/immutable/assets/{10.BP_hUVIU.css → 3.BP_hUVIU.css} +0 -0
  130. /package/dist/client/_app/immutable/assets/{10.BP_hUVIU.css.br → 3.BP_hUVIU.css.br} +0 -0
  131. /package/dist/client/_app/immutable/assets/{10.BP_hUVIU.css.gz → 3.BP_hUVIU.css.gz} +0 -0
  132. /package/dist/client/_app/immutable/nodes/{0.Dd5fG40d.js → 0.YMw6-DDI.js} +0 -0
  133. /package/dist/client/_app/immutable/nodes/{0.Dd5fG40d.js.br → 0.YMw6-DDI.js.br} +0 -0
  134. /package/dist/client/_app/immutable/nodes/{0.Dd5fG40d.js.gz → 0.YMw6-DDI.js.gz} +0 -0
@@ -1 +1 @@
1
- import{C as e,D as t,Dt as n,F as r,H as i,I as a,M as o,N as s,Ot as c,Q as l,S as u,St as d,Z as f,_ as p,a as m,c as h,ct as g,et as _,g as v,j as y,k as b,kt as x,nt as S,o as C,ot as w,p as T,s as E,tt as D,ut as O,v as k,xt as A}from"./ZLGReh43.js";import{a as j,p as M}from"./BW1UW6Hp.js";import{K as N,M as P,U as F,ct as I,dt as L,it as R,lt as z,nt as B,ot as V,pt as H,s as U,st as W,ut as G}from"./CUEbnJ91.js";import"./xihTtKlq.js";import"./orCHVlgT.js";var K=F({component:`progress`,parts:[`root`]}),q=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=N(this.opts.ref)}#e=O(()=>({role:`progressbar`,value:this.opts.value.current,"aria-valuemin":this.opts.min.current,"aria-valuemax":this.opts.max.current,"aria-valuenow":this.opts.value.current===null?void 0:this.opts.value.current,"data-value":this.opts.value.current===null?void 0:this.opts.value.current,"data-state":J(this.opts.value.current,this.opts.max.current),"data-max":this.opts.max.current,"data-min":this.opts.min.current,"data-indeterminate":this.opts.value.current===null?``:void 0,[K.root]:``,...this.attachment}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}};function J(e,t){return e===null?`indeterminate`:e===t?`loaded`:`loading`}var Y=new Set([`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`value`,`max`,`min`,`id`,`ref`]),X=s(`<div><!></div>`);function Z(n,a){let s=r();d(a,!0);let l=m(a,`value`,3,0),u=m(a,`max`,3,100),f=m(a,`min`,3,0),p=m(a,`id`,19,()=>P(s)),h=m(a,`ref`,15,null),g=C(a,Y),v=q.create({value:R(()=>l()),max:R(()=>u()),min:R(()=>f()),id:R(()=>p()),ref:R(()=>h(),e=>h(e))}),b=O(()=>B(g,v.props));var S=o(),w=D(S),E=t=>{var n=o();e(D(n),()=>a.child,()=>({props:i(b)})),y(t,n)},k=t=>{var n=X();T(n,()=>({...i(b)})),e(_(n),()=>a.children??x),c(n),y(t,n)};t(w,e=>{a.child?e(E):e(k,-1)}),y(n,S),A()}var Q=s(`<!> <!> <!>`,1),$=s(`<!> <!>`,1);function ee(e,t){d(t,!1),h(),V(e,{class:`flex flex-col items-center p-6 animate-spin scale-150`,children:(e,t)=>{var r=$(),i=D(r);I(i,{class:`flex flex-col items-center text-center`,children:(e,t)=>{var r=Q(),i=D(r);U(i,{});var o=S(i,2);W(o,{children:(e,t)=>{n(),y(e,a(`Project loading...`))},$$slots:{default:!0}}),z(S(o,2),{children:(e,t)=>{n(),y(e,a(`Retrieving save`))},$$slots:{default:!0}}),y(e,r)},$$slots:{default:!0}}),G(S(i,2),{class:`mt-4`,children:(e,t)=>{L(e,{variant:`outline`,size:`sm`,onclick:()=>{j(M(`/`))},children:(e,t)=>{n(),y(e,a(`Cancel`))},$$slots:{default:!0}})},$$slots:{default:!0}}),y(e,r)},$$slots:{default:!0}}),A()}var te=s(`<div class="w-screen h-screen flex items-center justify-center"><!></div>`);function ne(e){var t=te();ee(_(t),{}),c(t),y(e,t)}var re=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`max`,`value`]),ie=s(`<div data-slot="progress-indicator" class="bg-primary size-full flex-1 transition-all"></div>`);function ae(e,t){d(t,!0);let n=m(t,`ref`,15,null),r=m(t,`max`,3,100),a=C(t,re);var s=o(),c=D(s);{let e=O(()=>H(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,t.class));u(c,()=>Z,(o,s)=>{s(o,E({"data-slot":`progress`,get class(){return i(e)},get value(){return t.value},get max(){return r()}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var i=ie();f(()=>v(i,`transform: translateX(-${100-100*(t.value??0)/(r()??1)}%)`)),y(e,i)},$$slots:{default:!0}}))})}y(e,s),A()}var oe=s(`<div aria-hidden="true"><div class="bg-black outline outline-neutral-900 rounded-xl p-6 w-full max-w-sm shadow-2xl flex flex-col"><span id="project-title" class="text-2xl font-bold mb-8 text-center"> </span> <!></div></div>`);function se(e,t){d(t,!0);let n=g(0),r=g(0);l(()=>{w(r,0),w(n,t.promises.length,!0),t.promises.forEach(e=>{e.finally(()=>{w(r,i(r)+1),i(r)===i(n)&&i(n)>0&&t.callback?.()})})});var a=oe(),o=_(a),s=_(o),u=_(s,!0);c(s);var m=S(s,2);{let e=O(()=>i(r)/i(n)*100);ae(m,{get value(){return i(e)}})}c(o),c(a),f(()=>{p(a,1,k(t.show?`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4`:`hidden`)),b(u,t.title)}),y(e,a),A()}export{ne as n,se as t};
1
+ import{C as e,D as t,Dt as n,F as r,H as i,I as a,M as o,N as s,Ot as c,Q as l,S as u,St as d,Z as f,_ as p,a as m,c as h,ct as g,et as _,g as v,j as y,k as b,kt as x,nt as S,o as C,ot as w,p as T,s as E,tt as D,ut as O,v as k,xt as A}from"./ZLGReh43.js";import{a as j,p as M}from"./BnWY0TZI.js";import{K as N,M as P,U as F,ct as I,dt as L,it as R,lt as z,nt as B,ot as V,pt as H,s as U,st as W,ut as G}from"./DoLBDi-M.js";import"./xihTtKlq.js";import"./orCHVlgT.js";var K=F({component:`progress`,parts:[`root`]}),q=class e{static create(t){return new e(t)}opts;attachment;constructor(e){this.opts=e,this.attachment=N(this.opts.ref)}#e=O(()=>({role:`progressbar`,value:this.opts.value.current,"aria-valuemin":this.opts.min.current,"aria-valuemax":this.opts.max.current,"aria-valuenow":this.opts.value.current===null?void 0:this.opts.value.current,"data-value":this.opts.value.current===null?void 0:this.opts.value.current,"data-state":J(this.opts.value.current,this.opts.max.current),"data-max":this.opts.max.current,"data-min":this.opts.min.current,"data-indeterminate":this.opts.value.current===null?``:void 0,[K.root]:``,...this.attachment}));get props(){return i(this.#e)}set props(e){w(this.#e,e)}};function J(e,t){return e===null?`indeterminate`:e===t?`loaded`:`loading`}var Y=new Set([`$$slots`,`$$events`,`$$legacy`,`child`,`children`,`value`,`max`,`min`,`id`,`ref`]),X=s(`<div><!></div>`);function Z(n,a){let s=r();d(a,!0);let l=m(a,`value`,3,0),u=m(a,`max`,3,100),f=m(a,`min`,3,0),p=m(a,`id`,19,()=>P(s)),h=m(a,`ref`,15,null),g=C(a,Y),v=q.create({value:R(()=>l()),max:R(()=>u()),min:R(()=>f()),id:R(()=>p()),ref:R(()=>h(),e=>h(e))}),b=O(()=>B(g,v.props));var S=o(),w=D(S),E=t=>{var n=o();e(D(n),()=>a.child,()=>({props:i(b)})),y(t,n)},k=t=>{var n=X();T(n,()=>({...i(b)})),e(_(n),()=>a.children??x),c(n),y(t,n)};t(w,e=>{a.child?e(E):e(k,-1)}),y(n,S),A()}var Q=s(`<!> <!> <!>`,1),$=s(`<!> <!>`,1);function ee(e,t){d(t,!1),h(),V(e,{class:`flex flex-col items-center p-6 animate-spin scale-150`,children:(e,t)=>{var r=$(),i=D(r);I(i,{class:`flex flex-col items-center text-center`,children:(e,t)=>{var r=Q(),i=D(r);U(i,{});var o=S(i,2);W(o,{children:(e,t)=>{n(),y(e,a(`Project loading...`))},$$slots:{default:!0}}),z(S(o,2),{children:(e,t)=>{n(),y(e,a(`Retrieving save`))},$$slots:{default:!0}}),y(e,r)},$$slots:{default:!0}}),G(S(i,2),{class:`mt-4`,children:(e,t)=>{L(e,{variant:`outline`,size:`sm`,onclick:()=>{j(M(`/`))},children:(e,t)=>{n(),y(e,a(`Cancel`))},$$slots:{default:!0}})},$$slots:{default:!0}}),y(e,r)},$$slots:{default:!0}}),A()}var te=s(`<div class="w-screen h-screen flex items-center justify-center"><!></div>`);function ne(e){var t=te();ee(_(t),{}),c(t),y(e,t)}var re=new Set([`$$slots`,`$$events`,`$$legacy`,`ref`,`class`,`max`,`value`]),ie=s(`<div data-slot="progress-indicator" class="bg-primary size-full flex-1 transition-all"></div>`);function ae(e,t){d(t,!0);let n=m(t,`ref`,15,null),r=m(t,`max`,3,100),a=C(t,re);var s=o(),c=D(s);{let e=O(()=>H(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,t.class));u(c,()=>Z,(o,s)=>{s(o,E({"data-slot":`progress`,get class(){return i(e)},get value(){return t.value},get max(){return r()}},()=>a,{get ref(){return n()},set ref(e){n(e)},children:(e,n)=>{var i=ie();f(()=>v(i,`transform: translateX(-${100-100*(t.value??0)/(r()??1)}%)`)),y(e,i)},$$slots:{default:!0}}))})}y(e,s),A()}var oe=s(`<div aria-hidden="true"><div class="bg-black outline outline-neutral-900 rounded-xl p-6 w-full max-w-sm shadow-2xl flex flex-col"><span id="project-title" class="text-2xl font-bold mb-8 text-center"> </span> <!></div></div>`);function se(e,t){d(t,!0);let n=g(0),r=g(0);l(()=>{w(r,0),w(n,t.promises.length,!0),t.promises.forEach(e=>{e.finally(()=>{w(r,i(r)+1),i(r)===i(n)&&i(n)>0&&t.callback?.()})})});var a=oe(),o=_(a),s=_(o),u=_(s,!0);c(s);var m=S(s,2);{let e=O(()=>i(r)/i(n)*100);ae(m,{get value(){return i(e)}})}c(o),c(a),f(()=>{p(a,1,k(t.show?`fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4`:`hidden`)),b(u,t.title)}),y(e,a),A()}export{ne as n,se as t};
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Dd5fG40d.js","../chunks/ZLGReh43.js","../chunks/orCHVlgT.js","../chunks/xihTtKlq.js","../assets/0.PlL6w-dg.css","../nodes/1.D-XWgJOb.js","../chunks/y9jahtbD.js","../chunks/BW1UW6Hp.js","../nodes/2.D2mbM0C2.js","../chunks/CUEbnJ91.js","../chunks/JwdpM2S5.js","../assets/error.CV-KWLNP.css","../chunks/C8VsmuzL.js","../chunks/C1k-YaT9.js","../nodes/9.BrWnGfyr.js","../chunks/xJ1-16vC.js","../nodes/10.DkYlNzbR.js","../assets/10.BP_hUVIU.css"])))=>i.map(i=>d[i]);
2
- import{$ as e,D as t,H as n,I as r,M as i,N as a,Ot as o,Q as s,S as c,St as l,W as u,Z as d,a as f,ct as p,et as m,i as h,j as g,k as _,l as v,nt as y,ot as b,r as x,tt as S,ut as C,xt as w}from"../chunks/ZLGReh43.js";import{t as T}from"../chunks/JwdpM2S5.js";import"../chunks/xihTtKlq.js";var E=[`en`,`fr`],D=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var O=()=>D?D.getStore()?.origin??`http://fallback.com`:typeof window<`u`?window.location.origin:`http://fallback.com`;function k(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of E)if(e.toLowerCase()===t)return e}function A(e){return j(e)}function j(e){let t=typeof e==`string`?new URL(e,O()):new URL(e),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&k(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),t}var M=e=>A(e.url).pathname,N={},P=a(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),F=a(`<!> <!>`,1);function I(a,h){l(h,!0);let T=f(h,`components`,23,()=>[]),E=f(h,`data_0`,3,null),D=f(h,`data_1`,3,null);e(()=>h.stores.page.set(h.page)),s(()=>{h.stores,h.page,h.constructors,T(),h.form,E(),D(),h.stores.page.notify()});let O=p(!1),k=p(!1),A=p(null);x(()=>{let e=h.stores.page.subscribe(()=>{n(O)&&(b(k,!0),u().then(()=>{b(A,document.title||`untitled page`,!0)}))});return b(O,!0),e});let j=C(()=>h.constructors[1]);var M=F(),N=S(M),I=e=>{let t=C(()=>h.constructors[0]);var r=i();c(S(r),()=>n(t),(e,t)=>{v(t(e,{get data(){return E()},get form(){return h.form},get params(){return h.page.params},children:(e,t)=>{var r=i();c(S(r),()=>n(j),(e,t)=>{v(t(e,{get data(){return D()},get form(){return h.form},get params(){return h.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),g(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),g(e,r)},L=e=>{let t=C(()=>h.constructors[0]);var r=i();c(S(r),()=>n(t),(e,t)=>{v(t(e,{get data(){return E()},get form(){return h.form},get params(){return h.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),g(e,r)};t(N,e=>{h.constructors[1]?e(I):e(L,-1)});var R=y(N,2),z=e=>{var i=P(),a=m(i),s=e=>{var t=r();d(()=>_(t,n(A))),g(e,t)};t(a,e=>{n(k)&&e(s)}),o(i),g(e,i)};t(R,e=>{n(O)&&e(z)}),g(a,M),w()}var L=h(I),R=[()=>T(()=>import(`../nodes/0.Dd5fG40d.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.D-XWgJOb.js`),__vite__mapDeps([5,1,6,7,3]),import.meta.url),()=>T(()=>import(`../nodes/2.D2mbM0C2.js`),__vite__mapDeps([8,1,9,10,2,3,7,11,12,13]),import.meta.url),()=>T(()=>import(`../chunks/BvRk9kiK.js`),[],import.meta.url),()=>T(()=>import(`../chunks/C50LmoI1.js`),[],import.meta.url),()=>T(()=>import(`../chunks/DybRo6-H.js`),[],import.meta.url),()=>T(()=>import(`../chunks/DgrK8UCQ.js`),[],import.meta.url),()=>T(()=>import(`../chunks/Cl5WnCnS.js`),[],import.meta.url),()=>T(()=>import(`../chunks/BKFRmAUx.js`),[],import.meta.url),()=>T(()=>import(`../nodes/9.BrWnGfyr.js`),__vite__mapDeps([14,1,9,10,2,3,7,11,13,6,15]),import.meta.url),()=>T(()=>import(`../nodes/10.DkYlNzbR.js`),__vite__mapDeps([16,1,9,10,2,3,7,11,12,6,15,17]),import.meta.url)],z=[],B={"/":[2],"/actions/project":[3],"/actions/project/fs":[4],"/actions/project/library":[5],"/actions/project/loader":[7],"/actions/project/package":[6],"/actions/project/save":[8],"/dashboard":[10],"/load":[9]},V={handleError:(({error:e})=>{console.error(e)}),reroute:M||(()=>{}),transport:{}},H=Object.fromEntries(Object.entries(V.transport).map(([e,t])=>[e,t.decode])),U=Object.fromEntries(Object.entries(V.transport).map(([e,t])=>[e,t.encode])),W=!1,G=(e,t)=>H[e](t);export{G as decode,H as decoders,B as dictionary,U as encoders,W as hash,V as hooks,N as matchers,R as nodes,L as root,z as server_loads};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.YMw6-DDI.js","../chunks/ZLGReh43.js","../chunks/orCHVlgT.js","../chunks/xihTtKlq.js","../assets/0.DM_luNRS.css","../nodes/1.nyMXETd-.js","../chunks/DXCLqAaQ.js","../chunks/BnWY0TZI.js","../nodes/2.LU26GJum.js","../chunks/DoLBDi-M.js","../chunks/JwdpM2S5.js","../assets/error.CV-KWLNP.css","../chunks/BGzu53pG.js","../chunks/CVHDnHfN.js","../nodes/3.DekRDPns.js","../chunks/IxQBh0uF.js","../assets/3.BP_hUVIU.css","../nodes/10.D5dyxEoB.js"])))=>i.map(i=>d[i]);
2
+ import{$ as e,D as t,H as n,I as r,M as i,N as a,Ot as o,Q as s,S as c,St as l,W as u,Z as d,a as f,ct as p,et as m,i as h,j as g,k as _,l as v,nt as y,ot as b,r as x,tt as S,ut as C,xt as w}from"../chunks/ZLGReh43.js";import{t as T}from"../chunks/JwdpM2S5.js";import"../chunks/xihTtKlq.js";var E=[`en`,`fr`],D=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var O=()=>D?D.getStore()?.origin??`http://fallback.com`:typeof window<`u`?window.location.origin:`http://fallback.com`;function k(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of E)if(e.toLowerCase()===t)return e}function A(e){return j(e)}function j(e){let t=typeof e==`string`?new URL(e,O()):new URL(e),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&k(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),t}var M=e=>A(e.url).pathname,N={},P=a(`<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>`),F=a(`<!> <!>`,1);function I(a,h){l(h,!0);let T=f(h,`components`,23,()=>[]),E=f(h,`data_0`,3,null),D=f(h,`data_1`,3,null);e(()=>h.stores.page.set(h.page)),s(()=>{h.stores,h.page,h.constructors,T(),h.form,E(),D(),h.stores.page.notify()});let O=p(!1),k=p(!1),A=p(null);x(()=>{let e=h.stores.page.subscribe(()=>{n(O)&&(b(k,!0),u().then(()=>{b(A,document.title||`untitled page`,!0)}))});return b(O,!0),e});let j=C(()=>h.constructors[1]);var M=F(),N=S(M),I=e=>{let t=C(()=>h.constructors[0]);var r=i();c(S(r),()=>n(t),(e,t)=>{v(t(e,{get data(){return E()},get form(){return h.form},get params(){return h.page.params},children:(e,t)=>{var r=i();c(S(r),()=>n(j),(e,t)=>{v(t(e,{get data(){return D()},get form(){return h.form},get params(){return h.page.params}}),e=>T()[1]=e,()=>T()?.[1])}),g(e,r)},$$slots:{default:!0}}),e=>T()[0]=e,()=>T()?.[0])}),g(e,r)},L=e=>{let t=C(()=>h.constructors[0]);var r=i();c(S(r),()=>n(t),(e,t)=>{v(t(e,{get data(){return E()},get form(){return h.form},get params(){return h.page.params}}),e=>T()[0]=e,()=>T()?.[0])}),g(e,r)};t(N,e=>{h.constructors[1]?e(I):e(L,-1)});var R=y(N,2),z=e=>{var i=P(),a=m(i),s=e=>{var t=r();d(()=>_(t,n(A))),g(e,t)};t(a,e=>{n(k)&&e(s)}),o(i),g(e,i)};t(R,e=>{n(O)&&e(z)}),g(a,M),w()}var L=h(I),R=[()=>T(()=>import(`../nodes/0.YMw6-DDI.js`),__vite__mapDeps([0,1,2,3,4]),import.meta.url),()=>T(()=>import(`../nodes/1.nyMXETd-.js`),__vite__mapDeps([5,1,6,7,3]),import.meta.url),()=>T(()=>import(`../nodes/2.LU26GJum.js`),__vite__mapDeps([8,1,9,10,2,3,7,11,12,13]),import.meta.url),()=>T(()=>import(`../nodes/3.DekRDPns.js`),__vite__mapDeps([14,1,9,10,2,3,7,11,12,6,15,16]),import.meta.url),()=>T(()=>import(`../chunks/BvRk9kiK.js`),[],import.meta.url),()=>T(()=>import(`../chunks/C50LmoI1.js`),[],import.meta.url),()=>T(()=>import(`../chunks/DybRo6-H.js`),[],import.meta.url),()=>T(()=>import(`../chunks/DgrK8UCQ.js`),[],import.meta.url),()=>T(()=>import(`../chunks/Cl5WnCnS.js`),[],import.meta.url),()=>T(()=>import(`../chunks/BKFRmAUx.js`),[],import.meta.url),()=>T(()=>import(`../nodes/10.D5dyxEoB.js`),__vite__mapDeps([17,1,9,10,2,3,7,11,13,6,15]),import.meta.url)],z=[],B={"/":[2],"/actions/project":[4],"/actions/project/fs":[6],"/actions/project/library":[9],"/actions/project/loader":[8],"/actions/project/package":[7],"/actions/project/save":[5],"/dashboard":[3],"/load":[10]},V={handleError:(({error:e})=>{console.error(e)}),reroute:M||(()=>{}),transport:{}},H=Object.fromEntries(Object.entries(V.transport).map(([e,t])=>[e,t.decode])),U=Object.fromEntries(Object.entries(V.transport).map(([e,t])=>[e,t.encode])),W=!1,G=(e,t)=>H[e](t);export{G as decode,H as decoders,B as dictionary,U as encoders,W as hash,V as hooks,N as matchers,R as nodes,L as root,z as server_loads};
@@ -0,0 +1 @@
1
+ import{f as e,s as t}from"../chunks/BnWY0TZI.js";export{e as load_css,t as start};
@@ -1 +1 @@
1
- import{N as e,Ot as t,St as n,Z as r,et as i,j as a,k as o,nt as s,tt as c,xt as l}from"../chunks/ZLGReh43.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/y9jahtbD.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){n(f,!0);var p=d(),m=c(p),h=i(m,!0);t(m);var g=s(m,2),_=i(g,!0);t(g),r(()=>{o(h,u.status),o(_,u.error?.message)}),a(e,p),l()}export{f as component};
1
+ import{N as e,Ot as t,St as n,Z as r,et as i,j as a,k as o,nt as s,tt as c,xt as l}from"../chunks/ZLGReh43.js";import"../chunks/xihTtKlq.js";import{t as u}from"../chunks/DXCLqAaQ.js";var d=e(`<h1> </h1> <p> </p>`,1);function f(e,f){n(f,!0);var p=d(),m=c(p),h=i(m,!0);t(m);var g=s(m,2),_=i(g,!0);t(g),r(()=>{o(h,u.status),o(_,u.error?.message)}),a(e,p),l()}export{f as component};
@@ -0,0 +1 @@
1
+ z`�۪Z��M��7=;�ɿ@��%km�8�eee7{�ج�MMG�$;�~����o��ښx%p!pj��; �v��'�C��E�ߕZ��'���_wˋ w�5իt�mӒ�"����x�� �������'��}�Y��\;�e�F��]ߋ$@��$������0�d3�BF���8p �=2�b|)�^%�K��Af����^�X�/
@@ -1 +1 @@
1
- import{D as e,Dt as t,H as n,I as r,M as i,N as a,Ot as o,Q as s,S as c,St as l,ct as u,et as d,ft as f,j as p,nt as m,ot as h,pt as g,tt as _,ut as v,xt as y}from"../chunks/ZLGReh43.js";import{a as b,p as x}from"../chunks/BW1UW6Hp.js";import{At as S,Tt as C,_t as w,mt as T,n as E,ot as D,t as O,vt as k,yt as A}from"../chunks/CUEbnJ91.js";import{c as j,l as M,n as N,o as P,r as F,s as I,t as L}from"../chunks/C1k-YaT9.js";import"../chunks/xihTtKlq.js";import{t as R}from"../chunks/y9jahtbD.js";import{n as z}from"../chunks/xJ1-16vC.js";var B=a(`<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"><!> <div class="flex flex-col gap-1"><!></div></div> <div class="modal-footer"><!></div>`,1);function V(e,a){l(a,!0);let s=()=>g(k,`$submitting`,x),[x,S]=f(),C=u(!1),w=L({schema:M({language:I([`ts`,`js`]).default(`ts`),multiplayerServer:j().default(!1)}),defaultValues:{language:`ts`,multiplayerServer:!1},onSubmit:async e=>{h(C,!0),await O(`create project`,async()=>{await b(`/dashboard?id=${(await T.complete({...e,gatewayId:a.gatewayId})).id}`)},()=>{h(C,!1)})}}),{submitting:k}=w;var A=i();c(_(A),()=>D,(e,i)=>{i(e,{class:`w-full max-w-lg p-4`,children:(e,i)=>{P(e,{get form(){return w},class:`w-full`,children:(e,i)=>{var a=B(),c=m(_(a),2),l=d(c);F(l,{name:`language`,label:`Language`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`ts`,label:`Typescript`},{value:`js`,label:`Javascript`}]});var u=m(l,2);N(d(u),{label:`Multiplayer game`,name:`multiplayerServer`}),o(u),o(c);var f=m(c,2),h=d(f);{let e=v(()=>s()||n(C));E(h,{type:`submit`,size:`lg`,get loading(){return n(e)},class:`btn-primary px-6`,children:(e,n)=>{t(),p(e,r(`Init Project`))},$$slots:{default:!0}})}o(f),p(e,a)},$$slots:{default:!0}})},$$slots:{default:!0}})}),p(e,A),y(),S()}var H=a(`<div class="flex h-100vh w-full items-center justify-center"><!></div>`);function U(t,n){l(n,!0);let r=()=>{if(C().mode===`offline`){let e=R.url.searchParams.get(`path`);return e?{path:e}:null}else{let e=R.url.searchParams.get(`gatewayId`);return e?{gatewayId:e}:null}},a=R.url.searchParams.get(`id`),c=r();s(()=>{if(!a&&!c)throw b(x(`/`)),Error(`No resolvable`)});let u=S(()=>({queryKey:[`load`,`verify`,c?`path`in c?c.path:c.gatewayId:``],queryFn:async()=>{if(!a&&!c)throw Error(`No resolvable`);if(a)try{await b(x(`/dashboard?id=${(await T.loadFromId(a)).id}`))}catch(e){if(e instanceof k&&e.reason===w.Empty_Project&&C().mode===`online`)return e.args[1];console.error(e),A(`Failed to load project from id`,e.message)}if(c)try{return await b(x(`/dashboard?id=${(await(`path`in c?T.loadFromPath(c.path):T.loadFromGatewayId(c.gatewayId))).id}`)),null}catch(e){if(e instanceof k&&e.reason===w.Empty_Project&&C().mode===`online`)return e.args[1];console.error(e),A(`Failed to load project`,e.message)}return await b(x(`/`)),null}}));var f=i(),m=_(f),h=e=>{var t=H();V(d(t),{get gatewayId(){return u.data}}),o(t),p(e,t)},g=e=>{z(e,{})};e(m,e=>{u.isFetched&&!u.isLoading&&u.data?e(h):e(g,-1)}),p(t,f),y()}export{U as component};
1
+ import{D as e,Dt as t,H as n,I as r,M as i,N as a,Ot as o,Q as s,S as c,St as l,ct as u,et as d,ft as f,j as p,nt as m,ot as h,pt as g,tt as _,ut as v,xt as y}from"../chunks/ZLGReh43.js";import{a as b,p as x}from"../chunks/BnWY0TZI.js";import{At as S,Tt as C,_t as w,mt as T,n as E,ot as D,t as O,vt as k,yt as A}from"../chunks/DoLBDi-M.js";import{c as j,l as M,n as N,o as P,r as F,s as I,t as L}from"../chunks/CVHDnHfN.js";import"../chunks/xihTtKlq.js";import{t as R}from"../chunks/DXCLqAaQ.js";import{n as z}from"../chunks/IxQBh0uF.js";var B=a(`<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"><!> <div class="flex flex-col gap-1"><!></div></div> <div class="modal-footer"><!></div>`,1);function V(e,a){l(a,!0);let s=()=>g(k,`$submitting`,x),[x,S]=f(),C=u(!1),w=L({schema:M({language:I([`ts`,`js`]).default(`ts`),multiplayerServer:j().default(!1)}),defaultValues:{language:`ts`,multiplayerServer:!1},onSubmit:async e=>{h(C,!0),await O(`create project`,async()=>{await b(`/dashboard?id=${(await T.complete({...e,gatewayId:a.gatewayId})).id}`)},()=>{h(C,!1)})}}),{submitting:k}=w;var A=i();c(_(A),()=>D,(e,i)=>{i(e,{class:`w-full max-w-lg p-4`,children:(e,i)=>{P(e,{get form(){return w},class:`w-full`,children:(e,i)=>{var a=B(),c=m(_(a),2),l=d(c);F(l,{name:`language`,label:`Language`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`ts`,label:`Typescript`},{value:`js`,label:`Javascript`}]});var u=m(l,2);N(d(u),{label:`Multiplayer game`,name:`multiplayerServer`}),o(u),o(c);var f=m(c,2),h=d(f);{let e=v(()=>s()||n(C));E(h,{type:`submit`,size:`lg`,get loading(){return n(e)},class:`btn-primary px-6`,children:(e,n)=>{t(),p(e,r(`Init Project`))},$$slots:{default:!0}})}o(f),p(e,a)},$$slots:{default:!0}})},$$slots:{default:!0}})}),p(e,A),y(),S()}var H=a(`<div class="flex h-100vh w-full items-center justify-center"><!></div>`);function U(t,n){l(n,!0);let r=()=>{if(C().mode===`offline`){let e=R.url.searchParams.get(`path`);return e?{path:e}:null}else{let e=R.url.searchParams.get(`gatewayId`);return e?{gatewayId:e}:null}},a=R.url.searchParams.get(`id`),c=r();s(()=>{if(!a&&!c)throw b(x(`/`)),Error(`No resolvable`)});let u=S(()=>({queryKey:[`load`,`verify`,c?`path`in c?c.path:c.gatewayId:``],queryFn:async()=>{if(!a&&!c)throw Error(`No resolvable`);if(a)try{await b(x(`/dashboard?id=${(await T.loadFromId(a)).id}`))}catch(e){if(e instanceof k&&e.reason===w.Empty_Project&&C().mode===`online`)return e.args[1];console.error(e),A(`Failed to load project from id`,e.message)}if(c)try{return await b(x(`/dashboard?id=${(await(`path`in c?T.loadFromPath(c.path):T.loadFromGatewayId(c.gatewayId))).id}`)),null}catch(e){if(e instanceof k&&e.reason===w.Empty_Project&&C().mode===`online`)return e.args[1];console.error(e),A(`Failed to load project`,e.message)}return await b(x(`/`)),null}}));var f=i(),m=_(f),h=e=>{var t=H();V(d(t),{get gatewayId(){return u.data}}),o(t),p(e,t)},g=e=>{z(e,{})};e(m,e=>{u.isFetched&&!u.isLoading&&u.data?e(h):e(g,-1)}),p(t,f),y()}export{U as component};
@@ -1 +1 @@
1
- import{D as e,Dt as t,H as n,I as r,L as i,M as a,Mt as o,N as s,Ot as c,R as l,S as u,St as d,T as f,Z as p,_ as m,a as h,ct as g,et as _,ft as v,h as y,j as b,k as x,nt as S,ot as C,pt as w,s as T,tt as E,ut as D,v as O,w as k,xt as A,yt as j}from"../chunks/ZLGReh43.js";import{a as M}from"../chunks/BW1UW6Hp.js";import{At as N,Tt as ee,bt as P,c as te,dt as F,mt as I,n as L,ot as ne,s as R,t as z,ut as re,vt as ie}from"../chunks/CUEbnJ91.js";import{a as B,c as V,i as ae,l as H,n as U,o as W,r as G,s as K,t as q,u as J}from"../chunks/C1k-YaT9.js";import"../chunks/xihTtKlq.js";import"../chunks/orCHVlgT.js";import{c as Y,l as X,n as oe,r as se,t as ce}from"../chunks/C8VsmuzL.js";var le=o({}),ue=s(`<div class="flex items-center gap-3 px-2 py-2"><!> <div class="flex flex-col gap-1.5 flex-1 min-w-0"><!> <!></div></div>`),de=s(`<div class="flex flex-col gap-1"></div>`);function fe(e){var t=de();k(t,4,()=>({length:3}),f,(e,t)=>{var n=ue(),r=_(n);X(r,{class:`size-9 rounded-md shrink-0`});var i=S(r,2),a=_(i);X(a,{class:`h-3.5 w-3/4`}),X(S(a,2),{class:`h-3 w-1/2`}),c(i),c(n),b(e,n)}),c(t),b(e,t)}``+new URL(`../assets/defaultProjectCover.BHxYINJa.png`,import.meta.url).href;var pe=s(`<div class="h-full w-full flex items-center justify-center"><!></div>`),me=s(`<button aria-label="Remove project" title="Remove project"><div class="i-ic-round-close text-destructive text-xl"></div></button>`),he=s(`<div class="flex items-center"><button><img class="size-9 rounded-md object-cover shrink-0"/> <span class="flex flex-col min-w-0"><span class="text-sm font-medium truncate"> </span> <span class="text-xs text-muted-foreground truncate"> </span></span></button> <div class="h-full aspect-square"><!></div></div>`);function ge(t,n){d(n,!0);var r=he(),i=_(r),a=_(i),o=S(a,2),s=_(o),u=_(s,!0);c(s);var f=S(s,2),h=_(f,!0);c(f),c(o),c(i);var g=S(i,2),v=_(g),C=e=>{var t=pe();R(_(t),{class:`text-xl`}),c(t),b(e,t)},w=e=>{var t=me();p(()=>{t.disabled=n.disabled,m(t,1,O([`h-full w-full p-2 flex items-center justify-center rounded-lg transition-colors`,n.disabled?`opacity-50 cursor-not-allowed`:`cursor-pointer hover:bg-muted/50`]))}),l(`click`,t,function(...e){n.onRemove?.apply(this,e)}),b(e,t)};e(v,e=>{n.isLoading?e(C):e(w,-1)}),c(g),c(r),p(()=>{i.disabled=n.disabled||n.isLoading||n.project.invalid,m(i,1,O([`flex items-center gap-3 p-2 rounded-lg transition-colors text-left w-[calc(100%-3.25rem)]`,n.disabled||n.isLoading||n.project.invalid?`opacity-50 cursor-not-allowed`:`cursor-pointer hover:bg-muted/50`])),y(a,`alt`,`${n.project.name??`Unknown`??``} cover`),y(a,`src`,n.project.imageUrl||``+new URL(`../assets/defaultProjectCover.BHxYINJa.png`,import.meta.url).href),x(u,n.project.name??`Unknown`),x(h,n.project.resolvable)}),l(`click`,i,function(...e){n.onClick?.apply(this,e)}),b(t,r),A()}i([`click`]);function Z(e,t){d(t,!0);let r=()=>w(o,`$form`,i),[i,a]=v(),{form:o}=j(`form`)();ae(e,{get name(){return t.name},get label(){return t.label},get class(){return t.class},get classNames(){return t.classNames},get description(){return t.description},children:(e,i)=>{let a=()=>i?.().props;{let i=D(()=>t.type??`text`),s=D(()=>t.classNames?.input),c=D(()=>r()[t.name]??``);oe(e,T(a,{get type(){return n(i)},get placeholder(){return t.placeholder},get class(){return n(s)},get value(){return n(c)},oninput:e=>o.update(n=>({...n,[t.name]:e.currentTarget.value}))}))}},$$slots:{default:!0}}),A(),a()}var _e=s(`<div><p class="toggle-row-title">Multiplayer server</p> <p class="toggle-row-desc">Enable real-time collaboration</p></div> <!>`,1),ve=s(`<div><p class="toggle-row-title">Docker containerization</p> <p class="toggle-row-desc">Bundle with a Dockerfile</p></div> <!>`,1),ye=s(`<div><p class="toggle-row-title">Git repository</p> <p class="toggle-row-desc">Initialize with git init</p></div> <!>`,1),be=s(`<div class="flex flex-col gap-5"><!> <div class="flex justify-around flex-wrap gap-2"><!> <!></div> <div class="flex flex-col gap-1"><!> <!> <!></div> <!></div>`),xe=s(`<div class="modal-header"><div class="modal-icon-badge"><span class="i-ic-baseline-add text-primary text-lg"></span></div> <div><h2 class="text-sm font-semibold text-foreground tracking-tight leading-tight">Create project</h2> <p class="text-xs text-muted-foreground mt-0.5">Scaffold a new workspace</p></div></div> <div class="modal-divider"></div> <div class="modal-body"><!> <button type="button" class="group flex items-center gap-3 cursor-pointer w-full"><span class="flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-widest text-muted-foreground transition-colors duration-150">Advanced <span></span></span></button> <!></div> <div class="modal-footer"><!> <!></div>`,1);function Se(i,a){d(a,!0);let o=()=>w(x,`$form`,u),s=()=>w(T,`$submitting`,u),[u,f]=v(),h=g(!1),y=q({schema:H({projectName:J().min(1,`Project name is required`).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),projectPath:J().optional(),packageManager:K([`npm`,`yarn`,`pnpm`,`bun`]).default(`pnpm`),language:K([`ts`,`js`]).default(`ts`),multiplayerServer:V().default(!1),dockerContainerization:V().default(!1),createGitRepository:V().default(!1),gitRemote:J().optional()}),defaultValues:{projectName:``,projectPath:``,packageManager:`pnpm`,language:`ts`,multiplayerServer:!1,dockerContainerization:!1,createGitRepository:!1,gitRemote:``},onSubmit:k}),{form:x,submitting:T}=y;async function k(e){await z(`create project`,async()=>{await M(`/dashboard?id=${(await I.create(e)).id}`)})}let j=D(()=>{let e=o().projectName||`<project-name>`,t=o().projectPath||``;return t.startsWith(`/`)||!t.startsWith(`./`)&&!t.startsWith(`../`)&&(t=`./${t}`),t.endsWith(`/`)||(t=`${t}/`),`${t}${e}`});W(i,{get form(){return y},class:`w-full`,children:(i,u)=>{var d=xe(),f=S(E(d),4),g=_(f);Z(g,{name:`projectName`,label:`Project name`,placeholder:`nanoforge-app`});var v=S(g,2),y=_(v),x=S(_(y));c(y),c(v);var w=S(v,2),T=t=>{var r=be(),i=_(r);{let e=D(()=>`The full path will be '${n(j)}'`);Z(i,{name:`projectPath`,label:`Project path`,placeholder:`/home/user/projects`,get description(){return n(e)}})}var a=S(i,2),s=_(a);G(s,{name:`language`,label:`Language`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`ts`,label:`Typescript`},{value:`js`,label:`Javascript`}]}),G(S(s,2),{name:`packageManager`,label:`Package manager`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`npm`,label:`npm`},{value:`yarn`,label:`yarn`},{value:`pnpm`,label:`pnpm`},{value:`bun`,label:`bun`}]}),c(a);var l=S(a,2),u=_(l);B(u,{class:`toggle-row`,children:(e,t)=>{var n=_e();U(S(E(n),2),{name:`multiplayerServer`}),b(e,n)},$$slots:{default:!0}});var d=S(u,2);B(d,{class:`toggle-row`,children:(e,t)=>{var n=ve();U(S(E(n),2),{name:`dockerContainerization`}),b(e,n)},$$slots:{default:!0}}),B(S(d,2),{class:`toggle-row`,children:(e,t)=>{var n=ye();U(S(E(n),2),{name:`createGitRepository`}),b(e,n)},$$slots:{default:!0}}),c(l);var f=S(l,2),p=e=>{Z(e,{name:`gitRemote`,label:`Git remote URL`,placeholder:`https://github.com/user/repo.git`})};e(f,e=>{o().createGitRepository&&e(p)}),c(r),b(t,r)};e(w,e=>{n(h)&&e(T)}),c(f);var k=S(f,2),A=_(k);F(A,{type:`button`,variant:`ghost`,get onclick(){return a.onClose},class:`btn-ghost`,children:(e,n)=>{t(),b(e,r(`Cancel`))},$$slots:{default:!0}}),L(S(A,2),{type:`submit`,get loading(){return s()},class:`btn-primary`,children:(e,n)=>{t(),b(e,r(`Create project`))},$$slots:{default:!0}}),c(k),p(()=>m(x,1,O(n(h)?`i-ic-baseline-keyboard-arrow-up text-sm`:`i-ic-baseline-keyboard-arrow-down text-sm`))),l(`click`,v,()=>C(h,!n(h))),b(i,d)},$$slots:{default:!0}}),A(),f()}i([`click`]);function Ce(e,t){d(t,!0);let n=h(t,`open`,15),r=()=>{n(!1)};var i=a();u(E(i),()=>se,(e,t)=>{t(e,{get open(){return n()},set open(e){n(e)},children:(e,t)=>{var n=a();u(E(n),()=>Y,(e,t)=>{t(e,{showCloseButton:!1,class:`p-0 gap-0 sm:max-w-xl w-[90vw] overflow-hidden`,children:(e,t)=>{Se(e,{onClose:r})},$$slots:{default:!0}})}),b(e,n)},$$slots:{default:!0}})}),b(e,i),A()}var we=s(`<header class="h-14 flex items-center px-4 border-b border-border/40"><div class="flex items-center gap-2.5"><img alt="Logo" class="h-7 w-7 rounded-full"/> <span class="font-bold">Nanoforge - Editor</span></div></header>`);function Te(e){var n=we(),r=_(n),i=_(r);t(2),c(r),c(n),p(()=>y(i,`src`,ce)),b(e,n)}var Ee=s(`<span class="i-ic-baseline-add"></span> Create project`,1),De=s(`<span class="i-ic-baseline-folder-open"></span> Open project`,1),Oe=s(`<!> <!>`,1);function ke(e,n){var r=Oe(),i=E(r);F(i,{variant:`ghost`,size:`lg`,class:`justify-start gap-2 w-full`,get onclick(){return n.handleCreateProject},children:(e,n)=>{var r=Ee();t(),b(e,r)},$$slots:{default:!0}}),F(S(i,2),{variant:`ghost`,size:`lg`,class:`justify-start gap-2 w-full`,get onclick(){return n.handleOpenProject},children:(e,n)=>{var r=De();t(),b(e,r)},$$slots:{default:!0}}),b(e,r)}var Ae=s(`<span class="i-ic-baseline-open-in-new"></span> Create project`,1),je=s(`<span class="i-ic-baseline-open-in-new"></span> Open project`,1),Me=s(`<a><!></a> <a><!></a>`,1);function Ne(e){let n=`https://projects.nanoforge.eu`,r=`${n}/dashboard/projects`,i=`${n}/dashboard/projects`;var a=Me(),o=E(a);F(_(o),{variant:`link`,size:`lg`,class:`justify-start gap-2 w-full text-foreground`,children:(e,n)=>{var r=Ae();t(),b(e,r)},$$slots:{default:!0}}),c(o);var s=S(o,2);F(_(s),{variant:`link`,size:`lg`,class:`justify-start gap-2 w-full text-foreground`,children:(e,n)=>{var r=je();t(),b(e,r)},$$slots:{default:!0}}),c(s),p(()=>{y(o,`href`,r),y(s,`href`,i)}),b(e,a)}var Pe=s(`<div class="modal-header"><div class="modal-icon-badge"><span class="i-ic-baseline-folder-open text-primary text-lg"></span></div> <div><h2 class="text-sm font-semibold text-foreground tracking-tight leading-tight">Open project</h2> <p class="text-xs text-muted-foreground mt-0.5">Open a project</p></div></div> <div class="modal-divider"></div> <div class="modal-body"><!></div> <div class="modal-footer"><!> <!></div>`,1);function Q(e,i){d(i,!0);let a=()=>w(f,`$form`,s),o=()=>w(p,`$submitting`,s),[s,l]=v(),u=q({schema:H({path:J().min(1,`Path is required`)}),defaultValues:{path:``},onSubmit:m}),{form:f,submitting:p}=u;async function m(e){await z(`open project`,async()=>{await M(`/dashboard?id=${(await I.loadFromPath(e.path)).id}`)})}let h=D(()=>{let e=a().path||``;return e.startsWith(`/`)||!e.startsWith(`./`)&&!e.startsWith(`../`)&&(e=`./${e}`),e});W(e,{get form(){return u},class:`w-full`,children:(e,a)=>{var s=Pe(),l=S(E(s),4),u=_(l);{let e=D(()=>`The path will be '${n(h)}'`);Z(u,{name:`path`,label:`Project path`,placeholder:`/home/user/project`,get description(){return n(e)}})}c(l);var d=S(l,2),f=_(d);F(f,{type:`button`,variant:`ghost`,get onclick(){return i.onClose},class:`btn-ghost`,children:(e,n)=>{t(),b(e,r(`Cancel`))},$$slots:{default:!0}}),L(S(f,2),{type:`submit`,get loading(){return o()},class:`btn-primary`,children:(e,n)=>{t(),b(e,r(`Open project`))},$$slots:{default:!0}}),c(d),b(e,s)},$$slots:{default:!0}}),A(),l()}function Fe(e,t){d(t,!0);let n=h(t,`open`,15),r=()=>{n(!1)};var i=a();u(E(i),()=>se,(e,t)=>{t(e,{get open(){return n()},set open(e){n(e)},children:(e,t)=>{var n=a();u(E(n),()=>Y,(e,t)=>{t(e,{showCloseButton:!1,class:`p-0 gap-0 sm:max-w-xl w-[90vw] overflow-hidden`,children:(e,t)=>{Q(e,{onClose:r})},$$slots:{default:!0}})}),b(e,n)},$$slots:{default:!0}})}),b(e,i),A()}var $={CacheProject:ge,CacheProjectListSkeleton:fe,CreateProjectDialog:Ce,CreateProjectForm:Se,Header:Te,OfflineProjectButtons:ke,OnlineProjectButtons:Ne,OpenProjectDialog:Fe,OpenProjectForm:Q},Ie=s(`<div class="flex flex-col gap-1"></div> <!>`,1),Le=s(`<div class="flex h-full items-center justify-center text-center"><p class="text-sm text-muted-foreground/50 mb-4 mr-4">No recent projects</p></div>`),Re=s(`<div class="flex flex-col gap-2 p-5 w-8/19"><p class="text-sm text-muted-foreground px-2 mb-1">Projects</p> <!></div> <!> <div class="p-5 flex flex-col gap-3 w-10/19 h-full"><p class="text-sm text-muted-foreground px-2 mb-1">Recent</p> <!></div>`,1),ze=s(`<!> <!> <div class="min-h-screen w-full flex flex-col bg-background text-foreground text-base"><!> <main class="flex-1 flex items-center justify-center p-6"><!></main></div>`,1);function Be(i,o){d(o,!0);let s=g(!1),l=g(!1),f=g(null),p=ee().mode===`online`,m=N(()=>({queryKey:[`projects-cache`],queryFn:async()=>P.getProjects()})),h=()=>{p||C(s,!0)},v=()=>{p||C(l,!0)},y=async e=>{try{C(f,e.id,!0),await M(`/dashboard?id=${(await I.loadFromCacheWithTryId(e)).id}`),C(f,null)}catch(t){if(t instanceof ie){await t.fb();return}console.error(`Error loading project ${e.id} (${e.resolvable}) from cache:`,t),await P.invalidateProject(e.id),await m.refetch(),C(f,null)}},x=async e=>{C(f,e.id,!0),await P.removeProject(e.id),await m.refetch(),C(f,null)},w=async()=>{C(f,!0),await P.clearProjects(),await m.refetch(),C(f,null)};var T=ze(),O=E(T);u(O,()=>$.CreateProjectDialog,(e,t)=>{t(e,{get open(){return n(s)},set open(e){C(s,e,!0)}})});var j=S(O,2);u(j,()=>$.OpenProjectDialog,(e,t)=>{t(e,{get open(){return n(l)},set open(e){C(l,e,!0)}})});var L=S(j,2),R=_(L);u(R,()=>$.Header,(e,t)=>{t(e,{})});var z=S(R,2);u(_(z),()=>ne,(i,o)=>{o(i,{class:`w-full max-w-2xl`,children:(i,o)=>{var s=a();u(E(s),()=>re,(i,o)=>{o(i,{class:`p-0 flex justify-between h-[30vh]`,children:(i,o)=>{var s=Re(),l=E(s),d=S(_(l),2),g=e=>{var t=a();u(E(t),()=>$.OnlineProjectButtons,(e,t)=>{t(e,{})}),b(e,t)},C=e=>{var t=a();u(E(t),()=>$.OfflineProjectButtons,(e,t)=>{t(e,{handleCreateProject:h,handleOpenProject:v})}),b(e,t)};e(d,e=>{p?e(g):e(C,-1)}),c(l);var T=S(l,2);te(T,{orientation:`vertical`,class:`h-auto self-stretch`});var O=S(T,2),A=S(_(O),2),j=e=>{var t=a();u(E(t),()=>$.CacheProjectListSkeleton,(e,t)=>{t(e,{})}),b(e,t)},M=e=>{var i=Ie(),o=E(i);k(o,21,()=>m.data,e=>e.id,(e,t)=>{var r=a(),i=E(r);{let e=D(()=>!!n(f)),r=D(()=>n(f)===n(t).id);u(i,()=>$.CacheProject,(i,a)=>{a(i,{get project(){return n(t)},get disabled(){return n(e)},get isLoading(){return n(r)},onClick:()=>y(n(t)),onRemove:()=>x(n(t))})})}b(e,r)}),c(o),F(S(o,2),{type:`button`,variant:`ghost`,class:`text-xs text-muted-foreground/50 hover:text-muted-foreground transition-colors self-end justify-self-end`,onclick:w,children:(e,n)=>{t(),b(e,r(`Clear cache`))},$$slots:{default:!0}}),b(e,i)},N=e=>{b(e,Le())};e(A,e=>{m.isLoading||!m.isFetched?e(j):m.data&&m.data.length>0?e(M,1):e(N,-1)}),c(O),b(i,s)},$$slots:{default:!0}})}),b(i,s)},$$slots:{default:!0}})}),c(z),c(L),b(i,T),A()}export{Be as component,le as universal};
1
+ import{D as e,Dt as t,H as n,I as r,L as i,M as a,Mt as o,N as s,Ot as c,R as l,S as u,St as d,T as f,Z as p,_ as m,a as h,ct as g,et as _,ft as v,h as y,j as b,k as x,nt as S,ot as C,pt as w,s as T,tt as E,ut as D,v as O,w as k,xt as A,yt as j}from"../chunks/ZLGReh43.js";import{a as M}from"../chunks/BnWY0TZI.js";import{At as N,Tt as ee,bt as P,c as te,dt as F,mt as I,n as L,ot as ne,s as R,t as z,ut as re,vt as ie}from"../chunks/DoLBDi-M.js";import{a as B,c as V,i as ae,l as H,n as U,o as W,r as G,s as K,t as q,u as J}from"../chunks/CVHDnHfN.js";import"../chunks/xihTtKlq.js";import"../chunks/orCHVlgT.js";import{c as Y,l as X,n as oe,r as se,t as ce}from"../chunks/BGzu53pG.js";var le=o({}),ue=s(`<div class="flex items-center gap-3 px-2 py-2"><!> <div class="flex flex-col gap-1.5 flex-1 min-w-0"><!> <!></div></div>`),de=s(`<div class="flex flex-col gap-1"></div>`);function fe(e){var t=de();k(t,4,()=>({length:3}),f,(e,t)=>{var n=ue(),r=_(n);X(r,{class:`size-9 rounded-md shrink-0`});var i=S(r,2),a=_(i);X(a,{class:`h-3.5 w-3/4`}),X(S(a,2),{class:`h-3 w-1/2`}),c(i),c(n),b(e,n)}),c(t),b(e,t)}``+new URL(`../assets/defaultProjectCover.BHxYINJa.png`,import.meta.url).href;var pe=s(`<div class="h-full w-full flex items-center justify-center"><!></div>`),me=s(`<button aria-label="Remove project" title="Remove project"><div class="i-ic-round-close text-destructive text-xl"></div></button>`),he=s(`<div class="flex items-center"><button><img class="size-9 rounded-md object-cover shrink-0"/> <span class="flex flex-col min-w-0"><span class="text-sm font-medium truncate"> </span> <span class="text-xs text-muted-foreground truncate"> </span></span></button> <div class="h-full aspect-square"><!></div></div>`);function ge(t,n){d(n,!0);var r=he(),i=_(r),a=_(i),o=S(a,2),s=_(o),u=_(s,!0);c(s);var f=S(s,2),h=_(f,!0);c(f),c(o),c(i);var g=S(i,2),v=_(g),C=e=>{var t=pe();R(_(t),{class:`text-xl`}),c(t),b(e,t)},w=e=>{var t=me();p(()=>{t.disabled=n.disabled,m(t,1,O([`h-full w-full p-2 flex items-center justify-center rounded-lg transition-colors`,n.disabled?`opacity-50 cursor-not-allowed`:`cursor-pointer hover:bg-muted/50`]))}),l(`click`,t,function(...e){n.onRemove?.apply(this,e)}),b(e,t)};e(v,e=>{n.isLoading?e(C):e(w,-1)}),c(g),c(r),p(()=>{i.disabled=n.disabled||n.isLoading||n.project.invalid,m(i,1,O([`flex items-center gap-3 p-2 rounded-lg transition-colors text-left w-[calc(100%-3.25rem)]`,n.disabled||n.isLoading||n.project.invalid?`opacity-50 cursor-not-allowed`:`cursor-pointer hover:bg-muted/50`])),y(a,`alt`,`${n.project.name??`Unknown`??``} cover`),y(a,`src`,n.project.imageUrl||``+new URL(`../assets/defaultProjectCover.BHxYINJa.png`,import.meta.url).href),x(u,n.project.name??`Unknown`),x(h,n.project.resolvable)}),l(`click`,i,function(...e){n.onClick?.apply(this,e)}),b(t,r),A()}i([`click`]);function Z(e,t){d(t,!0);let r=()=>w(o,`$form`,i),[i,a]=v(),{form:o}=j(`form`)();ae(e,{get name(){return t.name},get label(){return t.label},get class(){return t.class},get classNames(){return t.classNames},get description(){return t.description},children:(e,i)=>{let a=()=>i?.().props;{let i=D(()=>t.type??`text`),s=D(()=>t.classNames?.input),c=D(()=>r()[t.name]??``);oe(e,T(a,{get type(){return n(i)},get placeholder(){return t.placeholder},get class(){return n(s)},get value(){return n(c)},oninput:e=>o.update(n=>({...n,[t.name]:e.currentTarget.value}))}))}},$$slots:{default:!0}}),A(),a()}var _e=s(`<div><p class="toggle-row-title">Multiplayer server</p> <p class="toggle-row-desc">Enable real-time collaboration</p></div> <!>`,1),ve=s(`<div><p class="toggle-row-title">Docker containerization</p> <p class="toggle-row-desc">Bundle with a Dockerfile</p></div> <!>`,1),ye=s(`<div><p class="toggle-row-title">Git repository</p> <p class="toggle-row-desc">Initialize with git init</p></div> <!>`,1),be=s(`<div class="flex flex-col gap-5"><!> <div class="flex justify-around flex-wrap gap-2"><!> <!></div> <div class="flex flex-col gap-1"><!> <!> <!></div> <!></div>`),xe=s(`<div class="modal-header"><div class="modal-icon-badge"><span class="i-ic-baseline-add text-primary text-lg"></span></div> <div><h2 class="text-sm font-semibold text-foreground tracking-tight leading-tight">Create project</h2> <p class="text-xs text-muted-foreground mt-0.5">Scaffold a new workspace</p></div></div> <div class="modal-divider"></div> <div class="modal-body"><!> <button type="button" class="group flex items-center gap-3 cursor-pointer w-full"><span class="flex items-center gap-1.5 text-[10px] font-semibold uppercase tracking-widest text-muted-foreground transition-colors duration-150">Advanced <span></span></span></button> <!></div> <div class="modal-footer"><!> <!></div>`,1);function Se(i,a){d(a,!0);let o=()=>w(x,`$form`,u),s=()=>w(T,`$submitting`,u),[u,f]=v(),h=g(!1),y=q({schema:H({projectName:J().min(1,`Project name is required`).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/),projectPath:J().optional(),packageManager:K([`npm`,`yarn`,`pnpm`,`bun`]).default(`pnpm`),language:K([`ts`,`js`]).default(`ts`),multiplayerServer:V().default(!1),dockerContainerization:V().default(!1),createGitRepository:V().default(!1),gitRemote:J().optional()}),defaultValues:{projectName:``,projectPath:``,packageManager:`pnpm`,language:`ts`,multiplayerServer:!1,dockerContainerization:!1,createGitRepository:!1,gitRemote:``},onSubmit:k}),{form:x,submitting:T}=y;async function k(e){await z(`create project`,async()=>{await M(`/dashboard?id=${(await I.create(e)).id}`)})}let j=D(()=>{let e=o().projectName||`<project-name>`,t=o().projectPath||``;return t.startsWith(`/`)||!t.startsWith(`./`)&&!t.startsWith(`../`)&&(t=`./${t}`),t.endsWith(`/`)||(t=`${t}/`),`${t}${e}`});W(i,{get form(){return y},class:`w-full`,children:(i,u)=>{var d=xe(),f=S(E(d),4),g=_(f);Z(g,{name:`projectName`,label:`Project name`,placeholder:`nanoforge-app`});var v=S(g,2),y=_(v),x=S(_(y));c(y),c(v);var w=S(v,2),T=t=>{var r=be(),i=_(r);{let e=D(()=>`The full path will be '${n(j)}'`);Z(i,{name:`projectPath`,label:`Project path`,placeholder:`/home/user/projects`,get description(){return n(e)}})}var a=S(i,2),s=_(a);G(s,{name:`language`,label:`Language`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`ts`,label:`Typescript`},{value:`js`,label:`Javascript`}]}),G(S(s,2),{name:`packageManager`,label:`Package manager`,classNames:{trigger:`w-40 p-4`,content:`p-2`,item:`p-2`},options:[{value:`npm`,label:`npm`},{value:`yarn`,label:`yarn`},{value:`pnpm`,label:`pnpm`},{value:`bun`,label:`bun`}]}),c(a);var l=S(a,2),u=_(l);B(u,{class:`toggle-row`,children:(e,t)=>{var n=_e();U(S(E(n),2),{name:`multiplayerServer`}),b(e,n)},$$slots:{default:!0}});var d=S(u,2);B(d,{class:`toggle-row`,children:(e,t)=>{var n=ve();U(S(E(n),2),{name:`dockerContainerization`}),b(e,n)},$$slots:{default:!0}}),B(S(d,2),{class:`toggle-row`,children:(e,t)=>{var n=ye();U(S(E(n),2),{name:`createGitRepository`}),b(e,n)},$$slots:{default:!0}}),c(l);var f=S(l,2),p=e=>{Z(e,{name:`gitRemote`,label:`Git remote URL`,placeholder:`https://github.com/user/repo.git`})};e(f,e=>{o().createGitRepository&&e(p)}),c(r),b(t,r)};e(w,e=>{n(h)&&e(T)}),c(f);var k=S(f,2),A=_(k);F(A,{type:`button`,variant:`ghost`,get onclick(){return a.onClose},class:`btn-ghost`,children:(e,n)=>{t(),b(e,r(`Cancel`))},$$slots:{default:!0}}),L(S(A,2),{type:`submit`,get loading(){return s()},class:`btn-primary`,children:(e,n)=>{t(),b(e,r(`Create project`))},$$slots:{default:!0}}),c(k),p(()=>m(x,1,O(n(h)?`i-ic-baseline-keyboard-arrow-up text-sm`:`i-ic-baseline-keyboard-arrow-down text-sm`))),l(`click`,v,()=>C(h,!n(h))),b(i,d)},$$slots:{default:!0}}),A(),f()}i([`click`]);function Ce(e,t){d(t,!0);let n=h(t,`open`,15),r=()=>{n(!1)};var i=a();u(E(i),()=>se,(e,t)=>{t(e,{get open(){return n()},set open(e){n(e)},children:(e,t)=>{var n=a();u(E(n),()=>Y,(e,t)=>{t(e,{showCloseButton:!1,class:`p-0 gap-0 sm:max-w-xl w-[90vw] overflow-hidden`,children:(e,t)=>{Se(e,{onClose:r})},$$slots:{default:!0}})}),b(e,n)},$$slots:{default:!0}})}),b(e,i),A()}var we=s(`<header class="h-14 flex items-center px-4 border-b border-border/40"><div class="flex items-center gap-2.5"><img alt="Logo" class="h-7 w-7 rounded-full"/> <span class="font-bold">Nanoforge - Editor</span></div></header>`);function Te(e){var n=we(),r=_(n),i=_(r);t(2),c(r),c(n),p(()=>y(i,`src`,ce)),b(e,n)}var Ee=s(`<span class="i-ic-baseline-add"></span> Create project`,1),De=s(`<span class="i-ic-baseline-folder-open"></span> Open project`,1),Oe=s(`<!> <!>`,1);function ke(e,n){var r=Oe(),i=E(r);F(i,{variant:`ghost`,size:`lg`,class:`justify-start gap-2 w-full`,get onclick(){return n.handleCreateProject},children:(e,n)=>{var r=Ee();t(),b(e,r)},$$slots:{default:!0}}),F(S(i,2),{variant:`ghost`,size:`lg`,class:`justify-start gap-2 w-full`,get onclick(){return n.handleOpenProject},children:(e,n)=>{var r=De();t(),b(e,r)},$$slots:{default:!0}}),b(e,r)}var Ae=s(`<span class="i-ic-baseline-open-in-new"></span> Create project`,1),je=s(`<span class="i-ic-baseline-open-in-new"></span> Open project`,1),Me=s(`<a><!></a> <a><!></a>`,1);function Ne(e){let n=`https://projects.nanoforge.eu`,r=`${n}/dashboard/projects`,i=`${n}/dashboard/projects`;var a=Me(),o=E(a);F(_(o),{variant:`link`,size:`lg`,class:`justify-start gap-2 w-full text-foreground`,children:(e,n)=>{var r=Ae();t(),b(e,r)},$$slots:{default:!0}}),c(o);var s=S(o,2);F(_(s),{variant:`link`,size:`lg`,class:`justify-start gap-2 w-full text-foreground`,children:(e,n)=>{var r=je();t(),b(e,r)},$$slots:{default:!0}}),c(s),p(()=>{y(o,`href`,r),y(s,`href`,i)}),b(e,a)}var Pe=s(`<div class="modal-header"><div class="modal-icon-badge"><span class="i-ic-baseline-folder-open text-primary text-lg"></span></div> <div><h2 class="text-sm font-semibold text-foreground tracking-tight leading-tight">Open project</h2> <p class="text-xs text-muted-foreground mt-0.5">Open a project</p></div></div> <div class="modal-divider"></div> <div class="modal-body"><!></div> <div class="modal-footer"><!> <!></div>`,1);function Q(e,i){d(i,!0);let a=()=>w(f,`$form`,s),o=()=>w(p,`$submitting`,s),[s,l]=v(),u=q({schema:H({path:J().min(1,`Path is required`)}),defaultValues:{path:``},onSubmit:m}),{form:f,submitting:p}=u;async function m(e){await z(`open project`,async()=>{await M(`/dashboard?id=${(await I.loadFromPath(e.path)).id}`)})}let h=D(()=>{let e=a().path||``;return e.startsWith(`/`)||!e.startsWith(`./`)&&!e.startsWith(`../`)&&(e=`./${e}`),e});W(e,{get form(){return u},class:`w-full`,children:(e,a)=>{var s=Pe(),l=S(E(s),4),u=_(l);{let e=D(()=>`The path will be '${n(h)}'`);Z(u,{name:`path`,label:`Project path`,placeholder:`/home/user/project`,get description(){return n(e)}})}c(l);var d=S(l,2),f=_(d);F(f,{type:`button`,variant:`ghost`,get onclick(){return i.onClose},class:`btn-ghost`,children:(e,n)=>{t(),b(e,r(`Cancel`))},$$slots:{default:!0}}),L(S(f,2),{type:`submit`,get loading(){return o()},class:`btn-primary`,children:(e,n)=>{t(),b(e,r(`Open project`))},$$slots:{default:!0}}),c(d),b(e,s)},$$slots:{default:!0}}),A(),l()}function Fe(e,t){d(t,!0);let n=h(t,`open`,15),r=()=>{n(!1)};var i=a();u(E(i),()=>se,(e,t)=>{t(e,{get open(){return n()},set open(e){n(e)},children:(e,t)=>{var n=a();u(E(n),()=>Y,(e,t)=>{t(e,{showCloseButton:!1,class:`p-0 gap-0 sm:max-w-xl w-[90vw] overflow-hidden`,children:(e,t)=>{Q(e,{onClose:r})},$$slots:{default:!0}})}),b(e,n)},$$slots:{default:!0}})}),b(e,i),A()}var $={CacheProject:ge,CacheProjectListSkeleton:fe,CreateProjectDialog:Ce,CreateProjectForm:Se,Header:Te,OfflineProjectButtons:ke,OnlineProjectButtons:Ne,OpenProjectDialog:Fe,OpenProjectForm:Q},Ie=s(`<div class="flex flex-col gap-1"></div> <!>`,1),Le=s(`<div class="flex h-full items-center justify-center text-center"><p class="text-sm text-muted-foreground/50 mb-4 mr-4">No recent projects</p></div>`),Re=s(`<div class="flex flex-col gap-2 p-5 w-8/19"><p class="text-sm text-muted-foreground px-2 mb-1">Projects</p> <!></div> <!> <div class="p-5 flex flex-col gap-3 w-10/19 h-full"><p class="text-sm text-muted-foreground px-2 mb-1">Recent</p> <!></div>`,1),ze=s(`<!> <!> <div class="min-h-screen w-full flex flex-col bg-background text-foreground text-base"><!> <main class="flex-1 flex items-center justify-center p-6"><!></main></div>`,1);function Be(i,o){d(o,!0);let s=g(!1),l=g(!1),f=g(null),p=ee().mode===`online`,m=N(()=>({queryKey:[`projects-cache`],queryFn:async()=>P.getProjects()})),h=()=>{p||C(s,!0)},v=()=>{p||C(l,!0)},y=async e=>{try{C(f,e.id,!0),await M(`/dashboard?id=${(await I.loadFromCacheWithTryId(e)).id}`),C(f,null)}catch(t){if(t instanceof ie){await t.fb();return}console.error(`Error loading project ${e.id} (${e.resolvable}) from cache:`,t),await P.invalidateProject(e.id),await m.refetch(),C(f,null)}},x=async e=>{C(f,e.id,!0),await P.removeProject(e.id),await m.refetch(),C(f,null)},w=async()=>{C(f,!0),await P.clearProjects(),await m.refetch(),C(f,null)};var T=ze(),O=E(T);u(O,()=>$.CreateProjectDialog,(e,t)=>{t(e,{get open(){return n(s)},set open(e){C(s,e,!0)}})});var j=S(O,2);u(j,()=>$.OpenProjectDialog,(e,t)=>{t(e,{get open(){return n(l)},set open(e){C(l,e,!0)}})});var L=S(j,2),R=_(L);u(R,()=>$.Header,(e,t)=>{t(e,{})});var z=S(R,2);u(_(z),()=>ne,(i,o)=>{o(i,{class:`w-full max-w-2xl`,children:(i,o)=>{var s=a();u(E(s),()=>re,(i,o)=>{o(i,{class:`p-0 flex justify-between h-[30vh]`,children:(i,o)=>{var s=Re(),l=E(s),d=S(_(l),2),g=e=>{var t=a();u(E(t),()=>$.OnlineProjectButtons,(e,t)=>{t(e,{})}),b(e,t)},C=e=>{var t=a();u(E(t),()=>$.OfflineProjectButtons,(e,t)=>{t(e,{handleCreateProject:h,handleOpenProject:v})}),b(e,t)};e(d,e=>{p?e(g):e(C,-1)}),c(l);var T=S(l,2);te(T,{orientation:`vertical`,class:`h-auto self-stretch`});var O=S(T,2),A=S(_(O),2),j=e=>{var t=a();u(E(t),()=>$.CacheProjectListSkeleton,(e,t)=>{t(e,{})}),b(e,t)},M=e=>{var i=Ie(),o=E(i);k(o,21,()=>m.data,e=>e.id,(e,t)=>{var r=a(),i=E(r);{let e=D(()=>!!n(f)),r=D(()=>n(f)===n(t).id);u(i,()=>$.CacheProject,(i,a)=>{a(i,{get project(){return n(t)},get disabled(){return n(e)},get isLoading(){return n(r)},onClick:()=>y(n(t)),onRemove:()=>x(n(t))})})}b(e,r)}),c(o),F(S(o,2),{type:`button`,variant:`ghost`,class:`text-xs text-muted-foreground/50 hover:text-muted-foreground transition-colors self-end justify-self-end`,onclick:w,children:(e,n)=>{t(),b(e,r(`Clear cache`))},$$slots:{default:!0}}),b(e,i)},N=e=>{b(e,Le())};e(A,e=>{m.isLoading||!m.isFetched?e(j):m.data&&m.data.length>0?e(M,1):e(N,-1)}),c(O),b(i,s)},$$slots:{default:!0}})}),b(i,s)},$$slots:{default:!0}})}),c(z),c(L),b(i,T),A()}export{Be as component,le as universal};