@layers-app/editor 0.7.71 → 0.7.72

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 (226) hide show
  1. package/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +4 -12
  4. package/dist/index.js +7 -7
  5. package/dist/{layers.DFOksAKg.js → layers.29z-kN0U.js} +1 -1
  6. package/dist/{layers.DEm-SOCx.js → layers.2eGUbgGd.js} +1 -1
  7. package/dist/{layers.CXT7nwLM.js → layers.3KzGJWLV.js} +1 -1
  8. package/dist/{layers.ahHfzAps.js → layers.4cfPAzON.js} +1 -1
  9. package/dist/{layers.BTU5cA8n.js → layers.6SrKoOmO.js} +1 -1
  10. package/dist/layers.6mYdYt0A.js +271 -0
  11. package/dist/{layers.BRG0l8Fl.js → layers.7abAwwzZ.js} +1 -1
  12. package/dist/{layers.Cg0NVKFo.js → layers.8fbsCA17.js} +1 -1
  13. package/dist/{layers.B0OzXi4U.js → layers.A_qEp1lj.js} +3 -3
  14. package/dist/{layers.BjF53Cb3.js → layers.B-4TZPha.js} +1 -1
  15. package/dist/{layers.DXK6ddI2.js → layers.B0j2Pjtx.js} +1 -1
  16. package/dist/{layers.CmKI90AW.js → layers.B1_ePX_M.js} +1 -1
  17. package/dist/{layers.E3tmXQAP.js → layers.B3Ruy5Kp.js} +1 -1
  18. package/dist/{layers.CopV5cLA.js → layers.B3vf8w4h.js} +1 -1
  19. package/dist/{layers.BEO9jbxS.js → layers.B4GR6S3W.js} +1 -1
  20. package/dist/{layers.DSaHC0cP.js → layers.B4KvjX5n.js} +1 -1
  21. package/dist/{layers.2UTFdUcH.js → layers.B7_JGhH0.js} +1 -1
  22. package/dist/{layers.xSI8rjyJ.js → layers.BAEVBCQF.js} +4 -4
  23. package/dist/{layers.BkfYYUMI.js → layers.BCZ-xQRf.js} +418 -418
  24. package/dist/{layers.C7QEo5m5.js → layers.BCanLzFM.js} +3 -3
  25. package/dist/{layers.BWPGj5YT.js → layers.BEQWWJfL.js} +1 -1
  26. package/dist/{layers.mr6o1lwe.js → layers.BFHTMTTX.js} +1 -1
  27. package/dist/{layers.DkPTn9O4.js → layers.BG4huPx4.js} +1 -1
  28. package/dist/{layers.DX5PLuRa.js → layers.BGfKHBrG.js} +1 -1
  29. package/dist/{layers.BY5GlMch.js → layers.BLIXWxxR.js} +1 -1
  30. package/dist/{layers.BCNzKdPg.js → layers.BL_e7u3b.js} +1 -1
  31. package/dist/{layers.BrSY9TN-.js → layers.BLpHJ9D_.js} +5 -5
  32. package/dist/{layers.hgdiUzB4.js → layers.BLqgoq72.js} +1 -1
  33. package/dist/{layers.BnGNde87.js → layers.BMbdnhC4.js} +1 -1
  34. package/dist/layers.BNkCV5Pi.js +129 -0
  35. package/dist/{layers.D13B-Tw-.js → layers.BR7pfq8u.js} +1 -1
  36. package/dist/{layers.DS0grkii.js → layers.BVJmJkvg.js} +1 -1
  37. package/dist/{layers.B9r4d044.js → layers.BViSag_h.js} +1 -1
  38. package/dist/{layers.BYYKkc6H.js → layers.BVk9merk.js} +4 -4
  39. package/dist/{layers.D0IrC8O9.js → layers.BWBOXnQt.js} +1 -1
  40. package/dist/{layers.MnuEyVuQ.js → layers.BYLjA_vv.js} +1 -1
  41. package/dist/{layers.D67Iz9kD.js → layers.BZ2umawZ.js} +3 -3
  42. package/dist/{layers.X4lsf17u.js → layers.BdIUMMGf.js} +1 -1
  43. package/dist/{layers.BeSVrAvf.js → layers.BeWgQkB0.js} +1 -1
  44. package/dist/{layers.DWNIrIGZ.js → layers.BfQCOr7p.js} +1 -1
  45. package/dist/{layers.CT5E6-h8.js → layers.Bj8VZ0zA.js} +1 -1
  46. package/dist/{layers.Bhc7fo_t.js → layers.BkOYHzu1.js} +1 -1
  47. package/dist/{layers.4kkQ0LA1.js → layers.BkqTGalM.js} +1 -1
  48. package/dist/{layers.DV7N1asa.js → layers.BmFqWluV.js} +1 -1
  49. package/dist/{layers.CEYgaHTm.js → layers.BpxsQbVo.js} +4 -4
  50. package/dist/{layers.Cph5sHk8.js → layers.Bq6Uf0zy.js} +1 -1
  51. package/dist/{layers.Bea1t2mR.js → layers.Bqw5uSe9.js} +1 -1
  52. package/dist/layers.BtLWQSeZ.js +1 -0
  53. package/dist/{layers.zuXeZVAS.js → layers.BtLWllEb.js} +1 -1
  54. package/dist/{layers.C8K76bX9.js → layers.Bt_dzFFe.js} +1 -1
  55. package/dist/{layers.s9Tm6F1m.js → layers.BuEAWjSg.js} +1 -1
  56. package/dist/{layers.B8YobFwe.js → layers.Bv6vIPlu.js} +1 -1
  57. package/dist/layers.BvFxWq0R.js +6 -0
  58. package/dist/{layers.B2OYSFxS.js → layers.BvIrZqsg.js} +6 -6
  59. package/dist/{layers.BIOedFq8.js → layers.BxvD7MfW.js} +1 -1
  60. package/dist/{layers.Bah9XzWL.js → layers.BzJo-HXJ.js} +1 -1
  61. package/dist/{layers.DTP321BL.js → layers.BzhCrFPz.js} +1 -1
  62. package/dist/{layers.Pd5WLkm7.js → layers.BzhFWj-f.js} +1 -1
  63. package/dist/{layers.D9isqhfn.js → layers.C14v7Nbr.js} +1 -1
  64. package/dist/{layers.C3ugjyFb.js → layers.C34vHWX9.js} +1 -1
  65. package/dist/{layers.BNqStciE.js → layers.C39s5IJH.js} +1 -1
  66. package/dist/{layers.BkW2oxVe.js → layers.C5u23VEM.js} +1 -1
  67. package/dist/{layers.CcvxdGUg.js → layers.C795REM2.js} +1 -1
  68. package/dist/{layers.BaViCDAm.js → layers.C8e_hKLd.js} +1 -1
  69. package/dist/{layers.BEqZo6Os.js → layers.C9yvqx5g.js} +1 -1
  70. package/dist/{layers.ERXKMTcj.js → layers.CA_V3lSO.js} +1 -1
  71. package/dist/{layers.BXOyl5zz.js → layers.CAjy8D8n.js} +3 -3
  72. package/dist/layers.CBEREHUQ.js +8 -0
  73. package/dist/{layers.6ZOYWJ5G.js → layers.CCXBPyqU.js} +1 -1
  74. package/dist/{layers.icrDtXPY.js → layers.CCeQ1Zgg.js} +1 -1
  75. package/dist/{layers.CLpT2vCT.js → layers.CDCp4wgY.js} +1 -1
  76. package/dist/{layers.BWo08IF8.js → layers.CDp59iKw.js} +1 -1
  77. package/dist/layers.CGdcjSt9.js +295 -0
  78. package/dist/{layers.EAyl146M.js → layers.CGzP2q6Z.js} +1 -1
  79. package/dist/{layers.B5iHV9A9.js → layers.CIVR1enl.js} +2 -2
  80. package/dist/{layers.D3ESLEWI.js → layers.CIfEzEFj.js} +8 -8
  81. package/dist/{layers.B7BH57R7.js → layers.CIja3HJc.js} +1 -1
  82. package/dist/{layers.DcOCp021.js → layers.CIxWArWx.js} +1 -1
  83. package/dist/{layers.CTNuYiVv.js → layers.CJXskBo3.js} +10 -10
  84. package/dist/{layers.UU3JlTco.js → layers.CK8eqjQ1.js} +1 -1
  85. package/dist/{layers.BUt-DyPQ.js → layers.CKFM0b2E.js} +1 -1
  86. package/dist/{layers.D8nhIJ08.js → layers.CLGDJKb_.js} +1 -1
  87. package/dist/{layers.Dh_FqLNw.js → layers.CN7YxBkP.js} +1 -1
  88. package/dist/{layers.D3JlwkA5.js → layers.CQSEYM0M.js} +1 -1
  89. package/dist/{layers.B0cEDlqL.js → layers.CRCrtr6i.js} +5 -5
  90. package/dist/{layers.Cm4T0G6q.js → layers.CRpzwkdn.js} +1 -1
  91. package/dist/{layers.Dig4VCez.js → layers.CT4hfwa-.js} +1 -1
  92. package/dist/{layers.0YBrDWzw.js → layers.CTfQAnVN.js} +1 -1
  93. package/dist/{layers.CoUM4KxR.js → layers.CWIJSe68.js} +1 -1
  94. package/dist/{layers.DTFZVn6k.js → layers.CYKmJSxi.js} +1 -1
  95. package/dist/layers.CZ60edwq.js +213 -0
  96. package/dist/{layers.CHgIOVjY.js → layers.C_4sHlLM.js} +1 -1
  97. package/dist/{layers.CWOSVqtW.js → layers.C_XTbBPd.js} +1 -1
  98. package/dist/{layers.BgQJXAyk.js → layers.C_ioPI8e.js} +1 -1
  99. package/dist/{layers.BdEkfGD6.js → layers.C_sb9XVx.js} +1 -1
  100. package/dist/{layers.CYS6g246.js → layers.C_uZBot1.js} +1 -1
  101. package/dist/{layers.DxwnE0eC.js → layers.CeylCTqM.js} +6 -6
  102. package/dist/{layers.CzOzf5fN.js → layers.CfNmHEJS.js} +1 -1
  103. package/dist/{layers.DbYkGyj-.js → layers.Cga_IxM0.js} +1 -1
  104. package/dist/{layers.CUrjNsFP.js → layers.CgtKn47k.js} +1 -1
  105. package/dist/{layers.CHMleWs_.js → layers.CmdQjL00.js} +7 -7
  106. package/dist/{layers.DUyUCaTT.js → layers.Cmp3vcQi.js} +1 -1
  107. package/dist/{layers.Bm_atR4G.js → layers.CnlDfzWj.js} +1 -1
  108. package/dist/layers.CpzH-NYT.js +1 -0
  109. package/dist/layers.CrW1lVAY.js +76 -0
  110. package/dist/{layers.CZpQ9_Qz.js → layers.Ctvo7YMt.js} +4 -4
  111. package/dist/{layers.DJWw_i98.js → layers.CuUSCWd5.js} +1 -1
  112. package/dist/{layers.Bx5Jclxg.js → layers.Cue2C1cO.js} +1 -1
  113. package/dist/{layers.DSUVrmY0.js → layers.CvGxDg9d.js} +2 -2
  114. package/dist/{layers.CkeTWFRP.js → layers.Cwi-KZ2f.js} +1 -1
  115. package/dist/{layers.Dly1Tq6W.js → layers.CwvsT5MW.js} +1 -1
  116. package/dist/{layers.D7DKTltD.js → layers.CxAQjmN_.js} +1 -1
  117. package/dist/{layers.D_Pki6-a.js → layers.CxW06imx.js} +2 -2
  118. package/dist/{layers.wgPAy3eN.js → layers.Cy7RwmlD.js} +1 -1
  119. package/dist/{layers.eeWj9MmF.js → layers.Cz1ARBxJ.js} +1 -1
  120. package/dist/{layers.R9JO8bzv.js → layers.D0Wc-Rv9.js} +1 -1
  121. package/dist/{layers.r6t0SI6i.js → layers.D0eazEdG.js} +1 -1
  122. package/dist/{layers.sK52pMMJ.js → layers.D0yrLik0.js} +1 -1
  123. package/dist/{layers.DkHo38DI.js → layers.D1mmYSsE.js} +7 -7
  124. package/dist/{layers.DQ2IoyCh.js → layers.D2o1hyjW.js} +1 -1
  125. package/dist/{layers.8yI79xLV.js → layers.D31wwnyC.js} +1 -1
  126. package/dist/{layers.CDT31cs0.js → layers.D3VohQGt.js} +1 -1
  127. package/dist/{layers.DkPi1s2Z.js → layers.D7LmYaRO.js} +1 -1
  128. package/dist/{layers.D9EGw-F8.js → layers.D8Xml_Z8.js} +1 -1
  129. package/dist/layers.DB1V-cmx.js +296 -0
  130. package/dist/{layers.BM3s5plV.js → layers.DBX45B7F.js} +7 -7
  131. package/dist/{layers.DRIWEVTg.js → layers.DDuZUtH0.js} +1 -1
  132. package/dist/{layers.B-3-gKTw.js → layers.DFcedzzN.js} +4 -4
  133. package/dist/{layers.CMRBjQl8.js → layers.DIDSxsL8.js} +1 -1
  134. package/dist/{layers.oKCpKA-w.js → layers.DIgWZIIl.js} +1 -1
  135. package/dist/{layers.CFBc17hB.js → layers.DJafcRCG.js} +1 -1
  136. package/dist/{layers.sC7nbc2y.js → layers.DJe2JTBB.js} +1 -1
  137. package/dist/{layers.B97rOTHj.js → layers.DLFScbzJ.js} +1 -1
  138. package/dist/{layers.CE8s4Sal.js → layers.DLUTwZeH.js} +1 -1
  139. package/dist/{layers.CkNZL8nW.js → layers.DQvo3VEC.js} +1 -1
  140. package/dist/{layers.DdIpdKCP.js → layers.DSbPZvfy.js} +1 -1
  141. package/dist/{layers.Z1m0v0q2.js → layers.DTGLREC_.js} +1 -1
  142. package/dist/{layers.BNDNdJX8.js → layers.DXnvM8S3.js} +1 -1
  143. package/dist/{layers.BGOsKs_2.js → layers.DYWECvC1.js} +1 -1
  144. package/dist/{layers.Pa9Iyp3r.js → layers.DZ2QILd5.js} +1 -1
  145. package/dist/{layers.DeZYEnzF.js → layers.DZ7uLDLy.js} +1 -1
  146. package/dist/{layers.BgLebJDO.js → layers.DZDVsz22.js} +1 -1
  147. package/dist/{layers.Bq-T_tlX.js → layers.DZUKcVyU.js} +3 -3
  148. package/dist/{layers.BwV3ChwK.js → layers.DcOnWY56.js} +1 -1
  149. package/dist/{layers.CNUfTnkK.js → layers.Dd8aY92t.js} +3 -3
  150. package/dist/{layers.BmiFa05d.js → layers.Dedx-eVe.js} +1 -1
  151. package/dist/{layers.VCm6xtc7.js → layers.Dg0lNybL.js} +24 -24
  152. package/dist/layers.DgRZUpzJ.js +1 -0
  153. package/dist/{layers.CQWHVEXP.js → layers.DjhlgDze.js} +1 -1
  154. package/dist/layers.DlDHZJgX.js +1 -0
  155. package/dist/{layers.C1GljpN-.js → layers.Dm_T78Zo.js} +3 -3
  156. package/dist/{layers.9-Dujbe_.js → layers.DoN9Oh0K.js} +1 -1
  157. package/dist/{layers.Djjnowlp.js → layers.DoayY5UL.js} +1 -1
  158. package/dist/{layers.ytiriyPJ.js → layers.Dp8S0OhG.js} +1 -1
  159. package/dist/{layers.Bq5Gyo9H.js → layers.DpFE2vFP.js} +3 -3
  160. package/dist/{layers.Mx4csk_q.js → layers.DpvZgoxr.js} +1 -1
  161. package/dist/{layers.Dr4jcfM_.js → layers.Ds0k8vrg.js} +3 -3
  162. package/dist/{layers.BzBGQ86V.js → layers.DucCmgW4.js} +1 -1
  163. package/dist/{layers.ByQYCPxT.js → layers.DurirhYR.js} +1 -1
  164. package/dist/{layers.Bx4Zqssi.js → layers.DvyVNqsm.js} +1 -1
  165. package/dist/layers.Dx0jp93e.js +1 -0
  166. package/dist/{layers.C8o6lYSj.js → layers.DxUzXfri.js} +1 -1
  167. package/dist/{layers.BIqvjXSy.js → layers.Dz2qb7rL.js} +1 -1
  168. package/dist/{layers.CCawCsum.js → layers.DzB7pvmr.js} +1 -1
  169. package/dist/{layers.BToaBsBa.js → layers.DzItBonz.js} +1 -1
  170. package/dist/{layers.CyOmczYz.js → layers.E892eJZg.js} +1 -1
  171. package/dist/{layers.CTDZfwGH.js → layers.IEVx3l1m.js} +1 -1
  172. package/dist/{layers.CYbx7VYv.js → layers.IWrG_102.js} +1 -1
  173. package/dist/layers.KUcJC_a6.js +1 -0
  174. package/dist/{layers.C35Q9E4b.js → layers.KXwPKg4r.js} +1 -1
  175. package/dist/{layers.BmbHcSsT.js → layers.MuBekYId.js} +4 -4
  176. package/dist/{layers.CPEFEBSK.js → layers.NjfBrMBS.js} +1 -1
  177. package/dist/{layers.Bqx2kJAq.js → layers.NkyBFXgj.js} +1 -1
  178. package/dist/layers.Nyaoat5w.js +28607 -0
  179. package/dist/{layers.CpOXj9-w.js → layers.PH3F_3NY.js} +1 -1
  180. package/dist/{layers.BmYBcchQ.js → layers.PTo655Wr.js} +2 -2
  181. package/dist/{layers.CuO0WDSI.js → layers.QkzB-N1H.js} +1 -1
  182. package/dist/{layers.DM_uA5a6.js → layers.RHSnHv3O.js} +1 -1
  183. package/dist/{layers.DOjJWqna.js → layers.SQWqNrxn.js} +1 -1
  184. package/dist/{layers.CkMVMiaw.js → layers.VydHRC9A.js} +1 -1
  185. package/dist/{layers.RWmBLZWj.js → layers.WthYg8N6.js} +1 -1
  186. package/dist/{layers.B0Fy1fOg.js → layers.WyEKw7Rc.js} +1 -1
  187. package/dist/{layers.B2jK2G-2.js → layers.XAoPpZHd.js} +1 -1
  188. package/dist/{layers.CulWmh4P.js → layers.ZwfB6SkM.js} +1 -1
  189. package/dist/layers._89-PQfr.js +1 -0
  190. package/dist/{layers.BqJAKLvg.js → layers.a7Y0-Ovc.js} +1 -1
  191. package/dist/{layers.B5JTPx82.js → layers.auEvWx6g.js} +1 -1
  192. package/dist/{layers.DRvJ_Eat.js → layers.az28FNZ-.js} +1 -1
  193. package/dist/{layers.Cb_mvZru.js → layers.cRzXZMOS.js} +1 -1
  194. package/dist/{layers.DEZKn77u.js → layers.eoSErbC_.js} +2 -2
  195. package/dist/{layers.CzgfY5tO.js → layers.fAF2eVpM.js} +1 -1
  196. package/dist/{layers.BH2-HmeT.js → layers.f_rn08S3.js} +1 -1
  197. package/dist/{layers.BRYyvscQ.js → layers.ffYN0Niz.js} +1 -1
  198. package/dist/layers.g1e60-te.js +6 -0
  199. package/dist/{layers.C0JLGUIV.js → layers.iUFm8hEA.js} +1 -1
  200. package/dist/{layers.gaNyPxz0.js → layers.kNCPmDgw.js} +1 -1
  201. package/dist/{layers.B4McXjTf.js → layers.nsYs1Rqq.js} +1 -1
  202. package/dist/{layers.ClSVgSs_.js → layers.oqPgo_eW.js} +1 -1
  203. package/dist/{layers.D4pbgwIK.js → layers.raBgFUzB.js} +9 -9
  204. package/dist/{layers.CVAti8ij.js → layers.uD_D1NBH.js} +2 -2
  205. package/dist/{layers.HksqvZtq.js → layers.usAj8Dee.js} +10 -10
  206. package/dist/{layers.Csfv-3tI.js → layers.wSq3vDob.js} +1 -1
  207. package/dist/{layers.Bog0F1HW.js → layers.xFKciXPD.js} +1 -1
  208. package/dist/{layers.ZZOyug2n.js → layers.xK5Vaqr3.js} +4 -4
  209. package/dist/{layers.1vAsGoEJ.js → layers.yiwN7Ls5.js} +1 -1
  210. package/dist/{layers.CZ46rxbb.js → layers.z_wjhscg.js} +1 -1
  211. package/package.json +21 -46
  212. package/dist/layers.BL2HDW3Q.js +0 -129
  213. package/dist/layers.BReZr534.js +0 -7
  214. package/dist/layers.CMO6k-Xm.js +0 -32701
  215. package/dist/layers.CmmYt3Ou.js +0 -1
  216. package/dist/layers.CpdQVVAX.js +0 -1
  217. package/dist/layers.CxFS3y_3.js +0 -1
  218. package/dist/layers.D1wNC9yP.js +0 -1
  219. package/dist/layers.DBGSdaOf.js +0 -8
  220. package/dist/layers.DC-lyi-7.js +0 -1
  221. package/dist/layers.DEP2baj0.js +0 -1
  222. package/dist/layers.DMPKiY6n.js +0 -17
  223. package/dist/layers.DilA0qnM.js +0 -54
  224. package/dist/layers.QglB_osH.js +0 -6
  225. package/dist/layers.lpVKCqT2.js +0 -448
  226. package/dist/layers.tbL95R__.js +0 -296
@@ -1 +0,0 @@
1
- "use strict";const t={elements:[],files:{},appState:{},previewSVG:null},r=a=>{try{const e=JSON.parse(a);if(Array.isArray(e))return{...t,elements:e};if(e&&typeof e=="object")return{elements:Array.isArray(e.elements)?e.elements:[],files:e.files&&typeof e.files=="object"?e.files:{},appState:e.appState&&typeof e.appState=="object"?e.appState:{},previewSVG:typeof e.previewSVG=="string"?e.previewSVG:typeof e.previewSvg=="string"?e.previewSvg:null}}catch{}return{...t}},s={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"};exports.languageToLocaleMap=s;exports.parseExcalidrawData=r;
@@ -1 +0,0 @@
1
- "use strict";const n=require("./layers.VCm6xtc7.js"),s=(e,r)=>n.Utils.lang.round(n.Color.parse(e)[r]);exports.channel=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),n=require("react"),V=require("@lexical/react/LexicalComposerContext"),Y=require("@lexical/react/useLexicalEditable"),P=require("@lexical/react/useLexicalNodeSelection"),X=require("@lexical/utils"),b=require("lexical"),E=require("./layers.BL2HDW3Q.js"),G=require("./layers.CmmYt3Ou.js"),$=require("react-i18next"),k=require("@mantine/core"),J=require("@layers-app/shared"),K=({isCloseModal:o,setCloseModalOpen:l,confirmClose:m})=>{const{t:h}=$.useTranslation();return r.jsx(k.Modal,{opened:o,onClose:()=>{l(!1)},centered:!0,title:h("editor.unsavedChanges.title"),closeOnClickOutside:!0,closeOnEscape:!0,size:"500",zIndex:999,children:r.jsxs("div",{children:[r.jsx(k.Text,{mb:"md",children:h("editor.unsavedChanges.message")}),r.jsxs(k.Flex,{justify:"flex-end",gap:"sm",children:[r.jsx(k.Button,{variant:"default",onClick:()=>{l(!1)},fullWidth:!0,children:h("editor.unsavedChanges.cancel")}),r.jsx(k.Button,{color:"red",onClick:m,fullWidth:!0,children:h("editor.unsavedChanges.closeWithoutSaving")})]})]})})};function Q({imageContainerRef:o,editor:l,rootClassName:m=null,width:h="inherit",height:f="inherit",nodeKey:c,alignment:S,setModalOpen:p,previewSVG:i}){const _=n.useMemo(()=>i??"",[i]),[d,B]=n.useState(!1),{t:T}=$.useTranslation(),L=(w,v)=>{l.update(()=>{b.$setSelection(null);const O=b.$getNodeByKey(c);return E.$isExcalidrawNode(O)&&O.setWidthAndHeight(w,v),!0})},y=()=>{E.deleteNode(l,c)};return r.jsx(E.ResizableContainer,{editor:l,isIcon:!1,isEmbed:!0,width:E.parseContainerSize(h),height:E.parseContainerSize(f),onResizeEnd:L,alignment:S,children:r.jsxs(k.Box,{className:"media-wrapper excaildraw",children:[r.jsxs("div",{className:"media-actions",children:[r.jsx(E.ActionIcon,{"aria-label":"Settings",label:T("editor.link.edit"),flexBorder:!0,onClick:()=>{p(!0)},icon:E.tf,iconColor:"var(--mantine-color-gray-text)"}),r.jsx(E.AlignmentImage,{opened:d,setOpened:B,t:T,editor:l,nodeKey:c,flexBorder:!0}),r.jsx(E.ActionIcon,{"aria-label":"Delete",label:T("editor.actions.delete"),flexBorder:!0,onClick:y,icon:E.lg,iconColor:"var(--mantine-color-red-outline)"})]}),r.jsx(k.Box,{w:"100%",ref:w=>{w&&o&&(o.current=w)},className:m??"",dangerouslySetInnerHTML:{__html:_}})]})})}let A=null;const U=n.lazy(async()=>{var l;const o=await Promise.resolve().then(()=>require("./layers.DkHo38DI.js")).then(m=>m.index);return!A&&o&&(A=o.exportToSvg||((l=o.default)==null?void 0:l.exportToSvg)||o.default),{default:o.Excalidraw}}),Z=()=>{const[o,l]=n.useState(null),m=n.useCallback(h=>l(h),[]);return[o,m]};function ee({onSave:o,initialElements:l,initialAppState:m,initialFiles:h,isShown:f=!1,onDelete:c,onClose:S,isEdited:p}){const[i,_]=Z(),{i18n:d,t:B}=$.useTranslation(),{colorScheme:T}=k.useMantineColorScheme(),L=n.useRef(!1),[y,w]=n.useState(l),[v,O]=n.useState(h),[q,R]=n.useState(f);n.useEffect(()=>{f&&R(!0)},[f]),n.useEffect(()=>{!f||L.current||(L.current=!0,Promise.resolve().then(()=>require("./layers.Dyvby5gX.js")))},[f]),n.useEffect(()=>{f&&setTimeout(()=>{var e;(e=i==null?void 0:i.refresh)==null||e.call(i)},500)},[f,i]),n.useEffect(()=>{if(!f)return;const e=(t,u)=>{const g=B(t);return g.startsWith("editor.menu")?u:g},j=e("editor.menu.excalidraw.tools.frameTool",d.language==="ru"?"Инструмент рамки":d.language==="es"?"Herramienta de marco":"Frame tool"),a=e("editor.menu.excalidraw.tools.webEmbed",d.language==="ru"?"Веб-встраивание":d.language==="es"?"Incrustación web":"Web Embed"),M=e("editor.menu.excalidraw.tools.generate",d.language==="ru"?"Генерировать":d.language==="es"?"Generar":"Generate"),D={"Frame tool":j,"Web Embed":a,"Web embeded":a,Generate:M},N=()=>{const t=document.querySelector(".App-toolbar__extra-tools-dropdown");if(!t)return;const u=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null);let g;for(;g=u.nextNode();)if(g.nodeType===Node.TEXT_NODE&&g.textContent){const F=g.textContent.trim();for(const[H,I]of Object.entries(D))if(F===H&&I&&!F.includes(I)){g.textContent=g.textContent.replace(H,I);break}}},s=()=>{setTimeout(()=>{N()},0)},x=setTimeout(()=>{const t=document.querySelector(".excalidraw-container");if(t){const u=t.querySelector(".App-toolbar__extra-tools-trigger");u&&u.addEventListener("click",s)}},300);return()=>{clearTimeout(x);const t=document.querySelector(".excalidraw-container");if(t){const u=t.querySelector(".App-toolbar__extra-tools-trigger");u&&u.removeEventListener("click",s)}}},[f,d.language,B]);const W=n.useCallback(async()=>{var N,s,x;let e=A;if(!e||typeof e!="function"){const t=await Promise.resolve().then(()=>require("./layers.DkHo38DI.js")).then(u=>u.index);e=t.exportToSvg||((N=t.default)==null?void 0:N.exportToSvg)||t.default,e&&typeof e=="function"&&(A=e)}if(!e||typeof e!="function"){const t=await Promise.resolve().then(()=>require("./layers.DkHo38DI.js")).then(g=>g.index),u=t?Object.keys(t):[];throw console.error("Excalidraw module structure:",{keys:u,hasExportToSvg:t&&"exportToSvg"in t,hasDefault:t&&"default"in t,moduleType:typeof t,module:t}),new Error(`exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${u.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`)}const j=((s=i==null?void 0:i.getAppState)==null?void 0:s.call(i))??m,a=await e({appState:j,elements:y,files:v}),M=(x=a==null?void 0:a.firstElementChild)==null?void 0:x.firstElementChild,D=a.getAttribute("viewBox");if(D!=null){const t=D.split(" ");a.setAttribute("width",t[2]),a.setAttribute("height",t[3])}return M&&M.tagName==="style"&&M.remove(),a.setAttribute("width","100%"),a.setAttribute("height","100%"),a.setAttribute("display","block"),a.classList.add("excalidraw-svg"),a.outerHTML},[y,v,i,m]),z=()=>{if(y&&y.filter(e=>!e.isDeleted).length>0){const e=i==null?void 0:i.getAppState(),j={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 a=await W();o(y,j,v,a)})()}else c()},C=(e,j,a)=>{(e==null?void 0:e.length)!==(l==null?void 0:l.length)&&(p.current=!0),w(e),O(a)};return r.jsx(J.BottomDrawerWithoutHeader,{opened:f,onClose:S,onSave:z,className:"excaildraw-modal",closeOnEscape:!1,children:q&&r.jsx(n.Suspense,{fallback:r.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",minHeight:"400px"},children:r.jsx(k.Loader,{size:"sm"})}),children:r.jsx(U,{langCode:G.languageToLocaleMap[d.language],theme:T,onChange:C,excalidrawAPI:_,initialData:{appState:{...m||{isLoading:!1}},elements:l,files:h}})})})}function te({nodeKey:o,data:l,width:m,height:h,alignment:f}){var N;const[c]=V.useLexicalComposerContext(),S=Y.useLexicalEditable(),p=n.useMemo(()=>G.parseExcalidrawData(l),[l]),i=((N=p==null?void 0:p.elements)==null?void 0:N.length)===0&&!p.previewSVG,[_,d]=n.useState(i&&c.isEditable()),[B,T]=n.useState(!1),L=n.useRef(null),y=n.useRef(null),w=n.useRef(null),[v,O,q]=P.useLexicalNodeSelection(o),R=n.useCallback(s=>(v&&(s.preventDefault(),c.update(()=>{const x=b.$getNodeByKey(o);x&&x.remove()})),!1),[c,v,o]);n.useEffect(()=>{if(!S){v&&q();return}return X.mergeRegister(c.registerCommand(b.CLICK_COMMAND,s=>{const x=y.current,t=s.target;return x!==null&&x.contains(t)?(s.shiftKey||q(),O(!v),s.detail>1&&d(!0),!0):!1},b.COMMAND_PRIORITY_LOW),c.registerCommand(b.KEY_DELETE_COMMAND,R,b.COMMAND_PRIORITY_LOW),c.registerCommand(b.KEY_BACKSPACE_COMMAND,R,b.COMMAND_PRIORITY_LOW))},[q,c,v,R,O,S]);const W=n.useCallback(()=>(d(!1),c.update(()=>{const s=b.$getNodeByKey(o);s&&s.remove()})),[c,o]),z=(s,x,t,u)=>c.update(()=>{const g=b.$getNodeByKey(o);E.$isExcalidrawNode(g)&&(s&&s.length>0||Object.keys(t).length>0?g.setData(JSON.stringify({appState:x,elements:s,files:t,previewSVG:u})):g.remove())}),{elements:C=[],files:e={},appState:j={},previewSVG:a}=p,M=n.useCallback(()=>{d(!1),T(!1),w.current=!1,(C==null?void 0:C.length)===0&&c.update(()=>{const s=b.$getNodeByKey(o);s&&s.remove()})},[c,o,C==null?void 0:C.length]),D=n.useCallback(()=>{w.current?T(!0):M()},[M]);return r.jsxs(r.Fragment,{children:[r.jsx(K,{isCloseModal:B,confirmClose:M,setCloseModalOpen:T}),r.jsx(ee,{initialElements:C,isEdited:w,initialFiles:e,initialAppState:j,isShown:_,onDelete:W,onClose:D,onSave:(s,x,t,u)=>{z(s,x,t,u),d(!1)},closeOnClickOutside:!1}),(C==null?void 0:C.length)&&r.jsx("div",{style:{display:"flex",justifyContent:f},children:r.jsx(Q,{imageContainerRef:L,className:"image",width:m,height:h,editor:c,nodeKey:o,alignment:f,setModalOpen:d,previewSVG:a})})]})}exports.default=te;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),a=require("react"),G=require("react-i18next"),Y=require("@lexical/react/LexicalComposerContext"),O=require("@mantine/core"),I=require("lexical"),J=require("@layers-app/shared"),i=require("./layers.BL2HDW3Q.js"),A=t=>{const{width:g,height:s,isLoading:c,isError:C,src:h,id:f,altText:m,imageRef:p,maxWidth:N}=t;return u.jsxs("div",{className:"media-wrapper",style:{width:g,height:s,display:"inline-flex",position:"relative"},children:[u.jsx(O.LoadingOverlay,{visible:c,zIndex:1e3,overlayProps:{backgroundOpacity:.5},loaderProps:{size:24,color:"black"}}),u.jsx(Q,{className:null,src:h,altText:m,imageRef:p,width:"inherit",height:"inherit",maxWidth:N||"auto",id:f})]})};function Q({altText:t,className:g,imageRef:s,src:c,width:C,height:h,maxWidth:f,id:m}){const[p,N]=a.useState(!1);return u.jsx("img",{className:`${g||void 0} ${p?"":"loading"}`,src:c,alt:t,ref:s,style:{height:h,maxWidth:f,width:C},onLoad:()=>{c.includes("splash")?setTimeout(()=>{N(!0)},100):N(!0)},draggable:"false","data-id":m})}function X(t){const{disable:g}=a.useContext(i.Context);return g&&i.ImageNode.isPlaceholderSrc(t.src)?null:u.jsx(Z,{...t})}function Z({src:t,altText:g,nodeKey:s,width:c,height:C,maxWidth:h,showCaption:f,caption:m,id:p,create:N,alignment:U,imagePickerTab:B}){var k,q;const T=a.useRef(null),[W,w]=a.useState(!0),[n]=Y.useLexicalComposerContext(),[x,E]=a.useState(!0),[d,j]=a.useState({width:0,height:0}),{start:$}=i.useCancelUpload(),[K,y]=a.useState(0),{fetchUploadMedia:b,fetchDeleteMedia:P,maxFileSize:ee}=a.useContext(i.Context),S=i.mediaMap.has(t)&&(((k=i.mediaMap.get(t))==null?void 0:k.mediaNodeKeys.length)===0||((q=i.mediaMap.get(t))==null?void 0:q.mediaNodeKeys.length)===void 0||t.trim()===""),{t:v}=G.useTranslation(),[te,D]=a.useState(0);a.useEffect(()=>n.registerDecoratorListener(()=>{D(e=>e+1)}),[S]),a.useEffect(()=>{if(!t||t.startsWith("data:image/")||!t.trim()){w(!1);return}const e=new Image;e.src=t,e.onload=()=>w(!1),e.onerror=()=>{w(!1)}},[t,S]);const H=(e,r)=>{n.update(()=>{I.$setSelection(null);const o=I.$getNodeByKey(s);i.$isImageNode(o)&&o.setWidthAndHeight(e,r)})},{historyState:R}=i.useSharedHistoryContext(),{settings:{showNestedEditorTreeView:z}}=i.useSettings();function _(e){return e.endsWith(".svg")||e.includes("image/svg+xml")}function F(e){return new Promise((r,o)=>{if(_(e)){r(0);return}const l=new Image;l.src=e,l.onload=()=>{r(l.width)},l.onerror=()=>{o(new Error("Failed to load image"))}})}a.useEffect(()=>{let e=c,r=C,o=100;(t.includes("unsplash")?t.trim():!S&&t.trim()||t.includes("upload-src-editor"))&&t!=="upload"&&F(t).then(l=>{typeof e=="number"&&e<o&&l<o?(E(!0),j({width:e,height:r})):l<o?(E(!0),j({width:"auto",height:"auto"})):(j({width:l,height:l}),E(!1))}).catch(l=>{console.warn("Ошибка при загрузке изображения:",l.message)})},[t,S]),a.useEffect(()=>{d.width&&d.height&&x&&n.update(()=>{const e=I.$getNodeByKey(s);i.$isImageNode(e)&&e.setWidthAndHeight(d.width,d.height)})},[d.width,d.height,x]);const V=a.useCallback(e=>i.$writeImagePickerTabToNode(n,s,e),[n,s]),L=a.useCallback((e,r)=>{w(!1),n.update(()=>{const o=I.$getNodeByKey(s);i.$isImageNode(o)&&(o.setSrc(e),o.setId(r))})},[n,s]),M=a.useCallback(e=>{w(!0);const r=$();b&&b(e[0],(o,l)=>{L(o,l),y(0)},o=>{o&&J.showErrorNotification({message:v("editor.gallery.errorFile")}),y(0),L("","")},r,o=>{y(o)})},[b,$,v,L]);return a.useEffect(()=>n.registerCommand(i.UPLOAD_IMAGE_COMMAND,e=>t!=="upload"||e.targetNodeKey!==s?!1:(M(e.files),!0),I.COMMAND_PRIORITY_LOW),[n,M,s,t]),!t||t==="upload"?u.jsx(O.Box,{"data-editor-image-picker-drop-root":!0,w:"100%",children:u.jsx(i.ImagePicker,{inline:!0,nodeKey:s,defaultTabValue:B,onWriteTabToNode:V,uploading:!1,onUpload:e=>{!b||!e.length||M(e)},popoverProps:{opened:!0,position:"bottom"},onChange:e=>{n.update(()=>{const r=I.$getNodeByKey(s);i.$isImageNode(r)&&r.setSrc(e)})}})}):x?u.jsx(A,{width:d.width,height:d.height,isLoading:W,isError:!1,isIcon:x,src:t,id:p,editor:n,nodeKey:s,fetchDeleteMedia:P,altText:g,imageRef:T,maxWidth:h,showCaption:f,caption:m,isCollabActive:!1,historyState:R,showNestedEditorTreeView:z,t:v}):u.jsx(i.ResizableContainer,{editor:n,isIcon:x,width:i.parseContainerSize(c),height:i.parseContainerSize(C),initialWidth:d.width||"",initialHeight:d.height||"",onResizeEnd:H,alignment:U,children:u.jsx(A,{width:"inherit",height:"inherit",isLoading:W,isError:!1,isIcon:x,src:t,id:p,editor:n,nodeKey:s,fetchDeleteMedia:P,altText:g,imageRef:T,maxWidth:h,showCaption:f,caption:m,isCollabActive:!1,historyState:R,showNestedEditorTreeView:z,t:v})})}exports.default=X;
@@ -1,8 +0,0 @@
1
- import { C as e, Q as t, N as m, A as r } from "./layers.D8nhIJ08.js";
2
- import "./layers.D4pbgwIK.js";
3
- export {
4
- e as Commands,
5
- t as subsetToBase64,
6
- m as subsetToBinary,
7
- r as toBase64
8
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./layers.CTDZfwGH.js");require("./layers.DkHo38DI.js");exports.Commands=e.CB;exports.subsetToBase64=e.QB;exports.subsetToBinary=e.NQ;exports.toBase64=e.AI;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@lexical/react/LexicalComposerContext"),a=require("./layers.BL2HDW3Q.js"),e=require("./layers.CmmYt3Ou.js");function o(){const[r]=i.useLexicalComposerContext();return a.useExcalidrawBehaviour(r),null}exports.$createExcalidrawNode=a.$createExcalidrawNode;exports.$isExcalidrawNode=a.$isExcalidrawNode;exports.ExcalidrawNode=a.ExcalidrawNode;exports.INSERT_EXCALIDRAW_COMMAND=a.INSERT_EXCALIDRAW_COMMAND;exports.languageToLocaleMap=e.languageToLocaleMap;exports.parseExcalidrawData=e.parseExcalidrawData;exports.ExcalidrawPlugin=o;
@@ -1,17 +0,0 @@
1
- import { useLexicalComposerContext as r } from "@lexical/react/LexicalComposerContext";
2
- import { e as o, f as l } from "./layers.CMO6k-Xm.js";
3
- import { g as x, h as d, E as p } from "./layers.CMO6k-Xm.js";
4
- import { l as n, p as u } from "./layers.DilA0qnM.js";
5
- function s() {
6
- const [a] = r();
7
- return o(a), null;
8
- }
9
- export {
10
- x as $createExcalidrawNode,
11
- d as $isExcalidrawNode,
12
- p as ExcalidrawNode,
13
- s as ExcalidrawPlugin,
14
- l as INSERT_EXCALIDRAW_COMMAND,
15
- n as languageToLocaleMap,
16
- u as parseExcalidrawData
17
- };
@@ -1,54 +0,0 @@
1
- const t = {
2
- elements: [],
3
- files: {},
4
- appState: {},
5
- previewSVG: null
6
- }, a = (r) => {
7
- try {
8
- const e = JSON.parse(r);
9
- if (Array.isArray(e))
10
- return { ...t, elements: e };
11
- if (e && typeof e == "object")
12
- return {
13
- elements: Array.isArray(e.elements) ? e.elements : [],
14
- files: e.files && typeof e.files == "object" ? e.files : {},
15
- appState: e.appState && typeof e.appState == "object" ? e.appState : {},
16
- previewSVG: typeof e.previewSVG == "string" ? e.previewSVG : typeof e.previewSvg == "string" ? e.previewSvg : null
17
- };
18
- } catch {
19
- }
20
- return { ...t };
21
- }, p = {
22
- en: "en-US",
23
- ru: "ru-RU",
24
- fr: "fr-FR",
25
- de: "de-DE",
26
- es: "es-ES",
27
- it: "it-IT",
28
- pt: "pt-BR",
29
- zh: "zh-CN",
30
- ja: "ja-JP",
31
- ko: "ko-KR",
32
- ar: "ar-SA",
33
- hi: "hi-IN",
34
- nl: "nl-NL",
35
- tr: "tr-TR",
36
- pl: "pl-PL",
37
- sv: "sv-SE",
38
- cs: "cs-CZ",
39
- uk: "uk-UA",
40
- ro: "ro-RO",
41
- fi: "fi-FI",
42
- da: "da-DK",
43
- no: "no-NO",
44
- el: "el-GR",
45
- he: "he-IL",
46
- th: "th-TH",
47
- id: "id-ID",
48
- ms: "ms-MY",
49
- vi: "vi-VN"
50
- };
51
- export {
52
- p as l,
53
- a as p
54
- };
@@ -1,6 +0,0 @@
1
- import { e as o, j as s, o as f } from "./layers.D4pbgwIK.js";
2
- export {
3
- o as default,
4
- s as en,
5
- f as kaa
6
- };
@@ -1,448 +0,0 @@
1
- import { jsx as c, jsxs as z, Fragment as P } from "react/jsx-runtime";
2
- import { useMemo as Z, useState as y, useRef as j, useEffect as R, useCallback as _, Suspense as ee, lazy as te } from "react";
3
- import { useLexicalComposerContext as oe } from "@lexical/react/LexicalComposerContext";
4
- import { useLexicalEditable as ne } from "@lexical/react/useLexicalEditable";
5
- import { useLexicalNodeSelection as re } from "@lexical/react/useLexicalNodeSelection";
6
- import { mergeRegister as le } from "@lexical/utils";
7
- import { $setSelection as ae, $getNodeByKey as W, CLICK_COMMAND as ie, COMMAND_PRIORITY_LOW as I, KEY_DELETE_COMMAND as se, KEY_BACKSPACE_COMMAND as ce } from "lexical";
8
- import { R as de, A as X, t as ue, q as fe, r as me, p as J, h as K, s as ge } from "./layers.CMO6k-Xm.js";
9
- import { l as he, p as xe } from "./layers.DilA0qnM.js";
10
- import { useTranslation as V } from "react-i18next";
11
- import { Modal as pe, Text as Ce, Flex as be, Button as Q, Box as U, useMantineColorScheme as ve, Loader as we } from "@mantine/core";
12
- import { BottomDrawerWithoutHeader as Ee } from "@layers-app/shared";
13
- const Te = ({
14
- isCloseModal: o,
15
- setCloseModalOpen: r,
16
- confirmClose: g
17
- }) => {
18
- const { t: h } = V();
19
- return /* @__PURE__ */ c(
20
- pe,
21
- {
22
- opened: o,
23
- onClose: () => {
24
- r(!1);
25
- },
26
- centered: !0,
27
- title: h("editor.unsavedChanges.title"),
28
- closeOnClickOutside: !0,
29
- closeOnEscape: !0,
30
- size: "500",
31
- zIndex: 999,
32
- children: /* @__PURE__ */ z("div", { children: [
33
- /* @__PURE__ */ c(Ce, { mb: "md", children: h("editor.unsavedChanges.message") }),
34
- /* @__PURE__ */ z(be, { justify: "flex-end", gap: "sm", children: [
35
- /* @__PURE__ */ c(
36
- Q,
37
- {
38
- variant: "default",
39
- onClick: () => {
40
- r(!1);
41
- },
42
- fullWidth: !0,
43
- children: h("editor.unsavedChanges.cancel")
44
- }
45
- ),
46
- /* @__PURE__ */ c(Q, { color: "red", onClick: g, fullWidth: !0, children: h("editor.unsavedChanges.closeWithoutSaving") })
47
- ] })
48
- ] })
49
- }
50
- );
51
- };
52
- function Me({
53
- imageContainerRef: o,
54
- editor: r,
55
- rootClassName: g = null,
56
- width: h = "inherit",
57
- height: u = "inherit",
58
- nodeKey: i,
59
- alignment: O,
60
- setModalOpen: b,
61
- previewSVG: l
62
- }) {
63
- const B = Z(() => l ?? "", [l]), [d, D] = y(!1), { t: v } = V(), N = (C, p) => {
64
- r.update(() => {
65
- ae(null);
66
- const M = W(i);
67
- return K(M) && M.setWidthAndHeight(C, p), !0;
68
- });
69
- }, w = () => {
70
- ge(r, i);
71
- };
72
- return /* @__PURE__ */ c(
73
- de,
74
- {
75
- editor: r,
76
- isIcon: !1,
77
- isEmbed: !0,
78
- width: J(h),
79
- height: J(u),
80
- onResizeEnd: N,
81
- alignment: O,
82
- children: /* @__PURE__ */ z(U, { className: "media-wrapper excaildraw", children: [
83
- /* @__PURE__ */ z("div", { className: "media-actions", children: [
84
- /* @__PURE__ */ c(
85
- X,
86
- {
87
- "aria-label": "Settings",
88
- label: v("editor.link.edit"),
89
- flexBorder: !0,
90
- onClick: () => {
91
- b(!0);
92
- },
93
- icon: ue,
94
- iconColor: "var(--mantine-color-gray-text)"
95
- }
96
- ),
97
- /* @__PURE__ */ c(
98
- fe,
99
- {
100
- opened: d,
101
- setOpened: D,
102
- t: v,
103
- editor: r,
104
- nodeKey: i,
105
- flexBorder: !0
106
- }
107
- ),
108
- /* @__PURE__ */ c(
109
- X,
110
- {
111
- "aria-label": "Delete",
112
- label: v("editor.actions.delete"),
113
- flexBorder: !0,
114
- onClick: w,
115
- icon: me,
116
- iconColor: "var(--mantine-color-red-outline)"
117
- }
118
- )
119
- ] }),
120
- /* @__PURE__ */ c(
121
- U,
122
- {
123
- w: "100%",
124
- ref: (C) => {
125
- C && o && (o.current = C);
126
- },
127
- className: g ?? "",
128
- dangerouslySetInnerHTML: { __html: B }
129
- }
130
- )
131
- ] })
132
- }
133
- );
134
- }
135
- let F = null;
136
- const ke = /* @__PURE__ */ te(async () => {
137
- var r;
138
- const o = await import("./layers.D4pbgwIK.js").then((g) => g.M);
139
- return !F && o && (F = o.exportToSvg || ((r = o.default) == null ? void 0 : r.exportToSvg) || o.default), { default: o.Excalidraw };
140
- }), ye = () => {
141
- const [o, r] = y(
142
- null
143
- ), g = _(
144
- (h) => r(h),
145
- []
146
- );
147
- return [o, g];
148
- };
149
- function Oe({
150
- onSave: o,
151
- initialElements: r,
152
- initialAppState: g,
153
- initialFiles: h,
154
- isShown: u = !1,
155
- onDelete: i,
156
- onClose: O,
157
- isEdited: b
158
- }) {
159
- const [l, B] = ye(), { i18n: d, t: D } = V(), { colorScheme: v } = ve(), N = j(!1), [w, C] = y(r), [p, M] = y(h), [S, A] = y(u);
160
- R(() => {
161
- u && A(!0);
162
- }, [u]), R(() => {
163
- !u || N.current || (N.current = !0, Promise.resolve({ }));
164
- }, [u]), R(() => {
165
- u && setTimeout(() => {
166
- var e;
167
- (e = l == null ? void 0 : l.refresh) == null || e.call(l);
168
- }, 500);
169
- }, [u, l]), R(() => {
170
- if (!u)
171
- return;
172
- const e = (t, s) => {
173
- const f = D(t);
174
- return f.startsWith("editor.menu") ? s : f;
175
- }, T = e(
176
- "editor.menu.excalidraw.tools.frameTool",
177
- d.language === "ru" ? "Инструмент рамки" : d.language === "es" ? "Herramienta de marco" : "Frame tool"
178
- ), a = e(
179
- "editor.menu.excalidraw.tools.webEmbed",
180
- d.language === "ru" ? "Веб-встраивание" : d.language === "es" ? "Incrustación web" : "Web Embed"
181
- ), E = e(
182
- "editor.menu.excalidraw.tools.generate",
183
- d.language === "ru" ? "Генерировать" : d.language === "es" ? "Generar" : "Generate"
184
- ), L = {
185
- "Frame tool": T,
186
- "Web Embed": a,
187
- "Web embeded": a,
188
- Generate: E
189
- }, k = () => {
190
- const t = document.querySelector(".App-toolbar__extra-tools-dropdown");
191
- if (!t)
192
- return;
193
- const s = document.createTreeWalker(
194
- t,
195
- NodeFilter.SHOW_TEXT,
196
- null
197
- );
198
- let f;
199
- for (; f = s.nextNode(); )
200
- if (f.nodeType === Node.TEXT_NODE && f.textContent) {
201
- const $ = f.textContent.trim();
202
- for (const [Y, G] of Object.entries(L))
203
- if ($ === Y && G && !$.includes(G)) {
204
- f.textContent = f.textContent.replace(Y, G);
205
- break;
206
- }
207
- }
208
- }, n = () => {
209
- setTimeout(() => {
210
- k();
211
- }, 0);
212
- }, m = setTimeout(() => {
213
- const t = document.querySelector(
214
- ".excalidraw-container"
215
- );
216
- if (t) {
217
- const s = t.querySelector(
218
- ".App-toolbar__extra-tools-trigger"
219
- );
220
- s && s.addEventListener("click", n);
221
- }
222
- }, 300);
223
- return () => {
224
- clearTimeout(m);
225
- const t = document.querySelector(
226
- ".excalidraw-container"
227
- );
228
- if (t) {
229
- const s = t.querySelector(
230
- ".App-toolbar__extra-tools-trigger"
231
- );
232
- s && s.removeEventListener("click", n);
233
- }
234
- };
235
- }, [u, d.language, D]);
236
- const H = _(async () => {
237
- var k, n, m;
238
- let e = F;
239
- if (!e || typeof e != "function") {
240
- const t = await import("./layers.D4pbgwIK.js").then((s) => s.M);
241
- e = t.exportToSvg || ((k = t.default) == null ? void 0 : k.exportToSvg) || t.default, e && typeof e == "function" && (F = e);
242
- }
243
- if (!e || typeof e != "function") {
244
- const t = await import("./layers.D4pbgwIK.js").then((f) => f.M), s = t ? Object.keys(t) : [];
245
- throw console.error("Excalidraw module structure:", {
246
- keys: s,
247
- hasExportToSvg: t && "exportToSvg" in t,
248
- hasDefault: t && "default" in t,
249
- moduleType: typeof t,
250
- module: t
251
- }), new Error(
252
- `exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${s.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`
253
- );
254
- }
255
- const T = ((n = l == null ? void 0 : l.getAppState) == null ? void 0 : n.call(l)) ?? g, a = await e({
256
- appState: T,
257
- elements: w,
258
- files: p
259
- }), E = (m = a == null ? void 0 : a.firstElementChild) == null ? void 0 : m.firstElementChild, L = a.getAttribute("viewBox");
260
- if (L != null) {
261
- const t = L.split(" ");
262
- a.setAttribute("width", t[2]), a.setAttribute("height", t[3]);
263
- }
264
- return E && E.tagName === "style" && E.remove(), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("display", "block"), a.classList.add("excalidraw-svg"), a.outerHTML;
265
- }, [w, p, l, g]), q = () => {
266
- if (w && w.filter((e) => !e.isDeleted).length > 0) {
267
- const e = l == null ? void 0 : l.getAppState(), T = {
268
- exportBackground: e == null ? void 0 : e.exportBackground,
269
- exportScale: e == null ? void 0 : e.exportScale,
270
- exportWithDarkMode: (e == null ? void 0 : e.theme) === "dark",
271
- isBindingEnabled: e == null ? void 0 : e.isBindingEnabled,
272
- isLoading: e == null ? void 0 : e.isLoading,
273
- name: e == null ? void 0 : e.name,
274
- theme: e == null ? void 0 : e.theme,
275
- viewBackgroundColor: e == null ? void 0 : e.viewBackgroundColor,
276
- viewModeEnabled: e == null ? void 0 : e.viewModeEnabled,
277
- zenModeEnabled: e == null ? void 0 : e.zenModeEnabled,
278
- zoom: e == null ? void 0 : e.zoom
279
- };
280
- (async () => {
281
- const a = await H();
282
- o(w, T, p, a);
283
- })();
284
- } else
285
- i();
286
- }, x = (e, T, a) => {
287
- (e == null ? void 0 : e.length) !== (r == null ? void 0 : r.length) && (b.current = !0), C(e), M(a);
288
- };
289
- return /* @__PURE__ */ c(
290
- Ee,
291
- {
292
- opened: u,
293
- onClose: O,
294
- onSave: q,
295
- className: "excaildraw-modal",
296
- closeOnEscape: !1,
297
- children: S && /* @__PURE__ */ c(
298
- ee,
299
- {
300
- fallback: /* @__PURE__ */ c(
301
- "div",
302
- {
303
- style: {
304
- display: "flex",
305
- justifyContent: "center",
306
- alignItems: "center",
307
- height: "100%",
308
- minHeight: "400px"
309
- },
310
- children: /* @__PURE__ */ c(we, { size: "sm" })
311
- }
312
- ),
313
- children: /* @__PURE__ */ c(
314
- ke,
315
- {
316
- langCode: he[d.language],
317
- theme: v,
318
- onChange: x,
319
- excalidrawAPI: B,
320
- initialData: {
321
- appState: { ...g || { isLoading: !1 } },
322
- elements: r,
323
- files: h
324
- }
325
- }
326
- )
327
- }
328
- )
329
- }
330
- );
331
- }
332
- function He({
333
- nodeKey: o,
334
- data: r,
335
- width: g,
336
- height: h,
337
- alignment: u
338
- }) {
339
- var k;
340
- const [i] = oe(), O = ne(), b = Z(() => xe(r), [r]), l = ((k = b == null ? void 0 : b.elements) == null ? void 0 : k.length) === 0 && !b.previewSVG, [B, d] = y(
341
- l && i.isEditable()
342
- ), [D, v] = y(!1), N = j(null), w = j(null), C = j(null), [p, M, S] = re(o), A = _(
343
- (n) => (p && (n.preventDefault(), i.update(() => {
344
- const m = W(o);
345
- m && m.remove();
346
- })), !1),
347
- [i, p, o]
348
- );
349
- R(() => {
350
- if (!O) {
351
- p && S();
352
- return;
353
- }
354
- return le(
355
- i.registerCommand(
356
- ie,
357
- (n) => {
358
- const m = w.current, t = n.target;
359
- return m !== null && m.contains(t) ? (n.shiftKey || S(), M(!p), n.detail > 1 && d(!0), !0) : !1;
360
- },
361
- I
362
- ),
363
- i.registerCommand(
364
- se,
365
- A,
366
- I
367
- ),
368
- i.registerCommand(
369
- ce,
370
- A,
371
- I
372
- )
373
- );
374
- }, [S, i, p, A, M, O]);
375
- const H = _(() => (d(!1), i.update(() => {
376
- const n = W(o);
377
- n && n.remove();
378
- })), [i, o]), q = (n, m, t, s) => i.update(() => {
379
- const f = W(o);
380
- K(f) && (n && n.length > 0 || Object.keys(t).length > 0 ? f.setData(
381
- JSON.stringify({
382
- appState: m,
383
- elements: n,
384
- files: t,
385
- previewSVG: s
386
- })
387
- ) : f.remove());
388
- }), { elements: x = [], files: e = {}, appState: T = {}, previewSVG: a } = b, E = _(() => {
389
- d(!1), v(!1), C.current = !1, (x == null ? void 0 : x.length) === 0 && i.update(() => {
390
- const n = W(o);
391
- n && n.remove();
392
- });
393
- }, [i, o, x == null ? void 0 : x.length]), L = _(() => {
394
- C.current ? v(!0) : E();
395
- }, [E]);
396
- return /* @__PURE__ */ z(P, { children: [
397
- /* @__PURE__ */ c(
398
- Te,
399
- {
400
- isCloseModal: D,
401
- confirmClose: E,
402
- setCloseModalOpen: v
403
- }
404
- ),
405
- /* @__PURE__ */ c(
406
- Oe,
407
- {
408
- initialElements: x,
409
- isEdited: C,
410
- initialFiles: e,
411
- initialAppState: T,
412
- isShown: B,
413
- onDelete: H,
414
- onClose: L,
415
- onSave: (n, m, t, s) => {
416
- q(n, m, t, s), d(!1);
417
- },
418
- closeOnClickOutside: !1
419
- }
420
- ),
421
- (x == null ? void 0 : x.length) && /* @__PURE__ */ c(
422
- "div",
423
- {
424
- style: {
425
- display: "flex",
426
- justifyContent: u
427
- },
428
- children: /* @__PURE__ */ c(
429
- Me,
430
- {
431
- imageContainerRef: N,
432
- className: "image",
433
- width: g,
434
- height: h,
435
- editor: i,
436
- nodeKey: o,
437
- alignment: u,
438
- setModalOpen: d,
439
- previewSVG: a
440
- }
441
- )
442
- }
443
- )
444
- ] });
445
- }
446
- export {
447
- He as default
448
- };