bloko-studio 0.0.1

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 (461) hide show
  1. package/bin/bloko-studio.js +6 -0
  2. package/dist/client/_app/immutable/assets/0.qtyVX5Lk.css +1 -0
  3. package/dist/client/_app/immutable/assets/0.qtyVX5Lk.css.br +0 -0
  4. package/dist/client/_app/immutable/assets/0.qtyVX5Lk.css.gz +0 -0
  5. package/dist/client/_app/immutable/assets/12.PImKdmsE.css +1 -0
  6. package/dist/client/_app/immutable/assets/12.PImKdmsE.css.br +0 -0
  7. package/dist/client/_app/immutable/assets/12.PImKdmsE.css.gz +0 -0
  8. package/dist/client/_app/immutable/assets/14.lzVIHEtT.css +1 -0
  9. package/dist/client/_app/immutable/assets/14.lzVIHEtT.css.br +0 -0
  10. package/dist/client/_app/immutable/assets/14.lzVIHEtT.css.gz +0 -0
  11. package/dist/client/_app/immutable/assets/15.BLRd8hLV.css +1 -0
  12. package/dist/client/_app/immutable/assets/15.BLRd8hLV.css.br +0 -0
  13. package/dist/client/_app/immutable/assets/15.BLRd8hLV.css.gz +0 -0
  14. package/dist/client/_app/immutable/assets/19.BkNaaaT_.css +1 -0
  15. package/dist/client/_app/immutable/assets/19.BkNaaaT_.css.br +0 -0
  16. package/dist/client/_app/immutable/assets/19.BkNaaaT_.css.gz +0 -0
  17. package/dist/client/_app/immutable/assets/21.BFvFiUwr.css +1 -0
  18. package/dist/client/_app/immutable/assets/21.BFvFiUwr.css.br +0 -0
  19. package/dist/client/_app/immutable/assets/21.BFvFiUwr.css.gz +0 -0
  20. package/dist/client/_app/immutable/assets/23.lmy3jg5I.css +1 -0
  21. package/dist/client/_app/immutable/assets/23.lmy3jg5I.css.br +0 -0
  22. package/dist/client/_app/immutable/assets/23.lmy3jg5I.css.gz +0 -0
  23. package/dist/client/_app/immutable/assets/24.BKqfVfTU.css +1 -0
  24. package/dist/client/_app/immutable/assets/24.BKqfVfTU.css.br +0 -0
  25. package/dist/client/_app/immutable/assets/24.BKqfVfTU.css.gz +0 -0
  26. package/dist/client/_app/immutable/assets/25.CPsiW96l.css +1 -0
  27. package/dist/client/_app/immutable/assets/25.CPsiW96l.css.br +0 -0
  28. package/dist/client/_app/immutable/assets/25.CPsiW96l.css.gz +0 -0
  29. package/dist/client/_app/immutable/assets/26.Duww4IEr.css +1 -0
  30. package/dist/client/_app/immutable/assets/26.Duww4IEr.css.br +0 -0
  31. package/dist/client/_app/immutable/assets/26.Duww4IEr.css.gz +0 -0
  32. package/dist/client/_app/immutable/assets/27.BssMRzl2.css +1 -0
  33. package/dist/client/_app/immutable/assets/27.BssMRzl2.css.br +0 -0
  34. package/dist/client/_app/immutable/assets/27.BssMRzl2.css.gz +0 -0
  35. package/dist/client/_app/immutable/assets/28.eILdrnRP.css +1 -0
  36. package/dist/client/_app/immutable/assets/28.eILdrnRP.css.br +0 -0
  37. package/dist/client/_app/immutable/assets/28.eILdrnRP.css.gz +0 -0
  38. package/dist/client/_app/immutable/assets/29.Dbx5ypFb.css +1 -0
  39. package/dist/client/_app/immutable/assets/29.Dbx5ypFb.css.br +0 -0
  40. package/dist/client/_app/immutable/assets/29.Dbx5ypFb.css.gz +0 -0
  41. package/dist/client/_app/immutable/assets/3.DlHp_E83.css +1 -0
  42. package/dist/client/_app/immutable/assets/3.DlHp_E83.css.br +0 -0
  43. package/dist/client/_app/immutable/assets/3.DlHp_E83.css.gz +0 -0
  44. package/dist/client/_app/immutable/assets/30.CZyI5lvW.css +1 -0
  45. package/dist/client/_app/immutable/assets/30.CZyI5lvW.css.br +0 -0
  46. package/dist/client/_app/immutable/assets/30.CZyI5lvW.css.gz +0 -0
  47. package/dist/client/_app/immutable/assets/31.DTyKTI60.css +1 -0
  48. package/dist/client/_app/immutable/assets/31.DTyKTI60.css.br +1 -0
  49. package/dist/client/_app/immutable/assets/31.DTyKTI60.css.gz +0 -0
  50. package/dist/client/_app/immutable/assets/5.CleWk3al.css +1 -0
  51. package/dist/client/_app/immutable/assets/5.CleWk3al.css.br +0 -0
  52. package/dist/client/_app/immutable/assets/5.CleWk3al.css.gz +0 -0
  53. package/dist/client/_app/immutable/assets/7.By_kndZ5.css +1 -0
  54. package/dist/client/_app/immutable/assets/7.By_kndZ5.css.br +0 -0
  55. package/dist/client/_app/immutable/assets/7.By_kndZ5.css.gz +0 -0
  56. package/dist/client/_app/immutable/assets/9.r2JMdec9.css +1 -0
  57. package/dist/client/_app/immutable/assets/9.r2JMdec9.css.br +0 -0
  58. package/dist/client/_app/immutable/assets/9.r2JMdec9.css.gz +0 -0
  59. package/dist/client/_app/immutable/assets/Checkbox.ByMxOWwb.css +1 -0
  60. package/dist/client/_app/immutable/assets/Checkbox.ByMxOWwb.css.br +0 -0
  61. package/dist/client/_app/immutable/assets/Checkbox.ByMxOWwb.css.gz +0 -0
  62. package/dist/client/_app/immutable/assets/Notification.hbW3rpbK.css +1 -0
  63. package/dist/client/_app/immutable/assets/Notification.hbW3rpbK.css.br +0 -0
  64. package/dist/client/_app/immutable/assets/Notification.hbW3rpbK.css.gz +0 -0
  65. package/dist/client/_app/immutable/assets/RootNodeForm.DdxJZ5VM.css +1 -0
  66. package/dist/client/_app/immutable/assets/RootNodeForm.DdxJZ5VM.css.br +0 -0
  67. package/dist/client/_app/immutable/assets/RootNodeForm.DdxJZ5VM.css.gz +0 -0
  68. package/dist/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css +1 -0
  69. package/dist/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css.br +0 -0
  70. package/dist/client/_app/immutable/assets/TextArrayInput.Civ0vOTG.css.gz +0 -0
  71. package/dist/client/_app/immutable/chunks/-728nAYm.js +1 -0
  72. package/dist/client/_app/immutable/chunks/-728nAYm.js.br +0 -0
  73. package/dist/client/_app/immutable/chunks/-728nAYm.js.gz +0 -0
  74. package/dist/client/_app/immutable/chunks/02cg5N20.js +1 -0
  75. package/dist/client/_app/immutable/chunks/02cg5N20.js.br +0 -0
  76. package/dist/client/_app/immutable/chunks/02cg5N20.js.gz +0 -0
  77. package/dist/client/_app/immutable/chunks/0QFcBDDr.js +1 -0
  78. package/dist/client/_app/immutable/chunks/0QFcBDDr.js.br +0 -0
  79. package/dist/client/_app/immutable/chunks/0QFcBDDr.js.gz +0 -0
  80. package/dist/client/_app/immutable/chunks/0VqW21IJ.js +1 -0
  81. package/dist/client/_app/immutable/chunks/0VqW21IJ.js.br +0 -0
  82. package/dist/client/_app/immutable/chunks/0VqW21IJ.js.gz +0 -0
  83. package/dist/client/_app/immutable/chunks/6fsZnhjJ.js +1 -0
  84. package/dist/client/_app/immutable/chunks/6fsZnhjJ.js.br +0 -0
  85. package/dist/client/_app/immutable/chunks/6fsZnhjJ.js.gz +0 -0
  86. package/dist/client/_app/immutable/chunks/BC1JN54U.js +2 -0
  87. package/dist/client/_app/immutable/chunks/BC1JN54U.js.br +0 -0
  88. package/dist/client/_app/immutable/chunks/BC1JN54U.js.gz +0 -0
  89. package/dist/client/_app/immutable/chunks/BQ3n4_et.js +26 -0
  90. package/dist/client/_app/immutable/chunks/BQ3n4_et.js.br +0 -0
  91. package/dist/client/_app/immutable/chunks/BQ3n4_et.js.gz +0 -0
  92. package/dist/client/_app/immutable/chunks/BSKZBNDq.js +1 -0
  93. package/dist/client/_app/immutable/chunks/BSKZBNDq.js.br +0 -0
  94. package/dist/client/_app/immutable/chunks/BSKZBNDq.js.gz +0 -0
  95. package/dist/client/_app/immutable/chunks/B_EH_qKu.js +1 -0
  96. package/dist/client/_app/immutable/chunks/B_EH_qKu.js.br +0 -0
  97. package/dist/client/_app/immutable/chunks/B_EH_qKu.js.gz +0 -0
  98. package/dist/client/_app/immutable/chunks/B_fhi1O3.js +4 -0
  99. package/dist/client/_app/immutable/chunks/B_fhi1O3.js.br +0 -0
  100. package/dist/client/_app/immutable/chunks/B_fhi1O3.js.gz +0 -0
  101. package/dist/client/_app/immutable/chunks/BlEU21Qq.js +1 -0
  102. package/dist/client/_app/immutable/chunks/BlEU21Qq.js.br +0 -0
  103. package/dist/client/_app/immutable/chunks/BlEU21Qq.js.gz +0 -0
  104. package/dist/client/_app/immutable/chunks/Bn5wRL3C.js +1 -0
  105. package/dist/client/_app/immutable/chunks/Bn5wRL3C.js.br +0 -0
  106. package/dist/client/_app/immutable/chunks/Bn5wRL3C.js.gz +0 -0
  107. package/dist/client/_app/immutable/chunks/BpCPmpfM.js +1 -0
  108. package/dist/client/_app/immutable/chunks/BpCPmpfM.js.br +0 -0
  109. package/dist/client/_app/immutable/chunks/BpCPmpfM.js.gz +0 -0
  110. package/dist/client/_app/immutable/chunks/By9IFVYP.js +4 -0
  111. package/dist/client/_app/immutable/chunks/By9IFVYP.js.br +0 -0
  112. package/dist/client/_app/immutable/chunks/By9IFVYP.js.gz +0 -0
  113. package/dist/client/_app/immutable/chunks/ByPlGnwU.js +1 -0
  114. package/dist/client/_app/immutable/chunks/ByPlGnwU.js.br +0 -0
  115. package/dist/client/_app/immutable/chunks/ByPlGnwU.js.gz +0 -0
  116. package/dist/client/_app/immutable/chunks/C09QybwF.js +1 -0
  117. package/dist/client/_app/immutable/chunks/C09QybwF.js.br +0 -0
  118. package/dist/client/_app/immutable/chunks/C09QybwF.js.gz +0 -0
  119. package/dist/client/_app/immutable/chunks/CAO0Kvpt.js +1 -0
  120. package/dist/client/_app/immutable/chunks/CAO0Kvpt.js.br +0 -0
  121. package/dist/client/_app/immutable/chunks/CAO0Kvpt.js.gz +0 -0
  122. package/dist/client/_app/immutable/chunks/CEhebgBQ.js +1 -0
  123. package/dist/client/_app/immutable/chunks/CEhebgBQ.js.br +0 -0
  124. package/dist/client/_app/immutable/chunks/CEhebgBQ.js.gz +0 -0
  125. package/dist/client/_app/immutable/chunks/CFCMsAo1.js +1 -0
  126. package/dist/client/_app/immutable/chunks/CFCMsAo1.js.br +0 -0
  127. package/dist/client/_app/immutable/chunks/CFCMsAo1.js.gz +0 -0
  128. package/dist/client/_app/immutable/chunks/CUWKiV_F.js +1 -0
  129. package/dist/client/_app/immutable/chunks/CUWKiV_F.js.br +0 -0
  130. package/dist/client/_app/immutable/chunks/CUWKiV_F.js.gz +0 -0
  131. package/dist/client/_app/immutable/chunks/Cmlk6LZo.js +1 -0
  132. package/dist/client/_app/immutable/chunks/Cmlk6LZo.js.br +0 -0
  133. package/dist/client/_app/immutable/chunks/Cmlk6LZo.js.gz +0 -0
  134. package/dist/client/_app/immutable/chunks/Cmu9jEtW.js +1 -0
  135. package/dist/client/_app/immutable/chunks/Cmu9jEtW.js.br +0 -0
  136. package/dist/client/_app/immutable/chunks/Cmu9jEtW.js.gz +0 -0
  137. package/dist/client/_app/immutable/chunks/CpAPlAvt.js +1 -0
  138. package/dist/client/_app/immutable/chunks/CpAPlAvt.js.br +0 -0
  139. package/dist/client/_app/immutable/chunks/CpAPlAvt.js.gz +0 -0
  140. package/dist/client/_app/immutable/chunks/DsnmJJEf.js +1 -0
  141. package/dist/client/_app/immutable/chunks/DsnmJJEf.js.br +2 -0
  142. package/dist/client/_app/immutable/chunks/DsnmJJEf.js.gz +0 -0
  143. package/dist/client/_app/immutable/chunks/oWW1wXJt.js +1 -0
  144. package/dist/client/_app/immutable/chunks/oWW1wXJt.js.br +0 -0
  145. package/dist/client/_app/immutable/chunks/oWW1wXJt.js.gz +0 -0
  146. package/dist/client/_app/immutable/chunks/px-OOA_p.js +1 -0
  147. package/dist/client/_app/immutable/chunks/px-OOA_p.js.br +2 -0
  148. package/dist/client/_app/immutable/chunks/px-OOA_p.js.gz +0 -0
  149. package/dist/client/_app/immutable/chunks/uvTLxI_Z.js +1 -0
  150. package/dist/client/_app/immutable/chunks/uvTLxI_Z.js.br +0 -0
  151. package/dist/client/_app/immutable/chunks/uvTLxI_Z.js.gz +0 -0
  152. package/dist/client/_app/immutable/entry/app.MS_pLGs3.js +2 -0
  153. package/dist/client/_app/immutable/entry/app.MS_pLGs3.js.br +0 -0
  154. package/dist/client/_app/immutable/entry/app.MS_pLGs3.js.gz +0 -0
  155. package/dist/client/_app/immutable/entry/start.DlCq1f08.js +1 -0
  156. package/dist/client/_app/immutable/entry/start.DlCq1f08.js.br +0 -0
  157. package/dist/client/_app/immutable/entry/start.DlCq1f08.js.gz +0 -0
  158. package/dist/client/_app/immutable/nodes/0.y8I0FB6O.js +1 -0
  159. package/dist/client/_app/immutable/nodes/0.y8I0FB6O.js.br +0 -0
  160. package/dist/client/_app/immutable/nodes/0.y8I0FB6O.js.gz +0 -0
  161. package/dist/client/_app/immutable/nodes/1.B1GXNrLV.js +1 -0
  162. package/dist/client/_app/immutable/nodes/1.B1GXNrLV.js.br +0 -0
  163. package/dist/client/_app/immutable/nodes/1.B1GXNrLV.js.gz +0 -0
  164. package/dist/client/_app/immutable/nodes/10.BTx5HGEJ.js +1 -0
  165. package/dist/client/_app/immutable/nodes/10.BTx5HGEJ.js.br +2 -0
  166. package/dist/client/_app/immutable/nodes/10.BTx5HGEJ.js.gz +0 -0
  167. package/dist/client/_app/immutable/nodes/11.BTx5HGEJ.js +1 -0
  168. package/dist/client/_app/immutable/nodes/11.BTx5HGEJ.js.br +2 -0
  169. package/dist/client/_app/immutable/nodes/11.BTx5HGEJ.js.gz +0 -0
  170. package/dist/client/_app/immutable/nodes/12.27kPOzuk.js +1 -0
  171. package/dist/client/_app/immutable/nodes/12.27kPOzuk.js.br +0 -0
  172. package/dist/client/_app/immutable/nodes/12.27kPOzuk.js.gz +0 -0
  173. package/dist/client/_app/immutable/nodes/13.BKRvqBmC.js +1 -0
  174. package/dist/client/_app/immutable/nodes/13.BKRvqBmC.js.br +0 -0
  175. package/dist/client/_app/immutable/nodes/13.BKRvqBmC.js.gz +0 -0
  176. package/dist/client/_app/immutable/nodes/14.DHSpFWU_.js +1 -0
  177. package/dist/client/_app/immutable/nodes/14.DHSpFWU_.js.br +0 -0
  178. package/dist/client/_app/immutable/nodes/14.DHSpFWU_.js.gz +0 -0
  179. package/dist/client/_app/immutable/nodes/15.iQKYOOvw.js +1 -0
  180. package/dist/client/_app/immutable/nodes/15.iQKYOOvw.js.br +0 -0
  181. package/dist/client/_app/immutable/nodes/15.iQKYOOvw.js.gz +0 -0
  182. package/dist/client/_app/immutable/nodes/17.DtfO4FIr.js +1 -0
  183. package/dist/client/_app/immutable/nodes/17.DtfO4FIr.js.br +0 -0
  184. package/dist/client/_app/immutable/nodes/17.DtfO4FIr.js.gz +0 -0
  185. package/dist/client/_app/immutable/nodes/18.DeaR_STf.js +1 -0
  186. package/dist/client/_app/immutable/nodes/18.DeaR_STf.js.br +0 -0
  187. package/dist/client/_app/immutable/nodes/18.DeaR_STf.js.gz +0 -0
  188. package/dist/client/_app/immutable/nodes/19.BZlpq2eb.js +1 -0
  189. package/dist/client/_app/immutable/nodes/19.BZlpq2eb.js.br +0 -0
  190. package/dist/client/_app/immutable/nodes/19.BZlpq2eb.js.gz +0 -0
  191. package/dist/client/_app/immutable/nodes/2.BTx5HGEJ.js +1 -0
  192. package/dist/client/_app/immutable/nodes/2.BTx5HGEJ.js.br +2 -0
  193. package/dist/client/_app/immutable/nodes/2.BTx5HGEJ.js.gz +0 -0
  194. package/dist/client/_app/immutable/nodes/20.DeaR_STf.js +1 -0
  195. package/dist/client/_app/immutable/nodes/20.DeaR_STf.js.br +0 -0
  196. package/dist/client/_app/immutable/nodes/20.DeaR_STf.js.gz +0 -0
  197. package/dist/client/_app/immutable/nodes/21.CxNMBnvd.js +1 -0
  198. package/dist/client/_app/immutable/nodes/21.CxNMBnvd.js.br +0 -0
  199. package/dist/client/_app/immutable/nodes/21.CxNMBnvd.js.gz +0 -0
  200. package/dist/client/_app/immutable/nodes/22.DeaR_STf.js +1 -0
  201. package/dist/client/_app/immutable/nodes/22.DeaR_STf.js.br +0 -0
  202. package/dist/client/_app/immutable/nodes/22.DeaR_STf.js.gz +0 -0
  203. package/dist/client/_app/immutable/nodes/23.CUH3wnOe.js +1 -0
  204. package/dist/client/_app/immutable/nodes/23.CUH3wnOe.js.br +0 -0
  205. package/dist/client/_app/immutable/nodes/23.CUH3wnOe.js.gz +0 -0
  206. package/dist/client/_app/immutable/nodes/24.Bj4WCWb_.js +1 -0
  207. package/dist/client/_app/immutable/nodes/24.Bj4WCWb_.js.br +0 -0
  208. package/dist/client/_app/immutable/nodes/24.Bj4WCWb_.js.gz +0 -0
  209. package/dist/client/_app/immutable/nodes/25.DYsV2TL6.js +1 -0
  210. package/dist/client/_app/immutable/nodes/25.DYsV2TL6.js.br +0 -0
  211. package/dist/client/_app/immutable/nodes/25.DYsV2TL6.js.gz +0 -0
  212. package/dist/client/_app/immutable/nodes/26.BDZ2t1UY.js +1 -0
  213. package/dist/client/_app/immutable/nodes/26.BDZ2t1UY.js.br +0 -0
  214. package/dist/client/_app/immutable/nodes/26.BDZ2t1UY.js.gz +0 -0
  215. package/dist/client/_app/immutable/nodes/27.DYynEwDA.js +1 -0
  216. package/dist/client/_app/immutable/nodes/27.DYynEwDA.js.br +0 -0
  217. package/dist/client/_app/immutable/nodes/27.DYynEwDA.js.gz +0 -0
  218. package/dist/client/_app/immutable/nodes/28.5T_1wd5L.js +1 -0
  219. package/dist/client/_app/immutable/nodes/28.5T_1wd5L.js.br +0 -0
  220. package/dist/client/_app/immutable/nodes/28.5T_1wd5L.js.gz +0 -0
  221. package/dist/client/_app/immutable/nodes/29.BZTDFVCH.js +1 -0
  222. package/dist/client/_app/immutable/nodes/29.BZTDFVCH.js.br +0 -0
  223. package/dist/client/_app/immutable/nodes/29.BZTDFVCH.js.gz +0 -0
  224. package/dist/client/_app/immutable/nodes/3.37L_ZDcN.js +1 -0
  225. package/dist/client/_app/immutable/nodes/3.37L_ZDcN.js.br +0 -0
  226. package/dist/client/_app/immutable/nodes/3.37L_ZDcN.js.gz +0 -0
  227. package/dist/client/_app/immutable/nodes/30.DHZP26EZ.js +1 -0
  228. package/dist/client/_app/immutable/nodes/30.DHZP26EZ.js.br +0 -0
  229. package/dist/client/_app/immutable/nodes/30.DHZP26EZ.js.gz +0 -0
  230. package/dist/client/_app/immutable/nodes/31.31f4zk1M.js +1 -0
  231. package/dist/client/_app/immutable/nodes/31.31f4zk1M.js.br +0 -0
  232. package/dist/client/_app/immutable/nodes/31.31f4zk1M.js.gz +0 -0
  233. package/dist/client/_app/immutable/nodes/4.iw_6VjbK.js +1 -0
  234. package/dist/client/_app/immutable/nodes/4.iw_6VjbK.js.br +0 -0
  235. package/dist/client/_app/immutable/nodes/4.iw_6VjbK.js.gz +0 -0
  236. package/dist/client/_app/immutable/nodes/5.DGEJTudg.js +1 -0
  237. package/dist/client/_app/immutable/nodes/5.DGEJTudg.js.br +0 -0
  238. package/dist/client/_app/immutable/nodes/5.DGEJTudg.js.gz +0 -0
  239. package/dist/client/_app/immutable/nodes/6.BTx5HGEJ.js +1 -0
  240. package/dist/client/_app/immutable/nodes/6.BTx5HGEJ.js.br +2 -0
  241. package/dist/client/_app/immutable/nodes/6.BTx5HGEJ.js.gz +0 -0
  242. package/dist/client/_app/immutable/nodes/7.8mhOuhs0.js +1 -0
  243. package/dist/client/_app/immutable/nodes/7.8mhOuhs0.js.br +0 -0
  244. package/dist/client/_app/immutable/nodes/7.8mhOuhs0.js.gz +0 -0
  245. package/dist/client/_app/immutable/nodes/8.BTx5HGEJ.js +1 -0
  246. package/dist/client/_app/immutable/nodes/8.BTx5HGEJ.js.br +2 -0
  247. package/dist/client/_app/immutable/nodes/8.BTx5HGEJ.js.gz +0 -0
  248. package/dist/client/_app/immutable/nodes/9.BobuzJfK.js +1 -0
  249. package/dist/client/_app/immutable/nodes/9.BobuzJfK.js.br +0 -0
  250. package/dist/client/_app/immutable/nodes/9.BobuzJfK.js.gz +0 -0
  251. package/dist/client/_app/version.json +1 -0
  252. package/dist/client/_app/version.json.br +0 -0
  253. package/dist/client/_app/version.json.gz +0 -0
  254. package/dist/client/favicon.svg +7 -0
  255. package/dist/client/favicon.svg.br +0 -0
  256. package/dist/client/favicon.svg.gz +0 -0
  257. package/dist/client/robots.txt +3 -0
  258. package/dist/env.js +45 -0
  259. package/dist/handler.js +1390 -0
  260. package/dist/index.js +334 -0
  261. package/dist/server/chunks/0-CT1P9HVy.js +17 -0
  262. package/dist/server/chunks/0-CT1P9HVy.js.map +1 -0
  263. package/dist/server/chunks/1-BUKeg6AO.js +9 -0
  264. package/dist/server/chunks/1-BUKeg6AO.js.map +1 -0
  265. package/dist/server/chunks/10-BatNZrnT.js +39 -0
  266. package/dist/server/chunks/10-BatNZrnT.js.map +1 -0
  267. package/dist/server/chunks/11-D1bGfBq6.js +60 -0
  268. package/dist/server/chunks/11-D1bGfBq6.js.map +1 -0
  269. package/dist/server/chunks/12-B9adng2W.js +25 -0
  270. package/dist/server/chunks/12-B9adng2W.js.map +1 -0
  271. package/dist/server/chunks/13-BsEkaRnN.js +32 -0
  272. package/dist/server/chunks/13-BsEkaRnN.js.map +1 -0
  273. package/dist/server/chunks/14-B_yNwuci.js +25 -0
  274. package/dist/server/chunks/14-B_yNwuci.js.map +1 -0
  275. package/dist/server/chunks/15-BogEqmDi.js +9 -0
  276. package/dist/server/chunks/15-BogEqmDi.js.map +1 -0
  277. package/dist/server/chunks/16-C6cpd4Aq.js +20 -0
  278. package/dist/server/chunks/16-C6cpd4Aq.js.map +1 -0
  279. package/dist/server/chunks/17-g1WN6ed6.js +9 -0
  280. package/dist/server/chunks/17-g1WN6ed6.js.map +1 -0
  281. package/dist/server/chunks/18-Bj-qx4QA.js +9 -0
  282. package/dist/server/chunks/18-Bj-qx4QA.js.map +1 -0
  283. package/dist/server/chunks/19-b50YirzD.js +9 -0
  284. package/dist/server/chunks/19-b50YirzD.js.map +1 -0
  285. package/dist/server/chunks/2-BDFYU9Ob.js +33 -0
  286. package/dist/server/chunks/2-BDFYU9Ob.js.map +1 -0
  287. package/dist/server/chunks/20-DLsAGht1.js +9 -0
  288. package/dist/server/chunks/20-DLsAGht1.js.map +1 -0
  289. package/dist/server/chunks/21-Ch7IrDIj.js +9 -0
  290. package/dist/server/chunks/21-Ch7IrDIj.js.map +1 -0
  291. package/dist/server/chunks/22-F3Fm1KEi.js +9 -0
  292. package/dist/server/chunks/22-F3Fm1KEi.js.map +1 -0
  293. package/dist/server/chunks/23-C3AXTFbx.js +9 -0
  294. package/dist/server/chunks/23-C3AXTFbx.js.map +1 -0
  295. package/dist/server/chunks/24-BhDP28dU.js +9 -0
  296. package/dist/server/chunks/24-BhDP28dU.js.map +1 -0
  297. package/dist/server/chunks/25-ClIGHWjm.js +9 -0
  298. package/dist/server/chunks/25-ClIGHWjm.js.map +1 -0
  299. package/dist/server/chunks/26-iCLEZ-Nq.js +25 -0
  300. package/dist/server/chunks/26-iCLEZ-Nq.js.map +1 -0
  301. package/dist/server/chunks/27-BI61BeXb.js +9 -0
  302. package/dist/server/chunks/27-BI61BeXb.js.map +1 -0
  303. package/dist/server/chunks/28-BoETpzx7.js +27 -0
  304. package/dist/server/chunks/28-BoETpzx7.js.map +1 -0
  305. package/dist/server/chunks/29-CtEdWoA5.js +24 -0
  306. package/dist/server/chunks/29-CtEdWoA5.js.map +1 -0
  307. package/dist/server/chunks/3-BdyZMFSA.js +27 -0
  308. package/dist/server/chunks/3-BdyZMFSA.js.map +1 -0
  309. package/dist/server/chunks/30-BJIEC81A.js +9 -0
  310. package/dist/server/chunks/30-BJIEC81A.js.map +1 -0
  311. package/dist/server/chunks/31-BiAYubIG.js +27 -0
  312. package/dist/server/chunks/31-BiAYubIG.js.map +1 -0
  313. package/dist/server/chunks/4-CAfGAB-2.js +77 -0
  314. package/dist/server/chunks/4-CAfGAB-2.js.map +1 -0
  315. package/dist/server/chunks/5-DNTQQYQU.js +9 -0
  316. package/dist/server/chunks/5-DNTQQYQU.js.map +1 -0
  317. package/dist/server/chunks/6-B8AuyoYf.js +120 -0
  318. package/dist/server/chunks/6-B8AuyoYf.js.map +1 -0
  319. package/dist/server/chunks/7-CVCsjLUn.js +9 -0
  320. package/dist/server/chunks/7-CVCsjLUn.js.map +1 -0
  321. package/dist/server/chunks/8-ZDZfG_kv.js +39 -0
  322. package/dist/server/chunks/8-ZDZfG_kv.js.map +1 -0
  323. package/dist/server/chunks/9-Boj4JoXs.js +9 -0
  324. package/dist/server/chunks/9-Boj4JoXs.js.map +1 -0
  325. package/dist/server/chunks/Dropdown-hjJxTAOQ.js +63 -0
  326. package/dist/server/chunks/Dropdown-hjJxTAOQ.js.map +1 -0
  327. package/dist/server/chunks/FormField-Bca1pP2m.js +53 -0
  328. package/dist/server/chunks/FormField-Bca1pP2m.js.map +1 -0
  329. package/dist/server/chunks/LabeledText-Dmlq__C0.js +19 -0
  330. package/dist/server/chunks/LabeledText-Dmlq__C0.js.map +1 -0
  331. package/dist/server/chunks/LanguageTabs-1Ob1qCZy.js +28 -0
  332. package/dist/server/chunks/LanguageTabs-1Ob1qCZy.js.map +1 -0
  333. package/dist/server/chunks/Notification-l1T_wIgW.js +120 -0
  334. package/dist/server/chunks/Notification-l1T_wIgW.js.map +1 -0
  335. package/dist/server/chunks/RootNodeForm-BkXgbQfg.js +138 -0
  336. package/dist/server/chunks/RootNodeForm-BkXgbQfg.js.map +1 -0
  337. package/dist/server/chunks/SelectableItem-Ce_tBddc.js +34 -0
  338. package/dist/server/chunks/SelectableItem-Ce_tBddc.js.map +1 -0
  339. package/dist/server/chunks/TextArrayInput.svelte_svelte_type_style_lang-Ig77xHy3.js +489 -0
  340. package/dist/server/chunks/TextArrayInput.svelte_svelte_type_style_lang-Ig77xHy3.js.map +1 -0
  341. package/dist/server/chunks/Textarea-DLscroTm.js +36 -0
  342. package/dist/server/chunks/Textarea-DLscroTm.js.map +1 -0
  343. package/dist/server/chunks/_layout.svelte-B_Ynlahv.js +137 -0
  344. package/dist/server/chunks/_layout.svelte-B_Ynlahv.js.map +1 -0
  345. package/dist/server/chunks/_layout.svelte-ByyTRajr.js +174 -0
  346. package/dist/server/chunks/_layout.svelte-ByyTRajr.js.map +1 -0
  347. package/dist/server/chunks/_layout.svelte-C-VsKtky.js +21 -0
  348. package/dist/server/chunks/_layout.svelte-C-VsKtky.js.map +1 -0
  349. package/dist/server/chunks/_layout.svelte-C64b6DEX.js +244 -0
  350. package/dist/server/chunks/_layout.svelte-C64b6DEX.js.map +1 -0
  351. package/dist/server/chunks/_layout.svelte-CFrfvrQS.js +102 -0
  352. package/dist/server/chunks/_layout.svelte-CFrfvrQS.js.map +1 -0
  353. package/dist/server/chunks/_layout.svelte-D_wzPsk8.js +8 -0
  354. package/dist/server/chunks/_layout.svelte-D_wzPsk8.js.map +1 -0
  355. package/dist/server/chunks/_layout.svelte-DdC2COHh.js +87 -0
  356. package/dist/server/chunks/_layout.svelte-DdC2COHh.js.map +1 -0
  357. package/dist/server/chunks/_layout.svelte-DtpuM93h.js +100 -0
  358. package/dist/server/chunks/_layout.svelte-DtpuM93h.js.map +1 -0
  359. package/dist/server/chunks/_layout.svelte-xLAQVqfe.js +100 -0
  360. package/dist/server/chunks/_layout.svelte-xLAQVqfe.js.map +1 -0
  361. package/dist/server/chunks/_page.svelte-B0TyWuVb.js +30 -0
  362. package/dist/server/chunks/_page.svelte-B0TyWuVb.js.map +1 -0
  363. package/dist/server/chunks/_page.svelte-B0fdJgIy.js +6 -0
  364. package/dist/server/chunks/_page.svelte-B0fdJgIy.js.map +1 -0
  365. package/dist/server/chunks/_page.svelte-B2-F1Ewq.js +47 -0
  366. package/dist/server/chunks/_page.svelte-B2-F1Ewq.js.map +1 -0
  367. package/dist/server/chunks/_page.svelte-BLSuoPfF.js +174 -0
  368. package/dist/server/chunks/_page.svelte-BLSuoPfF.js.map +1 -0
  369. package/dist/server/chunks/_page.svelte-Bg1xrt3V.js +30 -0
  370. package/dist/server/chunks/_page.svelte-Bg1xrt3V.js.map +1 -0
  371. package/dist/server/chunks/_page.svelte-C1mBmucD.js +195 -0
  372. package/dist/server/chunks/_page.svelte-C1mBmucD.js.map +1 -0
  373. package/dist/server/chunks/_page.svelte-Cj5ZuteL.js +6 -0
  374. package/dist/server/chunks/_page.svelte-Cj5ZuteL.js.map +1 -0
  375. package/dist/server/chunks/_page.svelte-CmTVw6d1.js +26 -0
  376. package/dist/server/chunks/_page.svelte-CmTVw6d1.js.map +1 -0
  377. package/dist/server/chunks/_page.svelte-D07k8Kgs.js +225 -0
  378. package/dist/server/chunks/_page.svelte-D07k8Kgs.js.map +1 -0
  379. package/dist/server/chunks/_page.svelte-DBvfr5kK.js +147 -0
  380. package/dist/server/chunks/_page.svelte-DBvfr5kK.js.map +1 -0
  381. package/dist/server/chunks/_page.svelte-DHEMTmbt.js +1282 -0
  382. package/dist/server/chunks/_page.svelte-DHEMTmbt.js.map +1 -0
  383. package/dist/server/chunks/_page.svelte-DLctg8L7.js +12 -0
  384. package/dist/server/chunks/_page.svelte-DLctg8L7.js.map +1 -0
  385. package/dist/server/chunks/_page.svelte-DRZl6cmv.js +30 -0
  386. package/dist/server/chunks/_page.svelte-DRZl6cmv.js.map +1 -0
  387. package/dist/server/chunks/_page.svelte-DS-mUjzb.js +190 -0
  388. package/dist/server/chunks/_page.svelte-DS-mUjzb.js.map +1 -0
  389. package/dist/server/chunks/_page.svelte-Dr0NLqBs.js +52 -0
  390. package/dist/server/chunks/_page.svelte-Dr0NLqBs.js.map +1 -0
  391. package/dist/server/chunks/_page.svelte-jSwVcx19.js +7 -0
  392. package/dist/server/chunks/_page.svelte-jSwVcx19.js.map +1 -0
  393. package/dist/server/chunks/_server-C0xo_5rr.js +27 -0
  394. package/dist/server/chunks/_server-C0xo_5rr.js.map +1 -0
  395. package/dist/server/chunks/_server-CX_rPHcT.js +35 -0
  396. package/dist/server/chunks/_server-CX_rPHcT.js.map +1 -0
  397. package/dist/server/chunks/_server-CcyQnmB0.js +32 -0
  398. package/dist/server/chunks/_server-CcyQnmB0.js.map +1 -0
  399. package/dist/server/chunks/_server-CpFvCzAL.js +35 -0
  400. package/dist/server/chunks/_server-CpFvCzAL.js.map +1 -0
  401. package/dist/server/chunks/bloko-Cg3PRr44.js +33 -0
  402. package/dist/server/chunks/bloko-Cg3PRr44.js.map +1 -0
  403. package/dist/server/chunks/client-BnOvIOT-.js +31 -0
  404. package/dist/server/chunks/client-BnOvIOT-.js.map +1 -0
  405. package/dist/server/chunks/contents-wm2JkTIK.js +114 -0
  406. package/dist/server/chunks/contents-wm2JkTIK.js.map +1 -0
  407. package/dist/server/chunks/context-CLjmrgKK.js +57 -0
  408. package/dist/server/chunks/context-CLjmrgKK.js.map +1 -0
  409. package/dist/server/chunks/data.remote-BmWRRAbj.js +192 -0
  410. package/dist/server/chunks/data.remote-BmWRRAbj.js.map +1 -0
  411. package/dist/server/chunks/data.remote2-84LSiWHf.js +44 -0
  412. package/dist/server/chunks/data.remote2-84LSiWHf.js.map +1 -0
  413. package/dist/server/chunks/data.remote3-CH7Ldwsd.js +37 -0
  414. package/dist/server/chunks/data.remote3-CH7Ldwsd.js.map +1 -0
  415. package/dist/server/chunks/data.remote4-B0gf5KDl.js +23 -0
  416. package/dist/server/chunks/data.remote4-B0gf5KDl.js.map +1 -0
  417. package/dist/server/chunks/error.svelte-DyboF4EB.js +17 -0
  418. package/dist/server/chunks/error.svelte-DyboF4EB.js.map +1 -0
  419. package/dist/server/chunks/escaping-CqgfEcN3.js +19 -0
  420. package/dist/server/chunks/escaping-CqgfEcN3.js.map +1 -0
  421. package/dist/server/chunks/globals.svelte-DwdZJG2V.js +16 -0
  422. package/dist/server/chunks/globals.svelte-DwdZJG2V.js.map +1 -0
  423. package/dist/server/chunks/hooks.server-Bf-ypnUo.js +17 -0
  424. package/dist/server/chunks/hooks.server-Bf-ypnUo.js.map +1 -0
  425. package/dist/server/chunks/index-BlBritjc.js +59 -0
  426. package/dist/server/chunks/index-BlBritjc.js.map +1 -0
  427. package/dist/server/chunks/index-Djsj11qr.js +214 -0
  428. package/dist/server/chunks/index-Djsj11qr.js.map +1 -0
  429. package/dist/server/chunks/index2-uFRsVE8P.js +2409 -0
  430. package/dist/server/chunks/index2-uFRsVE8P.js.map +1 -0
  431. package/dist/server/chunks/index3-CFMbdc2i.js +25 -0
  432. package/dist/server/chunks/index3-CFMbdc2i.js.map +1 -0
  433. package/dist/server/chunks/layout.svelte-UxsTmhKc.js +8 -0
  434. package/dist/server/chunks/layout.svelte-UxsTmhKc.js.map +1 -0
  435. package/dist/server/chunks/query-Br86yIZh.js +244 -0
  436. package/dist/server/chunks/query-Br86yIZh.js.map +1 -0
  437. package/dist/server/chunks/remote-1k5k8mm-DaGXvb28.js +8 -0
  438. package/dist/server/chunks/remote-1k5k8mm-DaGXvb28.js.map +1 -0
  439. package/dist/server/chunks/remote-7g2nt7-DwE66may.js +9 -0
  440. package/dist/server/chunks/remote-7g2nt7-DwE66may.js.map +1 -0
  441. package/dist/server/chunks/remote-jdnfp7-Dmw8d3SS.js +8 -0
  442. package/dist/server/chunks/remote-jdnfp7-Dmw8d3SS.js.map +1 -0
  443. package/dist/server/chunks/remote-yje5b3-lViPzhpW.js +8 -0
  444. package/dist/server/chunks/remote-yje5b3-lViPzhpW.js.map +1 -0
  445. package/dist/server/chunks/shared-CAxGHzOK.js +691 -0
  446. package/dist/server/chunks/shared-CAxGHzOK.js.map +1 -0
  447. package/dist/server/chunks/state.svelte-DiB3TmIU.js +10 -0
  448. package/dist/server/chunks/state.svelte-DiB3TmIU.js.map +1 -0
  449. package/dist/server/chunks/stores-DebHkzdu.js +29 -0
  450. package/dist/server/chunks/stores-DebHkzdu.js.map +1 -0
  451. package/dist/server/chunks/utils-UnnCNxc8.js +101 -0
  452. package/dist/server/chunks/utils-UnnCNxc8.js.map +1 -0
  453. package/dist/server/chunks/utils2-2iR6NHZC.js +187 -0
  454. package/dist/server/chunks/utils2-2iR6NHZC.js.map +1 -0
  455. package/dist/server/index.js +5897 -0
  456. package/dist/server/index.js.map +1 -0
  457. package/dist/server/manifest.js +211 -0
  458. package/dist/server/manifest.js.map +1 -0
  459. package/dist/shims.js +32 -0
  460. package/package.json +57 -0
  461. package/server.js +56 -0
@@ -0,0 +1,1282 @@
1
+ import { e as ensure_array_like, b as attr, s as stringify, d as store_get, u as unsubscribe_stores, a as attr_class } from './index2-uFRsVE8P.js';
2
+ import { I as Input } from './TextArrayInput.svelte_svelte_type_style_lang-Ig77xHy3.js';
3
+ import { e as escape_html } from './escaping-CqgfEcN3.js';
4
+ import { B as Button, F as FormField } from './FormField-Bca1pP2m.js';
5
+ import { D as Dropdown } from './Dropdown-hjJxTAOQ.js';
6
+ import { L as LabeledText } from './LabeledText-Dmlq__C0.js';
7
+ import { L as LanguageTabs } from './LanguageTabs-1Ob1qCZy.js';
8
+ import { n as notifications } from './Notification-l1T_wIgW.js';
9
+ import { T as Textarea } from './Textarea-DLscroTm.js';
10
+ import { i as invalidate, g as goto } from './client-BnOvIOT-.js';
11
+ import { p as page } from './stores-DebHkzdu.js';
12
+ import { b as deleteRelation, g as getNodesForRelation, c as createRelation, e as deleteNode, f as updateNode, h as updateContent } from './data.remote-BmWRRAbj.js';
13
+ import { d as detailedMode } from './globals.svelte-DwdZJG2V.js';
14
+ import './utils2-2iR6NHZC.js';
15
+ import './context-CLjmrgKK.js';
16
+ import './index-BlBritjc.js';
17
+ import './utils-UnnCNxc8.js';
18
+ import './state.svelte-DiB3TmIU.js';
19
+ import './query-Br86yIZh.js';
20
+ import './shared-CAxGHzOK.js';
21
+ import './index-Djsj11qr.js';
22
+ import './bloko-Cg3PRr44.js';
23
+ import 'bloko';
24
+ import './contents-wm2JkTIK.js';
25
+
26
+ function BlockPreview($$renderer, $$props) {
27
+ let {
28
+ code,
29
+ title,
30
+ hint,
31
+ contentForm,
32
+ contentType,
33
+ contentId,
34
+ children
35
+ } = $$props;
36
+ $$renderer.push(`<div class="blockPreview svelte-5v5m9l"><div class="header svelte-5v5m9l"><span class="code svelte-5v5m9l">${escape_html(code)}</span> `);
37
+ if (contentType) {
38
+ $$renderer.push("<!--[-->");
39
+ $$renderer.push(`<span class="contentType svelte-5v5m9l"><span class="type svelte-5v5m9l">${escape_html(contentType)}</span> `);
40
+ if (contentId) {
41
+ $$renderer.push("<!--[-->");
42
+ $$renderer.push(`<span class="separator svelte-5v5m9l">|</span> <span class="label svelte-5v5m9l">content id:</span> <span class="sid svelte-5v5m9l">${escape_html(contentId)}</span>`);
43
+ } else {
44
+ $$renderer.push("<!--[!-->");
45
+ }
46
+ $$renderer.push(`<!--]--></span>`);
47
+ } else {
48
+ $$renderer.push("<!--[!-->");
49
+ }
50
+ $$renderer.push(`<!--]--></div> <div class="content svelte-5v5m9l">`);
51
+ if (title) {
52
+ $$renderer.push("<!--[-->");
53
+ $$renderer.push(`<div class="title svelte-5v5m9l">${escape_html(title)}</div>`);
54
+ } else {
55
+ $$renderer.push("<!--[!-->");
56
+ }
57
+ $$renderer.push(`<!--]--> `);
58
+ if (contentForm) {
59
+ $$renderer.push("<!--[-->");
60
+ $$renderer.push(`<div class="contentForm svelte-5v5m9l">`);
61
+ contentForm($$renderer);
62
+ $$renderer.push(`<!----></div>`);
63
+ } else {
64
+ $$renderer.push("<!--[!-->");
65
+ }
66
+ $$renderer.push(`<!--]--> `);
67
+ if (children) {
68
+ $$renderer.push("<!--[-->");
69
+ $$renderer.push(`<div class="childrenSlot svelte-5v5m9l">`);
70
+ children($$renderer);
71
+ $$renderer.push(`<!----></div>`);
72
+ } else {
73
+ $$renderer.push("<!--[!-->");
74
+ }
75
+ $$renderer.push(`<!--]--> `);
76
+ if (hint) {
77
+ $$renderer.push("<!--[-->");
78
+ $$renderer.push(`<div class="hint svelte-5v5m9l">${escape_html(hint)}</div>`);
79
+ } else {
80
+ $$renderer.push("<!--[!-->");
81
+ }
82
+ $$renderer.push(`<!--]--></div></div>`);
83
+ }
84
+ function ImagePicker($$renderer, $$props) {
85
+ $$renderer.component(($$renderer2) => {
86
+ let {
87
+ value = null,
88
+ imageUrl = null,
89
+ images = [],
90
+ onchange,
91
+ disabled = false
92
+ } = $$props;
93
+ let showPicker = false;
94
+ let uploading = false;
95
+ function openPicker() {
96
+ if (disabled) return;
97
+ showPicker = true;
98
+ }
99
+ function clearImage() {
100
+ if (disabled) return;
101
+ onchange?.(null);
102
+ }
103
+ function openFilePicker() {
104
+ }
105
+ $$renderer2.push(`<div class="image-picker svelte-1cvd7ih">`);
106
+ if (imageUrl) {
107
+ $$renderer2.push("<!--[-->");
108
+ $$renderer2.push(`<div class="preview-container svelte-1cvd7ih"><img class="preview svelte-1cvd7ih"${attr("src", imageUrl)} alt=""/> <div class="overlay svelte-1cvd7ih">`);
109
+ Button($$renderer2, {
110
+ label: "Change",
111
+ size: "28",
112
+ intent: "primary",
113
+ onclick: openPicker,
114
+ disabled
115
+ });
116
+ $$renderer2.push(`<!----> `);
117
+ Button($$renderer2, {
118
+ label: "Remove",
119
+ size: "28",
120
+ intent: "danger",
121
+ onclick: clearImage,
122
+ disabled
123
+ });
124
+ $$renderer2.push(`<!----></div></div>`);
125
+ } else {
126
+ $$renderer2.push("<!--[!-->");
127
+ $$renderer2.push(`<button class="empty-state svelte-1cvd7ih"${attr("disabled", disabled, true)} type="button"><div class="icon svelte-1cvd7ih">🖼️</div> <div class="text svelte-1cvd7ih">Select cover image</div></button>`);
128
+ }
129
+ $$renderer2.push(`<!--]--> <input type="file" accept="image/*" hidden=""/></div> `);
130
+ if (showPicker) {
131
+ $$renderer2.push("<!--[-->");
132
+ $$renderer2.push(`<div class="modal-backdrop svelte-1cvd7ih" role="presentation"><div class="modal svelte-1cvd7ih" role="dialog"><div class="modal-header svelte-1cvd7ih"><h3 class="svelte-1cvd7ih">Select Image</h3> <button class="close-btn svelte-1cvd7ih" type="button">×</button></div> <div class="modal-body svelte-1cvd7ih"><div class="upload-section svelte-1cvd7ih">`);
133
+ Button($$renderer2, {
134
+ label: "Upload New Image",
135
+ size: "32",
136
+ intent: "primary",
137
+ onclick: openFilePicker,
138
+ disabled: uploading
139
+ });
140
+ $$renderer2.push(`<!----></div> `);
141
+ if (images.length > 0) {
142
+ $$renderer2.push("<!--[-->");
143
+ $$renderer2.push(`<div class="divider svelte-1cvd7ih"><span>or select from library</span></div> <div class="image-grid svelte-1cvd7ih"><!--[-->`);
144
+ const each_array = ensure_array_like(images);
145
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
146
+ let image = each_array[$$index];
147
+ $$renderer2.push(`<button${attr_class("image-item svelte-1cvd7ih", void 0, { "selected": value === image.id })} type="button"><img${attr("src", image.url)}${attr("alt", image.file_name)} class="svelte-1cvd7ih"/> `);
148
+ if (value === image.id) {
149
+ $$renderer2.push("<!--[-->");
150
+ $$renderer2.push(`<div class="selected-badge svelte-1cvd7ih">✓</div>`);
151
+ } else {
152
+ $$renderer2.push("<!--[!-->");
153
+ }
154
+ $$renderer2.push(`<!--]--></button>`);
155
+ }
156
+ $$renderer2.push(`<!--]--></div>`);
157
+ } else {
158
+ $$renderer2.push("<!--[!-->");
159
+ $$renderer2.push(`<div class="no-images svelte-1cvd7ih"><p class="svelte-1cvd7ih">No images in library yet.</p> <p class="svelte-1cvd7ih">Upload your first image above.</p></div>`);
160
+ }
161
+ $$renderer2.push(`<!--]--></div></div></div>`);
162
+ } else {
163
+ $$renderer2.push("<!--[!-->");
164
+ }
165
+ $$renderer2.push(`<!--]-->`);
166
+ });
167
+ }
168
+ function ContentForm($$renderer, $$props) {
169
+ $$renderer.component(($$renderer2) => {
170
+ let { data, block, node, contentValue } = $$props;
171
+ let editValue = contentValue || "";
172
+ let saving = false;
173
+ let contentExists = block.content?.id != null;
174
+ let listItems = block.content_type === "text_list" && Array.isArray(contentValue) ? [...contentValue] : [];
175
+ let titledListItems = block.content_type === "titled_list" && Array.isArray(contentValue) ? [...contentValue] : [];
176
+ `${block.id}-${node.id}-${data.languageId}`;
177
+ async function saveContent() {
178
+ saving = true;
179
+ try {
180
+ let value;
181
+ let successMessage;
182
+ if (block.content_type === "number") {
183
+ const stringValue = String(editValue || "").trim();
184
+ value = stringValue === "" ? null : parseFloat(stringValue);
185
+ successMessage = value !== null ? "Saved" : "Deleted";
186
+ } else if (block.content_type === "text_list") {
187
+ const cleanedItems = listItems.filter((item) => item && item.trim()).map((item) => item.trim());
188
+ value = {
189
+ ...block.content?.value || {},
190
+ [data.languageId]: cleanedItems.length > 0 ? cleanedItems : []
191
+ };
192
+ successMessage = cleanedItems.length > 0 ? "Saved" : "Deleted";
193
+ } else if (block.content_type === "titled_list") {
194
+ const cleanedItems = titledListItems.filter((item) => item?.title?.trim() || item?.text?.trim()).map((item) => ({
195
+ title: item?.title?.trim() || "",
196
+ text: item?.text?.trim() || ""
197
+ }));
198
+ value = {
199
+ ...block.content?.value || {},
200
+ [data.languageId]: cleanedItems.length > 0 ? cleanedItems : []
201
+ };
202
+ successMessage = cleanedItems.length > 0 ? "Saved" : "Deleted";
203
+ } else {
204
+ const trimmedValue = (editValue || "").trim();
205
+ value = {
206
+ ...block.content?.value || {},
207
+ [data.languageId]: trimmedValue
208
+ };
209
+ successMessage = trimmedValue ? "Saved" : "Deleted";
210
+ }
211
+ const payload = { _node: node.id, _block: block.id, value };
212
+ await updateContent(payload);
213
+ await invalidate("app:nodes");
214
+ notifications.success(successMessage);
215
+ } catch (error) {
216
+ console.error("Save error:", error);
217
+ notifications.error("Failed to save");
218
+ if (block.content_type === "text_list") {
219
+ listItems = Array.isArray(contentValue) ? [...contentValue] : [];
220
+ } else if (block.content_type === "titled_list") {
221
+ titledListItems = Array.isArray(contentValue) ? [...contentValue] : [];
222
+ } else {
223
+ editValue = contentValue || "";
224
+ }
225
+ } finally {
226
+ saving = false;
227
+ }
228
+ }
229
+ async function onBlur() {
230
+ if (block.content_type === "number") {
231
+ const numValue = editValue === "" ? null : parseFloat(editValue);
232
+ const originalNumValue = contentValue === "" || contentValue == null ? null : parseFloat(contentValue);
233
+ if (numValue === originalNumValue) return;
234
+ } else {
235
+ const trimmedValue = (editValue || "").trim();
236
+ const originalValue = (contentValue || "").trim();
237
+ if (trimmedValue === originalValue) return;
238
+ }
239
+ await saveContent();
240
+ }
241
+ async function onCreate() {
242
+ if (contentExists) return;
243
+ saving = true;
244
+ try {
245
+ const payload = {
246
+ _node: node.id,
247
+ _block: block.id,
248
+ value: block.content_type === "number" ? null : {},
249
+ forceCreate: true
250
+ };
251
+ await updateContent(payload);
252
+ await invalidate("app:nodes");
253
+ notifications.success("Content created");
254
+ const inputId = `content-${block.id}-${data.languageId}`;
255
+ setTimeout(
256
+ () => {
257
+ document.getElementById(inputId)?.focus();
258
+ },
259
+ 50
260
+ );
261
+ } catch (error) {
262
+ console.error("Create error:", error);
263
+ notifications.error("Failed to create");
264
+ } finally {
265
+ saving = false;
266
+ }
267
+ }
268
+ async function onDelete() {
269
+ if (!contentExists) return;
270
+ if (!confirm("Delete this entire content row (all languages)?")) return;
271
+ saving = true;
272
+ try {
273
+ const payload = {
274
+ _node: node.id,
275
+ _block: block.id,
276
+ value: block.content_type === "number" ? null : {}
277
+ };
278
+ await updateContent(payload);
279
+ await invalidate("app:nodes");
280
+ editValue = "";
281
+ listItems = [];
282
+ titledListItems = [];
283
+ notifications.success("Deleted");
284
+ } catch (error) {
285
+ console.error("Delete error:", error);
286
+ notifications.error("Failed to delete");
287
+ } finally {
288
+ saving = false;
289
+ }
290
+ }
291
+ function addListItem() {
292
+ listItems = [...listItems, ""];
293
+ }
294
+ function removeListItem(index) {
295
+ listItems = listItems.filter((_, i) => i !== index);
296
+ saveContent();
297
+ }
298
+ function updateListItem(index, value) {
299
+ listItems[index] = value;
300
+ }
301
+ function addTitledListItem() {
302
+ titledListItems = [...titledListItems, { title: "", text: "" }];
303
+ }
304
+ function removeTitledListItem(index) {
305
+ titledListItems = titledListItems.filter((_, i) => i !== index);
306
+ saveContent();
307
+ }
308
+ function updateTitledListItem(index, field, value) {
309
+ titledListItems[index] = { ...titledListItems[index], [field]: value };
310
+ }
311
+ let $$settled = true;
312
+ let $$inner_renderer;
313
+ function $$render_inner($$renderer3) {
314
+ $$renderer3.push(`<div class="contentFormWrapper svelte-17bp990">`);
315
+ if (contentExists) {
316
+ $$renderer3.push("<!--[-->");
317
+ $$renderer3.push(`<div class="inputWrapper svelte-17bp990">`);
318
+ if (block.content_type === "text") {
319
+ $$renderer3.push("<!--[-->");
320
+ Input($$renderer3, {
321
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}`,
322
+ size: "32",
323
+ placeholder: "Enter text",
324
+ onblur: onBlur,
325
+ disabled: saving,
326
+ get value() {
327
+ return editValue;
328
+ },
329
+ set value($$value) {
330
+ editValue = $$value;
331
+ $$settled = false;
332
+ }
333
+ });
334
+ } else {
335
+ $$renderer3.push("<!--[!-->");
336
+ if (block.content_type === "paragraph") {
337
+ $$renderer3.push("<!--[-->");
338
+ Textarea($$renderer3, {
339
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}`,
340
+ placeholder: "Enter paragraph",
341
+ onblur: onBlur,
342
+ disabled: saving,
343
+ get value() {
344
+ return editValue;
345
+ },
346
+ set value($$value) {
347
+ editValue = $$value;
348
+ $$settled = false;
349
+ }
350
+ });
351
+ } else {
352
+ $$renderer3.push("<!--[!-->");
353
+ if (block.content_type === "number") {
354
+ $$renderer3.push("<!--[-->");
355
+ Input($$renderer3, {
356
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}`,
357
+ size: "32",
358
+ type: "number",
359
+ placeholder: "Enter number",
360
+ onblur: onBlur,
361
+ disabled: saving,
362
+ get value() {
363
+ return editValue;
364
+ },
365
+ set value($$value) {
366
+ editValue = $$value;
367
+ $$settled = false;
368
+ }
369
+ });
370
+ } else {
371
+ $$renderer3.push("<!--[!-->");
372
+ if (block.content_type === "text_list") {
373
+ $$renderer3.push("<!--[-->");
374
+ $$renderer3.push(`<div class="textListWrapper svelte-17bp990"><!--[-->`);
375
+ const each_array = ensure_array_like(listItems);
376
+ for (let index = 0, $$length = each_array.length; index < $$length; index++) {
377
+ let item = each_array[index];
378
+ $$renderer3.push(`<div class="listItemRow svelte-17bp990">`);
379
+ Input($$renderer3, {
380
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}-${stringify(index)}`,
381
+ size: "32",
382
+ placeholder: `List item ${stringify(index + 1)}`,
383
+ value: item,
384
+ oninput: (e) => updateListItem(index, e.target.value),
385
+ onblur: saveContent,
386
+ disabled: saving
387
+ });
388
+ $$renderer3.push(`<!----> `);
389
+ Button($$renderer3, {
390
+ label: "×",
391
+ intent: "danger",
392
+ size: "24",
393
+ type: "button",
394
+ onclick: () => removeListItem(index),
395
+ disabled: saving
396
+ });
397
+ $$renderer3.push(`<!----></div>`);
398
+ }
399
+ $$renderer3.push(`<!--]--> `);
400
+ Button($$renderer3, {
401
+ label: "+ Add Item",
402
+ intent: "secondary",
403
+ size: "24",
404
+ type: "button",
405
+ onclick: addListItem,
406
+ disabled: saving
407
+ });
408
+ $$renderer3.push(`<!----></div>`);
409
+ } else {
410
+ $$renderer3.push("<!--[!-->");
411
+ if (block.content_type === "titled_list") {
412
+ $$renderer3.push("<!--[-->");
413
+ $$renderer3.push(`<div class="titledListWrapper svelte-17bp990"><!--[-->`);
414
+ const each_array_1 = ensure_array_like(titledListItems);
415
+ for (let index = 0, $$length = each_array_1.length; index < $$length; index++) {
416
+ let item = each_array_1[index];
417
+ $$renderer3.push(`<div class="titledListItemCard svelte-17bp990"><div class="titledListItemHeader svelte-17bp990"><span class="itemNumber svelte-17bp990">${escape_html(index + 1)}</span> `);
418
+ Button($$renderer3, {
419
+ label: "×",
420
+ intent: "danger",
421
+ size: "24",
422
+ type: "button",
423
+ onclick: () => removeTitledListItem(index),
424
+ disabled: saving
425
+ });
426
+ $$renderer3.push(`<!----></div> <div class="titledListItemFields svelte-17bp990">`);
427
+ Input($$renderer3, {
428
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}-${stringify(index)}-title`,
429
+ size: "32",
430
+ placeholder: "Title",
431
+ value: item?.title || "",
432
+ oninput: (e) => updateTitledListItem(index, "title", e.target.value),
433
+ onblur: saveContent,
434
+ disabled: saving
435
+ });
436
+ $$renderer3.push(`<!----> `);
437
+ Textarea($$renderer3, {
438
+ id: `content-${stringify(block.id)}-${stringify(data.languageId)}-${stringify(index)}-text`,
439
+ placeholder: "Text",
440
+ value: item?.text || "",
441
+ oninput: (e) => updateTitledListItem(index, "text", e.target.value),
442
+ onblur: saveContent,
443
+ disabled: saving
444
+ });
445
+ $$renderer3.push(`<!----></div></div>`);
446
+ }
447
+ $$renderer3.push(`<!--]--> `);
448
+ Button($$renderer3, {
449
+ label: "+ Add Item",
450
+ intent: "secondary",
451
+ size: "24",
452
+ type: "button",
453
+ onclick: addTitledListItem,
454
+ disabled: saving
455
+ });
456
+ $$renderer3.push(`<!----></div>`);
457
+ } else {
458
+ $$renderer3.push("<!--[!-->");
459
+ }
460
+ $$renderer3.push(`<!--]-->`);
461
+ }
462
+ $$renderer3.push(`<!--]-->`);
463
+ }
464
+ $$renderer3.push(`<!--]-->`);
465
+ }
466
+ $$renderer3.push(`<!--]-->`);
467
+ }
468
+ $$renderer3.push(`<!--]--></div> `);
469
+ Button($$renderer3, {
470
+ label: "D",
471
+ intent: "danger",
472
+ size: "24",
473
+ type: "button",
474
+ onclick: onDelete,
475
+ disabled: saving
476
+ });
477
+ $$renderer3.push(`<!---->`);
478
+ } else {
479
+ $$renderer3.push("<!--[!-->");
480
+ Button($$renderer3, {
481
+ label: "Create Content",
482
+ intent: "secondary",
483
+ size: "24",
484
+ type: "button",
485
+ onclick: onCreate,
486
+ disabled: saving
487
+ });
488
+ }
489
+ $$renderer3.push(`<!--]--></div>`);
490
+ }
491
+ do {
492
+ $$settled = true;
493
+ $$inner_renderer = $$renderer2.copy();
494
+ $$render_inner($$inner_renderer);
495
+ } while (!$$settled);
496
+ $$renderer2.subsume($$inner_renderer);
497
+ });
498
+ }
499
+ function RelationForm($$renderer, $$props) {
500
+ $$renderer.component(($$renderer2) => {
501
+ let { data, node, outgoingRelations, incomingRelations } = $$props;
502
+ let creating = false;
503
+ let creatingIncoming = false;
504
+ let saving = false;
505
+ let selectedRelationType = "";
506
+ let selectedCollection = data.collection.id;
507
+ let selectedNodeType = "ALL";
508
+ let selectedOtherNode = "";
509
+ let availableNodes = [];
510
+ async function loadAvailableNodes() {
511
+ try {
512
+ const nodes = await getNodesForRelation({
513
+ collectionId: selectedCollection,
514
+ nodeType: selectedNodeType === "ALL" ? null : selectedNodeType,
515
+ excludeNodeId: node.id
516
+ });
517
+ availableNodes = nodes;
518
+ selectedOtherNode = "";
519
+ } catch (error) {
520
+ console.error("Failed to load nodes:", error);
521
+ notifications.error("Failed to load nodes");
522
+ }
523
+ }
524
+ function startCreatingOutgoing() {
525
+ creating = true;
526
+ creatingIncoming = false;
527
+ selectedRelationType = "";
528
+ selectedCollection = data.collection.id;
529
+ selectedNodeType = "ALL";
530
+ selectedOtherNode = "";
531
+ availableNodes = [];
532
+ loadAvailableNodes();
533
+ }
534
+ function startCreatingIncoming() {
535
+ creating = true;
536
+ creatingIncoming = true;
537
+ selectedRelationType = "";
538
+ selectedCollection = data.collection.id;
539
+ selectedNodeType = "ALL";
540
+ selectedOtherNode = "";
541
+ availableNodes = [];
542
+ loadAvailableNodes();
543
+ }
544
+ function cancelCreating() {
545
+ creating = false;
546
+ creatingIncoming = false;
547
+ selectedRelationType = "";
548
+ selectedCollection = data.collection.id;
549
+ selectedNodeType = "ALL";
550
+ selectedOtherNode = "";
551
+ availableNodes = [];
552
+ }
553
+ async function onCreate() {
554
+ if (!selectedRelationType || !selectedOtherNode) {
555
+ notifications.error("Please select a relation type and target node");
556
+ return;
557
+ }
558
+ saving = true;
559
+ try {
560
+ const _from = creatingIncoming ? selectedOtherNode : node.id;
561
+ const _to = creatingIncoming ? node.id : selectedOtherNode;
562
+ await createRelation({ _node_relation_type: selectedRelationType, _from, _to });
563
+ await invalidate("app:nodes");
564
+ notifications.success("Relation created");
565
+ cancelCreating();
566
+ } catch (error) {
567
+ console.error("Create relation error:", error);
568
+ notifications.error("Failed to create relation");
569
+ } finally {
570
+ saving = false;
571
+ }
572
+ }
573
+ async function onDelete(relationId) {
574
+ if (!confirm("Delete this relation?")) return;
575
+ saving = true;
576
+ try {
577
+ await deleteRelation({ id: relationId });
578
+ await invalidate("app:nodes");
579
+ notifications.success("Relation deleted");
580
+ } catch (error) {
581
+ console.error("Delete relation error:", error);
582
+ notifications.error("Failed to delete relation");
583
+ } finally {
584
+ saving = false;
585
+ }
586
+ }
587
+ let relationTypes = data.relationTypes || [];
588
+ let previewText = (() => {
589
+ const relationType = relationTypes.find((rt) => rt.id === selectedRelationType);
590
+ const otherNode = availableNodes.find((n) => n.id === selectedOtherNode);
591
+ if (!relationType || !otherNode) return "";
592
+ if (creatingIncoming) {
593
+ return `${otherNode.code} - ${relationType.code} -> ${node.code}`;
594
+ } else {
595
+ return `${node.code} - ${relationType.code} -> ${otherNode.code}`;
596
+ }
597
+ })();
598
+ let $$settled = true;
599
+ let $$inner_renderer;
600
+ function $$render_inner($$renderer3) {
601
+ $$renderer3.push(`<div class="relationsWrapper svelte-lcvot5"><div class="sectionHeader svelte-lcvot5"><div class="sectionTitle svelte-lcvot5">Outgoing Relations</div> `);
602
+ Button($$renderer3, {
603
+ label: "+ Add Relation",
604
+ intent: "secondary",
605
+ size: "24",
606
+ type: "button",
607
+ onclick: startCreatingOutgoing,
608
+ disabled: saving || creating
609
+ });
610
+ $$renderer3.push(`<!----></div> `);
611
+ if (creating && !creatingIncoming) {
612
+ $$renderer3.push("<!--[-->");
613
+ $$renderer3.push(`<div class="createRelationForm svelte-lcvot5">`);
614
+ if (previewText) {
615
+ $$renderer3.push("<!--[-->");
616
+ $$renderer3.push(`<div class="previewText svelte-lcvot5">${escape_html(previewText)}</div>`);
617
+ } else {
618
+ $$renderer3.push("<!--[!-->");
619
+ }
620
+ $$renderer3.push(`<!--]--> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Relation Type</label> `);
621
+ Dropdown($$renderer3, {
622
+ size: "24",
623
+ options: relationTypes.map((rt) => ({ value: rt.id, label: rt.code })),
624
+ disabled: saving,
625
+ get value() {
626
+ return selectedRelationType;
627
+ },
628
+ set value($$value) {
629
+ selectedRelationType = $$value;
630
+ $$settled = false;
631
+ }
632
+ });
633
+ $$renderer3.push(`<!----></div></div> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Collection</label> `);
634
+ Dropdown($$renderer3, {
635
+ size: "24",
636
+ onchange: loadAvailableNodes,
637
+ options: data.collections?.map((c) => ({ value: c.id, label: c.code })) || [],
638
+ disabled: saving,
639
+ get value() {
640
+ return selectedCollection;
641
+ },
642
+ set value($$value) {
643
+ selectedCollection = $$value;
644
+ $$settled = false;
645
+ }
646
+ });
647
+ $$renderer3.push(`<!----></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Node Type</label> `);
648
+ Dropdown($$renderer3, {
649
+ size: "24",
650
+ onchange: loadAvailableNodes,
651
+ options: [
652
+ { value: "ALL", label: "ALL" },
653
+ ...data.nodeTypes?.map((nt) => ({ value: nt.id, label: nt.code })) || []
654
+ ],
655
+ disabled: saving,
656
+ get value() {
657
+ return selectedNodeType;
658
+ },
659
+ set value($$value) {
660
+ selectedNodeType = $$value;
661
+ $$settled = false;
662
+ }
663
+ });
664
+ $$renderer3.push(`<!----></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Target Node</label> `);
665
+ Dropdown($$renderer3, {
666
+ size: "24",
667
+ options: availableNodes.map((n) => ({ value: n.id, label: n.code })),
668
+ disabled: saving || availableNodes.length === 0,
669
+ get value() {
670
+ return selectedOtherNode;
671
+ },
672
+ set value($$value) {
673
+ selectedOtherNode = $$value;
674
+ $$settled = false;
675
+ }
676
+ });
677
+ $$renderer3.push(`<!----></div></div> <div class="formActions svelte-lcvot5">`);
678
+ Button($$renderer3, {
679
+ label: "Create",
680
+ intent: "primary",
681
+ size: "24",
682
+ type: "button",
683
+ onclick: onCreate,
684
+ disabled: saving || !selectedRelationType || !selectedOtherNode
685
+ });
686
+ $$renderer3.push(`<!----> `);
687
+ Button($$renderer3, {
688
+ label: "Cancel",
689
+ intent: "secondary",
690
+ size: "24",
691
+ type: "button",
692
+ onclick: cancelCreating,
693
+ disabled: saving
694
+ });
695
+ $$renderer3.push(`<!----></div></div>`);
696
+ } else {
697
+ $$renderer3.push("<!--[!-->");
698
+ }
699
+ $$renderer3.push(`<!--]--> `);
700
+ if (outgoingRelations && outgoingRelations.length > 0) {
701
+ $$renderer3.push("<!--[-->");
702
+ $$renderer3.push(`<div class="relationsList svelte-lcvot5"><!--[-->`);
703
+ const each_array = ensure_array_like(outgoingRelations);
704
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
705
+ let relation = each_array[$$index];
706
+ $$renderer3.push(`<div class="relationItem svelte-lcvot5"><span class="relationText svelte-lcvot5"><span class="nodeCode svelte-lcvot5">${escape_html(node.code || node.title?.[data.languageId] || "unknown")}</span> <span class="relationCode svelte-lcvot5">${escape_html(relation.relation_type_title?.[data.languageId] || relation.relation_type_code)}</span> <a class="nodeLink svelte-lcvot5"${attr("href", `/${stringify(data.languageId)}/finder/${stringify(relation.to_node_collection)}/nodes/${stringify(relation.to_node_path)}`)}>${escape_html(relation.to_node_code)}</a></span> `);
707
+ Button($$renderer3, {
708
+ label: "×",
709
+ intent: "danger",
710
+ size: "24",
711
+ type: "button",
712
+ onclick: () => onDelete(relation.id),
713
+ disabled: saving
714
+ });
715
+ $$renderer3.push(`<!----></div>`);
716
+ }
717
+ $$renderer3.push(`<!--]--></div>`);
718
+ } else {
719
+ $$renderer3.push("<!--[!-->");
720
+ if (!creating || creatingIncoming) {
721
+ $$renderer3.push("<!--[-->");
722
+ $$renderer3.push(`<div class="emptyState svelte-lcvot5">No outgoing relations</div>`);
723
+ } else {
724
+ $$renderer3.push("<!--[!-->");
725
+ }
726
+ $$renderer3.push(`<!--]-->`);
727
+ }
728
+ $$renderer3.push(`<!--]--> <div class="sectionHeader svelte-lcvot5"><div class="sectionTitle svelte-lcvot5">Incoming Relations</div> `);
729
+ Button($$renderer3, {
730
+ label: "+ Add Relation",
731
+ intent: "secondary",
732
+ size: "24",
733
+ type: "button",
734
+ onclick: startCreatingIncoming,
735
+ disabled: saving || creating
736
+ });
737
+ $$renderer3.push(`<!----></div> `);
738
+ if (creating && creatingIncoming) {
739
+ $$renderer3.push("<!--[-->");
740
+ $$renderer3.push(`<div class="createRelationForm svelte-lcvot5">`);
741
+ if (previewText) {
742
+ $$renderer3.push("<!--[-->");
743
+ $$renderer3.push(`<div class="previewText svelte-lcvot5">${escape_html(previewText)}</div>`);
744
+ } else {
745
+ $$renderer3.push("<!--[!-->");
746
+ }
747
+ $$renderer3.push(`<!--]--> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Relation Type</label> `);
748
+ Dropdown($$renderer3, {
749
+ size: "24",
750
+ options: relationTypes.map((rt) => ({ value: rt.id, label: rt.code })),
751
+ disabled: saving,
752
+ get value() {
753
+ return selectedRelationType;
754
+ },
755
+ set value($$value) {
756
+ selectedRelationType = $$value;
757
+ $$settled = false;
758
+ }
759
+ });
760
+ $$renderer3.push(`<!----></div></div> <div class="formRow svelte-lcvot5"><div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Collection</label> `);
761
+ Dropdown($$renderer3, {
762
+ size: "24",
763
+ onchange: loadAvailableNodes,
764
+ options: data.collections?.map((c) => ({ value: c.id, label: c.code })) || [],
765
+ disabled: saving,
766
+ get value() {
767
+ return selectedCollection;
768
+ },
769
+ set value($$value) {
770
+ selectedCollection = $$value;
771
+ $$settled = false;
772
+ }
773
+ });
774
+ $$renderer3.push(`<!----></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Node Type</label> `);
775
+ Dropdown($$renderer3, {
776
+ size: "24",
777
+ onchange: loadAvailableNodes,
778
+ options: [
779
+ { value: "ALL", label: "ALL" },
780
+ ...data.nodeTypes?.map((nt) => ({ value: nt.id, label: nt.code })) || []
781
+ ],
782
+ disabled: saving,
783
+ get value() {
784
+ return selectedNodeType;
785
+ },
786
+ set value($$value) {
787
+ selectedNodeType = $$value;
788
+ $$settled = false;
789
+ }
790
+ });
791
+ $$renderer3.push(`<!----></div> <div class="formField svelte-lcvot5"><label class="label svelte-lcvot5">Source Node</label> `);
792
+ Dropdown($$renderer3, {
793
+ size: "24",
794
+ options: availableNodes.map((n) => ({ value: n.id, label: n.code })),
795
+ disabled: saving || availableNodes.length === 0,
796
+ get value() {
797
+ return selectedOtherNode;
798
+ },
799
+ set value($$value) {
800
+ selectedOtherNode = $$value;
801
+ $$settled = false;
802
+ }
803
+ });
804
+ $$renderer3.push(`<!----></div></div> <div class="formActions svelte-lcvot5">`);
805
+ Button($$renderer3, {
806
+ label: "Create",
807
+ intent: "primary",
808
+ size: "24",
809
+ type: "button",
810
+ onclick: onCreate,
811
+ disabled: saving || !selectedRelationType || !selectedOtherNode
812
+ });
813
+ $$renderer3.push(`<!----> `);
814
+ Button($$renderer3, {
815
+ label: "Cancel",
816
+ intent: "secondary",
817
+ size: "24",
818
+ type: "button",
819
+ onclick: cancelCreating,
820
+ disabled: saving
821
+ });
822
+ $$renderer3.push(`<!----></div></div>`);
823
+ } else {
824
+ $$renderer3.push("<!--[!-->");
825
+ }
826
+ $$renderer3.push(`<!--]--> `);
827
+ if (incomingRelations && incomingRelations.length > 0) {
828
+ $$renderer3.push("<!--[-->");
829
+ $$renderer3.push(`<div class="relationsList svelte-lcvot5"><!--[-->`);
830
+ const each_array_1 = ensure_array_like(incomingRelations);
831
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
832
+ let relation = each_array_1[$$index_1];
833
+ $$renderer3.push(`<div class="relationItem svelte-lcvot5"><span class="relationText svelte-lcvot5"><span class="nodeCode svelte-lcvot5">${escape_html(node.code || node.title?.[data.languageId] || "unknown")}</span> <span class="relationCode svelte-lcvot5">${escape_html(relation.relation_type_title?.[data.languageId] || relation.relation_type_code)}</span> <a class="nodeLink svelte-lcvot5"${attr("href", `/${stringify(data.languageId)}/finder/${stringify(relation.from_node_collection)}/nodes/${stringify(relation.from_node_path)}`)}>${escape_html(relation.from_node_code)}</a></span> `);
834
+ Button($$renderer3, {
835
+ label: "×",
836
+ intent: "danger",
837
+ size: "24",
838
+ type: "button",
839
+ onclick: () => onDelete(relation.id),
840
+ disabled: saving
841
+ });
842
+ $$renderer3.push(`<!----></div>`);
843
+ }
844
+ $$renderer3.push(`<!--]--></div>`);
845
+ } else {
846
+ $$renderer3.push("<!--[!-->");
847
+ if (!creating || !creatingIncoming) {
848
+ $$renderer3.push("<!--[-->");
849
+ $$renderer3.push(`<div class="emptyState svelte-lcvot5">No incoming relations</div>`);
850
+ } else {
851
+ $$renderer3.push("<!--[!-->");
852
+ }
853
+ $$renderer3.push(`<!--]-->`);
854
+ }
855
+ $$renderer3.push(`<!--]--></div>`);
856
+ }
857
+ do {
858
+ $$settled = true;
859
+ $$inner_renderer = $$renderer2.copy();
860
+ $$render_inner($$inner_renderer);
861
+ } while (!$$settled);
862
+ $$renderer2.subsume($$inner_renderer);
863
+ });
864
+ }
865
+ function NodeForm($$renderer, $$props) {
866
+ $$renderer.component(($$renderer2) => {
867
+ var $$store_subs;
868
+ let { data, node } = $$props;
869
+ let editCode = node?.code || "";
870
+ let editNotes = node?.notes || "";
871
+ let editNodeType = node?._node_type || "";
872
+ let editTemplate = node?._template || "";
873
+ let editCoverImage = node?._cover_image || null;
874
+ let coverImageUrl = data.coverImageUrl || null;
875
+ let saving = false;
876
+ let deleting = false;
877
+ let editTitle = { ...node?.title || {} };
878
+ let editSubtitle = { ...node?.subtitle || {} };
879
+ let editSlug = { ...node?.slug || {} };
880
+ let languageIntents = (() => {
881
+ const intents = {};
882
+ for (const lang of data.languages) {
883
+ const hasTitle = editTitle[lang]?.trim();
884
+ const hasSlug = editSlug[lang]?.trim();
885
+ intents[lang] = hasTitle && hasSlug ? "success" : "danger";
886
+ }
887
+ return intents;
888
+ })();
889
+ node?.id;
890
+ async function onCoverImageChange(imageId) {
891
+ if (!node) return;
892
+ editCoverImage = imageId;
893
+ if (imageId) {
894
+ const img = data.images?.find((i) => i.id === imageId);
895
+ coverImageUrl = img?.url || null;
896
+ } else {
897
+ coverImageUrl = null;
898
+ }
899
+ saving = true;
900
+ try {
901
+ await updateNode({ id: node.id, _cover_image: imageId });
902
+ await invalidate("app:nodes");
903
+ notifications.success("Cover image updated");
904
+ } catch (error) {
905
+ console.error("Save error:", error);
906
+ notifications.error("Failed to update cover image");
907
+ editCoverImage = node._cover_image || null;
908
+ coverImageUrl = data.coverImageUrl || null;
909
+ } finally {
910
+ saving = false;
911
+ }
912
+ }
913
+ async function onBlur() {
914
+ if (!node) return;
915
+ const code = editCode.trim();
916
+ const notes = editNotes.trim() || null;
917
+ const nodeType = editNodeType;
918
+ const template = editTemplate || null;
919
+ const hasChanges = code !== (node.code || "") || notes !== node.notes || nodeType !== node._node_type || template !== node._template || JSON.stringify(editTitle) !== JSON.stringify(node.title || {}) || JSON.stringify(editSubtitle) !== JSON.stringify(node.subtitle || {}) || JSON.stringify(editSlug) !== JSON.stringify(node.slug || {});
920
+ if (!hasChanges) return;
921
+ saving = true;
922
+ try {
923
+ const payload = {
924
+ id: node.id,
925
+ code: code || null,
926
+ notes,
927
+ _node_type: nodeType,
928
+ _template: template
929
+ };
930
+ if (JSON.stringify(editTitle) !== JSON.stringify(node.title || {})) {
931
+ payload.title = editTitle;
932
+ }
933
+ if (JSON.stringify(editSubtitle) !== JSON.stringify(node.subtitle || {})) {
934
+ payload.subtitle = editSubtitle;
935
+ }
936
+ if (JSON.stringify(editSlug) !== JSON.stringify(node.slug || {})) {
937
+ payload.slug = editSlug;
938
+ }
939
+ await updateNode(payload);
940
+ await invalidate("app:nodes");
941
+ notifications.success("Saved");
942
+ } catch (error) {
943
+ console.error("Save error:", error);
944
+ notifications.error("Failed to save");
945
+ editCode = node.code || "";
946
+ editNotes = node.notes || "";
947
+ editNodeType = node._node_type || "";
948
+ editTemplate = node._template || "";
949
+ editTitle = { ...node?.title || {} };
950
+ editSubtitle = { ...node?.subtitle || {} };
951
+ editSlug = { ...node?.slug || {} };
952
+ } finally {
953
+ saving = false;
954
+ }
955
+ }
956
+ async function onDelete() {
957
+ if (!node) return;
958
+ if (!confirm("Delete this node? This will delete all child nodes.")) return;
959
+ deleting = true;
960
+ try {
961
+ await deleteNode({ id: node.id });
962
+ await invalidate("app:nodes");
963
+ await goto(`/${data.languageId}/finder/${data.collection.id}/nodes`);
964
+ notifications.success("Deleted");
965
+ } catch (error) {
966
+ notifications.error("Failed to delete");
967
+ } finally {
968
+ deleting = false;
969
+ }
970
+ }
971
+ function buildBlockHierarchy(blocks, contents) {
972
+ if (!blocks || blocks.length === 0) return [];
973
+ const contentMap = /* @__PURE__ */ new Map();
974
+ if (contents) {
975
+ contents.forEach((content) => {
976
+ contentMap.set(content._block, content);
977
+ });
978
+ }
979
+ const blockMap = /* @__PURE__ */ new Map();
980
+ const rootBlocks = [];
981
+ blocks.forEach((block) => {
982
+ const content = contentMap.get(block.id);
983
+ blockMap.set(block.id, { ...block, children: [], content });
984
+ });
985
+ blocks.forEach((block) => {
986
+ const blockNode = blockMap.get(block.id);
987
+ if (block._parent === null) {
988
+ rootBlocks.push(blockNode);
989
+ } else {
990
+ const parent = blockMap.get(block._parent);
991
+ if (parent) {
992
+ parent.children.push(blockNode);
993
+ }
994
+ }
995
+ });
996
+ return rootBlocks;
997
+ }
998
+ let blockHierarchy = buildBlockHierarchy(data.blocks, data.contents);
999
+ function renderBlock($$renderer3, block) {
1000
+ {
1001
+ let contentForm = function($$renderer4) {
1002
+ if (block.content_type) {
1003
+ $$renderer4.push("<!--[-->");
1004
+ ContentForm($$renderer4, {
1005
+ data,
1006
+ block,
1007
+ node,
1008
+ contentValue: block.content_type === "number" ? block.content?.value ?? "" : block.content?.value?.[data.languageId] || ""
1009
+ });
1010
+ } else {
1011
+ $$renderer4.push("<!--[!-->");
1012
+ }
1013
+ $$renderer4.push(`<!--]-->`);
1014
+ }, children = function($$renderer4) {
1015
+ if (block.children && block.children.length > 0) {
1016
+ $$renderer4.push("<!--[-->");
1017
+ $$renderer4.push(`<div class="nestedBlocks svelte-15y8zm1"><!--[-->`);
1018
+ const each_array = ensure_array_like(block.children);
1019
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
1020
+ let childBlock = each_array[$$index];
1021
+ renderBlock($$renderer4, childBlock);
1022
+ }
1023
+ $$renderer4.push(`<!--]--></div>`);
1024
+ } else {
1025
+ $$renderer4.push("<!--[!-->");
1026
+ }
1027
+ $$renderer4.push(`<!--]-->`);
1028
+ };
1029
+ BlockPreview($$renderer3, {
1030
+ code: block.code || block.notes || `Block ${block.id}`,
1031
+ title: block.title?.[data.languageId] || "",
1032
+ hint: block.hint?.[data.languageId] || "",
1033
+ contentType: block.content_type || "",
1034
+ contentId: block.content?.id,
1035
+ contentForm,
1036
+ children
1037
+ });
1038
+ }
1039
+ }
1040
+ let $$settled = true;
1041
+ let $$inner_renderer;
1042
+ function $$render_inner($$renderer3) {
1043
+ $$renderer3.push(`<div class="rightArea svelte-15y8zm1"><div class="header svelte-15y8zm1"><h2 class="title svelte-15y8zm1">Edit Node</h2> `);
1044
+ Button($$renderer3, {
1045
+ label: "Delete",
1046
+ intent: "danger",
1047
+ size: "28",
1048
+ type: "button",
1049
+ onclick: onDelete,
1050
+ disabled: deleting || saving
1051
+ });
1052
+ $$renderer3.push(`<!----></div> <div class="editor svelte-15y8zm1">`);
1053
+ if (detailedMode.value) {
1054
+ $$renderer3.push("<!--[-->");
1055
+ $$renderer3.push(`<div class="metaRow svelte-15y8zm1">`);
1056
+ LabeledText($$renderer3, {
1057
+ label: "id",
1058
+ text: String(node?.id ?? ""),
1059
+ textSize: "12px",
1060
+ textColor: "var(--base600)",
1061
+ labelColor: "var(--base300)"
1062
+ });
1063
+ $$renderer3.push(`<!----> `);
1064
+ LabeledText($$renderer3, {
1065
+ label: "sort",
1066
+ text: String(node?.sort ?? ""),
1067
+ textSize: "12px",
1068
+ textColor: "var(--base600)",
1069
+ labelColor: "var(--base300)"
1070
+ });
1071
+ $$renderer3.push(`<!----></div>`);
1072
+ } else {
1073
+ $$renderer3.push("<!--[!-->");
1074
+ }
1075
+ $$renderer3.push(`<!--]--> `);
1076
+ {
1077
+ let children = function($$renderer4) {
1078
+ Input($$renderer4, {
1079
+ id: "node-code",
1080
+ size: "32",
1081
+ placeholder: "Node code",
1082
+ variant: "accent",
1083
+ onblur: onBlur,
1084
+ get value() {
1085
+ return editCode;
1086
+ },
1087
+ set value($$value) {
1088
+ editCode = $$value;
1089
+ $$settled = false;
1090
+ }
1091
+ });
1092
+ };
1093
+ FormField($$renderer3, { label: "Code", children });
1094
+ }
1095
+ $$renderer3.push(`<!----> `);
1096
+ if (detailedMode.value) {
1097
+ $$renderer3.push("<!--[-->");
1098
+ {
1099
+ let children = function($$renderer4) {
1100
+ Textarea($$renderer4, {
1101
+ id: "node-notes",
1102
+ placeholder: "Description (optional)",
1103
+ variant: "accent",
1104
+ onblur: onBlur,
1105
+ get value() {
1106
+ return editNotes;
1107
+ },
1108
+ set value($$value) {
1109
+ editNotes = $$value;
1110
+ $$settled = false;
1111
+ }
1112
+ });
1113
+ };
1114
+ FormField($$renderer3, { label: "Notes", children });
1115
+ }
1116
+ } else {
1117
+ $$renderer3.push("<!--[!-->");
1118
+ }
1119
+ $$renderer3.push(`<!--]--> <div class="row svelte-15y8zm1">`);
1120
+ {
1121
+ let children = function($$renderer4) {
1122
+ Dropdown($$renderer4, {
1123
+ size: "32",
1124
+ onchange: onBlur,
1125
+ options: data.nodeTypes?.map((nt) => ({ value: nt.id, label: nt.code })) || [],
1126
+ get value() {
1127
+ return editNodeType;
1128
+ },
1129
+ set value($$value) {
1130
+ editNodeType = $$value;
1131
+ $$settled = false;
1132
+ }
1133
+ });
1134
+ };
1135
+ FormField($$renderer3, { label: "Node Type", children });
1136
+ }
1137
+ $$renderer3.push(`<!----> `);
1138
+ {
1139
+ let children = function($$renderer4) {
1140
+ Dropdown($$renderer4, {
1141
+ size: "32",
1142
+ onchange: onBlur,
1143
+ options: [
1144
+ { value: "", label: "None" },
1145
+ ...data.templates?.map((t) => ({ value: t.id, label: t.code || t.notes || `Template ${t.id}` })) || []
1146
+ ],
1147
+ get value() {
1148
+ return editTemplate;
1149
+ },
1150
+ set value($$value) {
1151
+ editTemplate = $$value;
1152
+ $$settled = false;
1153
+ }
1154
+ });
1155
+ };
1156
+ FormField($$renderer3, { label: "Template", children });
1157
+ }
1158
+ $$renderer3.push(`<!----></div> `);
1159
+ {
1160
+ let children = function($$renderer4) {
1161
+ ImagePicker($$renderer4, {
1162
+ value: editCoverImage,
1163
+ imageUrl: coverImageUrl,
1164
+ images: data.images || [],
1165
+ onchange: onCoverImageChange,
1166
+ disabled: saving
1167
+ });
1168
+ };
1169
+ FormField($$renderer3, { label: "Cover Image", children });
1170
+ }
1171
+ $$renderer3.push(`<!----> <hr class="svelte-15y8zm1"/> `);
1172
+ LanguageTabs($$renderer3, {
1173
+ languages: data.languages,
1174
+ activeLanguage: data.languageId,
1175
+ intents: languageIntents,
1176
+ onclick: (lang) => {
1177
+ const currentPath = store_get($$store_subs ??= {}, "$page", page).url.pathname;
1178
+ currentPath.replace(/^\/[^\/]+/, `/${lang}`);
1179
+ goto();
1180
+ }
1181
+ });
1182
+ $$renderer3.push(`<!----> <div class="row svelte-15y8zm1">`);
1183
+ {
1184
+ let children = function($$renderer4) {
1185
+ Input($$renderer4, {
1186
+ id: `node-title-${stringify(data.languageId)}`,
1187
+ size: "32",
1188
+ placeholder: `Title in ${stringify(data.languageId)}`,
1189
+ value: editTitle[data.languageId] || "",
1190
+ oninput: (e) => {
1191
+ editTitle = { ...editTitle, [data.languageId]: e.target.value };
1192
+ },
1193
+ onblur: onBlur
1194
+ });
1195
+ };
1196
+ FormField($$renderer3, { label: "Title", children });
1197
+ }
1198
+ $$renderer3.push(`<!----> `);
1199
+ {
1200
+ let children = function($$renderer4) {
1201
+ Input($$renderer4, {
1202
+ id: `node-slug-${stringify(data.languageId)}`,
1203
+ size: "32",
1204
+ placeholder: `Slug in ${stringify(data.languageId)}`,
1205
+ value: editSlug[data.languageId] || "",
1206
+ oninput: (e) => {
1207
+ editSlug = { ...editSlug, [data.languageId]: e.target.value };
1208
+ },
1209
+ onblur: onBlur
1210
+ });
1211
+ };
1212
+ FormField($$renderer3, { label: "Slug", children });
1213
+ }
1214
+ $$renderer3.push(`<!----></div> `);
1215
+ {
1216
+ let children = function($$renderer4) {
1217
+ Input($$renderer4, {
1218
+ id: `node-subtitle-${stringify(data.languageId)}`,
1219
+ size: "32",
1220
+ placeholder: `Subtitle in ${stringify(data.languageId)}`,
1221
+ value: editSubtitle[data.languageId] || "",
1222
+ oninput: (e) => {
1223
+ editSubtitle = { ...editSubtitle, [data.languageId]: e.target.value };
1224
+ },
1225
+ onblur: onBlur
1226
+ });
1227
+ };
1228
+ FormField($$renderer3, { label: "Subtitle", children });
1229
+ }
1230
+ $$renderer3.push(`<!----> `);
1231
+ if (blockHierarchy && blockHierarchy.length > 0) {
1232
+ $$renderer3.push("<!--[-->");
1233
+ $$renderer3.push(`<hr class="svelte-15y8zm1"/> <div class="sectionHeader svelte-15y8zm1"><div class="sectionTitle svelte-15y8zm1">Blocks and Content</div> `);
1234
+ if (node._template) {
1235
+ $$renderer3.push("<!--[-->");
1236
+ Button($$renderer3, {
1237
+ label: "View Template",
1238
+ intent: "secondary",
1239
+ size: "24",
1240
+ type: "button",
1241
+ onclick: () => goto(`/${data.languageId}/finder/${data.collection.id}/templates/${node._template}`)
1242
+ });
1243
+ } else {
1244
+ $$renderer3.push("<!--[!-->");
1245
+ }
1246
+ $$renderer3.push(`<!--]--></div> <div class="blocksList svelte-15y8zm1"><!--[-->`);
1247
+ const each_array_1 = ensure_array_like(blockHierarchy);
1248
+ for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
1249
+ let block = each_array_1[$$index_1];
1250
+ renderBlock($$renderer3, block);
1251
+ }
1252
+ $$renderer3.push(`<!--]--></div>`);
1253
+ } else {
1254
+ $$renderer3.push("<!--[!-->");
1255
+ }
1256
+ $$renderer3.push(`<!--]--> <hr class="svelte-15y8zm1"/> `);
1257
+ RelationForm($$renderer3, {
1258
+ data,
1259
+ node,
1260
+ outgoingRelations: data.outgoingRelations || [],
1261
+ incomingRelations: data.incomingRelations || []
1262
+ });
1263
+ $$renderer3.push(`<!----></div></div>`);
1264
+ }
1265
+ do {
1266
+ $$settled = true;
1267
+ $$inner_renderer = $$renderer2.copy();
1268
+ $$render_inner($$inner_renderer);
1269
+ } while (!$$settled);
1270
+ $$renderer2.subsume($$inner_renderer);
1271
+ if ($$store_subs) unsubscribe_stores($$store_subs);
1272
+ });
1273
+ }
1274
+ function _page($$renderer, $$props) {
1275
+ $$renderer.component(($$renderer2) => {
1276
+ let { data } = $$props;
1277
+ NodeForm($$renderer2, { data, node: data.node });
1278
+ });
1279
+ }
1280
+
1281
+ export { _page as default };
1282
+ //# sourceMappingURL=_page.svelte-DHEMTmbt.js.map