@layers-app/editor 0.7.68 → 0.7.70

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 (225) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +12 -4
  3. package/dist/index.js +7 -7
  4. package/dist/{layers.CdKtxGUB.js → layers.-FCoQeSi.js} +7 -7
  5. package/dist/{layers.C6vYr5Ld.js → layers.-fP-kR7L.js} +1 -1
  6. package/dist/{layers.5SEjOley.js → layers.0RFkHfms.js} +1 -1
  7. package/dist/{layers.VdZKtXn3.js → layers.29JyiTGE.js} +2 -2
  8. package/dist/{layers.HNiyWEi-.js → layers.2WG23jed.js} +1 -1
  9. package/dist/{layers.DuunSAkT.js → layers.2dCnbFUO.js} +1 -1
  10. package/dist/{layers.BKFQN3vi.js → layers.2lTNHUcx.js} +1 -1
  11. package/dist/{layers.Dmp1YoTb.js → layers.2rx-tjvC.js} +3 -3
  12. package/dist/layers.4MzZv3pl.js +32701 -0
  13. package/dist/{layers.CQw4qYru.js → layers.5_J0XVur.js} +1 -1
  14. package/dist/{layers.G4mGKuEn.js → layers.7KiKGZ51.js} +1 -1
  15. package/dist/{layers.BpgU5MkZ.js → layers.7shVamGi.js} +1 -1
  16. package/dist/{layers.BPGtyTB4.js → layers.86tuuX07.js} +1 -1
  17. package/dist/layers.96cbKHLM.js +8 -0
  18. package/dist/{layers.DhuD16b4.js → layers.99IpuQjU.js} +1 -1
  19. package/dist/{layers.Clt19xnj.js → layers.B-ii4GFT.js} +2 -2
  20. package/dist/{layers.C60wjGgY.js → layers.B0MZNPbk.js} +1 -1
  21. package/dist/{layers.DC4MfHAe.js → layers.B0kq9lWv.js} +1 -1
  22. package/dist/{layers.CLI2BWOq.js → layers.B0z_WYgW.js} +1 -1
  23. package/dist/{layers.BefXFMJZ.js → layers.B3Z9kAf4.js} +1 -1
  24. package/dist/layers.B3btDaFD.js +296 -0
  25. package/dist/{layers.I6l2cRJP.js → layers.B40E5SeY.js} +1 -1
  26. package/dist/{layers.BLJ4mpb-.js → layers.B47TatU2.js} +1 -1
  27. package/dist/{layers.DmSXEVTh.js → layers.B6B3_Jr6.js} +1 -1
  28. package/dist/{layers.DZdi2smA.js → layers.B76ZjQbb.js} +1 -1
  29. package/dist/{layers.YuTJZiwf.js → layers.B87OOEMC.js} +1 -1
  30. package/dist/layers.B8Bwu93Z.js +129 -0
  31. package/dist/{layers.21NXp5mu.js → layers.BE4uTD8E.js} +1 -1
  32. package/dist/{layers.CYXK42ZN.js → layers.BIGkS4xr.js} +1 -1
  33. package/dist/{layers.Qlm7fGQz.js → layers.BJ3_O4JT.js} +4 -4
  34. package/dist/{layers.Ozz2yPGv.js → layers.BJgaeldx.js} +1 -1
  35. package/dist/{layers.DoqTWt9p.js → layers.BM1cNB82.js} +1 -1
  36. package/dist/{layers.KL2MtgI5.js → layers.BOLBxfqV.js} +1 -1
  37. package/dist/{layers.B7WCR7sA.js → layers.BP7jzC4b.js} +9 -9
  38. package/dist/{layers.2VWhBNR5.js → layers.BPL3ncJm.js} +1 -1
  39. package/dist/{layers.wAA0XOFZ.js → layers.BQ38G2bY.js} +1 -1
  40. package/dist/{layers.BB8iGfwq.js → layers.BQDiFrN6.js} +1 -1
  41. package/dist/{layers.Dte_B9t0.js → layers.BQwcdyRr.js} +1 -1
  42. package/dist/{layers.nDEtuxxf.js → layers.BS--5Vdh.js} +1 -1
  43. package/dist/{layers.C3HmokZx.js → layers.BT5dkRqe.js} +2 -2
  44. package/dist/{layers.qY7k9zva.js → layers.BUZqPh1Y.js} +1 -1
  45. package/dist/{layers.DcOA14fn.js → layers.BU_o0dah.js} +1 -1
  46. package/dist/{layers.DoftkyjU.js → layers.BUc6RkSD.js} +1 -1
  47. package/dist/{layers.Cm5i42xp.js → layers.BVBUCv5V.js} +1 -1
  48. package/dist/{layers.B24yJdo7.js → layers.BYGdg-S9.js} +1 -1
  49. package/dist/{layers.DpD7KK8y.js → layers.BYi9mUCK.js} +1 -1
  50. package/dist/{layers.CNG7N9Ii.js → layers.BYvh8yIz.js} +1 -1
  51. package/dist/{layers.C_vkVZhI.js → layers.BZbP1yXq.js} +1 -1
  52. package/dist/{layers.Ckx5qCVv.js → layers.Bf12RWOg.js} +1 -1
  53. package/dist/{layers.trzFwRp-.js → layers.Bft8wK3F.js} +3 -3
  54. package/dist/{layers.BkY4XmoO.js → layers.BhDJhHzw.js} +1 -1
  55. package/dist/{layers.CeTF7uDU.js → layers.BhQuXb6o.js} +1 -1
  56. package/dist/layers.Biu0_aWU.js +448 -0
  57. package/dist/{layers.DuMyQf0i.js → layers.BkNcVSt7.js} +1 -1
  58. package/dist/{layers.poOgZRFB.js → layers.BkVKUQpH.js} +1 -1
  59. package/dist/{layers.FRKpKUIp.js → layers.BoLKNLsr.js} +1 -1
  60. package/dist/{layers.Jy7LnUri.js → layers.BogKfVKo.js} +1 -1
  61. package/dist/{layers.CkavMq-n.js → layers.BqCwSNKl.js} +1 -1
  62. package/dist/{layers.CUq1b_uv.js → layers.Bqz3fZc0.js} +1 -1
  63. package/dist/{layers.D7TPZAQo.js → layers.BsUoGfVn.js} +1 -1
  64. package/dist/{layers.CKlm31sp.js → layers.ByRPMXvA.js} +1 -1
  65. package/dist/{layers.DbiQsOLT.js → layers.ByhA1GmD.js} +1 -1
  66. package/dist/{layers.CtBgfLYW.js → layers.BypLNicV.js} +1 -1
  67. package/dist/{layers.2_aP4rKW.js → layers.C03GhQ1D.js} +1 -1
  68. package/dist/{layers.DYktBhdU.js → layers.C266258A.js} +1 -1
  69. package/dist/{layers.dVGsx9OY.js → layers.C2MHACJy.js} +1 -1
  70. package/dist/{layers.D3kzcBhZ.js → layers.C2wojfYa.js} +1 -1
  71. package/dist/{layers.cgT6enoC.js → layers.C3tSRRCY.js} +1 -1
  72. package/dist/{layers.XD9uhG2Q.js → layers.C4OmENwy.js} +1 -1
  73. package/dist/layers.C5TowFPl.js +6 -0
  74. package/dist/layers.C9IV45sU.js +1 -0
  75. package/dist/{layers.C03Cx9ko.js → layers.C9JgsoQd.js} +7 -7
  76. package/dist/{layers.9_94R41Q.js → layers.CBZe_ymE.js} +1 -1
  77. package/dist/{layers.EcgBUbrP.js → layers.CBy9s8QI.js} +1 -1
  78. package/dist/{layers.DfKEQlU4.js → layers.CCMylcSj.js} +3 -3
  79. package/dist/{layers.C7YiwTUY.js → layers.CCNgg9wD.js} +1 -1
  80. package/dist/{layers.C5mqgysA.js → layers.CDSDvytN.js} +1 -1
  81. package/dist/{layers.BNrFWDKC.js → layers.CEfBQcmZ.js} +1 -1
  82. package/dist/{layers.CJLN3Y2S.js → layers.CGatcMVH.js} +1 -1
  83. package/dist/{layers.e8ROsojZ.js → layers.CGummNaV.js} +6 -6
  84. package/dist/{layers.CfcmRsGh.js → layers.CHL9X3bf.js} +4 -4
  85. package/dist/{layers.KZMjKJY9.js → layers.CJNlVLps.js} +1 -1
  86. package/dist/{layers.CtQTi5k2.js → layers.CJjXxcyR.js} +1 -1
  87. package/dist/{layers.B43vbAMd.js → layers.CJxbnLgP.js} +1 -1
  88. package/dist/{layers.jPbg5O74.js → layers.CKj0lOmB.js} +1 -1
  89. package/dist/{layers.DhFS1RFx.js → layers.CM4NJ2K3.js} +3 -3
  90. package/dist/{layers.D1AJn1gm.js → layers.CMf0siBo.js} +1 -1
  91. package/dist/{layers.PcJ_mWYt.js → layers.CN8eCszj.js} +1 -1
  92. package/dist/{layers.CWjO_7Ve.js → layers.COGNIj1r.js} +1 -1
  93. package/dist/{layers.C0ChL9qf.js → layers.CPFR5AEe.js} +1 -1
  94. package/dist/{layers.L3Dwl2me.js → layers.CRKPLK4K.js} +1 -1
  95. package/dist/{layers.C-rm6RYO.js → layers.CU7TsIOQ.js} +1 -1
  96. package/dist/{layers.CeuFxGkF.js → layers.C_r2XVbG.js} +24 -24
  97. package/dist/{layers.3yBTrqq_.js → layers.CaXJnzkl.js} +1 -1
  98. package/dist/{layers.DwHzuCdb.js → layers.CcEOtNlD.js} +1 -1
  99. package/dist/{layers.D_kL1ulC.js → layers.Chcx2Ibd.js} +3 -3
  100. package/dist/{layers.CfcmliBk.js → layers.CkW2OoCC.js} +1 -1
  101. package/dist/layers.CmmYt3Ou.js +1 -0
  102. package/dist/{layers.LT29Ckep.js → layers.CqkdZQCk.js} +1 -1
  103. package/dist/{layers.D342S5On.js → layers.Cs9xHWb2.js} +1 -1
  104. package/dist/{layers.CnD16KIV.js → layers.CsEB8i0s.js} +1 -1
  105. package/dist/{layers.UIxuNCNA.js → layers.CsmYM99B.js} +4 -4
  106. package/dist/{layers.Caej4p2r.js → layers.CswKXpWq.js} +1 -1
  107. package/dist/{layers.nClhRbp5.js → layers.CtRY_H6w.js} +1 -1
  108. package/dist/{layers.7Mf_t3V3.js → layers.CtekKJbi.js} +1 -1
  109. package/dist/{layers.Cf6ETRLc.js → layers.CusmPrta.js} +3 -3
  110. package/dist/{layers.COaT6THp.js → layers.Cvi-Rdpx.js} +1 -1
  111. package/dist/{layers.1gsa_7xn.js → layers.CwgQHm6q.js} +418 -418
  112. package/dist/{layers.BqpSvo8b.js → layers.CzCLy63p.js} +1 -1
  113. package/dist/{layers.Jg8rZO4N.js → layers.D1POTQQf.js} +4 -4
  114. package/dist/{layers.CNCJ4oGu.js → layers.D2r0kOYj.js} +1 -1
  115. package/dist/{layers.HqfvxYl9.js → layers.D4v5_bdl.js} +1 -1
  116. package/dist/{layers.BYa-vfmQ.js → layers.D5RdTkr-.js} +1 -1
  117. package/dist/{layers.C3hNmiVo.js → layers.D5VC8CV9.js} +10 -10
  118. package/dist/{layers.7H5TaRv9.js → layers.D7PjyVzu.js} +1 -1
  119. package/dist/{layers.-lUs0HK6.js → layers.D9NI9MwJ.js} +1 -1
  120. package/dist/layers.D9opr1Lq.js +1 -0
  121. package/dist/{layers.C-LqNwUG.js → layers.DA0T5fzL.js} +1 -1
  122. package/dist/{layers.B9FAw5Hp.js → layers.DCNhTuyU.js} +1 -1
  123. package/dist/{layers.CscKVANb.js → layers.DDqQC0gc.js} +1 -1
  124. package/dist/{layers.DmYM-bEF.js → layers.DDqZTsAY.js} +1 -1
  125. package/dist/{layers.Btd8SaTW.js → layers.DFBGI9ow.js} +1 -1
  126. package/dist/{layers.Bwhk8zpV.js → layers.DG1hIVbD.js} +4 -4
  127. package/dist/{layers.C8c_wmj8.js → layers.DHF4FcVf.js} +10 -10
  128. package/dist/{layers.BkNaeSLM.js → layers.DHHopCMO.js} +6 -6
  129. package/dist/{layers.C-YRdAVr.js → layers.DIbevmx0.js} +1 -1
  130. package/dist/{layers.Bf3fuB4y.js → layers.DKnLBZ10.js} +1 -1
  131. package/dist/{layers.CXgZfSnl.js → layers.DLB4etno.js} +1 -1
  132. package/dist/{layers.DnZJwkPZ.js → layers.DMN2cnfS.js} +1 -1
  133. package/dist/{layers.PJWiwdKo.js → layers.DMtFF698.js} +1 -1
  134. package/dist/{layers.CCOTRCsi.js → layers.DNBtUTph.js} +1 -1
  135. package/dist/{layers.UIW_B4Gw.js → layers.DOCPEINE.js} +1 -1
  136. package/dist/{layers.C5okGU-7.js → layers.DPja6zel.js} +7 -7
  137. package/dist/{layers.OyRGWWZa.js → layers.DPqDk63A.js} +5 -5
  138. package/dist/{layers.CnJIjyZt.js → layers.DSVcm5Is.js} +1 -1
  139. package/dist/{layers.TdSPdWL3.js → layers.DTUnRaBw.js} +1 -1
  140. package/dist/{layers.D1n8-g75.js → layers.DUPRfbHO.js} +1 -1
  141. package/dist/{layers.UQI2sEgL.js → layers.DWZlQ5ye.js} +1 -1
  142. package/dist/{layers.BFlnygML.js → layers.DYHx8Z0n.js} +1 -1
  143. package/dist/{layers.C5fDC7H9.js → layers.DcT-H8_R.js} +1 -1
  144. package/dist/layers.DdqzZDWF.js +17 -0
  145. package/dist/{layers.CDR7Jnp-.js → layers.Dedzg7HW.js} +1 -1
  146. package/dist/{layers.HX1sBsvt.js → layers.DgPRm4hS.js} +1 -1
  147. package/dist/{layers.CEDX1AMo.js → layers.DhnsLLMA.js} +1 -1
  148. package/dist/{layers.UagolHce.js → layers.DiikXRj-.js} +1 -1
  149. package/dist/layers.DilA0qnM.js +54 -0
  150. package/dist/{layers.DVCvBtm3.js → layers.Dko-4BVz.js} +3 -3
  151. package/dist/{layers.C-fcTXA7.js → layers.DlUil_G1.js} +1 -1
  152. package/dist/{layers.DLcrYagP.js → layers.DlrvbC3x.js} +1 -1
  153. package/dist/{layers.DqL_JBCI.js → layers.DpHy4ZyT.js} +1 -1
  154. package/dist/{layers.vAJoqvQw.js → layers.DqTCRUQM.js} +1 -1
  155. package/dist/{layers.bH6LnrHG.js → layers.DqgKRSdc.js} +1 -1
  156. package/dist/{layers.4D18Yfsa.js → layers.DrcJV9ob.js} +1 -1
  157. package/dist/{layers.OFBMHYnb.js → layers.Drmw3OLw.js} +1 -1
  158. package/dist/{layers.NWHilyul.js → layers.DsRQvF0R.js} +1 -1
  159. package/dist/{layers.BNdQUoyJ.js → layers.DtIgaT3x.js} +1 -1
  160. package/dist/{layers.CZLTEWrb.js → layers.DuR9z-Za.js} +1 -1
  161. package/dist/{layers.Ey9rmx6y.js → layers.DwgrYKV5.js} +1 -1
  162. package/dist/{layers.vwew4FW0.js → layers.DxxtHwJ4.js} +1 -1
  163. package/dist/{layers.MwEy8SLv.js → layers.DyQRwI5f.js} +1 -1
  164. package/dist/{layers.C9yqOSyT.js → layers.DzXOkIEW.js} +1 -1
  165. package/dist/{layers.B4zHVFDr.js → layers.DzaCymAJ.js} +3 -3
  166. package/dist/{layers.BuI9ra93.js → layers.Dzn5w2ZK.js} +1 -1
  167. package/dist/{layers.DH-UjZJX.js → layers.GD9u0TY8.js} +1 -1
  168. package/dist/{layers.D5oQt0nw.js → layers.HohTS9S9.js} +1 -1
  169. package/dist/{layers.Dx8OwVHg.js → layers.KQ3GHBwi.js} +2 -2
  170. package/dist/{layers.ChYaMY6o.js → layers.K_K2O6S1.js} +1 -1
  171. package/dist/{layers.Pm8cGAQM.js → layers.MgccF3I9.js} +2 -2
  172. package/dist/{layers.CWRzNa7Q.js → layers.N8pPd4-W.js} +1 -1
  173. package/dist/{layers.7p4B5WHI.js → layers.OID0yNM1.js} +1 -1
  174. package/dist/{layers.Din39n0x.js → layers.QOHvQQnC.js} +1 -1
  175. package/dist/{layers.CnLBJlKY.js → layers.QWlclhT3.js} +4 -4
  176. package/dist/{layers.3LvIhizX.js → layers.V8cy2Jes.js} +5 -5
  177. package/dist/{layers.B-Azh8x3.js → layers.XdKgLPlD.js} +1 -1
  178. package/dist/{layers.IjixpSHV.js → layers.YWKz-BcE.js} +1 -1
  179. package/dist/{layers.Cuv-fW2o.js → layers.Ym9InV68.js} +1 -1
  180. package/dist/{layers.ZCCa727Z.js → layers.ZTielExC.js} +1 -1
  181. package/dist/{layers.C7u0q_hx.js → layers.Zoh7_KpJ.js} +1 -1
  182. package/dist/{layers.Ba8zoJIa.js → layers.Zz3myt0Z.js} +1 -1
  183. package/dist/{layers.BjIXe3D7.js → layers._-sQMc4U.js} +4 -4
  184. package/dist/{layers.C27DxB7n.js → layers.bQhhcnZ-.js} +1 -1
  185. package/dist/{layers.ClQI983R.js → layers.bVTshU1p.js} +8 -8
  186. package/dist/{layers.CZiUVowg.js → layers.bfAD-zkU.js} +1 -1
  187. package/dist/{layers.C41wZ5Fd.js → layers.bmLqcKmt.js} +1 -1
  188. package/dist/layers.dntW5X-m.js +1 -0
  189. package/dist/layers.drVWgQFn.js +7 -0
  190. package/dist/{layers.DthJUUtY.js → layers.e1JrO1W5.js} +1 -1
  191. package/dist/layers.eqZ4gGGr.js +1 -0
  192. package/dist/{layers.DiWD4-4O.js → layers.fFiGEVFE.js} +1 -1
  193. package/dist/{layers.BGnrseEg.js → layers.gb7k7V0C.js} +2 -2
  194. package/dist/{layers.sMQGs7P5.js → layers.lVQv6vc1.js} +1 -1
  195. package/dist/{layers.C8i15DZ8.js → layers.mBRSSoOR.js} +1 -1
  196. package/dist/{layers.A8xX9qBS.js → layers.mLAXPMHT.js} +1 -1
  197. package/dist/{layers.VRyXYdSx.js → layers.mnqXOe2N.js} +1 -1
  198. package/dist/{layers.nFlanJWI.js → layers.oZ7n-X3T.js} +1 -1
  199. package/dist/{layers.D0Z7WgCX.js → layers.rVrPVh2m.js} +1 -1
  200. package/dist/{layers.Dv_vSCuT.js → layers.rxJ2RzRm.js} +1 -1
  201. package/dist/{layers.DdSL9FXt.js → layers.spXoEYEz.js} +1 -1
  202. package/dist/layers.tI-TqfCp.js +1 -0
  203. package/dist/{layers.CqsRAlby.js → layers.v1kabTk7.js} +1 -1
  204. package/dist/{layers.C3SZBy4R.js → layers.vpIm-tAg.js} +3 -3
  205. package/dist/{layers.CNH-xGlX.js → layers.wFpdlqjO.js} +1 -1
  206. package/dist/{layers.CyAICzBF.js → layers.xN2otuly.js} +1 -1
  207. package/dist/{layers.CjumZpS2.js → layers.yc-OSYvR.js} +1 -1
  208. package/package.json +46 -21
  209. package/dist/layers.B-Bvdh4r.js +0 -1
  210. package/dist/layers.Bd6lveqD.js +0 -6
  211. package/dist/layers.Besiu38h.js +0 -76
  212. package/dist/layers.Bi13sx4K.js +0 -1
  213. package/dist/layers.C2Ud6OAX.js +0 -1
  214. package/dist/layers.CJGzMJKj.js +0 -1
  215. package/dist/layers.CWDuKJ0X.js +0 -1
  216. package/dist/layers.C_8m_B29.js +0 -28602
  217. package/dist/layers.CijzQf2v.js +0 -1
  218. package/dist/layers.CurfH2dl.js +0 -1
  219. package/dist/layers.D4_zRR90.js +0 -8
  220. package/dist/layers.D8cd1M1o.js +0 -271
  221. package/dist/layers.DPsiaio4.js +0 -213
  222. package/dist/layers.DwrV1o0X.js +0 -6
  223. package/dist/layers.Dy7iY_m-.js +0 -129
  224. package/dist/layers.PrF7dn6p.js +0 -295
  225. package/dist/layers.qmKrKcd6.js +0 -296
@@ -1,4 +1,4 @@
1
- import "./layers.B7WCR7sA.js";
1
+ import "./layers.BP7jzC4b.js";
2
2
  var u = { paste: "चिटकवा", pasteAsPlaintext: "साधा मजकूर च्या रुपात पेस्ट करा", pasteCharts: "चार्ट चिकटवा", selectAll: "समस्त निवडा", multiSelect: "निवडित तत्व जोडा", moveCanvas: "पटल हलवा", cut: "कापा", copy: "प्रतिलिपी", copyAsPng: "PNG रूपे फळी वर कॉपी करा", copyAsSvg: "SVG रूपे फळी वर कॉपी करा", copyText: "लिखित रूपे फळी वर कॉपी करा", copySource: "स्त्रोत फळी वर कॉपी करा", convertToCode: "सांकेतिक लिपित रूपांतरित करा", bringForward: "पुढे पुढे आणा", sendToBack: "सर्वात मागे करा", bringToFront: "सर्वात पुढे आणा", sendBackward: "मागे मागे करा", delete: "हटवा", copyStyles: "शैली कॉपी करा", pasteStyles: "कॉपी केलेली शैली वापरा", stroke: "रेघे चा रंग", background: "पार्श्वभूमी", fill: "भरा", strokeWidth: "रेघ रुंदी", strokeStyle: "रेघ शैली", strokeStyle_solid: "भरीव", strokeStyle_dashed: "तुटित तुटित", strokeStyle_dotted: "ठिपके ठिपके", sloppiness: "गबाळेपणा", opacity: "अपारदर्शक्ता", textAlign: "मजकूर संरेखन", edges: "किनारी", sharp: "टोचरं", round: "गोलाकार", arrowheads: "बाण टोक", arrowhead_none: "कुठलाहि नाही", arrowhead_arrow: "बाण", arrowhead_bar: "दांडुक", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "त्रिकोण", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "अक्षर आकार", fontFamily: "अक्षर समूह", addWatermark: '"एक्सकेलीड्रॉ ने बनवलेलं" जोडा', handDrawn: "हातानी बनवलेलं", normal: "सामान्य", code: "सांकेतिक लिपि", small: "छोटे", medium: "मध्यम", large: "मोठं", veryLarge: "फार मोठं", solid: "भरीव", hachure: "हैशूर रेखांकन", zigzag: "वाकडी तिकड़ी", crossHatch: "आडव्या रेघा", thin: "पातळ", bold: "जाड", left: "डावं", center: "मधे", right: "उजवं", extraBold: "जास्त जाड", architect: "वास्तुविद्याविशारद", artist: "कलाकार", cartoonist: "व्यंग्य चित्रकार", fileTitle: "फाईलचे नाव", colorPicker: "रंग निवडक", canvasColors: "कॅनवास वर वापरलेले", canvasBackground: "पटल पार्श्वभूमि", drawingCanvas: "चित्र पटल", layers: "स्तर", actions: "क्रिया", language: "भाषा", liveCollaboration: "ज्वलंत सहयोग...", duplicateSelection: "प्रतिलिपि", untitled: "अशीर्षकांकित", name: "नाव", yourName: "तुमचे नाव", madeWithExcalidraw: "एक्सकेलीड्रॉ ने बनवलेलं", group: "समूह निवड", ungroup: "समूह निवड ला रद्द करा", collaborators: "Sahayog", showGrid: "ग्रिड दाखवा", addToLibrary: "संग्रह मधे सम्मिलित करा", removeFromLibrary: "संग्रहातून काढ़ा", libraryLoadingMessage: "संग्रह लोड होत आहे…", libraries: "संग्रह देखे", loadingScene: "दृश्य लोड होत आहे…", align: "संरेखित करा", alignTop: "वर संरेखित करा", alignBottom: "खाली संरेखित करा", alignLeft: "डावा बाजूला संरेखित करा", alignRight: "उजव्या बाजूला संरेखित करा", centerVertically: "मधल्या मधे उभं संरेखित करा", centerHorizontally: "मधल्या मधे आडवं संरेखित करा", distributeHorizontally: "आडवं वितरित करा", distributeVertically: "उभं वितरित करा", flipHorizontal: "आडवं फ्लिप करा", flipVertical: "उभं फ्लिप करा", viewMode: "पहायची पद्धत", share: "सामायिक करा", showStroke: "रेघ रंग निवड यंत्र दाखवा", showBackground: "पार्श्वभूमि: रंग निवड यंत्र दाखवा", toggleTheme: "शैली बदला", personalLib: "वैयक्तिक संग्रह", excalidrawLib: "एक्सकेलीड्रॉ संग्रह", decreaseFontSize: "अक्षर आकार छोटा करा", increaseFontSize: "अक्षर आकार मोठा करा", unbindText: "लेखन संबंध संपवा", bindText: "शब्द समूह ला पात्रात घ्या", createContainerFromText: "मजकूर कंटेनर मधे मोडून दाखवा", link: { edit: "दुवा संपादन", editEmbed: "कड़ी सम्पादित करा आणि रुतवा", create: "दुवा तयार करा", createEmbed: "नवीन कड़ी बनवा आणि रुतवा", label: "दुवा", labelEmbed: "कड़ी आणि रूतवणे", empty: "कुठलिही कड़ी दिली नाही" }, lineEditor: { edit: "रेघ संपादन", exit: "रेघ संपादकाबाहेर" }, elementLock: { lock: "कुलूपात ठेवा", unlock: "कुलूपातून बाहेर", lockAll: "सर्व कुलूपात ठेवा", unlockAll: "सर्व कुलूपातून बाहेर" }, statusPublished: "प्रकाशित करा", sidebarLock: "साइडबार उघडं ठेवा", selectAllElementsInFrame: "चौकटीतले सर्व तत्वांचे चयन करा", removeAllElementsFromFrame: "चौकटीतून सर्व काढून टाका", eyeDropper: "चित्रफलकातून रंग निवडा", textToDiagram: "", prompt: "" }, E = { noItems: "अजून कोणतेही आइटम जोडलेले नाही...", hint_emptyLibrary: "पटल वर एक वस्तु निवडुन एथे जोडा, किव्हा एक संग्रह जन कोष कडुन खाली स्थापित करा.", hint_emptyPrivateLibrary: "ईथे जोडण्या साठी पटल वरून एक वस्तु निवडा." }, F = { clearReset: "पटल पुसा", exportJSON: "फ़ाइलमधे बाहेर ठेवा", exportImage: "प्रतिमा निर्यात करा...", export: "येथे सुरक्षित करा...", copyToClipboard: "फळी वर कॉपी करा", save: "वर्तमान फ़ाइल मधे जतन करा", saveAs: "ह्या नावाने जतन करा", load: "उघडा", getShareableLink: "सामायिके साठी दुवा प्राप्त करा", close: "बंद करा", selectLanguage: "भाषा निवड करा", scrollBackToContent: "पहलेचा मजकुर वर मागे स्क्रॉल करा", zoomIn: "मोठं करून पहा", zoomOut: "छोटं करून पहा", resetZoom: "छोटं मोठं करणं बंद करा", menu: "यादि", done: "झालं", edit: "संपादित करा", undo: "पूर्ववत करा", redo: "पुन्हा करा(&R)", resetLibrary: "संग्रह पुनर्स्थित करा", createNewRoom: "एक नवी खोली बनवा", fullScreen: "पूर्ण दृश्यपटल", darkMode: "अंधार स्थिथि", lightMode: "उजेड स्थिति", zenMode: "ध्यानग्र स्थिति", objectsSnapMode: "वस्तूंपासून पकड़ा", exitZenMode: "ध्यानग्र स्थितितून बाहेर", cancel: "रद्द", clear: "स्वछ", remove: "हटवा", embed: "रुतवणे उलटे करा", publishLibrary: "प्रकाशित करा", submit: "जमा करा", confirm: "पुष्टि करा", embeddableInteractionButton: "संवादा साठी क्लिक करा" }, D = { clearReset: "पटल स्वच्छ होणार, तुम्हाला खात्री आहे का?", couldNotCreateShareableLink: "सामायी करण करण्या योग्य दुवा नाही बनवता आला.", couldNotCreateShareableLinkTooBig: "सामायी करण करण्या योग्य दुवा नाही बनवता आला: दृश्य फार मोठं आहे", couldNotLoadInvalidFile: "अवैध फ़ाइल लोड करता आली नाही", importBackendFailed: "बैकएंड हून मागवणे विफल झाले.", cannotExportEmptyCanvas: "रिकामा पटल जतन करता येत नाही.", couldNotCopyToClipboard: "पटल वर कॉपी नाही झाली.", decryptFailed: "डीक्रिप्ट करता आले नाही.", uploadedSecurly: "अपलोड या टोकापासून त्या टोकापर्यंत कूटबद्धित करून सुरक्षित केले गेले आहे, हयाचा अर्थ असा की एक्सकेलीड्रॉ सर्व्हर आणि तृतीय पक्ष मजकूर वाचू शकत नाहीत.", loadSceneOverridePrompt: "बाह्य रेखाचित्र लोड केल्याने तुमची तुमचा विद्यमान मजकूर बदलेल. हे काम तुम्हाला चालू ठेवायचे आहे का?", collabStopOverridePrompt: `सत्र थांबवल्याने तुमचे पूर्वीचे, स्थानिकरित्या संग्रहित रेखाचित्र अधिलिखित होईल. तुला खात्री आहे?
3
3
 
4
4
  (तुम्हाला तुमचे स्थानिक रेखाचित्र ठेवायचे असल्यास, त्याऐवजी फक्त ब्राउझर टॅब बंद करा.)`, errorAddingToLibrary: "संग्रहात तत्व जोडू शकलो नाही", errorRemovingFromLibrary: "संग्रहातून तत्व काढू शकलो नाही", confirmAddLibrary: "हे तुमच्या संग्राहात {{numShapes}} आकार (एक किव्हा अनेक) जोडेल. तुला खात्री आहे?", imageDoesNotContainScene: "या प्रतिमेमध्ये कोणताही दृश्य डेटा असल्याचे दिसत नाही. बाहेर जतन करताना तुम्ही दृश्य रुतवले होते का?", cannotRestoreFromImage: "प्रतिमा फ़ाइल पासून दृश्य पुनः रचित नाही झाला", invalidSceneUrl: "दिलेल्या यू-आर-एल पासून दृश्य आणू शकलो नाही. तो एकतर बरोबार नाही आहे किंवा त्यात वैध एक्सकेलीड्रॉ जेसन डेटा नाही.", resetLibrary: "पटल स्वच्छ होणार, तुम्हाला खात्री आहे का?", removeItemsFromsLibrary: "संग्रहातून {{count}} तत्व (एक किव्हा अनेक) काढू?", invalidEncryptionKey: "कूटबद्धन कुंजी 22 अक्षरांची असणे आवश्यक आहे. थेट सहयोग अक्षम केले आहे.", collabOfflineWarning: `इंटरनेट कनेक्शन उपलब्ध नाही.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@layers-app/editor",
3
3
  "private": false,
4
- "version": "0.7.68",
4
+ "version": "0.7.70",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "start": "cross-env VITE_LAYERS=true vite --mode full ",
@@ -20,7 +20,21 @@
20
20
  "test:e2e:ui": "playwright test --ui",
21
21
  "test:e2e:debug": "playwright test --debug",
22
22
  "test:e2e:headed": "playwright test --headed",
23
- "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost"
23
+ "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost",
24
+ "type-check": "tsc --noEmit --project tsconfig.check.json",
25
+ "changeset": "changeset",
26
+ "version": "changeset version",
27
+ "release": "npm run build && changeset publish",
28
+ "prepare": "husky"
29
+ },
30
+ "lint-staged": {
31
+ "*.{ts,tsx}": [
32
+ "eslint --fix",
33
+ "prettier --write"
34
+ ],
35
+ "*.{scss,css,json,md}": [
36
+ "prettier --write"
37
+ ]
24
38
  },
25
39
  "publishConfig": {
26
40
  "access": "public"
@@ -45,16 +59,21 @@
45
59
  "yjs": "^13.6.20"
46
60
  },
47
61
  "devDependencies": {
62
+ "@changesets/cli": "^2.30.0",
63
+ "@commitlint/cli": "^20.5.0",
64
+ "@commitlint/config-conventional": "^20.5.0",
48
65
  "@eslint/js": "^9.9.0",
49
- "@hugeicons/core-free-icons": "^2.0.0",
66
+ "@hugeicons/core-free-icons": "^4.0.0",
50
67
  "@hugeicons/react": "^1.1.1",
51
- "@layers-app/shared": "^0.2.5",
68
+ "@layers-app/shared": "0.2.8-test",
69
+ "@mantine/carousel": "8.3.5",
52
70
  "@mantine/core": "8.3.5",
53
71
  "@mantine/dropzone": "8.3.5",
54
72
  "@mantine/form": "8.3.5",
55
73
  "@mantine/hooks": "8.3.5",
56
74
  "@mantine/modals": "8.3.5",
57
75
  "@mantine/notifications": "8.3.5",
76
+ "@mantine/tiptap": "8.3.5",
58
77
  "@playwright/test": "^1.40.0",
59
78
  "@rollup/plugin-typescript": "^11.1.6",
60
79
  "@tabler/icons-react": "^3.7.0",
@@ -77,20 +96,26 @@
77
96
  "eslint-config-prettier": "^10.1.1",
78
97
  "eslint-plugin-prettier": "^5.2.3",
79
98
  "eslint-plugin-react": "^7.37.4",
99
+ "eslint-plugin-react-hooks": "^7.0.1",
80
100
  "eslint-plugin-react-refresh": "^0.4.19",
81
101
  "eslint-plugin-unused-imports": "^4.1.4",
82
102
  "glob": "^10.3.10",
103
+ "husky": "^9.1.7",
83
104
  "i18next": "^25.5.2",
105
+ "lint-staged": "^16.4.0",
84
106
  "lodash-es": "^4.17.21",
85
107
  "postcss-import": "^16.1.0",
86
108
  "postcss-preset-mantine": "^1.17.0",
87
109
  "prettier": "^3.4.2",
88
110
  "prettier-plugin-organize-attributes": "^1.0.0",
89
111
  "proper-lockfile": "^4.1.2",
112
+ "react": "^18.3.1",
113
+ "react-dom": "^18.3.1",
90
114
  "react-i18next": "^15.7.3",
91
115
  "rollup-plugin-typescript-paths": "^1.5.0",
92
116
  "rollup-plugin-visualizer": "^5.12.0",
93
117
  "sass": "^1.71.1",
118
+ "swagger-ui-react": "^5.32.0",
94
119
  "terser": "^5.39.0",
95
120
  "typescript": "^5.5.4",
96
121
  "typescript-eslint": "^8.2.0",
@@ -107,12 +132,6 @@
107
132
  "dompurify": "^3.2.4",
108
133
  "mermaid": "^10.9.4",
109
134
  "i18next": "^25.5.2",
110
- "@mantine/core": "8.3.5",
111
- "@mantine/hooks": "8.3.5",
112
- "@mantine/form": "8.3.5",
113
- "@mantine/dropzone": "8.3.5",
114
- "@mantine/modals": "8.3.5",
115
- "@mantine/notifications": "8.3.5",
116
135
  "@excalidraw/mermaid-to-excalidraw": {
117
136
  "nanoid": "^5.0.9"
118
137
  },
@@ -123,30 +142,36 @@
123
142
  "nanoid": "^5.0.9"
124
143
  },
125
144
  "ajv": "^8.18.0",
145
+ "eslint": {
146
+ "ajv": "6.14.0"
147
+ },
148
+ "@eslint/eslintrc": {
149
+ "ajv": "6.14.0"
150
+ },
126
151
  "minimatch": "^10.2.1"
127
152
  },
128
153
  "peerDependencies": {
129
154
  "@dnd-kit/modifiers": ">=6",
130
155
  "@emotion/react": ">=11",
131
156
  "@emotion/styled": ">=11",
132
- "@hugeicons/core-free-icons": ">=1",
157
+ "@hugeicons/core-free-icons": "^4.0.0",
133
158
  "@hugeicons/react": ">=1",
134
- "@mantine/carousel": ">=8.0.0",
135
- "@mantine/colors-generator": ">=8.0.0",
136
- "@mantine/core": ">=8.0.0",
137
- "@mantine/dropzone": ">=8.0.0",
138
- "@mantine/form": ">=8.0.0",
139
- "@mantine/hooks": ">=8.0.0",
140
- "@mantine/modals": ">=8.0.0",
141
- "@mantine/notifications": ">=8.0.0",
142
- "@mantine/tiptap": ">=8.0.0",
143
159
  "@tabler/icons-react": ">=3.7.0",
160
+ "@mantine/carousel": "8.3.5",
161
+ "@mantine/colors-generator": "8.3.5",
162
+ "@mantine/core": "8.3.5",
163
+ "@mantine/dropzone": "8.3.5",
164
+ "@mantine/form": "8.3.5",
165
+ "@mantine/hooks": "8.3.5",
166
+ "@mantine/modals": "8.3.5",
167
+ "@mantine/notifications": "8.3.5",
168
+ "@mantine/tiptap": "8.3.5",
144
169
  "@tanstack/react-query": "^5.52.2",
145
170
  "@tanstack/react-virtual": ">=3",
146
171
  "date-fns-tz": ">=3",
147
172
  "i18next": "^25.5.2",
148
173
  "js-confetti": ">=0.12",
149
- "lodash-es": ">=4.17.21",
174
+ "lodash-es": "^4.17.21",
150
175
  "react": "^18.3.1",
151
176
  "react-dom": "^18.3.1",
152
177
  "react-i18next": "^15.7.3",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),n=require("react"),V=require("react-i18next"),Y=require("@lexical/react/LexicalComposerContext"),J=require("@mantine/core"),C=require("lexical"),Q=require("@layers-app/shared"),i=require("./layers.Dy7iY_m-.js"),U=t=>{const{width:h,height:l,isLoading:g,isError:w,src:f,id:m,altText:p,imageRef:x,maxWidth:c}=t;return u.jsxs("div",{className:"media-wrapper",style:{width:h,height:l,display:"inline-flex",position:"relative"},children:[u.jsx(J.LoadingOverlay,{visible:g,zIndex:1e3,overlayProps:{backgroundOpacity:.5},loaderProps:{size:24,color:"black"}}),u.jsx(X,{className:null,src:f,altText:p,imageRef:x,width:"inherit",height:"inherit",maxWidth:c||"auto",id:m})]})};function X({altText:t,className:h,imageRef:l,src:g,width:w,height:f,maxWidth:m,id:p}){const[x,c]=n.useState(!1);return u.jsx("img",{className:`${h||void 0} ${x?"":"loading"}`,src:g,alt:t,ref:l,style:{height:f,maxWidth:m,width:w},onLoad:()=>{g.includes("splash")?setTimeout(()=>{c(!0)},100):c(!0)},draggable:"false","data-id":p})}function Z({src:t,altText:h,nodeKey:l,width:g,height:w,maxWidth:f,showCaption:m,caption:p,id:x,create:c,alignment:_}){var q,k;const W=n.useRef(null),[E,I]=n.useState(!0),[s]=Y.useLexicalComposerContext(),[S,R]=n.useState(!0),[d,L]=n.useState({width:0,height:0}),{start:B,cancel:D}=i.useCancelUpload(),[H,M]=n.useState(0),{fetchUploadMedia:j,fetchDeleteMedia:$,maxFileSize:ee}=n.useContext(i.Context),N=i.mediaMap.has(t)&&(((q=i.mediaMap.get(t))==null?void 0:q.mediaNodeKeys.length)===0||((k=i.mediaMap.get(t))==null?void 0:k.mediaNodeKeys.length)===void 0||t.trim()===""),{t:b}=V.useTranslation(),[te,T]=n.useState(0);n.useEffect(()=>s.registerDecoratorListener(()=>{T(e=>e+1)}),[N]),n.useEffect(()=>{if(!t||t.startsWith("data:image/")||!t.trim()){I(!1);return}const e=new Image;e.src=t,e.onload=()=>I(!1),e.onerror=()=>{I(!1)}},[t,N]);const F=(e,a)=>{s.update(()=>{C.$setSelection(null);const o=C.$getNodeByKey(l);i.$isImageNode(o)&&o.setWidthAndHeight(e,a)})},{historyState:O}=i.useSharedHistoryContext(),{settings:{showNestedEditorTreeView:P}}=i.useSettings(),[v,y]=n.useState(!1);function G(e){return e.endsWith(".svg")||e.includes("image/svg+xml")}function K(e){return new Promise((a,o)=>{if(G(e)){a(0);return}const r=new Image;r.src=e,r.onload=()=>{a(r.width)},r.onerror=()=>{o(new Error("Failed to load image"))}})}n.useEffect(()=>{c&&y(!0)},[c]),n.useEffect(()=>{let e=g,a=w,o=100;(t.includes("unsplash")?t.trim():!N&&t.trim()||t.includes("upload-src-editor"))&&t!=="upload"&&K(t).then(r=>{typeof e=="number"&&e<o&&r<o?(R(!0),L({width:e,height:a})):r<o?(R(!0),L({width:"auto",height:"auto"})):(L({width:r,height:r}),R(!1))}).catch(r=>{console.warn("Ошибка при загрузке изображения:",r.message)})},[t,N]),n.useEffect(()=>{d.width&&d.height&&S&&s.update(()=>{const e=C.$getNodeByKey(l);i.$isImageNode(e)&&e.setWidthAndHeight(d.width,d.height)})},[d.width,d.height,S]),n.useEffect(()=>(v?i.blockScroll(s.getRootElement()):i.unblockScroll(s.getRootElement()),()=>{i.unblockScroll(s.getRootElement())}),[v,s]),n.useEffect(()=>s.registerCommand(i.UPLOAD_IMAGE_COMMAND,e=>(t==="upload"&&A(e),!1),C.COMMAND_PRIORITY_LOW),[t,E]);const z=(e,a)=>{I(!1),s.update(()=>{const o=C.$getNodeByKey(l);i.$isImageNode(o)&&(o.setSrc(e),o.setId(a))})},A=e=>{I(!0);const a=B();j&&j(e[0],(o,r)=>{z(o,r),M(0)},o=>{o&&Q.showErrorNotification({message:b("editor.gallery.errorFile")}),M(0),z("","")},a,o=>{M(o)})};return!t||t==="upload"?u.jsx(i.ImagePicker,{uploading:!1,onUpload:e=>{!j||!e.length||(A(e),y(!1))},popoverProps:{opened:v,position:"bottom",onChange:y},onChange:e=>{y(!1),s.update(()=>{const a=C.$getNodeByKey(l);i.$isImageNode(a)&&a.setSrc(e)})},children:u.jsx(i.EmptyNodeButton,{title:b("editor.image.add_photo"),icon:"photo",onClick:()=>y(!v),isLoading:E,progress:H,onAfterCancel:()=>{D(),I(!1)}})}):S?u.jsx(U,{width:d.width,height:d.height,isLoading:E,isError:!1,isIcon:S,src:t,id:x,editor:s,nodeKey:l,fetchDeleteMedia:$,altText:h,imageRef:W,maxWidth:f,showCaption:m,caption:p,isCollabActive:!1,historyState:O,showNestedEditorTreeView:P,t:b}):u.jsx(i.ResizableContainer,{editor:s,isIcon:S,width:i.parseContainerSize(g),height:i.parseContainerSize(w),initialWidth:d.width||"",initialHeight:d.height||"",onResizeEnd:F,alignment:_,children:u.jsx(U,{width:"inherit",height:"inherit",isLoading:E,isError:!1,isIcon:S,src:t,id:x,editor:s,nodeKey:l,fetchDeleteMedia:$,altText:h,imageRef:W,maxWidth:f,showCaption:m,caption:p,isCollabActive:!1,historyState:O,showNestedEditorTreeView:P,t:b})})}exports.default=Z;
@@ -1,6 +0,0 @@
1
- import { q as t, G as d, X as n } from "./layers.B7WCR7sA.js";
2
- export {
3
- t as decodePngMetadata,
4
- d as encodePngMetadata,
5
- n as getTEXtChunk
6
- };
@@ -1,76 +0,0 @@
1
- import { jsxs as p, Fragment as M, jsx as c } from "react/jsx-runtime";
2
- import { useState as n, useRef as x, useEffect as O } from "react";
3
- import { useLexicalComposerContext as N } from "@lexical/react/LexicalComposerContext";
4
- import { createCommand as g, COMMAND_PRIORITY_EDITOR as w } from "lexical";
5
- import { e as D, g as S, f as A } from "./layers.C_8m_B29.js";
6
- import { C as R, E as I } from "./layers.PrF7dn6p.js";
7
- const _ = g(
8
- "INSERT_EXCALIDRAW_COMMAND"
9
- );
10
- function k() {
11
- const [o] = N(), [d, t] = n(!1), [e, f] = n(
12
- null
13
- ), s = x(null), [m, a] = n(!1);
14
- O(() => {
15
- if (!o.hasNodes([D]))
16
- throw new Error(
17
- "ExcalidrawPlugin: ExcalidrawNode not registered on editor"
18
- );
19
- return o.registerCommand(
20
- _,
21
- () => {
22
- t(!0);
23
- const r = S();
24
- return f(r), !0;
25
- },
26
- w
27
- );
28
- }, [o]);
29
- const l = () => {
30
- t(!1), a(!1), s.current = !1;
31
- };
32
- return /* @__PURE__ */ p(M, { children: [
33
- /* @__PURE__ */ c(
34
- R,
35
- {
36
- isCloseModal: m,
37
- confirmClose: l,
38
- setCloseModalOpen: a
39
- }
40
- ),
41
- /* @__PURE__ */ c(
42
- I,
43
- {
44
- initialElements: [],
45
- initialAppState: {},
46
- initialFiles: {},
47
- isShown: d,
48
- onDelete: () => {
49
- t(!1);
50
- },
51
- onClose: () => {
52
- s.current ? a(!0) : l();
53
- },
54
- onSave: (r, u, C, E) => {
55
- o.update(() => {
56
- const i = A();
57
- i.setData(
58
- JSON.stringify({
59
- appState: u,
60
- elements: r,
61
- files: C,
62
- previewSVG: E
63
- })
64
- ), e && e.getParent() && (e == null || e.replace(i));
65
- }), t(!1);
66
- },
67
- closeOnClickOutside: !1,
68
- isEdited: s
69
- }
70
- )
71
- ] });
72
- }
73
- export {
74
- _ as INSERT_EXCALIDRAW_COMMAND,
75
- k as default
76
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),P=require("@lexical/react/LexicalComposerContext"),v=require("@lexical/react/LexicalErrorBoundary"),y=require("@lexical/react/LexicalNestedComposer"),$=require("@lexical/react/LexicalRichTextPlugin"),k=require("@lexical/react/useLexicalNodeSelection"),q=require("@lexical/utils"),t=require("lexical"),x=require("./layers.Dy7iY_m-.js"),Y=require("@mantine/core");function w({children:n,className:l}){return e.jsx("div",{className:l||"Placeholder__root",children:n})}function B({label:n,value:l,onChange:o,placeholder:C="","data-test-id":i,type:d="text"}){return e.jsx(Y.TextInput,{type:d,placeholder:C,value:l,onChange:c=>{o(c.target.value)},label:n,"data-test-id":i,mb:10})}const b=new Set;function W(n){if(!b.has(n))throw new Promise(l=>{const o=new Image;o.src=n,o.onload=()=>{b.add(n),l(null)}})}function F({altText:n,className:l,imageRef:o,src:C,width:i,height:d,position:c}){return W(C),e.jsx("img",{className:l||void 0,src:C,alt:n,ref:o,"data-position":c,style:{display:"block",height:d,width:i},draggable:"false"})}function A({activeEditor:n,nodeKey:l,onClose:o}){const i=n.getEditorState().read(()=>t.$getNodeByKey(l)),[d,c]=s.useState(i.getAltText()),[h,S]=s.useState(i.getShowCaption()),[_,N]=s.useState(i.getPosition()),p=m=>{S(m.target.checked)},g=()=>{const m={altText:d,position:_,showCaption:h};i&&n.update(()=>{i.update(m)}),o()};return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{marginBottom:"1em"},children:e.jsx(B,{label:"Alt-текст",placeholder:"Альтернативный текст",onChange:c,value:d,"data-test-id":"image-modal-alt-text-input"})}),e.jsxs("div",{className:"Input__wrapper",children:[e.jsx("input",{id:"caption",type:"checkbox",checked:h,onChange:p}),e.jsx("label",{htmlFor:"caption",children:"Show Caption"})]}),e.jsx(x.Button,{"data-test-id":"image-modal-file-upload-btn",onClick:()=>g(),children:"Применить"})]})}function K({src:n,altText:l,nodeKey:o,width:C,height:i,showCaption:d,caption:c,position:h}){const[S,_]=x.useModal(),N=s.useRef(null),p=s.useRef(null),[g,m,M]=k.useLexicalNodeSelection(o),[a]=P.useLexicalComposerContext(),[D,L]=s.useState(null),O=s.useRef(null),E=s.useCallback(u=>{if(g&&t.$isNodeSelection(t.$getSelection())){u.preventDefault();const r=t.$getNodeByKey(o);x.$isInlineImageNode(r)&&r.remove()}return!1},[g,o]),R=s.useCallback(u=>{const f=t.$getSelection(),r=p.current;if(g&&t.$isNodeSelection(f)&&f.getNodes().length===1){if(d)return t.$setSelection(null),u.preventDefault(),c.focus(),!0;if(r!==null&&r!==document.activeElement)return u.preventDefault(),r.focus(),!0}return!1},[c,g,d]),j=s.useCallback(u=>O.current===c||p.current===u.target?(t.$setSelection(null),a.update(()=>{m(!0);const f=a.getRootElement();f!==null&&f.focus()}),!0):!1,[c,a,m]);s.useEffect(()=>{let u=!0;const f=q.mergeRegister(a.registerUpdateListener(({editorState:r})=>{u&&L(r.read(()=>t.$getSelection()))}),a.registerCommand(t.SELECTION_CHANGE_COMMAND,(r,I)=>(O.current=I,!1),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.CLICK_COMMAND,r=>{const I=r;return I.target===N.current?(I.shiftKey?m(!g):(M(),m(!0)),!0):!1},t.COMMAND_PRIORITY_LOW),a.registerCommand(t.DRAGSTART_COMMAND,r=>r.target===N.current?(r.preventDefault(),!0):!1,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_DELETE_COMMAND,E,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_BACKSPACE_COMMAND,E,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ENTER_COMMAND,R,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ESCAPE_COMMAND,j,t.COMMAND_PRIORITY_LOW));return()=>{u=!1,f()}},[M,a,g,o,E,R,j,m]);const T=g;return e.jsxs(s.Suspense,{fallback:null,children:[e.jsxs(e.Fragment,{children:[e.jsxs("div",{draggable:!1,children:[e.jsx("button",{className:"image-edit-button",ref:p,onClick:()=>{_("Update Inline Image",u=>e.jsx(A,{activeEditor:a,nodeKey:o,onClose:u}))},children:"Edit"}),e.jsx(F,{className:T?`focused ${t.$isNodeSelection(D)?"draggable":""}`:null,src:n,altText:l,imageRef:N,width:C,height:i,position:h})]}),d&&e.jsx("div",{className:"image-caption-container",children:e.jsxs(y.LexicalNestedComposer,{initialEditor:c,children:[e.jsx(x.LinkPlugin,{}),e.jsx(x.FloatingTextFormatToolbarPlugin,{}),e.jsx($.RichTextPlugin,{contentEditable:e.jsx(x.LexicalContentEditable,{className:"InlineImageNode__contentEditable"}),placeholder:e.jsx(w,{className:"InlineImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:v.LexicalErrorBoundary})]})})]}),S]})}exports.UpdateInlineImageDialog=A;exports.default=K;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),p=require("@lexical/react/LexicalComposerContext"),C=require("lexical"),l=require("./layers.Dy7iY_m-.js"),u=require("./layers.CWDuKJ0X.js"),f=C.createCommand("INSERT_EXCALIDRAW_COMMAND");function A(){const[s]=p.useLexicalComposerContext(),[x,n]=t.useState(!1),[e,E]=t.useState(null),r=t.useRef(null),[M,i]=t.useState(!1);t.useEffect(()=>{if(!s.hasNodes([l.ExcalidrawNode]))throw new Error("ExcalidrawPlugin: ExcalidrawNode not registered on editor");return s.registerCommand(f,()=>{n(!0);const a=l.getCurrentElement();return E(a),!0},C.COMMAND_PRIORITY_EDITOR)},[s]);const c=()=>{n(!1),i(!1),r.current=!1},m=()=>{r.current?i(!0):c()},O=()=>{n(!1)},N=(a,S,R,g)=>{s.update(()=>{const d=l.$createExcalidrawNode();d.setData(JSON.stringify({appState:S,elements:a,files:R,previewSVG:g})),e&&e.getParent()&&(e==null||e.replace(d))}),n(!1)};return o.jsxs(o.Fragment,{children:[o.jsx(u.ConfirmModal,{isCloseModal:M,confirmClose:c,setCloseModalOpen:i}),o.jsx(u.ExcalidrawModal,{initialElements:[],initialAppState:{},initialFiles:{},isShown:x,onDelete:O,onClose:m,onSave:N,closeOnClickOutside:!1,isEdited:r})]})}exports.INSERT_EXCALIDRAW_COMMAND=f;exports.default=A;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./layers.CyAICzBF.js");require("./layers.C5okGU-7.js");exports.Commands=e.CB;exports.subsetToBase64=e.QB;exports.subsetToBinary=e.NQ;exports.toBase64=e.AI;
@@ -1 +0,0 @@
1
- "use strict";const c=require("react/jsx-runtime"),R=require("react-i18next"),m=require("@mantine/core"),l=require("react"),H=require("@layers-app/shared"),I=({isCloseModal:a,setCloseModalOpen:t,confirmClose:d})=>{const{t:f}=R.useTranslation();return c.jsx(m.Modal,{opened:a,onClose:()=>{t(!1)},centered:!0,title:f("editor.unsavedChanges.title"),closeOnClickOutside:!0,closeOnEscape:!0,size:"500",zIndex:999,children:c.jsxs("div",{children:[c.jsx(m.Text,{mb:"md",children:f("editor.unsavedChanges.message")}),c.jsxs(m.Flex,{justify:"flex-end",gap:"sm",children:[c.jsx(m.Button,{variant:"default",onClick:()=>{t(!1)},fullWidth:!0,children:f("editor.unsavedChanges.cancel")}),c.jsx(m.Button,{color:"red",onClick:d,fullWidth:!0,children:f("editor.unsavedChanges.closeWithoutSaving")})]})]})})},M={elements:[],files:{},appState:{},previewSVG:null},K=a=>{try{const t=JSON.parse(a);if(Array.isArray(t))return{...M,elements:t};if(t&&typeof t=="object")return{elements:Array.isArray(t.elements)?t.elements:[],files:t.files&&typeof t.files=="object"?t.files:{},appState:t.appState&&typeof t.appState=="object"?t.appState:{},previewSVG:typeof t.previewSVG=="string"?t.previewSVG:typeof t.previewSvg=="string"?t.previewSvg:null}}catch{}return{...M}},U={en:"en-US",ru:"ru-RU",fr:"fr-FR",de:"de-DE",es:"es-ES",it:"it-IT",pt:"pt-BR",zh:"zh-CN",ja:"ja-JP",ko:"ko-KR",ar:"ar-SA",hi:"hi-IN",nl:"nl-NL",tr:"tr-TR",pl:"pl-PL",sv:"sv-SE",cs:"cs-CZ",uk:"uk-UA",ro:"ro-RO",fi:"fi-FI",da:"da-DK",no:"no-NO",el:"el-GR",he:"he-IL",th:"th-TH",id:"id-ID",ms:"ms-MY",vi:"vi-VN"};let p=null;const X=l.lazy(async()=>{var t;const a=await Promise.resolve().then(()=>require("./layers.C5okGU-7.js")).then(d=>d.index);return!p&&a&&(p=a.exportToSvg||((t=a.default)==null?void 0:t.exportToSvg)||a.default),{default:a.Excalidraw}}),J=()=>{const[a,t]=l.useState(null),d=l.useCallback(f=>t(f),[]);return[a,d]};function P({onSave:a,initialElements:t,initialAppState:d,initialFiles:f,isShown:u=!1,onDelete:L,onClose:q,isEdited:D}){const[n,A]=J(),{i18n:g,t:B}=R.useTranslation(),{colorScheme:N}=m.useMantineColorScheme(),k=l.useRef(!1),[h,W]=l.useState(t),[C,z]=l.useState(f),[_,O]=l.useState(u);l.useEffect(()=>{u&&O(!0)},[u]),l.useEffect(()=>{!u||k.current||(k.current=!0,Promise.resolve().then(()=>require("./layers.Dyvby5gX.js")))},[u]),l.useEffect(()=>{u&&setTimeout(()=>{var e;(e=n==null?void 0:n.refresh)==null||e.call(n)},500)},[u,n]),l.useEffect(()=>{if(!u)return;const e=(r,s)=>{const i=B(r);return i.startsWith("editor.menu")?s:i},x=e("editor.menu.excalidraw.tools.frameTool",g.language==="ru"?"Инструмент рамки":g.language==="es"?"Herramienta de marco":"Frame tool"),o=e("editor.menu.excalidraw.tools.webEmbed",g.language==="ru"?"Веб-встраивание":g.language==="es"?"Incrustación web":"Web Embed"),v=e("editor.menu.excalidraw.tools.generate",g.language==="ru"?"Генерировать":g.language==="es"?"Generar":"Generate"),y={"Frame tool":x,"Web Embed":o,"Web embeded":o,Generate:v},T=()=>{const r=document.querySelector(".App-toolbar__extra-tools-dropdown");if(!r)return;const s=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null);let i;for(;i=s.nextNode();)if(i.nodeType===Node.TEXT_NODE&&i.textContent){const j=i.textContent.trim();for(const[S,E]of Object.entries(y))if(j===S&&E&&!j.includes(E)){i.textContent=i.textContent.replace(S,E);break}}},b=()=>{setTimeout(()=>{T()},0)},w=setTimeout(()=>{const r=document.querySelector(".excalidraw-container");if(r){const s=r.querySelector(".App-toolbar__extra-tools-trigger");s&&s.addEventListener("click",b)}},300);return()=>{clearTimeout(w);const r=document.querySelector(".excalidraw-container");if(r){const s=r.querySelector(".App-toolbar__extra-tools-trigger");s&&s.removeEventListener("click",b)}}},[u,g.language]);const G=l.useCallback(async()=>{var T,b,w;let e=p;if(!e||typeof e!="function"){const r=await Promise.resolve().then(()=>require("./layers.C5okGU-7.js")).then(s=>s.index);e=r.exportToSvg||((T=r.default)==null?void 0:T.exportToSvg)||r.default,e&&typeof e=="function"&&(p=e)}if(!e||typeof e!="function"){const r=await Promise.resolve().then(()=>require("./layers.C5okGU-7.js")).then(i=>i.index),s=r?Object.keys(r):[];throw console.error("Excalidraw module structure:",{keys:s,hasExportToSvg:r&&"exportToSvg"in r,hasDefault:r&&"default"in r,moduleType:typeof r,module:r}),new Error(`exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${s.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`)}const x=((b=n==null?void 0:n.getAppState)==null?void 0:b.call(n))??d,o=await e({appState:x,elements:h,files:C}),v=(w=o==null?void 0:o.firstElementChild)==null?void 0:w.firstElementChild,y=o.getAttribute("viewBox");if(y!=null){const r=y.split(" ");o.setAttribute("width",r[2]),o.setAttribute("height",r[3])}return v&&v.tagName==="style"&&v.remove(),o.setAttribute("width","100%"),o.setAttribute("height","100%"),o.setAttribute("display","block"),o.classList.add("excalidraw-svg"),o.outerHTML},[h,C,n,d]),V=()=>{if(h&&h.filter(e=>!e.isDeleted).length>0){const e=n==null?void 0:n.getAppState(),x={exportBackground:e==null?void 0:e.exportBackground,exportScale:e==null?void 0:e.exportScale,exportWithDarkMode:(e==null?void 0:e.theme)==="dark",isBindingEnabled:e==null?void 0:e.isBindingEnabled,isLoading:e==null?void 0:e.isLoading,name:e==null?void 0:e.name,theme:e==null?void 0:e.theme,viewBackgroundColor:e==null?void 0:e.viewBackgroundColor,viewModeEnabled:e==null?void 0:e.viewModeEnabled,zenModeEnabled:e==null?void 0:e.zenModeEnabled,zoom:e==null?void 0:e.zoom};(async()=>{const o=await G();a(h,x,C,o)})()}else L()},F=(e,x,o)=>{(e==null?void 0:e.length)!==(t==null?void 0:t.length)&&(D.current=!0),W(e),z(o)};return c.jsx(H.BottomDrawerWithoutHeader,{opened:u,onClose:q,onSave:V,className:"excaildraw-modal",closeOnEscape:!1,children:_&&c.jsx(l.Suspense,{fallback:c.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",minHeight:"400px"},children:c.jsx(m.Loader,{size:"sm"})}),children:c.jsx(X,{langCode:U[g.language],theme:N,onChange:F,excalidrawAPI:A,initialData:{appState:{...d||{isLoading:!1}},elements:t,files:f}})})})}exports.ConfirmModal=I;exports.ExcalidrawModal=P;exports.parseExcalidrawData=K;