bloko-studio 0.0.13 → 0.0.16

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 (290) hide show
  1. package/dist/client/_app/immutable/assets/27.CgOFHmae.css +1 -0
  2. package/dist/client/_app/immutable/assets/27.CgOFHmae.css.br +0 -0
  3. package/dist/client/_app/immutable/assets/27.CgOFHmae.css.gz +0 -0
  4. package/dist/client/_app/immutable/assets/{TextArrayInput.BefTswgg.css → TextArrayInput.aRFzgQ7D.css} +1 -1
  5. package/dist/client/_app/immutable/assets/TextArrayInput.aRFzgQ7D.css.br +0 -0
  6. package/dist/client/_app/immutable/assets/TextArrayInput.aRFzgQ7D.css.gz +0 -0
  7. package/dist/client/_app/immutable/chunks/{COd-ozSe.js → 30qeoBqZ.js} +1 -1
  8. package/dist/client/_app/immutable/chunks/30qeoBqZ.js.br +0 -0
  9. package/dist/client/_app/immutable/chunks/30qeoBqZ.js.gz +0 -0
  10. package/dist/client/_app/immutable/chunks/BkETWZbE.js +1 -0
  11. package/dist/client/_app/immutable/chunks/BkETWZbE.js.br +0 -0
  12. package/dist/client/_app/immutable/chunks/BkETWZbE.js.gz +0 -0
  13. package/dist/client/_app/immutable/chunks/{CaUta1O9.js → BoH7l3Ay.js} +1 -1
  14. package/dist/client/_app/immutable/chunks/BoH7l3Ay.js.br +0 -0
  15. package/dist/client/_app/immutable/chunks/BoH7l3Ay.js.gz +0 -0
  16. package/dist/client/_app/immutable/chunks/{BmzZfJzI.js → BudNAzFr.js} +1 -1
  17. package/dist/client/_app/immutable/chunks/BudNAzFr.js.br +0 -0
  18. package/dist/client/_app/immutable/chunks/BudNAzFr.js.gz +0 -0
  19. package/dist/client/_app/immutable/chunks/{Dopxs8JA.js → CDondc2F.js} +1 -1
  20. package/dist/client/_app/immutable/chunks/CDondc2F.js.br +0 -0
  21. package/dist/client/_app/immutable/chunks/CDondc2F.js.gz +0 -0
  22. package/dist/client/_app/immutable/chunks/{CyM0cp9N.js → DFiKK9xz.js} +1 -1
  23. package/dist/client/_app/immutable/chunks/DFiKK9xz.js.br +0 -0
  24. package/dist/client/_app/immutable/chunks/DFiKK9xz.js.gz +0 -0
  25. package/dist/client/_app/immutable/chunks/DYn6Ssu0.js +1 -0
  26. package/dist/client/_app/immutable/chunks/DYn6Ssu0.js.br +2 -0
  27. package/dist/client/_app/immutable/chunks/DYn6Ssu0.js.gz +0 -0
  28. package/dist/client/_app/immutable/chunks/{dCqqWZRL.js → DbpPCKvO.js} +1 -1
  29. package/dist/client/_app/immutable/chunks/DbpPCKvO.js.br +0 -0
  30. package/dist/client/_app/immutable/chunks/DbpPCKvO.js.gz +0 -0
  31. package/dist/client/_app/immutable/chunks/{BdGureYG.js → DhLkQWYT.js} +1 -1
  32. package/dist/client/_app/immutable/chunks/DhLkQWYT.js.br +0 -0
  33. package/dist/client/_app/immutable/chunks/DhLkQWYT.js.gz +0 -0
  34. package/dist/client/_app/immutable/chunks/{_ujqqHrb.js → DpNOes8v.js} +1 -1
  35. package/dist/client/_app/immutable/chunks/DpNOes8v.js.br +0 -0
  36. package/dist/client/_app/immutable/chunks/DpNOes8v.js.gz +0 -0
  37. package/dist/client/_app/immutable/chunks/DuQW8kGn.js +26 -0
  38. package/dist/client/_app/immutable/chunks/DuQW8kGn.js.br +0 -0
  39. package/dist/client/_app/immutable/chunks/DuQW8kGn.js.gz +0 -0
  40. package/dist/client/_app/immutable/chunks/{DZLQ5umq.js → LtEPjfl3.js} +1 -1
  41. package/dist/client/_app/immutable/chunks/LtEPjfl3.js.br +0 -0
  42. package/dist/client/_app/immutable/chunks/LtEPjfl3.js.gz +0 -0
  43. package/dist/client/_app/immutable/chunks/y_6KjEX3.js +4 -0
  44. package/dist/client/_app/immutable/chunks/y_6KjEX3.js.br +0 -0
  45. package/dist/client/_app/immutable/chunks/y_6KjEX3.js.gz +0 -0
  46. package/dist/client/_app/immutable/entry/{app.BakRYmPr.js → app.Hoi9SNHO.js} +2 -2
  47. package/dist/client/_app/immutable/entry/app.Hoi9SNHO.js.br +0 -0
  48. package/dist/client/_app/immutable/entry/app.Hoi9SNHO.js.gz +0 -0
  49. package/dist/client/_app/immutable/entry/start.-s5Gin-E.js +1 -0
  50. package/dist/client/_app/immutable/entry/start.-s5Gin-E.js.br +0 -0
  51. package/dist/client/_app/immutable/entry/start.-s5Gin-E.js.gz +0 -0
  52. package/dist/client/_app/immutable/nodes/{0.CB7z9awF.js → 0.Cr7nTkMh.js} +1 -1
  53. package/dist/client/_app/immutable/nodes/0.Cr7nTkMh.js.br +0 -0
  54. package/dist/client/_app/immutable/nodes/0.Cr7nTkMh.js.gz +0 -0
  55. package/dist/client/_app/immutable/nodes/{1.Dpg_yKqh.js → 1.CMfljMJj.js} +1 -1
  56. package/dist/client/_app/immutable/nodes/1.CMfljMJj.js.br +0 -0
  57. package/dist/client/_app/immutable/nodes/1.CMfljMJj.js.gz +0 -0
  58. package/dist/client/_app/immutable/nodes/{12.BpORx7iP.js → 12.De1QNmj9.js} +1 -1
  59. package/dist/client/_app/immutable/nodes/12.De1QNmj9.js.br +0 -0
  60. package/dist/client/_app/immutable/nodes/12.De1QNmj9.js.gz +0 -0
  61. package/dist/client/_app/immutable/nodes/{14.I1jW1hdb.js → 14.B6mt9LfM.js} +1 -1
  62. package/dist/client/_app/immutable/nodes/14.B6mt9LfM.js.br +0 -0
  63. package/dist/client/_app/immutable/nodes/14.B6mt9LfM.js.gz +0 -0
  64. package/dist/client/_app/immutable/nodes/{15.C9f2Ggg1.js → 15.MJYBAmEZ.js} +1 -1
  65. package/dist/client/_app/immutable/nodes/15.MJYBAmEZ.js.br +0 -0
  66. package/dist/client/_app/immutable/nodes/15.MJYBAmEZ.js.gz +0 -0
  67. package/dist/client/_app/immutable/nodes/18.DwZDYPjM.js +1 -0
  68. package/dist/client/_app/immutable/nodes/18.DwZDYPjM.js.br +0 -0
  69. package/dist/client/_app/immutable/nodes/18.DwZDYPjM.js.gz +0 -0
  70. package/dist/client/_app/immutable/nodes/19.C-ayG0ZZ.js +1 -0
  71. package/dist/client/_app/immutable/nodes/19.C-ayG0ZZ.js.br +0 -0
  72. package/dist/client/_app/immutable/nodes/19.C-ayG0ZZ.js.gz +0 -0
  73. package/dist/client/_app/immutable/nodes/20.DwZDYPjM.js +1 -0
  74. package/dist/client/_app/immutable/nodes/20.DwZDYPjM.js.br +0 -0
  75. package/dist/client/_app/immutable/nodes/20.DwZDYPjM.js.gz +0 -0
  76. package/dist/client/_app/immutable/nodes/{21.Bsyh-t9p.js → 21.CLqbWALX.js} +1 -1
  77. package/dist/client/_app/immutable/nodes/21.CLqbWALX.js.br +0 -0
  78. package/dist/client/_app/immutable/nodes/21.CLqbWALX.js.gz +0 -0
  79. package/dist/client/_app/immutable/nodes/22.DwZDYPjM.js +1 -0
  80. package/dist/client/_app/immutable/nodes/22.DwZDYPjM.js.br +0 -0
  81. package/dist/client/_app/immutable/nodes/22.DwZDYPjM.js.gz +0 -0
  82. package/dist/client/_app/immutable/nodes/{23.YKQL_Ics.js → 23.HcFc7LpM.js} +1 -1
  83. package/dist/client/_app/immutable/nodes/23.HcFc7LpM.js.br +0 -0
  84. package/dist/client/_app/immutable/nodes/23.HcFc7LpM.js.gz +0 -0
  85. package/dist/client/_app/immutable/nodes/{24.BudTYiqp.js → 24.CdePpOVK.js} +1 -1
  86. package/dist/client/_app/immutable/nodes/24.CdePpOVK.js.br +0 -0
  87. package/dist/client/_app/immutable/nodes/24.CdePpOVK.js.gz +0 -0
  88. package/dist/client/_app/immutable/nodes/{26.B-d7tQ9G.js → 26.DZ8Dukwe.js} +1 -1
  89. package/dist/client/_app/immutable/nodes/26.DZ8Dukwe.js.br +0 -0
  90. package/dist/client/_app/immutable/nodes/26.DZ8Dukwe.js.gz +0 -0
  91. package/dist/client/_app/immutable/nodes/27.BnoPXbF7.js +1 -0
  92. package/dist/client/_app/immutable/nodes/27.BnoPXbF7.js.br +0 -0
  93. package/dist/client/_app/immutable/nodes/27.BnoPXbF7.js.gz +0 -0
  94. package/dist/client/_app/immutable/nodes/{28.N3HWJAkt.js → 28.BtCZByG6.js} +1 -1
  95. package/dist/client/_app/immutable/nodes/28.BtCZByG6.js.br +0 -0
  96. package/dist/client/_app/immutable/nodes/28.BtCZByG6.js.gz +0 -0
  97. package/dist/client/_app/immutable/nodes/{3.BXy9zMpM.js → 3.C7rhRwCZ.js} +1 -1
  98. package/dist/client/_app/immutable/nodes/3.C7rhRwCZ.js.br +0 -0
  99. package/dist/client/_app/immutable/nodes/3.C7rhRwCZ.js.gz +0 -0
  100. package/dist/client/_app/immutable/nodes/{31.Bijoi-jx.js → 31.rrrv9zaT.js} +1 -1
  101. package/dist/client/_app/immutable/nodes/31.rrrv9zaT.js.br +0 -0
  102. package/dist/client/_app/immutable/nodes/31.rrrv9zaT.js.gz +0 -0
  103. package/dist/client/_app/immutable/nodes/{4.CFyd_JDv.js → 4.DPkQTnkS.js} +1 -1
  104. package/dist/client/_app/immutable/nodes/4.DPkQTnkS.js.br +0 -0
  105. package/dist/client/_app/immutable/nodes/4.DPkQTnkS.js.gz +0 -0
  106. package/dist/client/_app/immutable/nodes/{5.CR76YToy.js → 5.DO0emGBO.js} +1 -1
  107. package/dist/client/_app/immutable/nodes/5.DO0emGBO.js.br +0 -0
  108. package/dist/client/_app/immutable/nodes/5.DO0emGBO.js.gz +0 -0
  109. package/dist/client/_app/immutable/nodes/{7.BzTmrUj2.js → 7.C4-KrT4c.js} +1 -1
  110. package/dist/client/_app/immutable/nodes/7.C4-KrT4c.js.br +0 -0
  111. package/dist/client/_app/immutable/nodes/7.C4-KrT4c.js.gz +0 -0
  112. package/dist/client/_app/immutable/nodes/{9.CarC8T3V.js → 9.BAvXLMVy.js} +1 -1
  113. package/dist/client/_app/immutable/nodes/9.BAvXLMVy.js.br +0 -0
  114. package/dist/client/_app/immutable/nodes/9.BAvXLMVy.js.gz +0 -0
  115. package/dist/client/_app/version.json +1 -1
  116. package/dist/client/_app/version.json.br +0 -0
  117. package/dist/client/_app/version.json.gz +0 -0
  118. package/dist/server/chunks/{0-DgEWonOD.js → 0-BkeFhE7Y.js} +2 -2
  119. package/dist/server/chunks/{0-DgEWonOD.js.map → 0-BkeFhE7Y.js.map} +1 -1
  120. package/dist/server/chunks/{1-DhcfyFw7.js → 1-D2L8un0Z.js} +2 -2
  121. package/dist/server/chunks/{1-DhcfyFw7.js.map → 1-D2L8un0Z.js.map} +1 -1
  122. package/dist/server/chunks/{12-CuFyXhX3.js → 12-BKPt0Z2b.js} +3 -3
  123. package/dist/server/chunks/{12-CuFyXhX3.js.map → 12-BKPt0Z2b.js.map} +1 -1
  124. package/dist/server/chunks/13-D-i8vO-J.js +188 -0
  125. package/dist/server/chunks/13-D-i8vO-J.js.map +1 -0
  126. package/dist/server/chunks/{14-DDVJwFVo.js → 14-i7C3EK5H.js} +3 -3
  127. package/dist/server/chunks/{14-DDVJwFVo.js.map → 14-i7C3EK5H.js.map} +1 -1
  128. package/dist/server/chunks/{15-Bxmg541C.js → 15-CmLDwSZ7.js} +2 -2
  129. package/dist/server/chunks/{15-Bxmg541C.js.map → 15-CmLDwSZ7.js.map} +1 -1
  130. package/dist/server/chunks/{18-B_bASqpM.js → 18-CCx-jEIy.js} +4 -4
  131. package/dist/server/chunks/{18-B_bASqpM.js.map → 18-CCx-jEIy.js.map} +1 -1
  132. package/dist/server/chunks/{19-CtBnjJ--.js → 19-DP-VZaas.js} +4 -4
  133. package/dist/server/chunks/{19-CtBnjJ--.js.map → 19-DP-VZaas.js.map} +1 -1
  134. package/dist/server/chunks/{20-CWcXMop3.js → 20-CMmSZyFl.js} +4 -4
  135. package/dist/server/chunks/{20-CWcXMop3.js.map → 20-CMmSZyFl.js.map} +1 -1
  136. package/dist/server/chunks/{21-BU0zblsg.js → 21-BYJDd_8d.js} +4 -4
  137. package/dist/server/chunks/{21-BU0zblsg.js.map → 21-BYJDd_8d.js.map} +1 -1
  138. package/dist/server/chunks/{22-C3CSvTkt.js → 22-8fe3krqn.js} +4 -4
  139. package/dist/server/chunks/{22-C3CSvTkt.js.map → 22-8fe3krqn.js.map} +1 -1
  140. package/dist/server/chunks/{23-BuG8Yf0D.js → 23-wq-7yg6q.js} +4 -4
  141. package/dist/server/chunks/{23-BuG8Yf0D.js.map → 23-wq-7yg6q.js.map} +1 -1
  142. package/dist/server/chunks/{24-BGW8CKSF.js → 24-DC5zxDFB.js} +4 -4
  143. package/dist/server/chunks/{24-BGW8CKSF.js.map → 24-DC5zxDFB.js.map} +1 -1
  144. package/dist/server/chunks/{26-DVSPfQTr.js → 26-hcqcVIWE.js} +3 -3
  145. package/dist/server/chunks/{26-DVSPfQTr.js.map → 26-hcqcVIWE.js.map} +1 -1
  146. package/dist/server/chunks/{27-1iqzTYFQ.js → 27-C5TlaalZ.js} +4 -4
  147. package/dist/server/chunks/{27-1iqzTYFQ.js.map → 27-C5TlaalZ.js.map} +1 -1
  148. package/dist/server/chunks/{28-BVVHe4fT.js → 28-Dv_O3qx8.js} +2 -2
  149. package/dist/server/chunks/{28-BVVHe4fT.js.map → 28-Dv_O3qx8.js.map} +1 -1
  150. package/dist/server/chunks/{3-Bec9I1Vi.js → 3-D8y4fd6m.js} +4 -4
  151. package/dist/server/chunks/{3-Bec9I1Vi.js.map → 3-D8y4fd6m.js.map} +1 -1
  152. package/dist/server/chunks/{31-BG0vz49o.js → 31-CF4Z5NjL.js} +3 -3
  153. package/dist/server/chunks/{31-BG0vz49o.js.map → 31-CF4Z5NjL.js.map} +1 -1
  154. package/dist/server/chunks/{4-DmzdfFBr.js → 4-sREWh5O6.js} +2 -2
  155. package/dist/server/chunks/{4-DmzdfFBr.js.map → 4-sREWh5O6.js.map} +1 -1
  156. package/dist/server/chunks/{5-_GEk2YBx.js → 5-CE__D5Jg.js} +4 -4
  157. package/dist/server/chunks/{5-_GEk2YBx.js.map → 5-CE__D5Jg.js.map} +1 -1
  158. package/dist/server/chunks/{7-CvXawBlo.js → 7-BmtgJG3s.js} +4 -4
  159. package/dist/server/chunks/{7-CvXawBlo.js.map → 7-BmtgJG3s.js.map} +1 -1
  160. package/dist/server/chunks/{9-BlvJRvxz.js → 9-O6Bl3OI2.js} +4 -4
  161. package/dist/server/chunks/{9-BlvJRvxz.js.map → 9-O6Bl3OI2.js.map} +1 -1
  162. package/dist/server/chunks/{RootNodeForm-Bm9G5MWW.js → RootNodeForm-DalzPMdt.js} +2 -2
  163. package/dist/server/chunks/{RootNodeForm-Bm9G5MWW.js.map → RootNodeForm-DalzPMdt.js.map} +1 -1
  164. package/dist/server/chunks/{_layout.svelte-B2HQaWPl.js → _layout.svelte-B1HHruz4.js} +2 -2
  165. package/dist/server/chunks/{_layout.svelte-B2HQaWPl.js.map → _layout.svelte-B1HHruz4.js.map} +1 -1
  166. package/dist/server/chunks/{_layout.svelte-Bp2iRcQw.js → _layout.svelte-DV_ZtpKe.js} +2 -2
  167. package/dist/server/chunks/{_layout.svelte-Bp2iRcQw.js.map → _layout.svelte-DV_ZtpKe.js.map} +1 -1
  168. package/dist/server/chunks/{_layout.svelte-CFMQ-CAy.js → _layout.svelte-GPf55QCg.js} +2 -2
  169. package/dist/server/chunks/{_layout.svelte-CFMQ-CAy.js.map → _layout.svelte-GPf55QCg.js.map} +1 -1
  170. package/dist/server/chunks/{_layout.svelte-DKKsUEOC.js → _layout.svelte-oRV0DHV2.js} +2 -2
  171. package/dist/server/chunks/{_layout.svelte-DKKsUEOC.js.map → _layout.svelte-oRV0DHV2.js.map} +1 -1
  172. package/dist/server/chunks/{_page.svelte-DgeGDhXv.js → _page.svelte-B1qwFOgb.js} +3 -3
  173. package/dist/server/chunks/{_page.svelte-DgeGDhXv.js.map → _page.svelte-B1qwFOgb.js.map} +1 -1
  174. package/dist/server/chunks/{_page.svelte-B_yIIT1L.js → _page.svelte-Blnl78rT.js} +2 -2
  175. package/dist/server/chunks/{_page.svelte-B_yIIT1L.js.map → _page.svelte-Blnl78rT.js.map} +1 -1
  176. package/dist/server/chunks/{_page.svelte-DMXK4ecr.js → _page.svelte-Cczw63uT.js} +3 -3
  177. package/dist/server/chunks/{_page.svelte-DMXK4ecr.js.map → _page.svelte-Cczw63uT.js.map} +1 -1
  178. package/dist/server/chunks/{_page.svelte-DYYFRNE-.js → _page.svelte-CiTKeIT3.js} +2 -2
  179. package/dist/server/chunks/{_page.svelte-DYYFRNE-.js.map → _page.svelte-CiTKeIT3.js.map} +1 -1
  180. package/dist/server/chunks/{_page.svelte-DQXVauHW.js → _page.svelte-DncerzM6.js} +2 -2
  181. package/dist/server/chunks/{_page.svelte-DQXVauHW.js.map → _page.svelte-DncerzM6.js.map} +1 -1
  182. package/dist/server/chunks/{_page.svelte-CekYQ7xN.js → _page.svelte-DzE74V1-.js} +44 -8
  183. package/dist/server/chunks/_page.svelte-DzE74V1-.js.map +1 -0
  184. package/dist/server/chunks/{_page.svelte-CidTlZth.js → _page.svelte-Y9t5Rrgd.js} +3 -3
  185. package/dist/server/chunks/{_page.svelte-CidTlZth.js.map → _page.svelte-Y9t5Rrgd.js.map} +1 -1
  186. package/dist/server/chunks/_page.svelte-h2gD7KCt.js +203 -0
  187. package/dist/server/chunks/_page.svelte-h2gD7KCt.js.map +1 -0
  188. package/dist/server/chunks/{data.remote-1Qwd6vro.js → data.remote-BJglW4G6.js} +2 -4
  189. package/dist/server/chunks/data.remote-BJglW4G6.js.map +1 -0
  190. package/dist/server/chunks/{remote-7g2nt7-DdcBROnT.js → remote-7g2nt7-BnwAeCu6.js} +2 -2
  191. package/dist/server/chunks/remote-7g2nt7-BnwAeCu6.js.map +1 -0
  192. package/dist/server/index.js +1 -1
  193. package/dist/server/index.js.map +1 -1
  194. package/dist/server/manifest.js +25 -25
  195. package/dist/server/manifest.js.map +1 -1
  196. package/package.json +2 -2
  197. package/dist/client/_app/immutable/assets/27.3IrDis2P.css +0 -1
  198. package/dist/client/_app/immutable/assets/27.3IrDis2P.css.br +0 -0
  199. package/dist/client/_app/immutable/assets/27.3IrDis2P.css.gz +0 -0
  200. package/dist/client/_app/immutable/assets/TextArrayInput.BefTswgg.css.br +0 -0
  201. package/dist/client/_app/immutable/assets/TextArrayInput.BefTswgg.css.gz +0 -0
  202. package/dist/client/_app/immutable/chunks/BHmPjZ2c.js +0 -4
  203. package/dist/client/_app/immutable/chunks/BHmPjZ2c.js.br +0 -0
  204. package/dist/client/_app/immutable/chunks/BHmPjZ2c.js.gz +0 -0
  205. package/dist/client/_app/immutable/chunks/BdGureYG.js.br +0 -0
  206. package/dist/client/_app/immutable/chunks/BdGureYG.js.gz +0 -0
  207. package/dist/client/_app/immutable/chunks/BmzZfJzI.js.br +0 -0
  208. package/dist/client/_app/immutable/chunks/BmzZfJzI.js.gz +0 -0
  209. package/dist/client/_app/immutable/chunks/COd-ozSe.js.br +0 -0
  210. package/dist/client/_app/immutable/chunks/COd-ozSe.js.gz +0 -0
  211. package/dist/client/_app/immutable/chunks/CaUta1O9.js.br +0 -0
  212. package/dist/client/_app/immutable/chunks/CaUta1O9.js.gz +0 -0
  213. package/dist/client/_app/immutable/chunks/CkGpbB2c.js +0 -26
  214. package/dist/client/_app/immutable/chunks/CkGpbB2c.js.br +0 -0
  215. package/dist/client/_app/immutable/chunks/CkGpbB2c.js.gz +0 -0
  216. package/dist/client/_app/immutable/chunks/CyM0cp9N.js.br +0 -0
  217. package/dist/client/_app/immutable/chunks/CyM0cp9N.js.gz +0 -0
  218. package/dist/client/_app/immutable/chunks/DXEipY-X.js +0 -1
  219. package/dist/client/_app/immutable/chunks/DXEipY-X.js.br +0 -0
  220. package/dist/client/_app/immutable/chunks/DXEipY-X.js.gz +0 -0
  221. package/dist/client/_app/immutable/chunks/DZLQ5umq.js.br +0 -0
  222. package/dist/client/_app/immutable/chunks/DZLQ5umq.js.gz +0 -0
  223. package/dist/client/_app/immutable/chunks/Dopxs8JA.js.br +0 -0
  224. package/dist/client/_app/immutable/chunks/Dopxs8JA.js.gz +0 -0
  225. package/dist/client/_app/immutable/chunks/I2SZTXR2.js +0 -1
  226. package/dist/client/_app/immutable/chunks/I2SZTXR2.js.br +0 -2
  227. package/dist/client/_app/immutable/chunks/I2SZTXR2.js.gz +0 -0
  228. package/dist/client/_app/immutable/chunks/_ujqqHrb.js.br +0 -0
  229. package/dist/client/_app/immutable/chunks/_ujqqHrb.js.gz +0 -0
  230. package/dist/client/_app/immutable/chunks/dCqqWZRL.js.br +0 -0
  231. package/dist/client/_app/immutable/chunks/dCqqWZRL.js.gz +0 -0
  232. package/dist/client/_app/immutable/entry/app.BakRYmPr.js.br +0 -0
  233. package/dist/client/_app/immutable/entry/app.BakRYmPr.js.gz +0 -0
  234. package/dist/client/_app/immutable/entry/start.CPLBrfFj.js +0 -1
  235. package/dist/client/_app/immutable/entry/start.CPLBrfFj.js.br +0 -0
  236. package/dist/client/_app/immutable/entry/start.CPLBrfFj.js.gz +0 -0
  237. package/dist/client/_app/immutable/nodes/0.CB7z9awF.js.br +0 -0
  238. package/dist/client/_app/immutable/nodes/0.CB7z9awF.js.gz +0 -0
  239. package/dist/client/_app/immutable/nodes/1.Dpg_yKqh.js.br +0 -0
  240. package/dist/client/_app/immutable/nodes/1.Dpg_yKqh.js.gz +0 -0
  241. package/dist/client/_app/immutable/nodes/12.BpORx7iP.js.br +0 -0
  242. package/dist/client/_app/immutable/nodes/12.BpORx7iP.js.gz +0 -0
  243. package/dist/client/_app/immutable/nodes/14.I1jW1hdb.js.br +0 -0
  244. package/dist/client/_app/immutable/nodes/14.I1jW1hdb.js.gz +0 -0
  245. package/dist/client/_app/immutable/nodes/15.C9f2Ggg1.js.br +0 -0
  246. package/dist/client/_app/immutable/nodes/15.C9f2Ggg1.js.gz +0 -0
  247. package/dist/client/_app/immutable/nodes/18.BTnfgfdb.js +0 -1
  248. package/dist/client/_app/immutable/nodes/18.BTnfgfdb.js.br +0 -0
  249. package/dist/client/_app/immutable/nodes/18.BTnfgfdb.js.gz +0 -0
  250. package/dist/client/_app/immutable/nodes/19.tqpUqtpY.js +0 -1
  251. package/dist/client/_app/immutable/nodes/19.tqpUqtpY.js.br +0 -0
  252. package/dist/client/_app/immutable/nodes/19.tqpUqtpY.js.gz +0 -0
  253. package/dist/client/_app/immutable/nodes/20.BTnfgfdb.js +0 -1
  254. package/dist/client/_app/immutable/nodes/20.BTnfgfdb.js.br +0 -0
  255. package/dist/client/_app/immutable/nodes/20.BTnfgfdb.js.gz +0 -0
  256. package/dist/client/_app/immutable/nodes/21.Bsyh-t9p.js.br +0 -0
  257. package/dist/client/_app/immutable/nodes/21.Bsyh-t9p.js.gz +0 -0
  258. package/dist/client/_app/immutable/nodes/22.BTnfgfdb.js +0 -1
  259. package/dist/client/_app/immutable/nodes/22.BTnfgfdb.js.br +0 -0
  260. package/dist/client/_app/immutable/nodes/22.BTnfgfdb.js.gz +0 -0
  261. package/dist/client/_app/immutable/nodes/23.YKQL_Ics.js.br +0 -0
  262. package/dist/client/_app/immutable/nodes/23.YKQL_Ics.js.gz +0 -0
  263. package/dist/client/_app/immutable/nodes/24.BudTYiqp.js.br +0 -0
  264. package/dist/client/_app/immutable/nodes/24.BudTYiqp.js.gz +0 -0
  265. package/dist/client/_app/immutable/nodes/26.B-d7tQ9G.js.br +0 -0
  266. package/dist/client/_app/immutable/nodes/26.B-d7tQ9G.js.gz +0 -0
  267. package/dist/client/_app/immutable/nodes/27.Cn46xLCb.js +0 -1
  268. package/dist/client/_app/immutable/nodes/27.Cn46xLCb.js.br +0 -0
  269. package/dist/client/_app/immutable/nodes/27.Cn46xLCb.js.gz +0 -0
  270. package/dist/client/_app/immutable/nodes/28.N3HWJAkt.js.br +0 -0
  271. package/dist/client/_app/immutable/nodes/28.N3HWJAkt.js.gz +0 -0
  272. package/dist/client/_app/immutable/nodes/3.BXy9zMpM.js.br +0 -0
  273. package/dist/client/_app/immutable/nodes/3.BXy9zMpM.js.gz +0 -0
  274. package/dist/client/_app/immutable/nodes/31.Bijoi-jx.js.br +0 -0
  275. package/dist/client/_app/immutable/nodes/31.Bijoi-jx.js.gz +0 -0
  276. package/dist/client/_app/immutable/nodes/4.CFyd_JDv.js.br +0 -1
  277. package/dist/client/_app/immutable/nodes/4.CFyd_JDv.js.gz +0 -0
  278. package/dist/client/_app/immutable/nodes/5.CR76YToy.js.br +0 -0
  279. package/dist/client/_app/immutable/nodes/5.CR76YToy.js.gz +0 -0
  280. package/dist/client/_app/immutable/nodes/7.BzTmrUj2.js.br +0 -0
  281. package/dist/client/_app/immutable/nodes/7.BzTmrUj2.js.gz +0 -0
  282. package/dist/client/_app/immutable/nodes/9.CarC8T3V.js.br +0 -0
  283. package/dist/client/_app/immutable/nodes/9.CarC8T3V.js.gz +0 -0
  284. package/dist/server/chunks/13-bbSmsUXq.js +0 -36
  285. package/dist/server/chunks/13-bbSmsUXq.js.map +0 -1
  286. package/dist/server/chunks/_page.svelte-B5EJqG8y.js +0 -80
  287. package/dist/server/chunks/_page.svelte-B5EJqG8y.js.map +0 -1
  288. package/dist/server/chunks/_page.svelte-CekYQ7xN.js.map +0 -1
  289. package/dist/server/chunks/data.remote-1Qwd6vro.js.map +0 -1
  290. package/dist/server/chunks/remote-7g2nt7-DdcBROnT.js.map +0 -1
@@ -0,0 +1 @@
1
+ import{d as s}from"../chunks/y_6KjEX3.js";import{B as t}from"../chunks/BkETWZbE.js";export{t as load_css,s as start};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as q,f as m,a as C,b as f,c as x,d as a,l as u,a7 as p,s as g,a3 as S,r as t,a8 as j}from"../chunks/7qWbnjAX.js";import{s as z}from"../chunks/-Xzyz9Ue.js";import{N as M,C as O}from"../chunks/FUzdYPk7.js";import{N as T}from"../chunks/Cthj1J76.js";import{p as $}from"../chunks/CaUta1O9.js";import{d as c}from"../chunks/DO5IRDAc.js";const B=!0,J=Object.freeze(Object.defineProperty({__proto__:null,ssr:B},Symbol.toStringTag,{value:"Module"}));var D=m('<div class="right-controls svelte-12qhfyh"><label class="detailed-mode-label svelte-12qhfyh"><!> <span>Detailed</span></label></div>'),F=m('<div class="app-layout svelte-12qhfyh"><!> <main class="app-content svelte-12qhfyh"><!></main></div> <!>',1);function K(v,i){q(i,!0);let h=[{id:"finder",label:"Finder",href:"/en/finder"},{id:"node-types",label:"Node Types",href:"/en/node-types"},{id:"languages",label:"Languages",href:"/languages"},{id:"images",label:"Images",href:"/images"},{id:"info",label:"Info",href:"/info"}],b=p(()=>()=>{const e=$.url.pathname;return e.includes("/finder")?"finder":e.includes("/node-types")?"node-types":e.includes("/languages")?"languages":e.includes("/images")?"images":e.includes("/info")?"info":"finder"});var s=F(),n=C(s),o=a(n);{const e=I=>{var r=D(),d=a(r),k=a(d);O(k,{get checked(){return c.value},size:"16",intent:"default",onchange:()=>c.toggle()}),j(2),t(d),t(r),f(I,r)};let N=p(()=>u(b)());M(o,{brandName:"Bloko Studio",get items(){return h},get activeId(){return u(N)},sticky:!0,rightContent:e,$$slots:{rightContent:!0}})}var l=g(o,2),y=a(l);z(y,()=>i.children??S),t(l),t(n);var _=g(n,2);T(_,{position:"top-right"}),f(v,s),x()}export{K as component,J as universal};
1
+ import"../chunks/DsnmJJEf.js";import{p as q,f as m,a as C,b as f,c as x,d as a,l as u,a7 as p,s as g,a3 as S,r as t,a8 as j}from"../chunks/7qWbnjAX.js";import{s as z}from"../chunks/-Xzyz9Ue.js";import{N as M,C as O}from"../chunks/FUzdYPk7.js";import{N as T}from"../chunks/Cthj1J76.js";import{p as $}from"../chunks/BoH7l3Ay.js";import{d as c}from"../chunks/DO5IRDAc.js";const B=!0,J=Object.freeze(Object.defineProperty({__proto__:null,ssr:B},Symbol.toStringTag,{value:"Module"}));var D=m('<div class="right-controls svelte-12qhfyh"><label class="detailed-mode-label svelte-12qhfyh"><!> <span>Detailed</span></label></div>'),F=m('<div class="app-layout svelte-12qhfyh"><!> <main class="app-content svelte-12qhfyh"><!></main></div> <!>',1);function K(v,i){q(i,!0);let h=[{id:"finder",label:"Finder",href:"/en/finder"},{id:"node-types",label:"Node Types",href:"/en/node-types"},{id:"languages",label:"Languages",href:"/languages"},{id:"images",label:"Images",href:"/images"},{id:"info",label:"Info",href:"/info"}],b=p(()=>()=>{const e=$.url.pathname;return e.includes("/finder")?"finder":e.includes("/node-types")?"node-types":e.includes("/languages")?"languages":e.includes("/images")?"images":e.includes("/info")?"info":"finder"});var s=F(),n=C(s),o=a(n);{const e=I=>{var r=D(),d=a(r),k=a(d);O(k,{get checked(){return c.value},size:"16",intent:"default",onchange:()=>c.toggle()}),j(2),t(d),t(r),f(I,r)};let N=p(()=>u(b)());M(o,{brandName:"Bloko Studio",get items(){return h},get activeId(){return u(N)},sticky:!0,rightContent:e,$$slots:{rightContent:!0}})}var l=g(o,2),y=a(l);z(y,()=>i.children??S),t(l),t(n);var _=g(n,2);T(_,{position:"top-right"}),f(v,s),x()}export{K as component,J as universal};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import"../chunks/Bh2rLP5V.js";import{p as h,f as c,a as l,t as v,b as u,c as _,d as s,r as e,s as d}from"../chunks/7qWbnjAX.js";import{s as o}from"../chunks/DdOgh5Is.js";import{i as g}from"../chunks/K_Tc9XzK.js";import{p}from"../chunks/CaUta1O9.js";var x=c("<h1> </h1> <p> </p>",1);function y(m,i){h(i,!1),g();var t=x(),r=l(t),f=s(r,!0);e(r);var a=d(r,2),n=s(a,!0);e(a),v(()=>{o(f,p.status),o(n,p.error?.message)}),u(m,t),_()}export{y as component};
1
+ import"../chunks/DsnmJJEf.js";import"../chunks/Bh2rLP5V.js";import{p as h,f as c,a as l,t as v,b as u,c as _,d as s,r as e,s as d}from"../chunks/7qWbnjAX.js";import{s as o}from"../chunks/DdOgh5Is.js";import{i as g}from"../chunks/K_Tc9XzK.js";import{p}from"../chunks/BoH7l3Ay.js";var x=c("<h1> </h1> <p> </p>",1);function y(m,i){h(i,!1),g();var t=x(),r=l(t),f=s(r,!0);e(r);var a=d(r,2),n=s(a,!0);e(a),v(()=>{o(f,p.status),o(n,p.error?.message)}),u(m,t),_()}export{y as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as E,f as F,b as j,c as G,s as y,d as r,v as o,l as a,o as I,r as d,a7 as T}from"../chunks/7qWbnjAX.js";import{e as J}from"../chunks/DdOgh5Is.js";import{s as K}from"../chunks/-Xzyz9Ue.js";import{i as L}from"../chunks/C8ddfRgv.js";import{s as Q,a as U}from"../chunks/DGY7Nmge.js";import{I as W,T as X}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{n as p}from"../chunks/Cthj1J76.js";import{p as Y}from"../chunks/CyM0cp9N.js";import{i as b,g as _}from"../chunks/BHmPjZ2c.js";import{c as Z,u as $}from"../chunks/_ujqqHrb.js";var ee=F('<div class="empty svelte-gnijxc">No node types</div>'),te=F('<div class="container svelte-gnijxc"><div class="leftArea svelte-gnijxc"><div class="leftHeader svelte-gnijxc">Node Types</div> <div class="leftContent svelte-gnijxc"><!></div> <div class="leftFooter svelte-gnijxc"><form class="createForm svelte-gnijxc"><!></form></div></div> <!></div>');function ue(C,s){E(s,!0);const P=()=>U(Y,"$page",S),[S,k]=Q();let n=I(""),x=I(""),h=I(!1),w=T(()=>P().params.id||null),i=T(()=>s.data.nodeTypes.map((e,t)=>({id:t,nodeTypeId:e.id,name:e.code,order:e.sort??999999}))),z=T(()=>a(i).find(e=>e.nodeTypeId===a(w))?.id??null);function A(e){const t=a(i)[e];t&&(a(w)===t.nodeTypeId?_(`/${s.data.languageId}/node-types`):_(`/${s.data.languageId}/node-types/${t.nodeTypeId}`))}async function B(e){e?.preventDefault?.();const t=a(n).trim();if(t){o(h,!0);try{const l=s.data.nodeTypes.reduce((c,q)=>Math.max(c,q.sort??0),-1),g=await Z({code:t,sort:l+1,notes:a(x).trim()||null});await b("app:node-types"),o(n,""),o(x,""),_(`/${s.data.languageId}/node-types/${g.id}`),p.success("Node type created")}catch{p.error("Failed to create node type")}finally{o(h,!1)}}}async function D(e){try{const t=e.map(({itemId:l,order:g})=>{const c=a(i)[l];return c?$({id:c.nodeTypeId,updates:{sort:g}}):null}).filter(Boolean);await Promise.all(t),await b("app:node-types"),p.success("Order updated")}catch{p.error("Failed to save order")}}var v=te(),m=r(v),u=y(r(m),2),H=r(u);{var M=e=>{var t=ee();j(e,t)},O=e=>{X(e,{get items(){return a(i)},allowNesting:!1,get selectedId(){return a(z)},onSelect:A,onReorder:D,gap:"2px"})};L(H,e=>{s.data.nodeTypes.length===0?e(M):e(O,!1)})}d(u);var N=y(u,2),f=r(N),R=r(f);W(R,{placeholder:"New node type code",size:"28",get value(){return a(n)},set value(e){o(n,e,!0)}}),d(f),d(N),d(m);var V=y(m,2);K(V,()=>s.children),d(v),J("submit",f,B),j(C,v),G(),k()}export{ue as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as E,f as F,b as j,c as G,s as y,d as r,v as o,l as a,o as I,r as d,a7 as T}from"../chunks/7qWbnjAX.js";import{e as J}from"../chunks/DdOgh5Is.js";import{s as K}from"../chunks/-Xzyz9Ue.js";import{i as L}from"../chunks/C8ddfRgv.js";import{s as Q,a as U}from"../chunks/DGY7Nmge.js";import{I as W,T as X}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{n as p}from"../chunks/Cthj1J76.js";import{p as Y}from"../chunks/DFiKK9xz.js";import{i as b,g as _}from"../chunks/y_6KjEX3.js";import{c as Z,u as $}from"../chunks/DpNOes8v.js";var ee=F('<div class="empty svelte-gnijxc">No node types</div>'),te=F('<div class="container svelte-gnijxc"><div class="leftArea svelte-gnijxc"><div class="leftHeader svelte-gnijxc">Node Types</div> <div class="leftContent svelte-gnijxc"><!></div> <div class="leftFooter svelte-gnijxc"><form class="createForm svelte-gnijxc"><!></form></div></div> <!></div>');function ue(C,s){E(s,!0);const P=()=>U(Y,"$page",S),[S,k]=Q();let n=I(""),x=I(""),h=I(!1),w=T(()=>P().params.id||null),i=T(()=>s.data.nodeTypes.map((e,t)=>({id:t,nodeTypeId:e.id,name:e.code,order:e.sort??999999}))),z=T(()=>a(i).find(e=>e.nodeTypeId===a(w))?.id??null);function A(e){const t=a(i)[e];t&&(a(w)===t.nodeTypeId?_(`/${s.data.languageId}/node-types`):_(`/${s.data.languageId}/node-types/${t.nodeTypeId}`))}async function B(e){e?.preventDefault?.();const t=a(n).trim();if(t){o(h,!0);try{const l=s.data.nodeTypes.reduce((c,q)=>Math.max(c,q.sort??0),-1),g=await Z({code:t,sort:l+1,notes:a(x).trim()||null});await b("app:node-types"),o(n,""),o(x,""),_(`/${s.data.languageId}/node-types/${g.id}`),p.success("Node type created")}catch{p.error("Failed to create node type")}finally{o(h,!1)}}}async function D(e){try{const t=e.map(({itemId:l,order:g})=>{const c=a(i)[l];return c?$({id:c.nodeTypeId,updates:{sort:g}}):null}).filter(Boolean);await Promise.all(t),await b("app:node-types"),p.success("Order updated")}catch{p.error("Failed to save order")}}var v=te(),m=r(v),u=y(r(m),2),H=r(u);{var M=e=>{var t=ee();j(e,t)},O=e=>{X(e,{get items(){return a(i)},allowNesting:!1,get selectedId(){return a(z)},onSelect:A,onReorder:D,gap:"2px"})};L(H,e=>{s.data.nodeTypes.length===0?e(M):e(O,!1)})}d(u);var N=y(u,2),f=r(N),R=r(f);W(R,{placeholder:"New node type code",size:"28",get value(){return a(n)},set value(e){o(n,e,!0)}}),d(f),d(N),d(m);var V=y(m,2);K(V,()=>s.children),d(v),J("submit",f,B),j(C,v),G(),k()}export{ue as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as J,f as D,b as F,c as K,s as v,d as i,v as r,l as t,o as _,r as l,a8 as Q,a7 as w}from"../chunks/7qWbnjAX.js";import{e as U}from"../chunks/DdOgh5Is.js";import{s as W}from"../chunks/-Xzyz9Ue.js";import{i as X}from"../chunks/C8ddfRgv.js";import{s as Y,a as Z}from"../chunks/DGY7Nmge.js";import{I as z,T as $}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{n as f}from"../chunks/Cthj1J76.js";import{p as ee}from"../chunks/CyM0cp9N.js";import{i as C,g as y}from"../chunks/BHmPjZ2c.js";import{c as ae,u as te}from"../chunks/COd-ozSe.js";var re=D('<div class="empty svelte-1if1h51">No languages</div>'),se=D('<div class="container svelte-1if1h51"><div class="leftArea svelte-1if1h51"><div class="leftHeader svelte-1if1h51">Languages</div> <div class="leftContent svelte-1if1h51"><!></div> <div class="leftFooter svelte-1if1h51"><form class="createForm svelte-1if1h51"><!> <!> <button type="submit" hidden=""></button></form></div></div> <!></div>');function he(N,s){J(s,!0);const P=()=>Z(ee,"$page",S),[S,k]=Y();let n=_(""),o=_(""),b=_(!1),x=w(()=>P().params.id||null),d=w(()=>s.data.languages.map((e,a)=>({id:a,langId:e.id,name:e.id,order:e.sort??999999}))),A=w(()=>t(d).find(e=>e.langId===t(x))?.id??null);function B(e){const a=t(d)[e];a&&(t(x)===a.langId?y("/languages"):y(`/languages/${a.langId}`))}async function E(e){e?.preventDefault?.();const a=t(n).trim(),u=t(o).trim();if(!(!a||!u)){r(b,!0);try{const g=s.data.languages.reduce((q,G)=>Math.max(q,G.sort??0),-1),c=await ae({id:a,title:u,sort:g+1});await C("app:languages"),r(n,""),r(o,""),y(`/languages/${c.id}`),f.success("Language created")}catch{f.error("Failed to create language")}finally{r(b,!1)}}}async function H(e){try{const a=e.map(({itemId:u,order:g})=>{const c=t(d)[u];return c?te({id:c.langId,updates:{sort:g}}):null}).filter(Boolean);await Promise.all(a),await C("app:languages"),f.success("Order updated")}catch{f.error("Failed to save order")}}var m=se(),p=i(m),h=v(i(p),2),M=i(h);{var O=e=>{var a=re();F(e,a)},R=e=>{$(e,{get items(){return t(d)},allowNesting:!1,get selectedId(){return t(A)},onSelect:B,onReorder:H,gap:"2px"})};X(M,e=>{s.data.languages.length===0?e(O):e(R,!1)})}l(h);var L=v(h,2),I=i(L),T=i(I);z(T,{placeholder:"ID (e.g. en)",size:"28",get value(){return t(n)},set value(e){r(n,e,!0)}});var V=v(T,2);z(V,{placeholder:"Title (e.g. English)",size:"28",get value(){return t(o)},set value(e){r(o,e,!0)}}),Q(2),l(I),l(L),l(p);var j=v(p,2);W(j,()=>s.children),l(m),U("submit",I,E),F(N,m),K(),k()}export{he as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as J,f as D,b as F,c as K,s as v,d as i,v as r,l as t,o as _,r as l,a8 as Q,a7 as w}from"../chunks/7qWbnjAX.js";import{e as U}from"../chunks/DdOgh5Is.js";import{s as W}from"../chunks/-Xzyz9Ue.js";import{i as X}from"../chunks/C8ddfRgv.js";import{s as Y,a as Z}from"../chunks/DGY7Nmge.js";import{I as z,T as $}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{n as f}from"../chunks/Cthj1J76.js";import{p as ee}from"../chunks/DFiKK9xz.js";import{i as C,g as y}from"../chunks/y_6KjEX3.js";import{c as ae,u as te}from"../chunks/30qeoBqZ.js";var re=D('<div class="empty svelte-1if1h51">No languages</div>'),se=D('<div class="container svelte-1if1h51"><div class="leftArea svelte-1if1h51"><div class="leftHeader svelte-1if1h51">Languages</div> <div class="leftContent svelte-1if1h51"><!></div> <div class="leftFooter svelte-1if1h51"><form class="createForm svelte-1if1h51"><!> <!> <button type="submit" hidden=""></button></form></div></div> <!></div>');function he(N,s){J(s,!0);const P=()=>Z(ee,"$page",S),[S,k]=Y();let n=_(""),o=_(""),b=_(!1),x=w(()=>P().params.id||null),d=w(()=>s.data.languages.map((e,a)=>({id:a,langId:e.id,name:e.id,order:e.sort??999999}))),A=w(()=>t(d).find(e=>e.langId===t(x))?.id??null);function B(e){const a=t(d)[e];a&&(t(x)===a.langId?y("/languages"):y(`/languages/${a.langId}`))}async function E(e){e?.preventDefault?.();const a=t(n).trim(),u=t(o).trim();if(!(!a||!u)){r(b,!0);try{const g=s.data.languages.reduce((q,G)=>Math.max(q,G.sort??0),-1),c=await ae({id:a,title:u,sort:g+1});await C("app:languages"),r(n,""),r(o,""),y(`/languages/${c.id}`),f.success("Language created")}catch{f.error("Failed to create language")}finally{r(b,!1)}}}async function H(e){try{const a=e.map(({itemId:u,order:g})=>{const c=t(d)[u];return c?te({id:c.langId,updates:{sort:g}}):null}).filter(Boolean);await Promise.all(a),await C("app:languages"),f.success("Order updated")}catch{f.error("Failed to save order")}}var m=se(),p=i(m),h=v(i(p),2),M=i(h);{var O=e=>{var a=re();F(e,a)},R=e=>{$(e,{get items(){return t(d)},allowNesting:!1,get selectedId(){return t(A)},onSelect:B,onReorder:H,gap:"2px"})};X(M,e=>{s.data.languages.length===0?e(O):e(R,!1)})}l(h);var L=v(h,2),I=i(L),T=i(I);z(T,{placeholder:"ID (e.g. en)",size:"28",get value(){return t(n)},set value(e){r(n,e,!0)}});var V=v(T,2);z(V,{placeholder:"Title (e.g. English)",size:"28",get value(){return t(o)},set value(e){r(o,e,!0)}}),Q(2),l(I),l(L),l(p);var j=v(p,2);W(j,()=>s.children),l(m),U("submit",I,E),F(N,m),K(),k()}export{he as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import"../chunks/Bh2rLP5V.js";import{o as a}from"../chunks/3IgWsHuA.js";import{p as i,f as p,b as e,c as n}from"../chunks/7qWbnjAX.js";import{i as m}from"../chunks/K_Tc9XzK.js";import{g as s}from"../chunks/BHmPjZ2c.js";var f=p('<div class="container svelte-1uha8ag"><p>Redirecting to Finder...</p></div>');function h(o,r){i(r,!1),a(()=>{s("/en/finder",{replaceState:!0})}),m();var t=f();e(o,t),n()}export{h as component};
1
+ import"../chunks/DsnmJJEf.js";import"../chunks/Bh2rLP5V.js";import{o as a}from"../chunks/3IgWsHuA.js";import{p as i,f as p,b as e,c as n}from"../chunks/7qWbnjAX.js";import{i as m}from"../chunks/K_Tc9XzK.js";import{g as s}from"../chunks/y_6KjEX3.js";var f=p('<div class="container svelte-1uha8ag"><p>Redirecting to Finder...</p></div>');function h(o,r){i(r,!1),a(()=>{s("/en/finder",{replaceState:!0})}),m();var t=f();e(o,t),n()}export{h as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{R as a}from"../chunks/CDondc2F.js";function m(o,t){a(o,{get data(){return t.data}})}export{m as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{f as T,d as s,r as i,s as o,t as Te,b as y,a as ie,p as Ge,o as F,q as Y,h as $e,l as t,v as a,c as qe,a7 as _,e as _e,a3 as ut}from"../chunks/7qWbnjAX.js";import{i as S}from"../chunks/C8ddfRgv.js";import{n as I,e as je,i as Me,a as nt}from"../chunks/Cthj1J76.js";import{s as gt,a as mt}from"../chunks/DGY7Nmge.js";import{b as dt,M as st,B as K,I as Fe,a as pe,D as me,L as _t}from"../chunks/DuQW8kGn.js";import{s as re}from"../chunks/DdOgh5Is.js";import{s as lt}from"../chunks/-Xzyz9Ue.js";import"../chunks/FUzdYPk7.js";import{F as ke}from"../chunks/DbpPCKvO.js";import{L as rt}from"../chunks/DhLkQWYT.js";import{i as H,g as Ze}from"../chunks/y_6KjEX3.js";import{p as ft}from"../chunks/DFiKK9xz.js";import{o as Ee,p as xe,q as yt,s as bt,t as ht,v as It,w as Je}from"../chunks/LtEPjfl3.js";import{p as it}from"../chunks/Bwb4YjZ4.js";import{d as ot}from"../chunks/DO5IRDAc.js";var wt=T('<span class="separator svelte-5v5m9l">|</span> <span class="label svelte-5v5m9l">content id:</span> <span class="sid svelte-5v5m9l"> </span>',1),kt=T('<span class="contentType svelte-5v5m9l"><span class="type svelte-5v5m9l"> </span> <!></span>'),Tt=T('<div class="title svelte-5v5m9l"> </div>'),zt=T('<div class="contentForm svelte-5v5m9l"><!></div>'),Ct=T('<div class="childrenSlot svelte-5v5m9l"><!></div>'),Lt=T('<div class="hint svelte-5v5m9l"> </div>'),Nt=T('<div class="blockPreview svelte-5v5m9l"><div class="header svelte-5v5m9l"><span class="code svelte-5v5m9l"> </span> <!></div> <div class="content svelte-5v5m9l"><!> <!> <!> <!></div></div>');function St(fe,e){var P=Nt(),W=s(P),f=s(W),g=s(f,!0);i(f);var O=o(f,2);{var N=b=>{var x=kt(),B=s(x),ze=s(B,!0);i(B);var ye=o(B,2);{var Ae=ve=>{var Z=wt(),Ce=o(ie(Z),4),se=s(Ce,!0);i(Ce),Te(()=>re(se,e.contentId)),y(ve,Z)};S(ye,ve=>{e.contentId&&ve(Ae)})}i(x),Te(()=>re(ze,e.contentType)),y(b,x)};S(O,b=>{e.contentType&&b(N)})}i(W);var h=o(W,2),U=s(h);{var A=b=>{var x=Tt(),B=s(x,!0);i(x),Te(()=>re(B,e.title)),y(b,x)};S(U,b=>{e.title&&b(A)})}var $=o(U,2);{var ee=b=>{var x=zt(),B=s(x);lt(B,()=>e.contentForm),i(x),y(b,x)};S($,b=>{e.contentForm&&b(ee)})}var oe=o($,2);{var ce=b=>{var x=Ct(),B=s(x);lt(B,()=>e.children),i(x),y(b,x)};S(oe,b=>{e.children&&b(ce)})}var G=o(oe,2);{var q=b=>{var x=Lt(),B=s(x,!0);i(x),Te(()=>re(B,e.hint)),y(b,x)};S(G,b=>{e.hint&&b(q)})}i(h),i(P),Te(()=>re(g,e.code)),y(fe,P)}var xt=T('<div class="imageWrapper svelte-17bp990"><!></div>'),Ft=T('<div class="imageListWrapper svelte-17bp990"><!></div>'),At=T('<div class="listItemRow svelte-17bp990"><!> <!></div>'),Vt=T('<div class="textListWrapper svelte-17bp990"><!> <!></div>'),Rt=T('<div class="titledListItemCard svelte-17bp990"><div class="titledListItemHeader svelte-17bp990"><span class="itemNumber svelte-17bp990"></span> <!></div> <div class="titledListItemFields svelte-17bp990"><!> <!></div></div>'),Dt=T('<div class="titledListWrapper svelte-17bp990"><!> <!></div>'),Ot=T('<div class="inputWrapper svelte-17bp990"><!></div> <!>',1),Ut=T('<div class="contentFormWrapper svelte-17bp990"><!></div>');function Bt(fe,e){Ge(e,!0);let P=it(e,"contentImageUrl",3,null),W=it(e,"contentImages",19,()=>[]),f=F(Y(e.contentValue||"")),g=F(!1),O=_(()=>e.block.content?.id!=null),N=F(Y(e.block.content_type==="text_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),h=F(Y(e.block.content_type==="titled_list"&&Array.isArray(e.contentValue)?[...e.contentValue]:[])),U=F(`${e.block.id}-${e.node.id}-${e.data.languageId}`);$e(()=>{const d=`${e.block.id}-${e.node.id}-${e.data.languageId}`;d!==t(U)&&(a(U,d),e.block.content_type==="text_list"?a(N,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0))});async function A(){a(g,!0);try{let d,v;if(e.block.content_type==="number"){const r=String(t(f)||"").trim();d=r===""?null:parseFloat(r),v=d!==null?"Saved":"Deleted"}else if(e.block.content_type==="text_list"){const r=t(N).filter(c=>c&&c.trim()).map(c=>c.trim());d={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else if(e.block.content_type==="titled_list"){const r=t(h).filter(c=>c?.title?.trim()||c?.text?.trim()).map(c=>({title:c?.title?.trim()||"",text:c?.text?.trim()||""}));d={...e.block.content?.value||{},[e.data.languageId]:r.length>0?r:[]},v=r.length>0?"Saved":"Deleted"}else{const r=(t(f)||"").trim();d={...e.block.content?.value||{},[e.data.languageId]:r},v=r?"Saved":"Deleted"}const J={_node:e.node.id,_block:e.block.id,value:d};await xe(J),await H("app:nodes"),I.success(v)}catch(d){console.error("Save error:",d),I.error("Failed to save"),e.block.content_type==="text_list"?a(N,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):e.block.content_type==="titled_list"?a(h,Array.isArray(e.contentValue)?[...e.contentValue]:[],!0):a(f,e.contentValue||"",!0)}finally{a(g,!1)}}async function $(){if(e.block.content_type==="number"){const d=t(f)===""?null:parseFloat(t(f)),v=e.contentValue===""||e.contentValue==null?null:parseFloat(e.contentValue);if(d===v)return}else{const d=(t(f)||"").trim(),v=(e.contentValue||"").trim();if(d===v)return}await A()}async function ee(){if(!t(O)){a(g,!0);try{const d={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{},forceCreate:!0};await xe(d),await H("app:nodes"),I.success("Content created");const v=`content-${e.block.id}-${e.data.languageId}`;setTimeout(()=>{document.getElementById(v)?.focus()},50)}catch(d){console.error("Create error:",d),I.error("Failed to create")}finally{a(g,!1)}}}async function oe(){if(t(O)&&confirm("Delete this entire content row (all languages)?")){a(g,!0);try{const d={_node:e.node.id,_block:e.block.id,value:e.block.content_type==="number"?null:{}};await xe(d),await H("app:nodes"),a(f,""),a(N,[],!0),a(h,[],!0),I.success("Deleted")}catch(d){console.error("Delete error:",d),I.error("Failed to delete")}finally{a(g,!1)}}}function ce(){a(N,[...t(N),""],!0)}function G(d){a(N,t(N).filter((v,J)=>J!==d),!0),A()}function q(d,v){t(N)[d]=v}function b(){a(h,[...t(h),{title:"",text:""}],!0)}function x(d){a(h,t(h).filter((v,J)=>J!==d),!0),A()}function B(d,v,J){t(h)[d]={...t(h)[d],[v]:J}}async function ze(d){const v=await d.arrayBuffer(),J=btoa(new Uint8Array(v).reduce((c,C)=>c+String.fromCharCode(C),"")),r=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:J,fileName:d.name,mimeType:d.type,nodeId:e.node.id})});if(!r.ok){const c=await r.json().catch(()=>({}));throw new Error(c.message||c.body?.message||"Upload failed")}return r.json()}function ye(d){return typeof d=="string"&&d.length>0&&!d.startsWith("{")}async function Ae(d){if(!d){a(g,!0);try{ye(e.contentValue)&&await Ee({imageId:e.contentValue}),await xe({_node:e.node.id,_block:e.block.id,value:null}),await H("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}return}a(g,!0);try{ye(e.contentValue)&&await Ee({imageId:e.contentValue});const v=await ze(d);await xe({_node:e.node.id,_block:e.block.id,value:v.image.id}),await H("app:nodes"),I.success("Image updated")}catch(v){console.error("Image upload error:",v),I.error(v.message||"Failed to upload image")}finally{a(g,!1)}}async function ve(d){a(g,!0);try{const v=await ze(d),r=[...Array.isArray(e.contentValue)?e.contentValue:[],v.image.id];await xe({_node:e.node.id,_block:e.block.id,value:r}),await H("app:nodes"),I.success("Image added")}catch(v){throw console.error("Image upload error:",v),I.error(v.message||"Failed to upload image"),v}finally{a(g,!1)}}async function Z(d){a(g,!0);try{const J=(Array.isArray(e.contentValue)?e.contentValue:[]).filter(r=>r!==d);await xe({_node:e.node.id,_block:e.block.id,value:J}),await Ee({imageId:d}),await H("app:nodes"),I.success("Image removed")}catch(v){console.error("Image delete error:",v),I.error("Failed to remove image")}finally{a(g,!1)}}async function Ce(d){a(g,!0);try{await xe({_node:e.node.id,_block:e.block.id,value:d}),await H("app:nodes"),I.success("Images reordered")}catch(v){console.error("Image reorder error:",v),I.error("Failed to reorder images")}finally{a(g,!1)}}var se=Ut(),Ve=s(se);{var Le=d=>{var v=xt(),J=s(v);{let r=_(()=>P()?.url||null);dt(J,{get src(){return t(r)},onchange:Ae,get disabled(){return t(g)}})}i(v),y(d,v)},Re=d=>{var v=_e(),J=ie(v);{var r=C=>{var z=Ft(),w=s(z);st(w,{get images(){return W()},onupload:ve,ondelete:Z,onreorder:Ce,get disabled(){return t(g)}}),i(z),y(C,z)},c=C=>{var z=_e(),w=ie(z);{var V=R=>{var E=Ot(),te=ie(E),j=s(te);{var ae=X=>{Fe(X,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",placeholder:"Enter text",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(ne){a(f,ne,!0)}})},p=X=>{var ne=_e(),Oe=ie(ne);{var k=l=>{pe(l,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},placeholder:"Enter paragraph",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(u){a(f,u,!0)}})},n=l=>{var u=_e(),m=ie(u);{var M=D=>{Fe(D,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}`},size:"32",type:"number",placeholder:"Enter number",onblur:$,get disabled(){return t(g)},get value(){return t(f)},set value(le){a(f,le,!0)}})},L=D=>{var le=_e(),Ne=ie(le);{var be=ue=>{var ge=Vt(),de=s(ge);je(de,17,()=>t(N),Me,(Ie,we,Be)=>{var Pe=At(),We=s(Pe);Fe(We,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Be}`},size:"32",placeholder:`List item ${Be+1}`,get value(){return t(we)},oninput:Se=>q(Be,Se.target.value),onblur:A,get disabled(){return t(g)}});var He=o(We,2);K(He,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>G(Be),get disabled(){return t(g)}}),i(Pe),y(Ie,Pe)});var he=o(de,2);K(he,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:ce,get disabled(){return t(g)}}),i(ge),y(ue,ge)},Ue=ue=>{var ge=_e(),de=ie(ge);{var he=Ie=>{var we=Dt(),Be=s(we);je(Be,17,()=>t(h),Me,(We,He,Se)=>{var Ke=Rt(),Qe=s(Ke),et=s(Qe);et.textContent=Se+1;var ct=o(et,2);K(ct,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>x(Se),get disabled(){return t(g)}}),i(Qe);var tt=o(Qe,2),at=s(tt);{let Xe=_(()=>t(He)?.title||"");Fe(at,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Se}-title`},size:"32",placeholder:"Title",get value(){return t(Xe)},oninput:Ye=>B(Se,"title",Ye.target.value),onblur:A,get disabled(){return t(g)}})}var vt=o(at,2);{let Xe=_(()=>t(He)?.text||"");pe(vt,{get id(){return`content-${e.block.id??""}-${e.data.languageId??""}-${Se}-text`},placeholder:"Text",get value(){return t(Xe)},oninput:Ye=>B(Se,"text",Ye.target.value),onblur:A,get disabled(){return t(g)}})}i(tt),i(Ke),y(We,Ke)});var Pe=o(Be,2);K(Pe,{label:"+ Add Item",intent:"secondary",size:"24",type:"button",onclick:b,get disabled(){return t(g)}}),i(we),y(Ie,we)};S(de,Ie=>{e.block.content_type==="titled_list"&&Ie(he)},!0)}y(ue,ge)};S(Ne,ue=>{e.block.content_type==="text_list"?ue(be):ue(Ue,!1)},!0)}y(D,le)};S(m,D=>{e.block.content_type==="number"?D(M):D(L,!1)},!0)}y(l,u)};S(Oe,l=>{e.block.content_type==="paragraph"?l(k):l(n,!1)},!0)}y(X,ne)};S(j,X=>{e.block.content_type==="text"?X(ae):X(p,!1)})}i(te);var De=o(te,2);K(De,{label:"D",intent:"danger",size:"24",type:"button",onclick:oe,get disabled(){return t(g)}}),y(R,E)},Q=R=>{K(R,{label:"Create Content",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(g)}})};S(w,R=>{t(O)?R(V):R(Q,!1)},!0)}y(C,z)};S(J,C=>{e.block.content_type==="image_list"?C(r):C(c,!1)},!0)}y(d,v)};S(Ve,d=>{e.block.content_type==="image"?d(Le):d(Re,!1)})}i(se),y(fe,se),qe()}var Jt=T('<div class="previewText svelte-lcvot5"> </div>'),Et=T('<div class="createRelationForm svelte-lcvot5"><!> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Relation Type</label> <!></div></div> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Collection</label> <!></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Node Type</label> <!></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Target Node</label> <!></div></div> <div class="formActions svelte-lcvot5"><!> <!></div></div>'),jt=T('<div class="relationItem svelte-lcvot5"><span class="relationText svelte-lcvot5"><span class="nodeCode svelte-lcvot5"> </span> <span class="relationCode svelte-lcvot5"> </span> <a class="nodeLink svelte-lcvot5"> </a></span> <!></div>'),Mt=T('<div class="relationsList svelte-lcvot5"></div>'),Pt=T('<div class="emptyState svelte-lcvot5">No outgoing relations</div>'),Wt=T('<div class="previewText svelte-lcvot5"> </div>'),Ht=T('<div class="createRelationForm svelte-lcvot5"><!> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Relation Type</label> <!></div></div> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Collection</label> <!></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Node Type</label> <!></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Source Node</label> <!></div></div> <div class="formActions svelte-lcvot5"><!> <!></div></div>'),Gt=T('<div class="relationItem svelte-lcvot5"><span class="relationText svelte-lcvot5"><span class="nodeCode svelte-lcvot5"> </span> <span class="relationCode svelte-lcvot5"> </span> <a class="nodeLink svelte-lcvot5"> </a></span> <!></div>'),qt=T('<div class="relationsList svelte-lcvot5"></div>'),Kt=T('<div class="emptyState svelte-lcvot5">No incoming relations</div>'),Qt=T('<div class="relationsWrapper svelte-lcvot5"><div class="sectionHeader svelte-lcvot5"><div class="sectionTitle svelte-lcvot5">Outgoing Relations</div> <!></div> <!> <!> <div class="sectionHeader svelte-lcvot5"><div class="sectionTitle svelte-lcvot5">Incoming Relations</div> <!></div> <!> <!></div>');function Xt(fe,e){Ge(e,!0);let P=F(!1),W=F(!1),f=F(!1),g=F(""),O=F(Y(e.data.collection.id)),N=F("ALL"),h=F(""),U=F(Y([]));$e(()=>{t(P)&&t(O)&&A()});async function A(){try{const r=await yt({collectionId:t(O),nodeType:t(N)==="ALL"?null:t(N),excludeNodeId:e.node.id});a(U,r,!0),a(h,"")}catch(r){console.error("Failed to load nodes:",r),I.error("Failed to load nodes")}}function $(){a(P,!0),a(W,!1),a(g,""),a(O,e.data.collection.id,!0),a(N,"ALL"),a(h,""),a(U,[],!0),A()}function ee(){a(P,!0),a(W,!0),a(g,""),a(O,e.data.collection.id,!0),a(N,"ALL"),a(h,""),a(U,[],!0),A()}function oe(){a(P,!1),a(W,!1),a(g,""),a(O,e.data.collection.id,!0),a(N,"ALL"),a(h,""),a(U,[],!0)}async function ce(){if(!t(g)||!t(h)){I.error("Please select a relation type and target node");return}a(f,!0);try{const r=t(W)?t(h):e.node.id,c=t(W)?e.node.id:t(h);await bt({_node_relation_type:t(g),_from:r,_to:c}),await H("app:nodes"),I.success("Relation created"),oe()}catch(r){console.error("Create relation error:",r),I.error("Failed to create relation")}finally{a(f,!1)}}async function G(r){if(confirm("Delete this relation?")){a(f,!0);try{await ht({id:r}),await H("app:nodes"),I.success("Relation deleted")}catch(c){console.error("Delete relation error:",c),I.error("Failed to delete relation")}finally{a(f,!1)}}}let q=_(()=>e.data.relationTypes||[]),b=_(()=>{const r=t(q).find(C=>C.id===t(g)),c=t(U).find(C=>C.id===t(h));return!r||!c?"":t(W)?`${c.code} - ${r.code} -> ${e.node.code}`:`${e.node.code} - ${r.code} -> ${c.code}`});var x=Qt(),B=s(x),ze=o(s(B),2);{let r=_(()=>t(f)||t(P));K(ze,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:$,get disabled(){return t(r)}})}i(B);var ye=o(B,2);{var Ae=r=>{var c=Et(),C=s(c);{var z=k=>{var n=Jt(),l=s(n,!0);i(n),Te(()=>re(l,t(b))),y(k,n)};S(C,k=>{t(b)&&k(z)})}var w=o(C,2),V=s(w),Q=o(s(V),2);{let k=_(()=>t(q).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(k)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(V),i(w);var R=o(w,2),E=s(R),te=o(s(E),2);{let k=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:A,get options(){return t(k)},get disabled(){return t(f)},get value(){return t(O)},set value(n){a(O,n,!0)}})}i(E);var j=o(E,2),ae=o(s(j),2);{let k=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:A,get options(){return t(k)},get disabled(){return t(f)},get value(){return t(N)},set value(n){a(N,n,!0)}})}i(j);var p=o(j,2),De=o(s(p),2);{let k=_(()=>t(U).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(U).length===0);me(De,{size:"24",get options(){return t(k)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(R);var X=o(R,2),ne=s(X);{let k=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(k)}})}var Oe=o(ne,2);K(Oe,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:oe,get disabled(){return t(f)}}),i(X),i(c),y(r,c)};S(ye,r=>{t(P)&&!t(W)&&r(Ae)})}var ve=o(ye,2);{var Z=r=>{var c=Mt();je(c,21,()=>e.outgoingRelations,Me,(C,z)=>{var w=jt(),V=s(w),Q=s(V),R=s(Q,!0);i(Q);var E=o(Q,2),te=s(E,!0);i(E);var j=o(E,2),ae=s(j,!0);i(j),i(V);var p=o(V,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>G(t(z).id),get disabled(){return t(f)}}),i(w),Te(()=>{re(R,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(z).relation_type_title?.[e.data.languageId]||t(z).relation_type_code),nt(j,"href",`/${e.data.languageId??""}/finder/${t(z).to_node_collection??""}/nodes/${t(z).to_node_path??""}`),re(ae,t(z).to_node_code)}),y(C,w)}),i(c),y(r,c)},Ce=r=>{var c=_e(),C=ie(c);{var z=w=>{var V=Pt();y(w,V)};S(C,w=>{(!t(P)||t(W))&&w(z)},!0)}y(r,c)};S(ve,r=>{e.outgoingRelations&&e.outgoingRelations.length>0?r(Z):r(Ce,!1)})}var se=o(ve,2),Ve=o(s(se),2);{let r=_(()=>t(f)||t(P));K(Ve,{label:"+ Add Relation",intent:"secondary",size:"24",type:"button",onclick:ee,get disabled(){return t(r)}})}i(se);var Le=o(se,2);{var Re=r=>{var c=Ht(),C=s(c);{var z=k=>{var n=Wt(),l=s(n,!0);i(n),Te(()=>re(l,t(b))),y(k,n)};S(C,k=>{t(b)&&k(z)})}var w=o(C,2),V=s(w),Q=o(s(V),2);{let k=_(()=>t(q).map(n=>({value:n.id,label:n.code})));me(Q,{size:"24",get options(){return t(k)},get disabled(){return t(f)},get value(){return t(g)},set value(n){a(g,n,!0)}})}i(V),i(w);var R=o(w,2),E=s(R),te=o(s(E),2);{let k=_(()=>e.data.collections?.map(n=>({value:n.id,label:n.code}))||[]);me(te,{size:"24",onchange:A,get options(){return t(k)},get disabled(){return t(f)},get value(){return t(O)},set value(n){a(O,n,!0)}})}i(E);var j=o(E,2),ae=o(s(j),2);{let k=_(()=>[{value:"ALL",label:"ALL"},...e.data.nodeTypes?.map(n=>({value:n.id,label:n.code}))||[]]);me(ae,{size:"24",onchange:A,get options(){return t(k)},get disabled(){return t(f)},get value(){return t(N)},set value(n){a(N,n,!0)}})}i(j);var p=o(j,2),De=o(s(p),2);{let k=_(()=>t(U).map(l=>({value:l.id,label:l.code}))),n=_(()=>t(f)||t(U).length===0);me(De,{size:"24",get options(){return t(k)},get disabled(){return t(n)},get value(){return t(h)},set value(l){a(h,l,!0)}})}i(p),i(R);var X=o(R,2),ne=s(X);{let k=_(()=>t(f)||!t(g)||!t(h));K(ne,{label:"Create",intent:"primary",size:"24",type:"button",onclick:ce,get disabled(){return t(k)}})}var Oe=o(ne,2);K(Oe,{label:"Cancel",intent:"secondary",size:"24",type:"button",onclick:oe,get disabled(){return t(f)}}),i(X),i(c),y(r,c)};S(Le,r=>{t(P)&&t(W)&&r(Re)})}var d=o(Le,2);{var v=r=>{var c=qt();je(c,21,()=>e.incomingRelations,Me,(C,z)=>{var w=Gt(),V=s(w),Q=s(V),R=s(Q,!0);i(Q);var E=o(Q,2),te=s(E,!0);i(E);var j=o(E,2),ae=s(j,!0);i(j),i(V);var p=o(V,2);K(p,{label:"×",intent:"danger",size:"24",type:"button",onclick:()=>G(t(z).id),get disabled(){return t(f)}}),i(w),Te(()=>{re(R,e.node.code||e.node.title?.[e.data.languageId]||"unknown"),re(te,t(z).relation_type_title?.[e.data.languageId]||t(z).relation_type_code),nt(j,"href",`/${e.data.languageId??""}/finder/${t(z).from_node_collection??""}/nodes/${t(z).from_node_path??""}`),re(ae,t(z).from_node_code)}),y(C,w)}),i(c),y(r,c)},J=r=>{var c=_e(),C=ie(c);{var z=w=>{var V=Kt();y(w,V)};S(C,w=>{(!t(P)||!t(W))&&w(z)},!0)}y(r,c)};S(d,r=>{e.incomingRelations&&e.incomingRelations.length>0?r(v):r(J,!1)})}i(x),y(fe,x),qe()}var Yt=T('<div class="nestedBlocks svelte-15y8zm1"></div>'),Zt=T('<div class="metaRow svelte-15y8zm1"><!> <!></div>'),pt=T('<div class="coverImageWrapper svelte-15y8zm1"><!></div>'),$t=T('<hr class="svelte-15y8zm1"/> <div class="sectionHeader svelte-15y8zm1"><div class="sectionTitle svelte-15y8zm1">Blocks and Content</div> <!></div> <div class="blocksList svelte-15y8zm1"></div>',1),ea=T('<div class="rightArea svelte-15y8zm1"><div class="header svelte-15y8zm1"><h2 class="title svelte-15y8zm1">Edit Node</h2> <!></div> <div class="editor svelte-15y8zm1"><!> <!> <!> <div class="row svelte-15y8zm1"><!> <!></div> <div class="imagesRow svelte-15y8zm1"><!> <!></div> <hr class="svelte-15y8zm1"/> <!> <div class="row svelte-15y8zm1"><!> <!></div> <!> <!> <hr class="svelte-15y8zm1"/> <!></div></div>');function ta(fe,e){Ge(e,!0);const P=()=>mt(ft,"$page",W),[W,f]=gt(),g=(n,l=ut)=>{{const u=be=>{var Ue=_e(),ue=ie(Ue);{var ge=de=>{{let he=_(()=>l().content_type==="number"||l().content_type==="image"||l().content_type==="image_list"?l().content?.value??(l().content_type==="image_list"?[]:""):l().content?.value?.[e.data.languageId]||""),Ie=_(()=>l().content_type==="image"?e.data.contentImageUrls?.[l().id]:null),we=_(()=>l().content_type==="image_list"?e.data.contentImageUrls?.[l().id]||[]:[]);Bt(de,{get data(){return e.data},get block(){return l()},get node(){return e.node},get contentValue(){return t(he)},get contentImageUrl(){return t(Ie)},get contentImages(){return t(we)}})}};S(ue,de=>{l().content_type&&de(ge)})}y(be,Ue)},m=be=>{var Ue=_e(),ue=ie(Ue);{var ge=de=>{var he=Yt();je(he,21,()=>l().children,Me,(Ie,we)=>{g(Ie,()=>t(we))}),i(he),y(de,he)};S(ue,de=>{l().children&&l().children.length>0&&de(ge)})}y(be,Ue)};let M=_(()=>l().code||l().notes||`Block ${l().id}`),L=_(()=>l().title?.[e.data.languageId]||""),D=_(()=>l().hint?.[e.data.languageId]||""),le=_(()=>l().content_type||""),Ne=_(()=>l().content?.id);St(n,{get code(){return t(M)},get title(){return t(L)},get hint(){return t(D)},get contentType(){return t(le)},get contentId(){return t(Ne)},contentForm:u,children:m})}};let O=F(Y(e.node?.code||"")),N=F(Y(e.node?.notes||"")),h=F(Y(e.node?._node_type||"")),U=F(Y(e.node?._template||"")),A=F(Y(e.node?._cover_image||null)),$=F(Y(e.data.coverImageUrl||null)),ee=F(!1),oe=F(!1),ce=F(!1),G=F(Y({...e.node?.title||{}})),q=F(Y({...e.node?.subtitle||{}})),b=F(Y({...e.node?.slug||{}})),x=_(()=>{const n={};for(const l of e.data.languages){const u=t(G)[l]?.trim(),m=t(b)[l]?.trim();n[l]=u&&m?"success":"danger"}return n}),B=F(Y(e.node?.id));$e(()=>{e.node?.id!==t(B)&&(a(B,e.node?.id,!0),a(O,e.node?.code||"",!0),a(N,e.node?.notes||"",!0),a(h,e.node?._node_type||"",!0),a(U,e.node?._template||"",!0),a(A,e.node?._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0),a(G,{...e.node?.title||{}},!0),a(q,{...e.node?.subtitle||{}},!0),a(b,{...e.node?.slug||{}},!0))});async function ze(n){if(e.node)if(n){a(ce,!0);try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((L,D)=>L+String.fromCharCode(D),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok)throw new Error(await m.text()||"Upload failed");const M=await m.json();if(t(A))try{await Ee({imageId:t(A)})}catch{}a(A,M.image.id,!0),await Je({id:e.node.id,_cover_image:M.image.id}),await H("app:nodes"),I.success("Cover image uploaded")}catch(l){console.error("Upload error:",l),I.error("Failed to upload image")}finally{a(ce,!1)}}else{if(!t(A))return;a(ee,!0);try{const l=t(A);a(A,null),a($,null),await Je({id:e.node.id,_cover_image:null}),await Ee({imageId:l}),await H("app:nodes"),I.success("Cover image deleted")}catch(l){console.error("Delete error:",l),I.error("Failed to delete image"),a(A,e.node._cover_image||null,!0),a($,e.data.coverImageUrl||null,!0)}finally{a(ee,!1)}}}async function ye(n){if(e.node)try{const l=await n.arrayBuffer(),u=btoa(new Uint8Array(l).reduce((Ne,be)=>Ne+String.fromCharCode(be),"")),m=await fetch("/api/images/upload-json",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({base64Data:u,fileName:n.name,mimeType:n.type,nodeId:e.node.id})});if(!m.ok){const Ne=await m.json().catch(()=>({})),be=Ne.message||Ne.body?.message||"Upload failed";throw new Error(be)}const L=(await m.json()).image,le=[...e.node._images||[],L.id];await Je({id:e.node.id,_images:le}),await H("app:nodes"),I.success("Image added")}catch(l){throw console.error("Gallery upload error:",l),I.error(l.message||"Failed to upload image"),l}}async function Ae(n){if(!e.node)return;const u=(e.node._images||[]).filter(m=>m!==n);await Je({id:e.node.id,_images:u}),await Ee({imageId:n}),await H("app:nodes"),I.success("Image removed")}async function ve(n){e.node&&(await Je({id:e.node.id,_images:n}),await H("app:nodes"),I.success("Images reordered"))}async function Z(){if(!e.node)return;const n=t(O).trim(),l=t(N).trim()||null,u=t(h),m=t(U)||null;if(n!==(e.node.code||"")||l!==e.node.notes||u!==e.node._node_type||m!==e.node._template||JSON.stringify(t(G))!==JSON.stringify(e.node.title||{})||JSON.stringify(t(q))!==JSON.stringify(e.node.subtitle||{})||JSON.stringify(t(b))!==JSON.stringify(e.node.slug||{})){a(ee,!0);try{const L={id:e.node.id,code:n||null,notes:l,_node_type:u,_template:m};JSON.stringify(t(G))!==JSON.stringify(e.node.title||{})&&(L.title=t(G)),JSON.stringify(t(q))!==JSON.stringify(e.node.subtitle||{})&&(L.subtitle=t(q)),JSON.stringify(t(b))!==JSON.stringify(e.node.slug||{})&&(L.slug=t(b)),await Je(L),await H("app:nodes"),I.success("Saved")}catch(L){console.error("Save error:",L),I.error("Failed to save"),a(O,e.node.code||"",!0),a(N,e.node.notes||"",!0),a(h,e.node._node_type||"",!0),a(U,e.node._template||"",!0),a(G,{...e.node?.title||{}},!0),a(q,{...e.node?.subtitle||{}},!0),a(b,{...e.node?.slug||{}},!0)}finally{a(ee,!1)}}}async function Ce(){if(e.node&&confirm("Delete this node? This will delete all child nodes.")){a(oe,!0);try{await It({id:e.node.id}),await H("app:nodes"),await Ze(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes`),I.success("Deleted")}catch{I.error("Failed to delete")}finally{a(oe,!1)}}}function se(n,l){if(!n||n.length===0)return[];const u=new Map;l&&l.forEach(L=>{u.set(L._block,L)});const m=new Map,M=[];return n.forEach(L=>{const D=u.get(L.id);m.set(L.id,{...L,children:[],content:D})}),n.forEach(L=>{const D=m.get(L.id);if(L._parent===null)M.push(D);else{const le=m.get(L._parent);le&&le.children.push(D)}}),M}let Ve=_(()=>se(e.data.blocks,e.data.contents));var Le=ea(),Re=s(Le),d=o(s(Re),2);{let n=_(()=>t(oe)||t(ee));K(d,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:Ce,get disabled(){return t(n)}})}i(Re);var v=o(Re,2),J=s(v);{var r=n=>{var l=Zt(),u=s(l);{let M=_(()=>String(e.node?.id??""));rt(u,{label:"id",get text(){return t(M)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var m=o(u,2);{let M=_(()=>String(e.node?.sort??""));rt(m,{label:"sort",get text(){return t(M)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}i(l),y(n,l)};S(J,n=>{ot.value&&n(r)})}var c=o(J,2);ke(c,{label:"Code",children:l=>{Fe(l,{id:"node-code",size:"32",placeholder:"Node code",variant:"accent",onblur:Z,get value(){return t(O)},set value(u){a(O,u,!0)}})},$$slots:{default:!0}});var C=o(c,2);{var z=n=>{ke(n,{label:"Notes",children:u=>{pe(u,{id:"node-notes",placeholder:"Description (optional)",variant:"accent",onblur:Z,get value(){return t(N)},set value(m){a(N,m,!0)}})},$$slots:{default:!0}})};S(C,n=>{ot.value&&n(z)})}var w=o(C,2),V=s(w);ke(V,{label:"Node Type",children:l=>{{let u=_(()=>e.data.nodeTypes?.map(m=>({value:m.id,label:m.code}))||[]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(h)},set value(m){a(h,m,!0)}})}},$$slots:{default:!0}});var Q=o(V,2);ke(Q,{label:"Template",children:l=>{{let u=_(()=>[{value:"",label:"None"},...e.data.templates?.map(m=>({value:m.id,label:m.code||m.notes||`Template ${m.id}`}))||[]]);me(l,{size:"32",onchange:Z,get options(){return t(u)},get value(){return t(U)},set value(m){a(U,m,!0)}})}},$$slots:{default:!0}}),i(w);var R=o(w,2),E=s(R);ke(E,{label:"Cover",children:l=>{var u=pt(),m=s(u);{let M=_(()=>t(ee)||t(ce));dt(m,{get src(){return t($)},onchange:ze,get disabled(){return t(M)}})}i(u),y(l,u)},$$slots:{default:!0}});var te=o(E,2);ke(te,{label:"Gallery",children:l=>{{let u=_(()=>e.data.galleryImages||[]);st(l,{get images(){return t(u)},onupload:ye,ondelete:Ae,onreorder:ve,get disabled(){return t(ee)}})}},$$slots:{default:!0}}),i(R);var j=o(R,4);_t(j,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},get intents(){return t(x)},onclick:n=>{const u=P().url.pathname.replace(/^\/[^\/]+/,`/${n}`);Ze(u)}});var ae=o(j,2),p=s(ae);ke(p,{label:"Title",children:l=>{{let u=_(()=>t(G)[e.data.languageId]||"");Fe(l,{get id(){return`node-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(G,{...t(G),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var De=o(p,2);ke(De,{label:"Slug",children:l=>{{let u=_(()=>t(b)[e.data.languageId]||"");Fe(l,{get id(){return`node-slug-${e.data.languageId??""}`},size:"32",get placeholder(){return`Slug in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(b,{...t(b),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}}),i(ae);var X=o(ae,2);ke(X,{label:"Subtitle",children:l=>{{let u=_(()=>t(q)[e.data.languageId]||"");Fe(l,{get id(){return`node-subtitle-${e.data.languageId??""}`},size:"32",get placeholder(){return`Subtitle in ${e.data.languageId??""}`},get value(){return t(u)},oninput:m=>{a(q,{...t(q),[e.data.languageId]:m.target.value},!0)},onblur:Z})}},$$slots:{default:!0}});var ne=o(X,2);{var Oe=n=>{var l=$t(),u=o(ie(l),2),m=o(s(u),2);{var M=D=>{K(D,{label:"View Template",intent:"secondary",size:"24",type:"button",onclick:()=>Ze(`/${e.data.languageId}/finder/${e.data.collection.id}/templates/${e.node._template}`)})};S(m,D=>{e.node._template&&D(M)})}i(u);var L=o(u,2);je(L,21,()=>t(Ve),Me,(D,le)=>{g(D,()=>t(le))}),i(L),y(n,l)};S(ne,n=>{t(Ve)&&t(Ve).length>0&&n(Oe)})}var k=o(ne,4);{let n=_(()=>e.data.outgoingRelations||[]),l=_(()=>e.data.incomingRelations||[]);Xt(k,{get data(){return e.data},get node(){return e.node},get outgoingRelations(){return t(n)},get incomingRelations(){return t(l)}})}i(v),i(Le),y(fe,Le),qe(),f()}function ba(fe,e){Ge(e,!0),ta(fe,{get data(){return e.data},get node(){return e.data.node}}),qe()}export{ba as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{R as a}from"../chunks/CDondc2F.js";function m(o,t){a(o,{get data(){return t.data}})}export{m as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as C,o as d,q as y,h as j,l as t,v as a,f as G,b as K,c as B,s as u,d as w,a7 as I,r as N}from"../chunks/7qWbnjAX.js";import{s as M,a as Q}from"../chunks/DGY7Nmge.js";import{B as U,L as V,I as S,a as W}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{F as f}from"../chunks/dCqqWZRL.js";import{n as h}from"../chunks/Cthj1J76.js";import{i as F,g as z}from"../chunks/BHmPjZ2c.js";import{p as X}from"../chunks/CyM0cp9N.js";import{g as Y,h as Z}from"../chunks/DZLQ5umq.js";var $=G('<div class="rightArea svelte-kxwh35"><div class="header svelte-kxwh35"><h2 class="title svelte-kxwh35">Edit Relation Type</h2> <!></div> <div class="editor svelte-kxwh35"><!> <!> <hr class="svelte-kxwh35"/> <!> <!> <!></div></div>');function ee(T,e){C(e,!0);const L=()=>Q(X,"$page",P),[P,q]=M();let c=d(y(e.relationType?.code||"")),n=d(y({...e.relationType?.title||{}})),o=d(y({...e.relationType?.reverse_title||{}})),g=d(y(e.relationType?.notes||"")),m=d(!1),_=d(!1),R=d(y(e.relationType?.id));j(()=>{e.relationType?.id!==t(R)&&(a(R,e.relationType?.id,!0),a(c,e.relationType?.code||"",!0),a(n,{...e.relationType?.title||{}},!0),a(o,{...e.relationType?.reverse_title||{}},!0),a(g,e.relationType?.notes||"",!0))});async function v(){if(!e.relationType)return;const i=t(c).trim(),l=t(g).trim()||null;if(i!==(e.relationType.code||"")||l!==e.relationType.notes||JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})||JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})){a(m,!0);try{const s={id:e.relationType.id,code:i||null,notes:l};JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})&&(s.title=t(n)),JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})&&(s.reverse_title=t(o)),await Z(s),await F("app:relation-types"),h.success("Saved")}catch{h.error("Failed to save"),a(c,e.relationType.code||"",!0),a(n,{...e.relationType.title||{}},!0),a(o,{...e.relationType.reverse_title||{}},!0),a(g,e.relationType.notes||"",!0)}finally{a(m,!1)}}}async function A(){if(e.relationType&&confirm("Delete this relation type?")){a(_,!0);try{await Y({id:e.relationType.id}),await F("app:relation-types"),await z(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`),h.success("Deleted")}catch{h.error("Failed to delete")}finally{a(_,!1)}}}var b=$(),p=w(b),E=u(w(p),2);{let i=I(()=>t(_)||t(m));U(E,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:A,get disabled(){return t(i)}})}N(p);var x=u(p,2),J=w(x);f(J,{label:"Code",children:l=>{S(l,{id:"relation-type-code",size:"32",placeholder:"Relation type code",variant:"accent",onblur:v,get value(){return t(c)},set value(r){a(c,r,!0)}})},$$slots:{default:!0}});var O=u(J,2);f(O,{label:"Notes",children:l=>{W(l,{id:"relation-type-notes",placeholder:"Description (optional)",variant:"accent",onblur:v,get value(){return t(g)},set value(r){a(g,r,!0)}})},$$slots:{default:!0}});var k=u(O,4);V(k,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const r=L().url.pathname.replace(/^\/[^\/]+/,`/${i}`);z(r)}});var D=u(k,2);f(D,{label:"Title (Forward Direction)",children:l=>{{let r=I(()=>t(n)[e.data.languageId]||"");S(l,{get id(){return`relation-type-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Symptom of",get value(){return t(r)},oninput:s=>{a(n,{...t(n),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}});var H=u(D,2);f(H,{label:"Reverse Title (Reverse Direction)",children:l=>{{let r=I(()=>t(o)[e.data.languageId]||"");S(l,{get id(){return`relation-type-reverse-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Has symptoms",get value(){return t(r)},oninput:s=>{a(o,{...t(o),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}}),N(x),N(b),K(T,b),B(),q()}function ce(T,e){C(e,!0),ee(T,{get data(){return e.data},get relationType(){return e.data.relationType}}),B()}export{ce as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as C,o as d,q as y,h as j,l as t,v as a,f as G,b as K,c as B,s as u,d as w,a7 as I,r as N}from"../chunks/7qWbnjAX.js";import{s as M,a as Q}from"../chunks/DGY7Nmge.js";import{B as U,L as V,I as S,a as W}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{F as f}from"../chunks/DbpPCKvO.js";import{n as h}from"../chunks/Cthj1J76.js";import{i as F,g as z}from"../chunks/y_6KjEX3.js";import{p as X}from"../chunks/DFiKK9xz.js";import{g as Y,h as Z}from"../chunks/LtEPjfl3.js";var $=G('<div class="rightArea svelte-kxwh35"><div class="header svelte-kxwh35"><h2 class="title svelte-kxwh35">Edit Relation Type</h2> <!></div> <div class="editor svelte-kxwh35"><!> <!> <hr class="svelte-kxwh35"/> <!> <!> <!></div></div>');function ee(T,e){C(e,!0);const L=()=>Q(X,"$page",P),[P,q]=M();let c=d(y(e.relationType?.code||"")),n=d(y({...e.relationType?.title||{}})),o=d(y({...e.relationType?.reverse_title||{}})),g=d(y(e.relationType?.notes||"")),m=d(!1),_=d(!1),R=d(y(e.relationType?.id));j(()=>{e.relationType?.id!==t(R)&&(a(R,e.relationType?.id,!0),a(c,e.relationType?.code||"",!0),a(n,{...e.relationType?.title||{}},!0),a(o,{...e.relationType?.reverse_title||{}},!0),a(g,e.relationType?.notes||"",!0))});async function v(){if(!e.relationType)return;const i=t(c).trim(),l=t(g).trim()||null;if(i!==(e.relationType.code||"")||l!==e.relationType.notes||JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})||JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})){a(m,!0);try{const s={id:e.relationType.id,code:i||null,notes:l};JSON.stringify(t(n))!==JSON.stringify(e.relationType.title||{})&&(s.title=t(n)),JSON.stringify(t(o))!==JSON.stringify(e.relationType.reverse_title||{})&&(s.reverse_title=t(o)),await Z(s),await F("app:relation-types"),h.success("Saved")}catch{h.error("Failed to save"),a(c,e.relationType.code||"",!0),a(n,{...e.relationType.title||{}},!0),a(o,{...e.relationType.reverse_title||{}},!0),a(g,e.relationType.notes||"",!0)}finally{a(m,!1)}}}async function A(){if(e.relationType&&confirm("Delete this relation type?")){a(_,!0);try{await Y({id:e.relationType.id}),await F("app:relation-types"),await z(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`),h.success("Deleted")}catch{h.error("Failed to delete")}finally{a(_,!1)}}}var b=$(),p=w(b),E=u(w(p),2);{let i=I(()=>t(_)||t(m));U(E,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:A,get disabled(){return t(i)}})}N(p);var x=u(p,2),J=w(x);f(J,{label:"Code",children:l=>{S(l,{id:"relation-type-code",size:"32",placeholder:"Relation type code",variant:"accent",onblur:v,get value(){return t(c)},set value(r){a(c,r,!0)}})},$$slots:{default:!0}});var O=u(J,2);f(O,{label:"Notes",children:l=>{W(l,{id:"relation-type-notes",placeholder:"Description (optional)",variant:"accent",onblur:v,get value(){return t(g)},set value(r){a(g,r,!0)}})},$$slots:{default:!0}});var k=u(O,4);V(k,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const r=L().url.pathname.replace(/^\/[^\/]+/,`/${i}`);z(r)}});var D=u(k,2);f(D,{label:"Title (Forward Direction)",children:l=>{{let r=I(()=>t(n)[e.data.languageId]||"");S(l,{get id(){return`relation-type-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Symptom of",get value(){return t(r)},oninput:s=>{a(n,{...t(n),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}});var H=u(D,2);f(H,{label:"Reverse Title (Reverse Direction)",children:l=>{{let r=I(()=>t(o)[e.data.languageId]||"");S(l,{get id(){return`relation-type-reverse-title-${e.data.languageId??""}`},size:"32",placeholder:"e.g. Has symptoms",get value(){return t(r)},oninput:s=>{a(o,{...t(o),[e.data.languageId]:s.target.value},!0)},onblur:v})}},$$slots:{default:!0}}),N(x),N(b),K(T,b),B(),q()}function ce(T,e){C(e,!0),ee(T,{get data(){return e.data},get relationType(){return e.data.relationType}}),B()}export{ce as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{R as a}from"../chunks/CDondc2F.js";function m(o,t){a(o,{get data(){return t.data}})}export{m as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as B,o as s,q as c,h as U,l as a,v as l,f as P,b as N,c as q,s as o,d as g,a7 as k,r as v}from"../chunks/7qWbnjAX.js";import{i as D}from"../chunks/C8ddfRgv.js";import{s as V,a as W}from"../chunks/DGY7Nmge.js";import{B as X,L as Y,I as L,a as Z}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{F as I}from"../chunks/dCqqWZRL.js";import{L as $}from"../chunks/BdGureYG.js";import{n as f}from"../chunks/Cthj1J76.js";import{i as z,g as J}from"../chunks/BHmPjZ2c.js";import{p as ee}from"../chunks/CyM0cp9N.js";import{i as te,j as ae}from"../chunks/DZLQ5umq.js";import{d as O}from"../chunks/DO5IRDAc.js";var le=P('<div class="row svelte-83jkmb"><!></div>'),ie=P('<div class="rightArea svelte-83jkmb"><div class="header svelte-83jkmb"><h2 class="title svelte-83jkmb">Edit Template</h2> <!></div> <div class="editor svelte-83jkmb"><!> <!> <!> <hr class="svelte-83jkmb"/> <!> <!></div></div>');function re(h,e){B(e,!0);const A=()=>W(ee,"$page",E),[E,M]=V();let u=s(c(e.template?.code||"")),d=s(c({...e.template?.title||{}})),m=s(c(e.template?.notes||"")),b=s(!1),p=s(!1),x=s(c(e.template?.id));U(()=>{e.template?.id!==a(x)&&(l(x,e.template?.id,!0),l(u,e.template?.code||"",!0),l(d,{...e.template?.title||{}},!0),l(m,e.template?.notes||"",!0))});async function _(){if(!e.template)return;const t=a(u).trim(),i=a(m).trim()||null;if(t!==(e.template.code||"")||i!==e.template.notes||JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})){l(b,!0);try{const n={id:e.template.id,code:t||null,notes:i};JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})&&(n.title=a(d)),await ae(n),await z("app:templates"),f.success("Saved")}catch{f.error("Failed to save"),l(u,e.template.code||"",!0),l(d,{...e.template.title||{}},!0),l(m,e.template.notes||"",!0)}finally{l(b,!1)}}}async function G(){if(e.template&&confirm("Delete this template?")){l(p,!0);try{await te({id:e.template.id}),await z("app:templates"),await J(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),f.success("Deleted")}catch{f.error("Failed to delete")}finally{l(p,!1)}}}var y=ie(),T=g(y),H=o(g(T),2);{let t=k(()=>a(p)||a(b));X(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:G,get disabled(){return a(t)}})}v(T);var j=o(T,2),w=g(j);{var K=t=>{var i=le(),r=g(i);{let n=k(()=>String(e.template?.id??""));$(r,{label:"id",get text(){return a(n)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}v(i),N(t,i)};D(w,t=>{O.value&&t(K)})}var S=o(w,2);I(S,{label:"Code",children:i=>{L(i,{id:"template-code",size:"32",placeholder:"Template code",variant:"accent",onblur:_,get value(){return a(u)},set value(r){l(u,r,!0)}})},$$slots:{default:!0}});var C=o(S,2);{var Q=t=>{I(t,{label:"Notes",children:r=>{Z(r,{id:"template-notes",placeholder:"Description (optional)",variant:"accent",onblur:_,get value(){return a(m)},set value(n){l(m,n,!0)}})},$$slots:{default:!0}})};D(C,t=>{O.value&&t(Q)})}var F=o(C,4);Y(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:t=>{const r=A().url.pathname.replace(/^\/[^\/]+/,`/${t}`);J(r)}});var R=o(F,2);I(R,{label:"Title",children:i=>{{let r=k(()=>a(d)[e.data.languageId]||"");L(i,{get id(){return`template-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return a(r)},oninput:n=>{l(d,{...a(d),[e.data.languageId]:n.target.value},!0)},onblur:_})}},$$slots:{default:!0}}),v(j),v(y),N(h,y),q(),M()}function _e(h,e){B(e,!0),re(h,{get data(){return e.data},get template(){return e.data.template}}),q()}export{_e as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as B,o as s,q as c,h as U,l as a,v as l,f as P,b as N,c as q,s as o,d as g,a7 as k,r as v}from"../chunks/7qWbnjAX.js";import{i as D}from"../chunks/C8ddfRgv.js";import{s as V,a as W}from"../chunks/DGY7Nmge.js";import{B as X,L as Y,I as L,a as Z}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{F as I}from"../chunks/DbpPCKvO.js";import{L as $}from"../chunks/DhLkQWYT.js";import{n as f}from"../chunks/Cthj1J76.js";import{i as z,g as J}from"../chunks/y_6KjEX3.js";import{p as ee}from"../chunks/DFiKK9xz.js";import{i as te,j as ae}from"../chunks/LtEPjfl3.js";import{d as O}from"../chunks/DO5IRDAc.js";var le=P('<div class="row svelte-83jkmb"><!></div>'),ie=P('<div class="rightArea svelte-83jkmb"><div class="header svelte-83jkmb"><h2 class="title svelte-83jkmb">Edit Template</h2> <!></div> <div class="editor svelte-83jkmb"><!> <!> <!> <hr class="svelte-83jkmb"/> <!> <!></div></div>');function re(h,e){B(e,!0);const A=()=>W(ee,"$page",E),[E,M]=V();let u=s(c(e.template?.code||"")),d=s(c({...e.template?.title||{}})),m=s(c(e.template?.notes||"")),b=s(!1),p=s(!1),x=s(c(e.template?.id));U(()=>{e.template?.id!==a(x)&&(l(x,e.template?.id,!0),l(u,e.template?.code||"",!0),l(d,{...e.template?.title||{}},!0),l(m,e.template?.notes||"",!0))});async function _(){if(!e.template)return;const t=a(u).trim(),i=a(m).trim()||null;if(t!==(e.template.code||"")||i!==e.template.notes||JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})){l(b,!0);try{const n={id:e.template.id,code:t||null,notes:i};JSON.stringify(a(d))!==JSON.stringify(e.template.title||{})&&(n.title=a(d)),await ae(n),await z("app:templates"),f.success("Saved")}catch{f.error("Failed to save"),l(u,e.template.code||"",!0),l(d,{...e.template.title||{}},!0),l(m,e.template.notes||"",!0)}finally{l(b,!1)}}}async function G(){if(e.template&&confirm("Delete this template?")){l(p,!0);try{await te({id:e.template.id}),await z("app:templates"),await J(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),f.success("Deleted")}catch{f.error("Failed to delete")}finally{l(p,!1)}}}var y=ie(),T=g(y),H=o(g(T),2);{let t=k(()=>a(p)||a(b));X(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:G,get disabled(){return a(t)}})}v(T);var j=o(T,2),w=g(j);{var K=t=>{var i=le(),r=g(i);{let n=k(()=>String(e.template?.id??""));$(r,{label:"id",get text(){return a(n)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}v(i),N(t,i)};D(w,t=>{O.value&&t(K)})}var S=o(w,2);I(S,{label:"Code",children:i=>{L(i,{id:"template-code",size:"32",placeholder:"Template code",variant:"accent",onblur:_,get value(){return a(u)},set value(r){l(u,r,!0)}})},$$slots:{default:!0}});var C=o(S,2);{var Q=t=>{I(t,{label:"Notes",children:r=>{Z(r,{id:"template-notes",placeholder:"Description (optional)",variant:"accent",onblur:_,get value(){return a(m)},set value(n){l(m,n,!0)}})},$$slots:{default:!0}})};D(C,t=>{O.value&&t(Q)})}var F=o(C,4);Y(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:t=>{const r=A().url.pathname.replace(/^\/[^\/]+/,`/${t}`);J(r)}});var R=o(F,2);I(R,{label:"Title",children:i=>{{let r=k(()=>a(d)[e.data.languageId]||"");L(i,{get id(){return`template-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return a(r)},oninput:n=>{l(d,{...a(d),[e.data.languageId]:n.target.value},!0)},onblur:_})}},$$slots:{default:!0}}),v(j),v(y),N(h,y),q(),M()}function _e(h,e){B(e,!0),re(h,{get data(){return e.data},get template(){return e.data.template}}),q()}export{_e as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as U,o as s,q as b,h as p,l as t,v as l,f as j,b as O,c as G,s as c,d as f,a7 as k,r as m}from"../chunks/7qWbnjAX.js";import{i as P}from"../chunks/C8ddfRgv.js";import{s as $,a as ee}from"../chunks/DGY7Nmge.js";import{B as te,L as ae,I as q,D as le,a as oe}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{F as _}from"../chunks/dCqqWZRL.js";import{L as A}from"../chunks/BdGureYG.js";import{n as y}from"../chunks/Cthj1J76.js";import{i as E,g as M}from"../chunks/BHmPjZ2c.js";import{p as ne}from"../chunks/CyM0cp9N.js";import{k as re,l as ie}from"../chunks/DZLQ5umq.js";import{d as R}from"../chunks/DO5IRDAc.js";var de=j('<div class="row svelte-1d51g44"><!> <!></div>'),ce=j('<div class="rightArea svelte-1d51g44"><div class="header svelte-1d51g44"><h2 class="title svelte-1d51g44">Edit Block</h2> <!></div> <div class="editor svelte-1d51g44"><!> <!> <!> <!> <hr class="svelte-1d51g44"/> <!> <div class="translationRow svelte-1d51g44"><!></div></div></div>');function se(x,e){U(e,!0);const H=()=>ee(ne,"$page",K),[K,Q]=$();let u=s(b(e.block?.code||"")),v=s(b(e.block?.notes||"")),g=s(b(e.block?.content_type||"")),T=s(!1),C=s(!1),i=s(b({...e.block?.title||{}})),B=s(b(e.block?.id));p(()=>{e.block?.id!==t(B)&&(l(B,e.block?.id,!0),l(u,e.block?.code||"",!0),l(v,e.block?.notes||"",!0),l(g,e.block?.content_type||"",!0),l(i,{...e.block?.title||{}},!0))});async function h(){if(!e.block)return;const a=t(u).trim()||null,n=t(v).trim()||null,o=t(g)||null;if(a!==e.block.code||n!==e.block.notes||o!==e.block.content_type||JSON.stringify(t(i))!==JSON.stringify(e.block.title||{})){l(T,!0);try{const d={id:e.block.id,code:a,notes:n,content_type:o};JSON.stringify(t(i))!==JSON.stringify(e.block.title||{})&&(d.title=t(i)),await ie(d),await E("app:blocks"),y.success("Saved")}catch(d){console.error("Save error:",d),y.error("Failed to save"),l(u,e.block.code||"",!0),l(v,e.block.notes||"",!0),l(g,e.block?.content_type||"",!0),l(i,{...e.block?.title||{}},!0)}finally{l(T,!1)}}}async function V(){if(e.block&&confirm("Delete this block? This will delete all child blocks.")){l(C,!0);try{await re({id:e.block.id}),await E("app:blocks"),M(`/${e.data.languageId}/finder/${e.data.collection.id}/templates/${e.data.template.id}`),y.success("Deleted")}catch{y.error("Failed to delete")}finally{l(C,!1)}}}var S=ce(),w=f(S),W=c(f(w),2);{let a=k(()=>t(C)||t(T));te(W,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:V,get disabled(){return t(a)}})}m(w);var I=c(w,2),D=f(I);{var X=a=>{var n=de(),o=f(n);{let d=k(()=>String(e.block?.id??""));A(o,{label:"id",get text(){return t(d)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var r=c(o,2);{let d=k(()=>String(e.block?.sort??""));A(r,{label:"sort",get text(){return t(d)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}m(n),O(a,n)};P(D,a=>{R.value&&a(X)})}var L=c(D,2);_(L,{label:"Code",children:n=>{q(n,{id:"block-code",size:"32",placeholder:"Block code",variant:"accent",onblur:h,get value(){return t(u)},set value(o){l(u,o,!0)}})},$$slots:{default:!0}});var N=c(L,2);{var Y=a=>{_(a,{label:"Notes",children:o=>{oe(o,{id:"block-notes",placeholder:"Description (optional)",variant:"accent",onblur:h,get value(){return t(v)},set value(r){l(v,r,!0)}})},$$slots:{default:!0}})};P(N,a=>{R.value&&a(Y)})}var z=c(N,2);_(z,{label:"Content Type",children:n=>{{let o=k(()=>[{value:"",label:"NULL"},...e.data.contentTypes?.map(r=>({value:r.id,label:r.id}))||[]]);le(n,{size:"32",placeholder:"",onchange:h,get options(){return t(o)},get value(){return t(g)},set value(r){l(g,r,!0)}})}},$$slots:{default:!0}});var F=c(z,4);ae(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:a=>{const o=H().url.pathname.replace(/^\/[^\/]+/,`/${a}`);M(o)}});var J=c(F,2),Z=f(J);_(Z,{label:"Title",children:n=>{{let o=k(()=>t(i)[e.data.languageId]||"");q(n,{get id(){return`block-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(o)},oninput:r=>{l(i,{...t(i),[e.data.languageId]:r.target.value},!0)},onblur:h})}},$$slots:{default:!0}}),m(J),m(I),m(S),O(x,S),G(),Q()}function Se(x,e){U(e,!0),se(x,{get data(){return e.data},get block(){return e.data.block}}),G()}export{Se as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as U,o as s,q as b,h as p,l as t,v as l,f as j,b as O,c as G,s as c,d as f,a7 as k,r as m}from"../chunks/7qWbnjAX.js";import{i as P}from"../chunks/C8ddfRgv.js";import{s as $,a as ee}from"../chunks/DGY7Nmge.js";import{B as te,L as ae,I as q,D as le,a as oe}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{F as _}from"../chunks/DbpPCKvO.js";import{L as A}from"../chunks/DhLkQWYT.js";import{n as y}from"../chunks/Cthj1J76.js";import{i as E,g as M}from"../chunks/y_6KjEX3.js";import{p as ne}from"../chunks/DFiKK9xz.js";import{k as re,l as ie}from"../chunks/LtEPjfl3.js";import{d as R}from"../chunks/DO5IRDAc.js";var de=j('<div class="row svelte-1d51g44"><!> <!></div>'),ce=j('<div class="rightArea svelte-1d51g44"><div class="header svelte-1d51g44"><h2 class="title svelte-1d51g44">Edit Block</h2> <!></div> <div class="editor svelte-1d51g44"><!> <!> <!> <!> <hr class="svelte-1d51g44"/> <!> <div class="translationRow svelte-1d51g44"><!></div></div></div>');function se(x,e){U(e,!0);const H=()=>ee(ne,"$page",K),[K,Q]=$();let u=s(b(e.block?.code||"")),v=s(b(e.block?.notes||"")),g=s(b(e.block?.content_type||"")),T=s(!1),C=s(!1),i=s(b({...e.block?.title||{}})),B=s(b(e.block?.id));p(()=>{e.block?.id!==t(B)&&(l(B,e.block?.id,!0),l(u,e.block?.code||"",!0),l(v,e.block?.notes||"",!0),l(g,e.block?.content_type||"",!0),l(i,{...e.block?.title||{}},!0))});async function h(){if(!e.block)return;const a=t(u).trim()||null,n=t(v).trim()||null,o=t(g)||null;if(a!==e.block.code||n!==e.block.notes||o!==e.block.content_type||JSON.stringify(t(i))!==JSON.stringify(e.block.title||{})){l(T,!0);try{const d={id:e.block.id,code:a,notes:n,content_type:o};JSON.stringify(t(i))!==JSON.stringify(e.block.title||{})&&(d.title=t(i)),await ie(d),await E("app:blocks"),y.success("Saved")}catch(d){console.error("Save error:",d),y.error("Failed to save"),l(u,e.block.code||"",!0),l(v,e.block.notes||"",!0),l(g,e.block?.content_type||"",!0),l(i,{...e.block?.title||{}},!0)}finally{l(T,!1)}}}async function V(){if(e.block&&confirm("Delete this block? This will delete all child blocks.")){l(C,!0);try{await re({id:e.block.id}),await E("app:blocks"),M(`/${e.data.languageId}/finder/${e.data.collection.id}/templates/${e.data.template.id}`),y.success("Deleted")}catch{y.error("Failed to delete")}finally{l(C,!1)}}}var S=ce(),w=f(S),W=c(f(w),2);{let a=k(()=>t(C)||t(T));te(W,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:V,get disabled(){return t(a)}})}m(w);var I=c(w,2),D=f(I);{var X=a=>{var n=de(),o=f(n);{let d=k(()=>String(e.block?.id??""));A(o,{label:"id",get text(){return t(d)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}var r=c(o,2);{let d=k(()=>String(e.block?.sort??""));A(r,{label:"sort",get text(){return t(d)},textSize:"12px",textColor:"var(--base600)",labelColor:"var(--base300)"})}m(n),O(a,n)};P(D,a=>{R.value&&a(X)})}var L=c(D,2);_(L,{label:"Code",children:n=>{q(n,{id:"block-code",size:"32",placeholder:"Block code",variant:"accent",onblur:h,get value(){return t(u)},set value(o){l(u,o,!0)}})},$$slots:{default:!0}});var N=c(L,2);{var Y=a=>{_(a,{label:"Notes",children:o=>{oe(o,{id:"block-notes",placeholder:"Description (optional)",variant:"accent",onblur:h,get value(){return t(v)},set value(r){l(v,r,!0)}})},$$slots:{default:!0}})};P(N,a=>{R.value&&a(Y)})}var z=c(N,2);_(z,{label:"Content Type",children:n=>{{let o=k(()=>[{value:"",label:"NULL"},...e.data.contentTypes?.map(r=>({value:r.id,label:r.id}))||[]]);le(n,{size:"32",placeholder:"",onchange:h,get options(){return t(o)},get value(){return t(g)},set value(r){l(g,r,!0)}})}},$$slots:{default:!0}});var F=c(z,4);ae(F,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:a=>{const o=H().url.pathname.replace(/^\/[^\/]+/,`/${a}`);M(o)}});var J=c(F,2),Z=f(J);_(Z,{label:"Title",children:n=>{{let o=k(()=>t(i)[e.data.languageId]||"");q(n,{get id(){return`block-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(o)},oninput:r=>{l(i,{...t(i),[e.data.languageId]:r.target.value},!0)},onblur:h})}},$$slots:{default:!0}}),m(J),m(I),m(S),O(x,S),G(),Q()}function Se(x,e){U(e,!0),se(x,{get data(){return e.data},get block(){return e.data.block}}),G()}export{Se as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as Q,o as c,q as I,h as R,l as t,v as a,f as F,b as N,c as U,d as q,r as D,s as f,a7 as k}from"../chunks/7qWbnjAX.js";import{i as V}from"../chunks/C8ddfRgv.js";import{a as W,s as X}from"../chunks/DGY7Nmge.js";import{p as Y}from"../chunks/CyM0cp9N.js";import{g as B,i as P}from"../chunks/BHmPjZ2c.js";import{L as Z,B as $,I as w}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{F as C}from"../chunks/dCqqWZRL.js";import{L as ee}from"../chunks/BdGureYG.js";import{n as m}from"../chunks/Cthj1J76.js";import{d as te,u as ae}from"../chunks/_ujqqHrb.js";var ne=F('<div class="editor svelte-qb2uup"><!> <!> <!> <hr class="svelte-qb2uup"/> <!> <!> <div class="actions svelte-qb2uup"><!></div></div>'),re=F('<p class="error svelte-qb2uup">Node type not found</p>'),de=F('<div class="mainContent svelte-qb2uup"><!></div>');function he(J,e){Q(e,!0);const g=()=>W(Y,"$page",O),[O,K]=X();let v=c(I(e.data.nodeType?.code??"")),d=c(I({...e.data.nodeType?.title||{}})),s=c(I(e.data.nodeType?.notes??"")),p=c(!1),y=c(!1),h=c("");R(()=>{if(t(p))return;const n=g().params.id;n!==t(h)&&(a(v,e.data.nodeType?.code??"",!0),a(d,{...e.data.nodeType?.title||{}},!0),a(s,e.data.nodeType?.notes??"",!0),a(h,n,!0))});async function b(){const n=t(v).trim();if(!n||!e.data.nodeType)return;const r=e.data.nodeType;if(n!==r.code||JSON.stringify(t(d))!==JSON.stringify(r.title||{})||(t(s).trim()||null)!==r.notes){a(p,!0);try{const o=await ae({id:g().params.id,updates:{code:n,title:t(d),notes:t(s).trim()||null}});a(v,o.code,!0),a(d,{...o.title||{}},!0),a(s,o.notes??"",!0),a(h,g().params.id,!0),await P("app:node-types"),m.success("Saved")}catch{m.error("Failed to save")}finally{a(p,!1)}}}async function j(){if(e.data.nodeType&&confirm("Delete this node type?")){a(y,!0);try{await te({id:g().params.id}),await P("app:node-types"),B(`/${e.data.languageId}/node-types`),m.success("Deleted")}catch{m.error("Failed to delete")}finally{a(y,!1)}}}var T=de(),A=q(T);{var E=n=>{var r=ne(),_=q(r);ee(_,{label:"ID",get text(){return e.data.nodeType.id}});var o=f(_,2);C(o,{label:"Code",children:u=>{w(u,{id:"nt-code",size:"32",variant:"accent",placeholder:"Node type code",onblur:b,get value(){return t(v)},set value(l){a(v,l,!0)}})},$$slots:{default:!0}});var L=f(o,2);C(L,{label:"Notes",children:u=>{w(u,{id:"nt-notes",size:"32",variant:"accent",placeholder:"Description (optional)",onblur:b,get value(){return t(s)},set value(l){a(s,l,!0)}})},$$slots:{default:!0}});var x=f(L,4);Z(x,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const l=g().url.pathname.replace(/^\/[^\/]+/,`/${i}`);B(l)}});var z=f(x,2);C(z,{label:"Title",children:u=>{{let l=k(()=>t(d)[e.data.languageId]||"");w(u,{get id(){return`nt-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(l)},oninput:M=>{a(d,{...t(d),[e.data.languageId]:M.target.value},!0)},onblur:b})}},$$slots:{default:!0}});var S=f(z,2),H=q(S);{let i=k(()=>t(y)||t(p));$(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:j,get disabled(){return t(i)}})}D(S),D(r),N(n,r)},G=n=>{var r=re();N(n,r)};V(A,n=>{e.data.nodeType?n(E):n(G,!1)})}D(T),N(J,T),U(),K()}export{he as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as Q,o as c,q as I,h as R,l as t,v as a,f as F,b as N,c as U,d as q,r as D,s as f,a7 as k}from"../chunks/7qWbnjAX.js";import{i as V}from"../chunks/C8ddfRgv.js";import{a as W,s as X}from"../chunks/DGY7Nmge.js";import{p as Y}from"../chunks/DFiKK9xz.js";import{g as B,i as P}from"../chunks/y_6KjEX3.js";import{L as Z,B as $,I as w}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{F as C}from"../chunks/DbpPCKvO.js";import{L as ee}from"../chunks/DhLkQWYT.js";import{n as m}from"../chunks/Cthj1J76.js";import{d as te,u as ae}from"../chunks/DpNOes8v.js";var ne=F('<div class="editor svelte-qb2uup"><!> <!> <!> <hr class="svelte-qb2uup"/> <!> <!> <div class="actions svelte-qb2uup"><!></div></div>'),re=F('<p class="error svelte-qb2uup">Node type not found</p>'),de=F('<div class="mainContent svelte-qb2uup"><!></div>');function he(J,e){Q(e,!0);const g=()=>W(Y,"$page",O),[O,K]=X();let v=c(I(e.data.nodeType?.code??"")),d=c(I({...e.data.nodeType?.title||{}})),s=c(I(e.data.nodeType?.notes??"")),p=c(!1),y=c(!1),h=c("");R(()=>{if(t(p))return;const n=g().params.id;n!==t(h)&&(a(v,e.data.nodeType?.code??"",!0),a(d,{...e.data.nodeType?.title||{}},!0),a(s,e.data.nodeType?.notes??"",!0),a(h,n,!0))});async function b(){const n=t(v).trim();if(!n||!e.data.nodeType)return;const r=e.data.nodeType;if(n!==r.code||JSON.stringify(t(d))!==JSON.stringify(r.title||{})||(t(s).trim()||null)!==r.notes){a(p,!0);try{const o=await ae({id:g().params.id,updates:{code:n,title:t(d),notes:t(s).trim()||null}});a(v,o.code,!0),a(d,{...o.title||{}},!0),a(s,o.notes??"",!0),a(h,g().params.id,!0),await P("app:node-types"),m.success("Saved")}catch{m.error("Failed to save")}finally{a(p,!1)}}}async function j(){if(e.data.nodeType&&confirm("Delete this node type?")){a(y,!0);try{await te({id:g().params.id}),await P("app:node-types"),B(`/${e.data.languageId}/node-types`),m.success("Deleted")}catch{m.error("Failed to delete")}finally{a(y,!1)}}}var T=de(),A=q(T);{var E=n=>{var r=ne(),_=q(r);ee(_,{label:"ID",get text(){return e.data.nodeType.id}});var o=f(_,2);C(o,{label:"Code",children:u=>{w(u,{id:"nt-code",size:"32",variant:"accent",placeholder:"Node type code",onblur:b,get value(){return t(v)},set value(l){a(v,l,!0)}})},$$slots:{default:!0}});var L=f(o,2);C(L,{label:"Notes",children:u=>{w(u,{id:"nt-notes",size:"32",variant:"accent",placeholder:"Description (optional)",onblur:b,get value(){return t(s)},set value(l){a(s,l,!0)}})},$$slots:{default:!0}});var x=f(L,4);Z(x,{get languages(){return e.data.languages},get activeLanguage(){return e.data.languageId},onclick:i=>{const l=g().url.pathname.replace(/^\/[^\/]+/,`/${i}`);B(l)}});var z=f(x,2);C(z,{label:"Title",children:u=>{{let l=k(()=>t(d)[e.data.languageId]||"");w(u,{get id(){return`nt-title-${e.data.languageId??""}`},size:"32",get placeholder(){return`Title in ${e.data.languageId??""}`},get value(){return t(l)},oninput:M=>{a(d,{...t(d),[e.data.languageId]:M.target.value},!0)},onblur:b})}},$$slots:{default:!0}});var S=f(z,2),H=q(S);{let i=k(()=>t(y)||t(p));$(H,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:j,get disabled(){return t(i)}})}D(S),D(r),N(n,r)},G=n=>{var r=re();N(n,r)};V(A,n=>{e.data.nodeType?n(E):n(G,!1)})}D(T),N(J,T),U(),K()}export{he as component};
@@ -0,0 +1 @@
1
+ import"../chunks/DsnmJJEf.js";import{p as ws,f as v,v as X,o as Te,d as n,s as u,t as h,b as l,c as fs,l as e,a7 as V,r as s,a8 as oe,a as _e,e as De}from"../chunks/7qWbnjAX.js";import{d as hs,s as p}from"../chunks/DdOgh5Is.js";import{i as y}from"../chunks/C8ddfRgv.js";import{s as W,n as Y,e as le,a as N,i as ve}from"../chunks/Cthj1J76.js";import{s as ps,a as ms}from"../chunks/DGY7Nmge.js";import{p as bs}from"../chunks/DFiKK9xz.js";import{i as Le,g as Qe}from"../chunks/y_6KjEX3.js";import{d as ze}from"../chunks/DYn6Ssu0.js";async function ys(m,a,_){if(confirm(`Delete all ${a.data.orphanImages.length} orphaned images? This cannot be undone.`)){X(_,!0);try{for(const L of a.data.orphanImages)await ze({id:L.id});await Le("app:images"),Y.success("All orphaned images deleted")}catch(L){Y.error(L.message||"Failed to delete images")}finally{X(_,!1)}}}async function ks(m,a,_){if(confirm(`Delete all ${e(a).length} unused images? This cannot be undone.`)){X(_,!0);try{for(const L of e(a))await ze({id:L.id});await Le("app:images"),Y.success("All unused images deleted")}catch(L){Y.error(L.message||"Failed to delete images")}finally{X(_,!1)}}}var Is=(m,a)=>X(a,"list"),Os=(m,a)=>X(a,"grid"),Us=v('<button class="deleteUnusedBtn svelte-1cswnon"> </button>'),xs=(m,a,_)=>a(e(_).id),Bs=(m,a,_)=>m.key==="Enter"&&a(e(_).id),Cs=v('<img class="svelte-1cswnon"/>'),Ns=v('<div class="noPreview svelte-1cswnon">?</div>'),Ms=(m,a,_)=>{m.stopPropagation(),a(e(_).id)},Ts=v('<div role="button" tabindex="0"><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><span class="pathMissing svelte-1cswnon">No owner node</span></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><span class="orphanBadge svelte-1cswnon">Orphaned</span></div> <button class="rowDeleteBtn svelte-1cswnon">Delete</button></div>'),Ds=v('<div class="imageList svelte-1cswnon"></div>'),Ls=(m,a,_)=>a(e(_).id),zs=v('<img class="svelte-1cswnon"/>'),Ps=v('<div class="noPreview svelte-1cswnon">No preview</div>'),As=(m,a,_)=>a(e(_).id),Ss=v('<div class="orphanThumbnail svelte-1cswnon"><button><!></button> <button class="deleteOrphanButton svelte-1cswnon">Delete</button></div>'),Gs=v('<div class="thumbnailGrid orphanGrid svelte-1cswnon"></div>'),Vs=v('<div class="orphanSection svelte-1cswnon"><div class="orphanHeader svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <button class="deleteAllButton svelte-1cswnon"> </button></div> <p class="orphanHint svelte-1cswnon">These images are not attached to any node and can be safely deleted.</p> <!></div>'),js=v(`<div class="emptyState svelte-1cswnon"><p class="svelte-1cswnon">No images attached to nodes yet.</p> <p class="hint svelte-1cswnon">Upload images from within a node's edit form.</p></div>`),Fs=(m,a,_)=>a(e(_).id),Rs=v('<img class="svelte-1cswnon"/>'),Hs=v('<div class="noPreview svelte-1cswnon">?</div>'),Es=v('<span class="pathCollection svelte-1cswnon"> </span> <span class="pathSep svelte-1cswnon">/</span> <span class="pathNodes svelte-1cswnon"> </span>',1),Ks=v('<span class="pathMissing svelte-1cswnon">No owner</span>'),qs=v('<span class="usageBadge coverBadge svelte-1cswnon"> </span>'),Js=v('<span class="usageBadge galleryBadge svelte-1cswnon"> </span>'),Qs=v('<span class="usageBadge contentBadge svelte-1cswnon"> </span>'),Ws=v('<div class="usageBadges svelte-1cswnon"></div>'),Xs=v('<span class="unusedBadge svelte-1cswnon">Unused</span>'),Ys=v('<button><div class="rowThumb svelte-1cswnon"><!></div> <div class="rowInfo svelte-1cswnon"><div class="rowPath svelte-1cswnon"><!></div> <div class="rowMeta svelte-1cswnon"> </div></div> <div class="rowUsage svelte-1cswnon"><!></div></button>'),Zs=v('<div class="imageList svelte-1cswnon"></div>'),$s=(m,a,_)=>a(e(_).id),ea=v('<img class="svelte-1cswnon"/>'),sa=v('<div class="noPreview svelte-1cswnon">No preview</div>'),aa=v("<button><!></button>"),ta=v('<div class="thumbnailGrid svelte-1cswnon"></div>'),na=v('<div class="section svelte-1cswnon"><h2 class="svelte-1cswnon"> </h2> <!></div>'),oa=v(`<div class="container svelte-1cswnon"><div class="header svelte-1cswnon"><div class="headerTop svelte-1cswnon"><div class="headerLeft svelte-1cswnon"><h1 class="svelte-1cswnon">Images</h1> <p class="hint svelte-1cswnon">Upload images from within a node's edit form</p></div> <div class="viewToggle svelte-1cswnon"><button>List</button> <button>Grid</button></div></div> <div class="statsBar svelte-1cswnon"><div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total</span></div> <div class="statItem svelte-1cswnon"><span class="statValue used svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Used</span></div> <div class="statItem svelte-1cswnon"><span class="statValue unused svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Unused</span></div> <div class="statItem svelte-1cswnon"><span class="statValue orphan svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Orphaned</span></div> <div class="statItem svelte-1cswnon"><span class="statValue svelte-1cswnon"> </span> <span class="statLabel svelte-1cswnon">Total Size</span></div> <!></div></div> <div class="content svelte-1cswnon"><!> <!></div></div>`);function wa(m,a){ws(a,!0);const _=()=>ms(bs,"$page",L),[L,We]=ps();let Z=V(()=>_().params.sid||null),ue=Te(!1),ge=Te(!1),q=Te("list"),$=V(()=>()=>{const o=a.data.images.length,t=a.data.orphanImages.length;let c=0,b=0,z=0;for(const k of a.data.images){const P=a.data.imageUsage?.[k.id];(P?.coverOf?.length||0)+(P?.galleryOf?.length||0)+(P?.contentOf?.length||0)>0?c++:b++,z+=k.file_size||0}for(const k of a.data.orphanImages)z+=k.file_size||0;return{total:o,orphaned:t,used:c,unused:b,totalSize:z}}),we=V(()=>a.data.images.filter(o=>{const t=a.data.imageUsage?.[o.id];return(t?.coverOf?.length||0)+(t?.galleryOf?.length||0)+(t?.contentOf?.length||0)===0}));function ee(o){e(Z)===o?Qe("/images"):Qe(`/images/${o}`)}function Xe(o){return`${a.data.s3BaseUrl}/${o}`}function re(o){return o.s3_key?Xe(o.s3_key):""}function fe(o){if(!o||o===0)return"-";const t=1024,c=["B","KB","MB"],b=Math.floor(Math.log(o)/Math.log(t));return Math.round(o/Math.pow(t,b)*100)/100+" "+c[b]}function Ye(o){const t=a.data.imageUsage?.[o];if(!t)return{total:0,details:[]};const c=[];return t.coverOf.length>0&&c.push({type:"cover",count:t.coverOf.length,items:t.coverOf}),t.galleryOf.length>0&&c.push({type:"gallery",count:t.galleryOf.length,items:t.galleryOf}),t.contentOf.length>0&&c.push({type:"content",count:t.contentOf.length,items:t.contentOf}),{total:t.coverOf.length+t.galleryOf.length+t.contentOf.length,details:c}}async function Pe(o){if(confirm("Delete this orphaned image?"))try{await ze({id:o}),await Le("app:images"),Y.success("Image deleted")}catch(t){Y.error(t.message||"Failed to delete image")}}var he=oa(),pe=n(he),me=n(pe),Ae=u(n(me),2),be=n(Ae);let Se;be.__click=[Is,q];var Ge=u(be,2);let Ve;Ge.__click=[Os,q],s(Ae),s(me);var je=u(me,2),ye=n(je),Fe=n(ye),Ze=n(Fe,!0);s(Fe),oe(2),s(ye);var ke=u(ye,2),Re=n(ke),$e=n(Re,!0);s(Re),oe(2),s(ke);var Ie=u(ke,2),He=n(Ie),es=n(He,!0);s(He),oe(2),s(Ie);var Oe=u(Ie,2),Ee=n(Oe),ss=n(Ee,!0);s(Ee),oe(2),s(Oe);var Ue=u(Oe,2),Ke=n(Ue),as=n(Ke,!0);s(Ke),oe(2),s(Ue);var ts=u(Ue,2);{var ns=o=>{var t=Us();t.__click=[ks,we,ge];var c=n(t,!0);s(t),h(()=>{t.disabled=e(ge),p(c,e(ge)?"Deleting...":`Delete ${e(we).length} Unused`)}),l(o,t)};y(ts,o=>{e(we).length>0&&o(ns)})}s(je),s(pe);var qe=u(pe,2),Je=n(qe);{var os=o=>{var t=Vs(),c=n(t),b=n(c),z=n(b);s(b);var k=u(b,2);k.__click=[ys,a,ue];var P=n(k,!0);s(k),s(c);var A=u(c,4);{var S=r=>{var I=Ds();le(I,21,()=>a.data.orphanImages,ve,(U,i)=>{const M=V(()=>re(e(i)));var f=Ts();let x;f.__click=[xs,ee,i],f.__keydown=[Bs,ee,i];var w=n(f),B=n(w);{var j=T=>{var D=Cs();h(()=>{N(D,"src",e(M)),N(D,"alt",e(i).file_name)}),l(T,D)},F=T=>{var D=Ns();l(T,D)};y(B,T=>{e(M)?T(j):T(F,!1)})}s(w);var R=u(w,2),O=u(n(R),2),G=n(O);s(O),s(R);var ie=u(R,4);ie.__click=[Ms,Pe,i],s(f),h((T,D,xe)=>{x=W(f,1,"imageRow orphanRow svelte-1cswnon",null,x,T),p(G,`${e(i).width??""}×${e(i).height??""} · ${D??""} · ${xe??""}`)},[()=>({selected:e(Z)===e(i).id}),()=>e(i).format?.toUpperCase()||"-",()=>fe(e(i).file_size)]),l(U,f)}),s(I),l(r,I)},se=r=>{var I=Gs();le(I,21,()=>a.data.orphanImages,ve,(U,i)=>{const M=V(()=>re(e(i)));var f=Ss(),x=n(f);let w;x.__click=[Ls,ee,i];var B=n(x);{var j=O=>{var G=zs();h(()=>{N(G,"src",e(M)),N(G,"alt",e(i).file_name)}),l(O,G)},F=O=>{var G=Ps();l(O,G)};y(B,O=>{e(M)?O(j):O(F,!1)})}s(x);var R=u(x,2);R.__click=[As,Pe,i],s(f),h(O=>w=W(x,1,"thumbnail svelte-1cswnon",null,w,O),[()=>({selected:e(Z)===e(i).id})]),l(U,f)}),s(I),l(r,I)};y(A,r=>{e(q)==="list"?r(S):r(se,!1)})}s(t),h(()=>{p(z,`Orphaned Images (${a.data.orphanImages.length??""})`),k.disabled=e(ue),p(P,e(ue)?"Deleting...":"Delete All")}),l(o,t)};y(Je,o=>{a.data.orphanImages.length>0&&o(os)})}var ls=u(Je,2);{var vs=o=>{var t=js();l(o,t)},rs=o=>{var t=na(),c=n(t),b=n(c);s(c);var z=u(c,2);{var k=A=>{var S=Zs();le(S,21,()=>a.data.images,ve,(se,r)=>{const I=V(()=>re(e(r))),U=V(()=>Ye(e(r).id));var i=Ys();let M;i.__click=[Fs,ee,r];var f=n(i),x=n(f);{var w=d=>{var g=Rs();h(()=>{N(g,"src",e(I)),N(g,"alt",e(r).file_name)}),l(d,g)},B=d=>{var g=Hs();l(d,g)};y(x,d=>{e(I)?d(w):d(B,!1)})}s(f);var j=u(f,2),F=n(j),R=n(F);{var O=d=>{var g=Es(),H=_e(g),C=n(H,!0);s(H);var ae=u(H,4),Be=n(ae,!0);s(ae),h(()=>{p(C,e(r).ownerCollection?.code||"?"),p(Be,e(r).ownerNodePath||e(r).ownerNode.code||e(r).ownerNode.title?.en||e(r).ownerNode.id)}),l(d,g)},G=d=>{var g=Ks();l(d,g)};y(R,d=>{e(r).ownerNode?d(O):d(G,!1)})}s(F);var ie=u(F,2),T=n(ie);s(ie),s(j);var D=u(j,2),xe=n(D);{var is=d=>{var g=Ws();le(g,21,()=>e(U).details,ve,(H,C)=>{var ae=De(),Be=_e(ae);{var ds=J=>{var E=qs(),Ce=n(E);s(E),h(te=>{N(E,"title",te),p(Ce,`Cover (${e(C).count??""})`)},[()=>e(C).items.map(te=>te.nodeCode).join(", ")]),l(J,E)},_s=J=>{var E=De(),Ce=_e(E);{var te=Q=>{var K=Js(),Ne=n(K);s(K),h(ne=>{N(K,"title",ne),p(Ne,`Gallery (${e(C).count??""})`)},[()=>e(C).items.map(ne=>ne.nodeCode).join(", ")]),l(Q,K)},us=Q=>{var K=De(),Ne=_e(K);{var ne=Me=>{var ce=Qs(),gs=n(ce);s(ce),h(de=>{N(ce,"title",de),p(gs,`Content (${e(C).count??""})`)},[()=>e(C).items.map(de=>`${de.nodeCode} → ${de.blockCode}`).join(", ")]),l(Me,ce)};y(Ne,Me=>{e(C).type==="content"&&Me(ne)},!0)}l(Q,K)};y(Ce,Q=>{e(C).type==="gallery"?Q(te):Q(us,!1)},!0)}l(J,E)};y(Be,J=>{e(C).type==="cover"?J(ds):J(_s,!1)})}l(H,ae)}),s(g),l(d,g)},cs=d=>{var g=Xs();l(d,g)};y(xe,d=>{e(U).total>0?d(is):d(cs,!1)})}s(D),s(i),h((d,g,H)=>{M=W(i,1,"imageRow svelte-1cswnon",null,M,d),p(T,`${e(r).width??""}×${e(r).height??""} · ${g??""} · ${H??""}`)},[()=>({selected:e(Z)===e(r).id}),()=>e(r).format?.toUpperCase()||"-",()=>fe(e(r).file_size)]),l(se,i)}),s(S),l(A,S)},P=A=>{var S=ta();le(S,21,()=>a.data.images,ve,(se,r)=>{const I=V(()=>re(e(r)));var U=aa();let i;U.__click=[$s,ee,r];var M=n(U);{var f=w=>{var B=ea();h(()=>{N(B,"src",e(I)),N(B,"alt",e(r).file_name)}),l(w,B)},x=w=>{var B=sa();l(w,B)};y(M,w=>{e(I)?w(f):w(x,!1)})}s(U),h(w=>i=W(U,1,"thumbnail svelte-1cswnon",null,i,w),[()=>({selected:e(Z)===e(r).id})]),l(se,U)}),s(S),l(A,S)};y(z,A=>{e(q)==="list"?A(k):A(P,!1)})}s(t),h(()=>p(b,`Node Images (${a.data.images.length??""})`)),l(o,t)};y(ls,o=>{a.data.images.length===0?o(vs):o(rs,!1)})}s(qe),s(he),h((o,t,c,b,z,k,P)=>{Se=W(be,1,"toggleBtn svelte-1cswnon",null,Se,o),Ve=W(Ge,1,"toggleBtn svelte-1cswnon",null,Ve,t),p(Ze,c),p($e,b),p(es,z),p(ss,k),p(as,P)},[()=>({active:e(q)==="list"}),()=>({active:e(q)==="grid"}),()=>e($)().total,()=>e($)().used,()=>e($)().unused,()=>e($)().orphaned,()=>fe(e($)().totalSize)]),l(m,he),fs(),We()}hs(["click","keydown"]);export{wa as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as fa,f as o,o as ua,s as t,t as k,b as d,c as ga,d as a,v as J,r as e,l as D,a7 as qa,e as ha,a as wa}from"../chunks/7qWbnjAX.js";import{d as ba,s as i}from"../chunks/DdOgh5Is.js";import{i as F}from"../chunks/C8ddfRgv.js";import{n as Q,a as S}from"../chunks/Cthj1J76.js";import{s as ya,a as xa}from"../chunks/DGY7Nmge.js";import{p as Ba}from"../chunks/CyM0cp9N.js";import{i as Ia,g as Ma}from"../chunks/BHmPjZ2c.js";import{d as Na}from"../chunks/I2SZTXR2.js";async function Ra(z,s,u){if(confirm("Are you sure you want to delete this image? This cannot be undone.")){J(s,!0);try{await Na({id:u.data.image.id}),await Ia("app:images"),Ma("/images"),Q.success("Image deleted successfully")}catch(g){Q.error(g.message||"Failed to delete image")}finally{J(s,!1)}}}var ka=o('<a class="nodeLink svelte-qp0rc4"> </a>'),Da=o('<span class="value orphanBadge svelte-qp0rc4">Node deleted</span>'),Fa=o('<span class="value orphanBadge svelte-qp0rc4">Orphaned</span>'),Sa=o('<div class="mainContent svelte-qp0rc4"><div class="imagePreview svelte-qp0rc4"><img class="svelte-qp0rc4"/></div> <div class="infoPanel svelte-qp0rc4"><div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Image Info</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Filename:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Dimensions:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Format:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Size:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">MIME Type:</span> <span class="value svelte-qp0rc4"> </span></div></div></div> <div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Metadata</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">ID:</span> <span class="value idValue svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">S3 Key:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Owner Node:</span> <!></div></div></div></div></div>'),za=o('<div class="notFound svelte-qp0rc4">Image not found</div>'),Ca=o('<div class="detailContent svelte-qp0rc4"><div class="detailHeader svelte-qp0rc4"><h2 class="svelte-qp0rc4">Image Details</h2> <button class="deleteButton svelte-qp0rc4"> </button></div> <!></div>');function La(z,s){fa(s,!0);const u=()=>xa(Ba,"$page",g),[g,W]=ya();let X=qa(()=>u().data),q=ua(!1);function Y(l){return`${D(X).s3BaseUrl}/${l}`}function Z(l){if(l===0)return"0 Bytes";const r=1024,p=["Bytes","KB","MB"],m=Math.floor(Math.log(l)/Math.log(r));return Math.round(l/Math.pow(r,m)*100)/100+" "+p[m]}var h=Ca(),w=a(h),f=t(a(w),2);f.__click=[Ra,q,s];var $=a(f,!0);e(f),e(w);var aa=t(w,2);{var ea=l=>{var r=Sa(),p=a(r),m=a(p);e(p);var C=t(p,2),b=a(C),P=t(a(b),2),y=a(P),U=t(a(y),2),ta=a(U,!0);e(U),e(y);var x=t(y,2),G=t(a(x),2),la=a(G);e(G),e(x);var B=t(x,2),K=t(a(B),2),va=a(K,!0);e(K),e(B);var I=t(B,2),O=t(a(I),2),ia=a(O,!0);e(O),e(I);var T=t(I,2),A=t(a(T),2),ra=a(A,!0);e(A),e(T),e(P),e(b);var E=t(b,2),H=t(a(E),2),M=a(H),L=t(a(M),2),na=a(L,!0);e(L),e(M);var N=t(M,2),V=t(a(N),2),da=a(V,!0);e(V),e(N);var j=t(N,2),ca=t(a(j),2);{var oa=n=>{var v=ka(),_=a(v,!0);e(v),k(()=>{S(v,"href",`/en/finder/${s.data.ownerNode._collection??""}/nodes/${s.data.ownerNodePath??""}`),i(_,s.data.ownerNode.code||s.data.ownerNode.title?.en||s.data.ownerNode.id)}),d(n,v)},pa=n=>{var v=ha(),_=wa(v);{var ma=c=>{var R=Da();d(c,R)},_a=c=>{var R=Fa();d(c,R)};F(_,c=>{s.data.image._node?c(ma):c(_a,!1)},!0)}d(n,v)};F(ca,n=>{s.data.ownerNode?n(oa):n(pa,!1)})}e(j),e(H),e(E),e(C),e(r),k((n,v,_)=>{S(m,"src",n),S(m,"alt",s.data.image.file_name),i(ta,s.data.image.file_name),i(la,`${s.data.image.width??""} × ${s.data.image.height??""}`),i(va,v),i(ia,_),i(ra,s.data.image.mime_type),i(na,s.data.image.id),i(da,s.data.image.s3_key)},[()=>Y(s.data.image.s3_key),()=>s.data.image.format.toUpperCase(),()=>Z(s.data.image.file_size)]),d(l,r)},sa=l=>{var r=za();d(l,r)};F(aa,l=>{s.data.image?l(ea):l(sa,!1)})}e(h),k(()=>{f.disabled=D(q),i($,D(q)?"Deleting...":"Delete")}),d(z,h),ga(),W()}ba(["click"]);export{La as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as fa,f as o,o as ua,s as t,t as k,b as d,c as ga,d as a,v as J,r as e,l as D,a7 as qa,e as ha,a as wa}from"../chunks/7qWbnjAX.js";import{d as ba,s as i}from"../chunks/DdOgh5Is.js";import{i as F}from"../chunks/C8ddfRgv.js";import{n as Q,a as S}from"../chunks/Cthj1J76.js";import{s as ya,a as xa}from"../chunks/DGY7Nmge.js";import{p as Ba}from"../chunks/DFiKK9xz.js";import{i as Ia,g as Ma}from"../chunks/y_6KjEX3.js";import{d as Na}from"../chunks/DYn6Ssu0.js";async function Ra(z,s,u){if(confirm("Are you sure you want to delete this image? This cannot be undone.")){J(s,!0);try{await Na({id:u.data.image.id}),await Ia("app:images"),Ma("/images"),Q.success("Image deleted successfully")}catch(g){Q.error(g.message||"Failed to delete image")}finally{J(s,!1)}}}var ka=o('<a class="nodeLink svelte-qp0rc4"> </a>'),Da=o('<span class="value orphanBadge svelte-qp0rc4">Node deleted</span>'),Fa=o('<span class="value orphanBadge svelte-qp0rc4">Orphaned</span>'),Sa=o('<div class="mainContent svelte-qp0rc4"><div class="imagePreview svelte-qp0rc4"><img class="svelte-qp0rc4"/></div> <div class="infoPanel svelte-qp0rc4"><div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Image Info</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Filename:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Dimensions:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Format:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Size:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">MIME Type:</span> <span class="value svelte-qp0rc4"> </span></div></div></div> <div class="infoSection svelte-qp0rc4"><h3 class="svelte-qp0rc4">Metadata</h3> <div class="infoGrid svelte-qp0rc4"><div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">ID:</span> <span class="value idValue svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">S3 Key:</span> <span class="value svelte-qp0rc4"> </span></div> <div class="infoRow svelte-qp0rc4"><span class="label svelte-qp0rc4">Owner Node:</span> <!></div></div></div></div></div>'),za=o('<div class="notFound svelte-qp0rc4">Image not found</div>'),Ca=o('<div class="detailContent svelte-qp0rc4"><div class="detailHeader svelte-qp0rc4"><h2 class="svelte-qp0rc4">Image Details</h2> <button class="deleteButton svelte-qp0rc4"> </button></div> <!></div>');function La(z,s){fa(s,!0);const u=()=>xa(Ba,"$page",g),[g,W]=ya();let X=qa(()=>u().data),q=ua(!1);function Y(l){return`${D(X).s3BaseUrl}/${l}`}function Z(l){if(l===0)return"0 Bytes";const r=1024,p=["Bytes","KB","MB"],m=Math.floor(Math.log(l)/Math.log(r));return Math.round(l/Math.pow(r,m)*100)/100+" "+p[m]}var h=Ca(),w=a(h),f=t(a(w),2);f.__click=[Ra,q,s];var $=a(f,!0);e(f),e(w);var aa=t(w,2);{var ea=l=>{var r=Sa(),p=a(r),m=a(p);e(p);var C=t(p,2),b=a(C),P=t(a(b),2),y=a(P),U=t(a(y),2),ta=a(U,!0);e(U),e(y);var x=t(y,2),G=t(a(x),2),la=a(G);e(G),e(x);var B=t(x,2),K=t(a(B),2),va=a(K,!0);e(K),e(B);var I=t(B,2),O=t(a(I),2),ia=a(O,!0);e(O),e(I);var T=t(I,2),A=t(a(T),2),ra=a(A,!0);e(A),e(T),e(P),e(b);var E=t(b,2),H=t(a(E),2),M=a(H),L=t(a(M),2),na=a(L,!0);e(L),e(M);var N=t(M,2),V=t(a(N),2),da=a(V,!0);e(V),e(N);var j=t(N,2),ca=t(a(j),2);{var oa=n=>{var v=ka(),_=a(v,!0);e(v),k(()=>{S(v,"href",`/en/finder/${s.data.ownerNode._collection??""}/nodes/${s.data.ownerNodePath??""}`),i(_,s.data.ownerNode.code||s.data.ownerNode.title?.en||s.data.ownerNode.id)}),d(n,v)},pa=n=>{var v=ha(),_=wa(v);{var ma=c=>{var R=Da();d(c,R)},_a=c=>{var R=Fa();d(c,R)};F(_,c=>{s.data.image._node?c(ma):c(_a,!1)},!0)}d(n,v)};F(ca,n=>{s.data.ownerNode?n(oa):n(pa,!1)})}e(j),e(H),e(E),e(C),e(r),k((n,v,_)=>{S(m,"src",n),S(m,"alt",s.data.image.file_name),i(ta,s.data.image.file_name),i(la,`${s.data.image.width??""} × ${s.data.image.height??""}`),i(va,v),i(ia,_),i(ra,s.data.image.mime_type),i(na,s.data.image.id),i(da,s.data.image.s3_key)},[()=>Y(s.data.image.s3_key),()=>s.data.image.format.toUpperCase(),()=>Z(s.data.image.file_size)]),d(l,r)},sa=l=>{var r=za();d(l,r)};F(aa,l=>{s.data.image?l(ea):l(sa,!1)})}e(h),k(()=>{f.disabled=D(q),i($,D(q)?"Deleting...":"Delete")}),d(z,h),ga(),W()}ba(["click"]);export{La as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as E,f as y,b as x,c as G,d as i,s as p,r as s,v as n,o as h,l as o,a7 as w}from"../chunks/7qWbnjAX.js";import{e as J}from"../chunks/DdOgh5Is.js";import{s as K}from"../chunks/-Xzyz9Ue.js";import{i as L}from"../chunks/C8ddfRgv.js";import{s as M,a as O}from"../chunks/DGY7Nmge.js";import{I as P,T as Q}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{n as g}from"../chunks/Cthj1J76.js";import{p as W}from"../chunks/CyM0cp9N.js";import{i as z,g as _}from"../chunks/BHmPjZ2c.js";import{c as X,u as Y}from"../chunks/DZLQ5umq.js";var Z=y('<div class="empty svelte-1xz8dig">No collections</div>'),$=y('<div class="container svelte-1xz8dig"><div class="leftArea svelte-1xz8dig"><div class="leftHeader svelte-1xz8dig">Collections</div> <div class="leftContent svelte-1xz8dig"><!></div> <div class="leftFooter svelte-1xz8dig"><form class="createForm svelte-1xz8dig"><!></form></div></div> <!></div>');function fe(b,a){E(a,!0);const F=()=>O(W,"$page",N),[N,S]=M();let T=w(()=>F().params.collectionId||null),l=h(""),d=h(!1),c=w(()=>a.data.collections.map(e=>({id:e.id,name:e.code,collectionId:e.id,order:e.sort})));function k(e){if(e===null){_(`/${a.data.languageId}/finder`);return}const t=o(c).find(r=>r.id===e);t&&_(`/${a.data.languageId}/finder/${t.collectionId}/nodes`)}async function A(e){try{const t=e.map(({itemId:r,order:j})=>{const I=o(c).find(q=>q.id===r);return I?{id:I.collectionId,sort:j}:null}).filter(Boolean);await Y({updates:t}),await z("app:collections")}catch{g.error("Failed to save order")}}async function B(e){e?.preventDefault?.();const t=o(l).trim();if(t){n(d,!0);try{const r=await X({code:t,notes:null});await z("app:collections"),n(l,""),g.success("Collection created"),_(`/${a.data.languageId}/finder/${r.id}/nodes`)}catch{g.error("Failed to create collection")}finally{n(d,!1)}}}var v=$(),f=i(v),m=p(i(f),2),D=i(m);{var H=e=>{var t=Z();x(e,t)},R=e=>{Q(e,{get items(){return o(c)},allowNesting:!1,get selectedId(){return o(T)},onSelect:k,onReorder:A,gap:"2px"})};L(D,e=>{a.data.collections.length===0?e(H):e(R,!1)})}s(m);var C=p(m,2),u=i(C),U=i(u);P(U,{placeholder:"New collection code",size:"28",variant:"accent",get disabled(){return o(d)},get value(){return o(l)},set value(e){n(l,e,!0)}}),s(u),s(C),s(f);var V=p(f,2);K(V,()=>a.children),s(v),J("submit",u,B),x(b,v),G(),S()}export{fe as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as E,f as y,b as x,c as G,d as i,s as p,r as s,v as n,o as h,l as o,a7 as w}from"../chunks/7qWbnjAX.js";import{e as J}from"../chunks/DdOgh5Is.js";import{s as K}from"../chunks/-Xzyz9Ue.js";import{i as L}from"../chunks/C8ddfRgv.js";import{s as M,a as O}from"../chunks/DGY7Nmge.js";import{I as P,T as Q}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{n as g}from"../chunks/Cthj1J76.js";import{p as W}from"../chunks/DFiKK9xz.js";import{i as z,g as _}from"../chunks/y_6KjEX3.js";import{c as X,u as Y}from"../chunks/LtEPjfl3.js";var Z=y('<div class="empty svelte-1xz8dig">No collections</div>'),$=y('<div class="container svelte-1xz8dig"><div class="leftArea svelte-1xz8dig"><div class="leftHeader svelte-1xz8dig">Collections</div> <div class="leftContent svelte-1xz8dig"><!></div> <div class="leftFooter svelte-1xz8dig"><form class="createForm svelte-1xz8dig"><!></form></div></div> <!></div>');function fe(b,a){E(a,!0);const F=()=>O(W,"$page",N),[N,S]=M();let T=w(()=>F().params.collectionId||null),l=h(""),d=h(!1),c=w(()=>a.data.collections.map(e=>({id:e.id,name:e.code,collectionId:e.id,order:e.sort})));function k(e){if(e===null){_(`/${a.data.languageId}/finder`);return}const t=o(c).find(r=>r.id===e);t&&_(`/${a.data.languageId}/finder/${t.collectionId}/nodes`)}async function A(e){try{const t=e.map(({itemId:r,order:j})=>{const I=o(c).find(q=>q.id===r);return I?{id:I.collectionId,sort:j}:null}).filter(Boolean);await Y({updates:t}),await z("app:collections")}catch{g.error("Failed to save order")}}async function B(e){e?.preventDefault?.();const t=o(l).trim();if(t){n(d,!0);try{const r=await X({code:t,notes:null});await z("app:collections"),n(l,""),g.success("Collection created"),_(`/${a.data.languageId}/finder/${r.id}/nodes`)}catch{g.error("Failed to create collection")}finally{n(d,!1)}}}var v=$(),f=i(v),m=p(i(f),2),D=i(m);{var H=e=>{var t=Z();x(e,t)},R=e=>{Q(e,{get items(){return o(c)},allowNesting:!1,get selectedId(){return o(T)},onSelect:k,onReorder:A,gap:"2px"})};L(D,e=>{a.data.collections.length===0?e(H):e(R,!1)})}s(m);var C=p(m,2),u=i(C),U=i(u);P(U,{placeholder:"New collection code",size:"28",variant:"accent",get disabled(){return o(d)},get value(){return o(l)},set value(e){n(l,e,!0)}}),s(u),s(C),s(f);var V=p(f,2);K(V,()=>a.children),s(v),J("submit",u,B),x(b,v),G(),S()}export{fe as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as G,o,q as F,h as H,l as r,v as e,f as I,b as h,c as J,d as _,r as y,s as L,a7 as M}from"../chunks/7qWbnjAX.js";import{i as N}from"../chunks/C8ddfRgv.js";import{a as O,s as P}from"../chunks/DGY7Nmge.js";import{p as Q}from"../chunks/CyM0cp9N.js";import{i as z,g as B}from"../chunks/BHmPjZ2c.js";import{B as U,I as k}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{F as C}from"../chunks/dCqqWZRL.js";import{n as g}from"../chunks/Cthj1J76.js";import{d as V,u as W}from"../chunks/COd-ozSe.js";var X=I('<div class="editor svelte-1xa1b3o"><!> <!> <div class="actions svelte-1xa1b3o"><!></div></div>'),Y=I('<p class="error svelte-1xa1b3o">Language not found</p>'),Z=I('<div class="mainContent svelte-1xa1b3o"><!></div>');function ua(S,t){G(t,!0);const n=()=>O(Q,"$page",T),[T,q]=P();let s=o(F(t.data.language?.id??"")),d=o(F(t.data.language?.title??"")),u=o(!1),c=o(!1),f=o("");H(()=>{if(r(u))return;const a=n().params.id;a!==r(f)&&(e(s,t.data.language?.id??a??"",!0),e(d,t.data.language?.title??"",!0),e(f,a,!0))});async function x(){const a=r(s).trim(),i=r(d).trim();if(!(!a||!t.data.language)&&!(t.data.language.id===a&&t.data.language.title===i)){e(u,!0);try{const l=await W({id:n().params.id,updates:{newId:a!==n().params.id?a:void 0,title:i||null}});e(s,l.id,!0),e(d,l.title??"",!0),e(f,n().params.id,!0),await z("app:languages"),l.id!==n().params.id&&B(`/languages/${l.id}`),g.success("Saved")}catch{g.error("Failed to save")}finally{e(u,!1)}}}async function E(){if(t.data.language&&confirm("Delete this language?")){e(c,!0);try{await V({id:n().params.id}),await z("app:languages"),B("/languages"),g.success("Deleted")}catch{g.error("Failed to delete")}finally{e(c,!1)}}}var v=Z(),K=_(v);{var R=a=>{var i=X(),l=_(i);C(l,{label:"ID (Code)",children:p=>{k(p,{id:"lang-id",size:"32",variant:"accent",placeholder:"Language ID (e.g., en, ro)",onblur:x,get value(){return r(s)},set value(b){e(s,b,!0)}})},$$slots:{default:!0}});var D=L(l,2);C(D,{label:"Title",children:p=>{k(p,{id:"lang-title",size:"32",variant:"accent",placeholder:"Language title (e.g., English, Română)",onblur:x,get value(){return r(d)},set value(b){e(d,b,!0)}})},$$slots:{default:!0}});var w=L(D,2),A=_(w);{let m=M(()=>r(c)||r(u));U(A,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:E,get disabled(){return r(m)}})}y(w),y(i),h(a,i)},j=a=>{var i=Y();h(a,i)};N(K,a=>{t.data.language?a(R):a(j,!1)})}y(v),h(S,v),J(),q()}export{ua as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as G,o,q as F,h as H,l as r,v as e,f as I,b as h,c as J,d as _,r as y,s as L,a7 as M}from"../chunks/7qWbnjAX.js";import{i as N}from"../chunks/C8ddfRgv.js";import{a as O,s as P}from"../chunks/DGY7Nmge.js";import{p as Q}from"../chunks/DFiKK9xz.js";import{i as z,g as B}from"../chunks/y_6KjEX3.js";import{B as U,I as k}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{F as C}from"../chunks/DbpPCKvO.js";import{n as g}from"../chunks/Cthj1J76.js";import{d as V,u as W}from"../chunks/30qeoBqZ.js";var X=I('<div class="editor svelte-1xa1b3o"><!> <!> <div class="actions svelte-1xa1b3o"><!></div></div>'),Y=I('<p class="error svelte-1xa1b3o">Language not found</p>'),Z=I('<div class="mainContent svelte-1xa1b3o"><!></div>');function ua(S,t){G(t,!0);const n=()=>O(Q,"$page",T),[T,q]=P();let s=o(F(t.data.language?.id??"")),d=o(F(t.data.language?.title??"")),u=o(!1),c=o(!1),f=o("");H(()=>{if(r(u))return;const a=n().params.id;a!==r(f)&&(e(s,t.data.language?.id??a??"",!0),e(d,t.data.language?.title??"",!0),e(f,a,!0))});async function x(){const a=r(s).trim(),i=r(d).trim();if(!(!a||!t.data.language)&&!(t.data.language.id===a&&t.data.language.title===i)){e(u,!0);try{const l=await W({id:n().params.id,updates:{newId:a!==n().params.id?a:void 0,title:i||null}});e(s,l.id,!0),e(d,l.title??"",!0),e(f,n().params.id,!0),await z("app:languages"),l.id!==n().params.id&&B(`/languages/${l.id}`),g.success("Saved")}catch{g.error("Failed to save")}finally{e(u,!1)}}}async function E(){if(t.data.language&&confirm("Delete this language?")){e(c,!0);try{await V({id:n().params.id}),await z("app:languages"),B("/languages"),g.success("Deleted")}catch{g.error("Failed to delete")}finally{e(c,!1)}}}var v=Z(),K=_(v);{var R=a=>{var i=X(),l=_(i);C(l,{label:"ID (Code)",children:p=>{k(p,{id:"lang-id",size:"32",variant:"accent",placeholder:"Language ID (e.g., en, ro)",onblur:x,get value(){return r(s)},set value(b){e(s,b,!0)}})},$$slots:{default:!0}});var D=L(l,2);C(D,{label:"Title",children:p=>{k(p,{id:"lang-title",size:"32",variant:"accent",placeholder:"Language title (e.g., English, Română)",onblur:x,get value(){return r(d)},set value(b){e(d,b,!0)}})},$$slots:{default:!0}});var w=L(D,2),A=_(w);{let m=M(()=>r(c)||r(u));U(A,{label:"Delete",intent:"danger",size:"28",type:"button",onclick:E,get disabled(){return r(m)}})}y(w),y(i),h(a,i)},j=a=>{var i=Y();h(a,i)};N(K,a=>{t.data.language?a(R):a(j,!1)})}y(v),h(S,v),J(),q()}export{ua as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p,e,a as m,b as n,c as i}from"../chunks/7qWbnjAX.js";import{s as c}from"../chunks/-Xzyz9Ue.js";import{s as f}from"../chunks/DGY7Nmge.js";import"../chunks/DXEipY-X.js";function $(t,o){p(o,!0);const[u,r]=f();var s=e(),a=m(s);c(a,()=>o.children),n(t,s),i(),r()}export{$ as component};
1
+ import"../chunks/DsnmJJEf.js";import{p,e,a as m,b as n,c as i}from"../chunks/7qWbnjAX.js";import{s as c}from"../chunks/-Xzyz9Ue.js";import{s as f}from"../chunks/DGY7Nmge.js";import"../chunks/BkETWZbE.js";function $(t,o){p(o,!0);const[u,r]=f();var s=e(),a=m(s);c(a,()=>o.children),n(t,s),i(),r()}export{$ as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{f as C,d,r as i,t as E,b as k,p as se,o as A,q as de,a as ie,s as m,v as b,l as r,c as le,a7 as g,a3 as ce}from"../chunks/7qWbnjAX.js";import{s as J,d as ue,e as ve}from"../chunks/DdOgh5Is.js";import{s as me}from"../chunks/-Xzyz9Ue.js";import{i as W}from"../chunks/C8ddfRgv.js";import{s as ge,a as fe}from"../chunks/DGY7Nmge.js";import{s as pe,n as T}from"../chunks/Cthj1J76.js";import{s as _e,I as be,D as he,C as ye}from"../chunks/CkGpbB2c.js";import{p as D}from"../chunks/Bwb4YjZ4.js";import"../chunks/FUzdYPk7.js";import{p as Te}from"../chunks/CyM0cp9N.js";import{g as h,i as M}from"../chunks/BHmPjZ2c.js";import{m as ke,n as Ce}from"../chunks/DZLQ5umq.js";var we=C("<span> </span>");function Ne(o,e){let l=D(e,"background",3,"var(--base900)"),w=D(e,"foreground",3,"var(--base0)"),N=D(e,"size",3,20);var u=we();let v;var f=d(u,!0);i(u),E(p=>{pe(u,1,`badge size-${N()??""}`,"svelte-1nkeya9"),v=_e(u,"",v,p),J(f,e.text)},[()=>({"background-color":l(),color:w()})]),k(o,u)}function Ie(o){if(!o)return 0;let e=2166136261;for(let l=0;l<o.length;l++)e^=o.charCodeAt(l),e=Math.imul(e,16777619);return Math.abs(e%360)}function xe(o){const e=Ie(o);return{background:`hsl(${e}, 70%, 50%)`,foreground:`hsl(${e}, 10%, 98%)`}}var ze=C('<div class="item-content svelte-tu57n0"><span class="item-name svelte-tu57n0"> </span> <!></div>'),Be=(o,e)=>h(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),Fe=(o,e)=>h(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`),Pe=C('<div class="placeholder svelte-tu57n0">No nodes</div>'),Re=C('<div class="middleArea svelte-tu57n0"><div class="tabBar svelte-tu57n0"><button class="tab active svelte-tu57n0">Nodes</button> <button class="tab svelte-tu57n0">Templates</button> <button class="tab svelte-tu57n0">Relation Types</button></div> <div class="nodesArea svelte-tu57n0"><div class="nodesContent svelte-tu57n0"><!></div> <div class="nodesFooter svelte-tu57n0"><form class="createForm svelte-tu57n0"><!> <!></form></div></div></div> <!>',1);function Ke(o,e){se(e,!0);const l=()=>fe(Te,"$page",w),[w,N]=ge(),u=(a,t=ce)=>{const s=g(()=>r(K)[t().nodeType]),n=g(()=>r(s)?xe(r(s)):{background:"var(--base700)",foreground:"var(--base0)"});var c=ze(),P=d(c),ae=d(P,!0);i(P);var re=m(P,2);{var oe=R=>{{let ne=g(()=>r(s).toUpperCase());Ne(R,{get text(){return r(ne)},get background(){return r(n).background},get foreground(){return r(n).foreground},size:16})}};W(re,R=>{r(s)&&R(oe)})}i(c),E(()=>J(ae,t().name)),k(a,c)};let v=A(""),f=A(de(e.data.nodeTypes?.[0]?.id||"")),p=A(!1),K=g(()=>e.data.nodeTypes?.reduce((a,t)=>(a[t.id]=t.code,a),{})||{}),j=g(()=>S(e.data.nodes)),_=g(()=>l().params.nodeId?l().params.nodeId.split("/"):[]);function S(a){return a.map(t=>({id:t.id,name:t.code||t.notes||`Node ${t.id}`,nodeType:t._node_type,items:t.children?S(t.children):[]}))}function L(a){if(a.length===0)h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes`);else{const t=a.join("/");h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes/${t}`)}}let I=[],y=null;async function O(a,t,s){try{I.push({id:a,_parent:t,sort:s}),y&&clearTimeout(y),y=setTimeout(async()=>{const n=[...I];I=[],y=null;try{await Ce({updates:n}),await M("app:nodes")}catch(c){console.error("Reorder error:",c),c?.message?.includes("circular reference")?T.error("Cannot move: would create a circular reference (a node cannot be its own ancestor)"):T.error("Failed to save order"),await M("app:nodes")}},50)}catch(n){console.error("Reorder error:",n)}}async function Q(a){a?.preventDefault?.();const t=r(v).trim();if(!t||!r(f))return;const s=r(_).length>0?r(_)[r(_).length-1]:null;b(p,!0);try{const n=await ke({_collection:e.data.collection.id,code:t,_node_type:r(f),_parent:s});await M("app:nodes"),b(v,""),T.success("Node created");const c=s?[...r(_),n.id].join("/"):n.id;h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes/${c}`)}catch{T.error("Failed to create node")}finally{b(p,!1)}}var q=Re(),x=ie(q),z=d(x),G=m(d(z),2);G.__click=[Be,e];var X=m(G,2);X.__click=[Fe,e],i(z);var H=m(z,2),B=d(H),Y=d(B);{var Z=a=>{var t=Pe();k(a,t)},$=a=>{ye(a,{get items(){return r(j)},get selectedIds(){return r(_)},onSelectionChange:L,onReorder:O,columnWidth:"220px",columnPadding:"4px",itemsGap:"2px",itemSize:"28",get itemContent(){return u}})};W(Y,a=>{r(j).length===0?a(Z):a($,!1)})}i(B);var U=m(B,2),F=d(U),V=d(F);be(V,{placeholder:"New node code",size:"28",variant:"accent",get disabled(){return r(p)},get value(){return r(v)},set value(a){b(v,a,!0)}});var ee=m(V,2);{let a=g(()=>e.data.nodeTypes?.map(t=>({value:t.id,label:t.code}))||[]);he(ee,{size:"28",get disabled(){return r(p)},get options(){return r(a)},get value(){return r(f)},set value(t){b(f,t,!0)}})}i(F),i(U),i(H),i(x);var te=m(x,2);me(te,()=>e.children),ve("submit",F,Q),k(o,q),le(),N()}ue(["click"]);export{Ke as component};
1
+ import"../chunks/DsnmJJEf.js";import{f as C,d,r as i,t as E,b as k,p as se,o as A,q as de,a as ie,s as m,v as b,l as r,c as le,a7 as g,a3 as ce}from"../chunks/7qWbnjAX.js";import{s as J,d as ue,e as ve}from"../chunks/DdOgh5Is.js";import{s as me}from"../chunks/-Xzyz9Ue.js";import{i as W}from"../chunks/C8ddfRgv.js";import{s as ge,a as fe}from"../chunks/DGY7Nmge.js";import{s as pe,n as T}from"../chunks/Cthj1J76.js";import{s as _e,I as be,D as he,C as ye}from"../chunks/DuQW8kGn.js";import{p as D}from"../chunks/Bwb4YjZ4.js";import"../chunks/FUzdYPk7.js";import{p as Te}from"../chunks/DFiKK9xz.js";import{g as h,i as M}from"../chunks/y_6KjEX3.js";import{m as ke,n as Ce}from"../chunks/LtEPjfl3.js";var we=C("<span> </span>");function Ne(o,e){let l=D(e,"background",3,"var(--base900)"),w=D(e,"foreground",3,"var(--base0)"),N=D(e,"size",3,20);var u=we();let v;var f=d(u,!0);i(u),E(p=>{pe(u,1,`badge size-${N()??""}`,"svelte-1nkeya9"),v=_e(u,"",v,p),J(f,e.text)},[()=>({"background-color":l(),color:w()})]),k(o,u)}function Ie(o){if(!o)return 0;let e=2166136261;for(let l=0;l<o.length;l++)e^=o.charCodeAt(l),e=Math.imul(e,16777619);return Math.abs(e%360)}function xe(o){const e=Ie(o);return{background:`hsl(${e}, 70%, 50%)`,foreground:`hsl(${e}, 10%, 98%)`}}var ze=C('<div class="item-content svelte-tu57n0"><span class="item-name svelte-tu57n0"> </span> <!></div>'),Be=(o,e)=>h(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),Fe=(o,e)=>h(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`),Pe=C('<div class="placeholder svelte-tu57n0">No nodes</div>'),Re=C('<div class="middleArea svelte-tu57n0"><div class="tabBar svelte-tu57n0"><button class="tab active svelte-tu57n0">Nodes</button> <button class="tab svelte-tu57n0">Templates</button> <button class="tab svelte-tu57n0">Relation Types</button></div> <div class="nodesArea svelte-tu57n0"><div class="nodesContent svelte-tu57n0"><!></div> <div class="nodesFooter svelte-tu57n0"><form class="createForm svelte-tu57n0"><!> <!></form></div></div></div> <!>',1);function Ke(o,e){se(e,!0);const l=()=>fe(Te,"$page",w),[w,N]=ge(),u=(a,t=ce)=>{const s=g(()=>r(K)[t().nodeType]),n=g(()=>r(s)?xe(r(s)):{background:"var(--base700)",foreground:"var(--base0)"});var c=ze(),P=d(c),ae=d(P,!0);i(P);var re=m(P,2);{var oe=R=>{{let ne=g(()=>r(s).toUpperCase());Ne(R,{get text(){return r(ne)},get background(){return r(n).background},get foreground(){return r(n).foreground},size:16})}};W(re,R=>{r(s)&&R(oe)})}i(c),E(()=>J(ae,t().name)),k(a,c)};let v=A(""),f=A(de(e.data.nodeTypes?.[0]?.id||"")),p=A(!1),K=g(()=>e.data.nodeTypes?.reduce((a,t)=>(a[t.id]=t.code,a),{})||{}),j=g(()=>S(e.data.nodes)),_=g(()=>l().params.nodeId?l().params.nodeId.split("/"):[]);function S(a){return a.map(t=>({id:t.id,name:t.code||t.notes||`Node ${t.id}`,nodeType:t._node_type,items:t.children?S(t.children):[]}))}function L(a){if(a.length===0)h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes`);else{const t=a.join("/");h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes/${t}`)}}let I=[],y=null;async function O(a,t,s){try{I.push({id:a,_parent:t,sort:s}),y&&clearTimeout(y),y=setTimeout(async()=>{const n=[...I];I=[],y=null;try{await Ce({updates:n}),await M("app:nodes")}catch(c){console.error("Reorder error:",c),c?.message?.includes("circular reference")?T.error("Cannot move: would create a circular reference (a node cannot be its own ancestor)"):T.error("Failed to save order"),await M("app:nodes")}},50)}catch(n){console.error("Reorder error:",n)}}async function Q(a){a?.preventDefault?.();const t=r(v).trim();if(!t||!r(f))return;const s=r(_).length>0?r(_)[r(_).length-1]:null;b(p,!0);try{const n=await ke({_collection:e.data.collection.id,code:t,_node_type:r(f),_parent:s});await M("app:nodes"),b(v,""),T.success("Node created");const c=s?[...r(_),n.id].join("/"):n.id;h(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes/${c}`)}catch{T.error("Failed to create node")}finally{b(p,!1)}}var q=Re(),x=ie(q),z=d(x),G=m(d(z),2);G.__click=[Be,e];var X=m(G,2);X.__click=[Fe,e],i(z);var H=m(z,2),B=d(H),Y=d(B);{var Z=a=>{var t=Pe();k(a,t)},$=a=>{ye(a,{get items(){return r(j)},get selectedIds(){return r(_)},onSelectionChange:L,onReorder:O,columnWidth:"220px",columnPadding:"4px",itemsGap:"2px",itemSize:"28",get itemContent(){return u}})};W(Y,a=>{r(j).length===0?a(Z):a($,!1)})}i(B);var U=m(B,2),F=d(U),V=d(F);be(V,{placeholder:"New node code",size:"28",variant:"accent",get disabled(){return r(p)},get value(){return r(v)},set value(a){b(v,a,!0)}});var ee=m(V,2);{let a=g(()=>e.data.nodeTypes?.map(t=>({value:t.id,label:t.code}))||[]);he(ee,{size:"28",get disabled(){return r(p)},get options(){return r(a)},get value(){return r(f)},set value(t){b(f,t,!0)}})}i(F),i(U),i(H),i(x);var te=m(x,2);me(te,()=>e.children),ve("submit",F,Q),k(o,q),le(),N()}ue(["click"]);export{Ke as component};
@@ -1 +1 @@
1
- import"../chunks/DsnmJJEf.js";import{p as O,f as S,a as x,d as l,s as d,b as v,c as Q,v as u,l as t,o as C,a8 as F,r as s,e as U,a9 as V,t as W,a7 as N}from"../chunks/7qWbnjAX.js";import{d as X,e as Y,s as Z}from"../chunks/DdOgh5Is.js";import{s as $}from"../chunks/-Xzyz9Ue.js";import{i as ee}from"../chunks/C8ddfRgv.js";import{n as A,e as te,i as ae}from"../chunks/Cthj1J76.js";import{s as ie,a as le}from"../chunks/DGY7Nmge.js";import{I as se,S as ne}from"../chunks/CkGpbB2c.js";import"../chunks/FUzdYPk7.js";import{p as oe}from"../chunks/CyM0cp9N.js";import{g as o,i as re}from"../chunks/BHmPjZ2c.js";import{a as ce}from"../chunks/DZLQ5umq.js";var de=(m,e)=>o(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes`),ve=(m,e)=>o(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),ue=S('<div class="placeholder svelte-1uncvwb">No relation types</div>'),me=S('<div class="middleArea svelte-1uncvwb"><div class="tabBar svelte-1uncvwb"><button class="tab svelte-1uncvwb">Nodes</button> <button class="tab svelte-1uncvwb">Templates</button> <button class="tab active svelte-1uncvwb">Relation Types</button></div> <div class="relationTypesArea svelte-1uncvwb"><div class="relationTypesColumn svelte-1uncvwb"><div class="columnContent svelte-1uncvwb"><!></div> <div class="columnFooter svelte-1uncvwb"><form class="createForm svelte-1uncvwb"><!></form></div></div></div></div> <!>',1);function Ce(m,e){O(e,!0);const z=()=>le(oe,"$page",B),[B,D]=ie();let r=C(""),f=C(!1),y=N(()=>z().params.relationTypeId||null);async function P(a){a?.preventDefault?.();const i=t(r).trim();if(i){u(f,!0);try{const c=await ce({_collection:e.data.collection.id,code:i,title:{},reverse_title:{},notes:null});await re("app:relation-types"),u(r,""),o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types/${c.id}`),A.success("Relation type created")}catch{A.error("Failed to create relation type")}finally{u(f,!1)}}}var w=me(),_=x(w),b=l(_),h=l(b);h.__click=[de,e];var j=d(h,2);j.__click=[ve,e],F(2),s(b);var I=d(b,2),T=l(I),p=l(T),q=l(p);{var E=a=>{var i=ue();v(a,i)},G=a=>{var i=U(),c=x(i);te(c,17,()=>e.data.relationTypes,ae,(K,n)=>{{let L=N(()=>t(y)===t(n).id);ne(K,{get selected(){return t(L)},onclick:()=>{t(y)===t(n).id?o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`):o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types/${t(n).id}`)},children:(M,fe)=>{F();var k=V();W(()=>Z(k,t(n).code||`Relation Type ${t(n).id}`)),v(M,k)},$$slots:{default:!0}})}}),v(a,i)};ee(q,a=>{e.data.relationTypes.length===0?a(E):a(G,!1)})}s(p);var R=d(p,2),g=l(R),H=l(g);se(H,{placeholder:"New relation type code",size:"28",variant:"accent",get disabled(){return t(f)},get value(){return t(r)},set value(a){u(r,a,!0)}}),s(g),s(R),s(T),s(I),s(_);var J=d(_,2);$(J,()=>e.children),Y("submit",g,P),v(m,w),Q(),D()}X(["click"]);export{Ce as component};
1
+ import"../chunks/DsnmJJEf.js";import{p as O,f as S,a as x,d as l,s as d,b as v,c as Q,v as u,l as t,o as C,a8 as F,r as s,e as U,a9 as V,t as W,a7 as N}from"../chunks/7qWbnjAX.js";import{d as X,e as Y,s as Z}from"../chunks/DdOgh5Is.js";import{s as $}from"../chunks/-Xzyz9Ue.js";import{i as ee}from"../chunks/C8ddfRgv.js";import{n as A,e as te,i as ae}from"../chunks/Cthj1J76.js";import{s as ie,a as le}from"../chunks/DGY7Nmge.js";import{I as se,S as ne}from"../chunks/DuQW8kGn.js";import"../chunks/FUzdYPk7.js";import{p as oe}from"../chunks/DFiKK9xz.js";import{g as o,i as re}from"../chunks/y_6KjEX3.js";import{a as ce}from"../chunks/LtEPjfl3.js";var de=(m,e)=>o(`/${e.data.languageId}/finder/${e.data.collection.id}/nodes`),ve=(m,e)=>o(`/${e.data.languageId}/finder/${e.data.collection.id}/templates`),ue=S('<div class="placeholder svelte-1uncvwb">No relation types</div>'),me=S('<div class="middleArea svelte-1uncvwb"><div class="tabBar svelte-1uncvwb"><button class="tab svelte-1uncvwb">Nodes</button> <button class="tab svelte-1uncvwb">Templates</button> <button class="tab active svelte-1uncvwb">Relation Types</button></div> <div class="relationTypesArea svelte-1uncvwb"><div class="relationTypesColumn svelte-1uncvwb"><div class="columnContent svelte-1uncvwb"><!></div> <div class="columnFooter svelte-1uncvwb"><form class="createForm svelte-1uncvwb"><!></form></div></div></div></div> <!>',1);function Ce(m,e){O(e,!0);const z=()=>le(oe,"$page",B),[B,D]=ie();let r=C(""),f=C(!1),y=N(()=>z().params.relationTypeId||null);async function P(a){a?.preventDefault?.();const i=t(r).trim();if(i){u(f,!0);try{const c=await ce({_collection:e.data.collection.id,code:i,title:{},reverse_title:{},notes:null});await re("app:relation-types"),u(r,""),o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types/${c.id}`),A.success("Relation type created")}catch{A.error("Failed to create relation type")}finally{u(f,!1)}}}var w=me(),_=x(w),b=l(_),h=l(b);h.__click=[de,e];var j=d(h,2);j.__click=[ve,e],F(2),s(b);var I=d(b,2),T=l(I),p=l(T),q=l(p);{var E=a=>{var i=ue();v(a,i)},G=a=>{var i=U(),c=x(i);te(c,17,()=>e.data.relationTypes,ae,(K,n)=>{{let L=N(()=>t(y)===t(n).id);ne(K,{get selected(){return t(L)},onclick:()=>{t(y)===t(n).id?o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types`):o(`/${e.data.languageId}/finder/${e.data.collection.id}/relation-types/${t(n).id}`)},children:(M,fe)=>{F();var k=V();W(()=>Z(k,t(n).code||`Relation Type ${t(n).id}`)),v(M,k)},$$slots:{default:!0}})}}),v(a,i)};ee(q,a=>{e.data.relationTypes.length===0?a(E):a(G,!1)})}s(p);var R=d(p,2),g=l(R),H=l(g);se(H,{placeholder:"New relation type code",size:"28",variant:"accent",get disabled(){return t(f)},get value(){return t(r)},set value(a){u(r,a,!0)}}),s(g),s(R),s(T),s(I),s(_);var J=d(_,2);$(J,()=>e.children),Y("submit",g,P),v(m,w),Q(),D()}X(["click"]);export{Ce as component};