@layers-app/editor 0.7.93 → 1.0.0

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 (215) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +14 -94
  3. package/dist/index.js +12 -13
  4. package/dist/{layers.D6sxU8A2.js → layers.-g7uNd7M.js} +2 -2
  5. package/dist/{layers.DYnnh-09.js → layers.-pQVK1r1.js} +1 -1
  6. package/dist/{layers.BDiPbruK.js → layers.0M89REzq.js} +1 -1
  7. package/dist/{layers.VBselTAE.js → layers.172Wbi61.js} +1 -1
  8. package/dist/{layers.DFmhjbPv.js → layers.1GN3IXqz.js} +3 -3
  9. package/dist/{layers.DWAnuPjJ.js → layers.1SQWVglr.js} +1 -1
  10. package/dist/{layers.DuqUo0oU.js → layers.3nPhoXKI.js} +1 -1
  11. package/dist/{layers.Chx21Noj.js → layers.3uDgSyXI.js} +1 -1
  12. package/dist/{layers.CjgXNJBg.js → layers.4YdQEBKi.js} +1 -1
  13. package/dist/{layers.DGh8drOs.js → layers.4bbyJ4Vc.js} +1 -1
  14. package/dist/{layers.gCS_1NW6.js → layers.4w6TaBq1.js} +1 -1
  15. package/dist/{layers.Dzvv_LWT.js → layers.4yakxeiR.js} +3 -3
  16. package/dist/{layers.BoOiKUQt.js → layers.56A1F1-s.js} +4 -4
  17. package/dist/{layers.CNcMdVwf.js → layers.76l1mjCN.js} +1 -1
  18. package/dist/{layers.CBaBV2iZ.js → layers.79mr9QCD.js} +1 -1
  19. package/dist/{layers.Fp2xKhlB.js → layers.86R4uPiG.js} +1 -1
  20. package/dist/{layers.XxXB7ixR.js → layers.8ml6fc54.js} +1 -1
  21. package/dist/{layers.CjvUFr5W.js → layers.A2jAwths.js} +1 -1
  22. package/dist/{layers.CF7penQ9.js → layers.A9824OJT.js} +2 -2
  23. package/dist/{layers.CZ4Y6y3c.js → layers.AJesQfn4.js} +1 -1
  24. package/dist/{layers.Bcb3CJTF.js → layers.AbQtiWrN.js} +2 -2
  25. package/dist/{layers.C8DpC6Mn.js → layers.B-lSYmly.js} +1 -1
  26. package/dist/{layers.DM5FQGwH.js → layers.B0xgvAcr.js} +1 -1
  27. package/dist/{layers.yFxcgyah.js → layers.B1W2Vzf9.js} +2 -2
  28. package/dist/{layers.BPni5cr6.js → layers.B2pDIssY.js} +2 -2
  29. package/dist/{layers.CfocA5Re.js → layers.B4A2yWw6.js} +1 -1
  30. package/dist/layers.B4xiiM7g.js +1 -0
  31. package/dist/{layers.CfDwsZU0.js → layers.B5QtFq-Y.js} +1 -1
  32. package/dist/{layers.l9IaJ8Na.js → layers.B6Y1d0hZ.js} +1 -1
  33. package/dist/{layers.D_CVQ8_U.js → layers.B6zoccbm.js} +1 -1
  34. package/dist/{layers.ve-b1iUI.js → layers.B8SVgHR9.js} +1 -1
  35. package/dist/{layers.BkHV48yv.js → layers.BA9YgAbj.js} +1 -1
  36. package/dist/{layers.CmNwAjIw.js → layers.BCOC7xJt.js} +1 -1
  37. package/dist/{layers.C8scOXtX.js → layers.BCXXvz7G.js} +39461 -45139
  38. package/dist/{layers.BEGCfKQE.js → layers.BEJe_rWx.js} +1 -1
  39. package/dist/{layers.DhR_eZa8.js → layers.BGcXTqva.js} +1 -1
  40. package/dist/{layers.D1UqHxFG.js → layers.BH8S66mC.js} +1 -1
  41. package/dist/{layers.DRGSxBgi.js → layers.BJE015iJ.js} +1 -1
  42. package/dist/{layers.B5LuOdoA.js → layers.BJHOdAzy.js} +1 -1
  43. package/dist/{layers.igq8-CrV.js → layers.BJfI9xHh.js} +6 -6
  44. package/dist/{layers.BV-g-xzT.js → layers.BKOBZyMI.js} +1 -1
  45. package/dist/{layers.Y7kZzQzI.js → layers.BL-7xEvj.js} +1 -1
  46. package/dist/{layers.CM5hqLt_.js → layers.BLVPAx3X.js} +1 -1
  47. package/dist/{layers.CG4NZuoY.js → layers.BNAyV97E.js} +1 -1
  48. package/dist/{layers.Stx3Iboc.js → layers.BNjCIUGh.js} +1 -1
  49. package/dist/{layers.DxYNx_WJ.js → layers.BNlcPgk-.js} +1 -1
  50. package/dist/{layers.DOTdJgPv.js → layers.BO3a_hC-.js} +1 -1
  51. package/dist/{layers.CFML777f.js → layers.BP_eA-4_.js} +1 -1
  52. package/dist/{layers.cYc9Mkkl.js → layers.BQKGUso9.js} +1 -1
  53. package/dist/{layers.D4QdQ1B8.js → layers.BQU4SnRP.js} +1 -1
  54. package/dist/{layers.mRg6Wxq7.js → layers.BQqs2eVb.js} +1 -1
  55. package/dist/{layers.DTCgqxVH.js → layers.BRMrA2Ub.js} +1 -1
  56. package/dist/{layers.CpvsNStS.js → layers.BW8UTyKL.js} +1 -1
  57. package/dist/layers.BWYi9A2p.js +1 -0
  58. package/dist/{layers.zE2Ag_LD.js → layers.BYofSd52.js} +1 -1
  59. package/dist/{layers.DcVK6qgi.js → layers.BYs8uPB4.js} +1 -1
  60. package/dist/{layers.QnTzffzI.js → layers.B_9GBAfN.js} +1 -1
  61. package/dist/{layers.OFbtrZYp.js → layers.B_S3C4DG.js} +3 -3
  62. package/dist/{layers.811TSpOY.js → layers.B__yemFX.js} +1 -1
  63. package/dist/{layers.Dybb-MrJ.js → layers.BbQ88dYL.js} +1 -1
  64. package/dist/{layers.BLpNviKk.js → layers.BfrGvhnj.js} +1 -1
  65. package/dist/{layers.Brrg4jj_.js → layers.Bh6R4aTS.js} +1 -1
  66. package/dist/{layers.MqC_9V6k.js → layers.BhXltzPN.js} +1 -1
  67. package/dist/{layers.BcCelUDj.js → layers.Bid82dra.js} +1 -1
  68. package/dist/{layers.C-Q16oCj.js → layers.BjTUzUPL.js} +1 -1
  69. package/dist/{layers.D_gH0Is5.js → layers.BlYGbAr0.js} +1 -1
  70. package/dist/{layers.DzZ61AN4.js → layers.BomQfc62.js} +1 -1
  71. package/dist/{layers.CXoinSNf.js → layers.BpYACVpe.js} +4 -4
  72. package/dist/{layers.msmp08Xf.js → layers.Bph7Ya7r.js} +4 -4
  73. package/dist/{layers.-tiwgsIy.js → layers.BrgxMSh1.js} +2 -2
  74. package/dist/{layers.DSzKKGJF.js → layers.BsDg01CU.js} +1 -1
  75. package/dist/{layers._ram0v-H.js → layers.Bsf69xiU.js} +1 -1
  76. package/dist/layers.BsoRcVww.js +8 -0
  77. package/dist/{layers.DDQgSWZM.js → layers.BtQfqte_.js} +4 -4
  78. package/dist/layers.BuEQHVRn.js +585 -0
  79. package/dist/{layers.D4BL-_g4.js → layers.BvvkbP82.js} +1 -1
  80. package/dist/{layers.4vqpsuc3.js → layers.BxLTmqIg.js} +1 -1
  81. package/dist/{layers.CmFR2uKv.js → layers.BxzLgCx7.js} +1 -1
  82. package/dist/layers.C087BbSN.js +1 -0
  83. package/dist/{layers.FuV5aVfW.js → layers.C1G5XjDq.js} +1 -1
  84. package/dist/{layers.LQ0WKJCL.js → layers.C2Crxoln.js} +1 -1
  85. package/dist/{layers.BUFOBCMy.js → layers.C2H8RbfP.js} +3 -3
  86. package/dist/{layers.DDZzHO2e.js → layers.C7nW2TfS.js} +1 -1
  87. package/dist/{layers.C2fhjYrc.js → layers.C82M5g3Y.js} +1 -1
  88. package/dist/{layers.ChEJ2zyQ.js → layers.CAQaTno7.js} +1 -1
  89. package/dist/{layers.Daizjhsk.js → layers.CAfWmj8Q.js} +3 -3
  90. package/dist/{layers.Dhtl9hTt.js → layers.CB6DYx3P.js} +1 -1
  91. package/dist/{layers.BUhQr1my.js → layers.CBdVIhaC.js} +1 -1
  92. package/dist/{layers.DwFHPFXW.js → layers.CDpX4wCh.js} +1 -1
  93. package/dist/{layers.yasiEV95.js → layers.CFAU3aYo.js} +1 -1
  94. package/dist/{layers.DkwDMTq9.js → layers.CGLg-QXF.js} +1 -1
  95. package/dist/{layers.DFuWTxaW.js → layers.CGNQx09_.js} +1 -1
  96. package/dist/{layers.C94ZEZX8.js → layers.CLjkIRsj.js} +1 -1
  97. package/dist/{layers.BaDwWFkk.js → layers.CLxXLHn0.js} +1 -1
  98. package/dist/{layers.mCNNRzMK.js → layers.CMJleN2N.js} +1 -1
  99. package/dist/layers.CMv-MGOo.js +539 -0
  100. package/dist/{layers.CLVPhrnI.js → layers.CNX3Y13v.js} +7 -7
  101. package/dist/{layers.UWbJSE_q.js → layers.CNa0oe2M.js} +1 -1
  102. package/dist/{layers.B6rOc-Ti.js → layers.CNkZ32Ss.js} +1 -1
  103. package/dist/{layers.CC44ZlQZ.js → layers.CR-q81fL.js} +24 -24
  104. package/dist/{layers.D9BOJQ5y.js → layers.CSVKd1FP.js} +1 -1
  105. package/dist/{layers.7jwh_MfI.js → layers.CTxdvFPq.js} +1 -1
  106. package/dist/{layers.B0R-ifEH.js → layers.CUki-tZj.js} +1 -1
  107. package/dist/{layers.orgRZ2V9.js → layers.CV0V6r-0.js} +1 -1
  108. package/dist/{layers.M4h6tkxO.js → layers.CVEiAGOh.js} +1 -1
  109. package/dist/{layers.IkYeHNd-.js → layers.CXCxIEL2.js} +1 -1
  110. package/dist/{layers.BnBIaczk.js → layers.Cb6Q1pdl.js} +1 -1
  111. package/dist/{layers.VjAp6vpG.js → layers.CbRDb66r.js} +1 -1
  112. package/dist/{layers.sFmfgHo4.js → layers.Chd_QFzk.js} +3 -3
  113. package/dist/{layers.BHnL_Uok.js → layers.CkVpUUdk.js} +1 -1
  114. package/dist/{layers.CN2AORSh.js → layers.Cm20abCV.js} +1 -1
  115. package/dist/{layers.DEkU827U.js → layers.CoojhKEQ.js} +1 -1
  116. package/dist/{layers.Bk7jKmXI.js → layers.CqZ_SmxS.js} +1 -1
  117. package/dist/{layers.D0l4OEP1.js → layers.Cr8cieQc.js} +1 -1
  118. package/dist/{layers.5usI25Xs.js → layers.Crp4PjDd.js} +1 -1
  119. package/dist/{layers.9iTOFkOz.js → layers.CwvUhpqa.js} +1 -1
  120. package/dist/{layers.Dh7vm0BH.js → layers.Cy6tKZRE.js} +178 -167
  121. package/dist/{layers.-qD_IlHz.js → layers.D-3e1bqL.js} +1 -1
  122. package/dist/{layers.D_m-25Ic.js → layers.D2H0ue2X.js} +3 -3
  123. package/dist/{layers.DTUuZqOa.js → layers.D2Qy6sM9.js} +3 -3
  124. package/dist/{layers.nltEsUBo.js → layers.D2wXSTG7.js} +4 -4
  125. package/dist/{layers.BGJFkxfG.js → layers.D5esPWTY.js} +1 -1
  126. package/dist/{layers.CDOF7D2m.js → layers.D6tjfoCc.js} +4 -4
  127. package/dist/{layers.I1SLD0UK.js → layers.DB5FC83E.js} +1 -1
  128. package/dist/{layers.aZyt0ZhK.js → layers.DCzFhP-8.js} +4 -4
  129. package/dist/{layers.DhwgnsWZ.js → layers.DDx-SMCl.js} +1 -1
  130. package/dist/{layers.DXe2VR26.js → layers.DEAJVFxk.js} +1 -1
  131. package/dist/{layers.BEKTKoir.js → layers.DGPzsNmI.js} +1 -1
  132. package/dist/{layers.Lm3yzugI.js → layers.DHw29VaG.js} +1 -1
  133. package/dist/{layers.DHzGmamJ.js → layers.DI2iL4Tn.js} +1 -1
  134. package/dist/{layers.BufejxmY.js → layers.DIilVF_M.js} +1 -1
  135. package/dist/{layers.CRgtKhyz.js → layers.DJZSw7_Z.js} +1 -1
  136. package/dist/{layers.CWTCSE0f.js → layers.DLQ6SBa2.js} +1 -1
  137. package/dist/{layers.DGYg3grQ.js → layers.DLR83xiF.js} +1 -1
  138. package/dist/{layers.SWM1KY20.js → layers.DLwTOFrT.js} +1 -1
  139. package/dist/{layers.iYPrW38K.js → layers.DNGfDbtN.js} +1 -1
  140. package/dist/{layers.GVr5uU5W.js → layers.DOuETTDt.js} +1 -1
  141. package/dist/{layers.D5ldRac_.js → layers.DQhXyNBG.js} +1 -1
  142. package/dist/{layers.C_ZG_NmP.js → layers.DScpmk0U.js} +1 -1
  143. package/dist/{layers.Qr2h1-VC.js → layers.DUjgzxSn.js} +1 -1
  144. package/dist/{layers._LRYHSJ0.js → layers.DW6kniIq.js} +1 -1
  145. package/dist/{layers.DTBSutEB.js → layers.DXudULR-.js} +1 -1
  146. package/dist/{layers.CsqTB_b0.js → layers.DYJfly4I.js} +1 -1
  147. package/dist/{layers.CGwmNznF.js → layers.DYi-68tU.js} +5 -5
  148. package/dist/{layers.DNoj8uH2.js → layers.DZ9aQzzh.js} +1 -1
  149. package/dist/{layers.GsD0_GxX.js → layers.D_BTjOpO.js} +8 -8
  150. package/dist/layers.D_DCnlm4.js +1 -0
  151. package/dist/{layers.czDrchz1.js → layers.Dctz1-Be.js} +1 -1
  152. package/dist/{layers.mCqe-cvO.js → layers.DdgU7Wxt.js} +1 -1
  153. package/dist/{layers.CKJZJ_ts.js → layers.DfgFW_fZ.js} +1 -1
  154. package/dist/layers.DikU4t0M.js +6 -0
  155. package/dist/{layers.Dyd9_aH-.js → layers.DkNt8L2T.js} +1 -1
  156. package/dist/{layers.CNUJb-Qd.js → layers.Dkq7fr__.js} +1 -1
  157. package/dist/{layers.PvxtC1eC.js → layers.DlHJe0eH.js} +1 -1
  158. package/dist/{layers.BfyTGtGq.js → layers.DoW-ZBfZ.js} +1 -1
  159. package/dist/{layers.vvoHMkog.js → layers.DqQiUrEW.js} +1 -1
  160. package/dist/{layers.BRP3PhII.js → layers.DqTbmk_s.js} +3 -3
  161. package/dist/{layers.Bksq8_Qt.js → layers.DudkVylr.js} +1 -1
  162. package/dist/{layers.JabcC5VX.js → layers.Dv5eFafD.js} +1 -1
  163. package/dist/{layers.CxiX7XmH.js → layers.DvL-XSvD.js} +1 -1
  164. package/dist/{layers.D_1KCN2L.js → layers.DxWM3PwA.js} +1 -1
  165. package/dist/{layers.zW7UNB56.js → layers.Dz50RMu3.js} +1 -1
  166. package/dist/{layers.CeI3w2iY.js → layers.FZD8ymtL.js} +1 -1
  167. package/dist/{layers.CTGsC808.js → layers.Gnhel6bO.js} +1 -1
  168. package/dist/{layers.qRe_lZMu.js → layers.Iv2OYybX.js} +1 -1
  169. package/dist/{layers.DFmZFu4s.js → layers.JNUaRnwq.js} +1 -1
  170. package/dist/{layers.iCGkfdqe.js → layers.N1zRNyjd.js} +1 -1
  171. package/dist/{layers.vU738QAp.js → layers.NGi_ungC.js} +1 -1
  172. package/dist/{layers.CV9JMOd0.js → layers.NQIPCUeA.js} +1 -1
  173. package/dist/{layers._TXR7_BW.js → layers.PbePXAaO.js} +1 -1
  174. package/dist/{layers.DryQJgTf.js → layers.Pr3SAbdJ.js} +1 -1
  175. package/dist/{layers.DTkHkrLG.js → layers.QyLKnikd.js} +5 -5
  176. package/dist/{layers.B7ml1wOj.js → layers.RWD55B8I.js} +3 -3
  177. package/dist/{layers.BKTJE34P.js → layers.SVdqNH63.js} +1 -1
  178. package/dist/{layers.DVTq8SE9.js → layers.UBBwGTJL.js} +1 -1
  179. package/dist/{layers.CWjT_Kbq.js → layers.VKrCpmtA.js} +1 -1
  180. package/dist/{layers.268NfhIX.js → layers.VQnb33oI.js} +1 -1
  181. package/dist/{layers.DmvODDQ0.js → layers.VVbBvmUb.js} +4 -4
  182. package/dist/{layers.BLCWQ59V.js → layers.YNuLYTuu.js} +1 -1
  183. package/dist/{layers.Bzd_kEIv.js → layers.YpjXAo6o.js} +1 -1
  184. package/dist/{layers.CWuSuPfS.js → layers.aTewiNrv.js} +1 -1
  185. package/dist/{layers.jI-GVlXe.js → layers.aWrDfA3G.js} +1 -1
  186. package/dist/{layers.DAvGftUZ.js → layers.aYR8ZkKI.js} +4 -4
  187. package/dist/{layers.CFZqbydb.js → layers.an2vviU-.js} +3 -3
  188. package/dist/{layers.BpnHi2Sm.js → layers.ccYEo0zL.js} +1 -1
  189. package/dist/{layers.Csi-9lrm.js → layers.d1J8xasZ.js} +1 -1
  190. package/dist/{layers.DUlvtU8P.js → layers.dD16n4wC.js} +1 -1
  191. package/dist/{layers.fsKnbvfV.js → layers.dIolMNur.js} +1 -1
  192. package/dist/{layers.V9lJ9Ccb.js → layers.dhMjlsvZ.js} +1 -1
  193. package/dist/{layers.DH0uo8fs.js → layers.i_EhsGoq.js} +1 -1
  194. package/dist/{layers.Cz_0Xe5w.js → layers.j_fu-1he.js} +1 -1
  195. package/dist/{layers.C01LyZL_.js → layers.kVunnuXH.js} +1 -1
  196. package/dist/{layers.DqwY2YKL.js → layers.l4zNs6ys.js} +1 -1
  197. package/dist/{layers.BZp78mT0.js → layers.oqrEyCZw.js} +1 -1
  198. package/dist/{layers.kpBucBt1.js → layers.qeIA-o6A.js} +1 -1
  199. package/dist/{layers.hmEL7VCj.js → layers.rPt8nHhw.js} +1 -1
  200. package/dist/{layers.rulLZ93L.js → layers.tbzuOSk6.js} +1 -1
  201. package/dist/{layers.BalFy4Pd.js → layers.tiZH4Hp1.js} +1 -1
  202. package/dist/{layers.BtJnQ0mI.js → layers.w3nbwofn.js} +1 -1
  203. package/dist/{layers.CRV0BKlE.js → layers.x8s7fn3P.js} +1 -1
  204. package/dist/{layers.BzoSDIc-.js → layers.y8izWV3a.js} +1 -1
  205. package/dist/{layers.BeIbAvhr.js → layers.z2WtNyKR.js} +1 -1
  206. package/package.json +16 -128
  207. package/README.md +0 -831
  208. package/dist/layers.BF5czbZm.js +0 -310
  209. package/dist/layers.Brbunzgb.js +0 -1
  210. package/dist/layers.CNASfKEr.js +0 -1
  211. package/dist/layers.Ce5d3c4K.js +0 -1
  212. package/dist/layers.CnCND_tm.js +0 -533
  213. package/dist/layers.DBe4vr1J.js +0 -6
  214. package/dist/layers.UyyKG0j1.js +0 -8
  215. package/dist/layers.vgzUgI4K.js +0 -1
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),n=require("react"),G=require("@lexical/react/LexicalComposerContext"),Y=require("@lexical/react/useLexicalEditable"),U=require("@lexical/react/useLexicalNodeSelection"),X=require("@lexical/utils"),E=require("lexical"),i=require("./layers.BF5czbZm.js"),F=require("./layers.CmmYt3Ou.js"),H=require("react-i18next"),y=require("@mantine/core"),J=require("@mantine/hooks"),K=require("@layers-app/shared"),P=({isCloseModal:s,setCloseModalOpen:a,confirmClose:b})=>{const{t:v}=H.useTranslation();return o.jsx(y.Modal,{opened:s,onClose:()=>{a(!1)},centered:!0,title:v("editor.unsavedChanges.title"),closeOnClickOutside:!0,closeOnEscape:!0,size:"500",zIndex:999,children:o.jsxs("div",{children:[o.jsx(y.Text,{mb:"md",children:v("editor.unsavedChanges.message")}),o.jsxs(y.Flex,{justify:"flex-end",gap:"sm",children:[o.jsx(y.Button,{variant:"default",onClick:()=>{a(!1)},fullWidth:!0,children:v("editor.unsavedChanges.cancel")}),o.jsx(y.Button,{color:"red",onClick:b,fullWidth:!0,children:v("editor.unsavedChanges.closeWithoutSaving")})]})]})})};function Q({imageContainerRef:s,editor:a,rootClassName:b=null,width:v="inherit",height:m="inherit",nodeKey:c,alignment:B,setModalOpen:T,previewSVG:r,isModalOpen:D}){const g=n.useMemo(()=>r??"",[r]),[L,M]=n.useState(!1),[q,{open:w,close:k}]=J.useDisclosure(!1),{t:d}=H.useTranslation();n.useEffect(()=>{D&&M(!1)},[D]);const R=(S,h)=>{a.update(()=>{E.$setSelection(null);const e=E.$getNodeByKey(c);return i.$isExcalidrawNode(e)&&e.setWidthAndHeight(S,h),!0})},O=()=>{i.deleteNode(a,c)},_=()=>{k(),T(!0)},I=()=>{k(),i.deleteNode(a,c)};return o.jsxs(i.ResizableContainer,{editor:a,isIcon:!1,isEmbed:!0,width:i.parseContainerSize(v),height:i.parseContainerSize(m),onResizeEnd:R,alignment:B,children:[o.jsxs(y.Box,{className:"media-wrapper excaildraw",children:[o.jsx("div",{className:`media-actions${i.IS_TOUCH_DEVICE||!i.IS_HOVER_CAPABLE?" visible":""}`,children:i.IS_TOUCH_DEVICE?o.jsx(i.ActionIcon,{"aria-label":d("editor.toolbar.more"),label:d("editor.toolbar.more"),flexBorder:!0,onClick:w,icon:i.K1,iconColor:"var(--mantine-color-gray-text)"}):o.jsxs(o.Fragment,{children:[o.jsx(i.ActionIcon,{"aria-label":"Settings",label:d("editor.link.edit"),flexBorder:!0,onClick:()=>{T(!0)},icon:i.tf,iconColor:"var(--mantine-color-gray-text)"}),o.jsx(i.AlignmentImage,{opened:L,setOpened:M,t:d,editor:a,nodeKey:c,flexBorder:!0}),o.jsx(i.ActionIcon,{"aria-label":"Delete",label:d("editor.actions.delete"),flexBorder:!0,onClick:O,icon:i.lg,iconColor:"var(--mantine-color-red-outline)"})]})}),o.jsx(y.Box,{w:"100%",ref:S=>{S&&s&&(s.current=S)},className:b??"",dangerouslySetInnerHTML:{__html:g}})]}),i.IS_TOUCH_DEVICE&&o.jsx(i.MobileDrawer,{opened:q,onClose:k,title:d("editor.image.mobileActions"),children:o.jsxs(y.Stack,{gap:4,p:0,children:[o.jsx(y.Button,{type:"button",variant:"subtle",color:"gray",fullWidth:!0,justify:"flex-start",bg:"light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",onClick:_,leftSection:o.jsx(i.HugeiconsIcon,{icon:i.tf,size:16,color:"var(--mantine-color-dimmed)"}),children:d("editor.link.edit")}),o.jsx(y.Button,{type:"button",variant:"subtle",color:"red",fullWidth:!0,justify:"flex-start",bg:"light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",onClick:I,leftSection:o.jsx(i.HugeiconsIcon,{icon:i.lg,size:16,color:"var(--mantine-color-red-6)"}),children:d("editor.actions.delete")})]})})]})}let W=null;const Z=n.lazy(async()=>{var a;const s=await Promise.resolve().then(()=>require("./layers.CLVPhrnI.js")).then(b=>b.index);return!W&&s&&(W=s.exportToSvg||((a=s.default)==null?void 0:a.exportToSvg)||s.default),{default:s.Excalidraw}}),ee=()=>{const[s,a]=n.useState(null),b=n.useCallback(v=>a(v),[]);return[s,b]};function te({onSave:s,initialElements:a,initialAppState:b,initialFiles:v,isShown:m=!1,onDelete:c,onClose:B,isEdited:T}){const[r,D]=ee(),{i18n:g,t:L}=H.useTranslation(),{colorScheme:M}=y.useMantineColorScheme(),q=n.useRef(!1),[w,k]=n.useState(a),[d,R]=n.useState(v),[O,_]=n.useState(m);n.useEffect(()=>{m&&_(!0)},[m]),n.useEffect(()=>{!m||q.current||(q.current=!0,Promise.resolve().then(()=>require("./layers.Dyvby5gX.js")))},[m]),n.useEffect(()=>{m&&setTimeout(()=>{var e,p;(e=r==null?void 0:r.refresh)==null||e.call(r),(p=r==null?void 0:r.scrollToContent)==null||p.call(r)},500)},[m,r]),n.useEffect(()=>{if(!m)return;const e=(t,f)=>{const x=L(t);return x.startsWith("editor.menu")?f:x},p=e("editor.menu.excalidraw.tools.frameTool",g.language==="ru"?"Инструмент рамки":g.language==="es"?"Herramienta de marco":"Frame tool"),u=e("editor.menu.excalidraw.tools.webEmbed",g.language==="ru"?"Веб-встраивание":g.language==="es"?"Incrustación web":"Web Embed"),j=e("editor.menu.excalidraw.tools.generate",g.language==="ru"?"Генерировать":g.language==="es"?"Generar":"Generate"),A={"Frame tool":p,"Web Embed":u,"Web embeded":u,Generate:j},N=()=>{const t=document.querySelector(".App-toolbar__extra-tools-dropdown");if(!t)return;const f=document.createTreeWalker(t,NodeFilter.SHOW_TEXT,null);let x;for(;x=f.nextNode();)if(x.nodeType===Node.TEXT_NODE&&x.textContent){const $=x.textContent.trim();for(const[V,z]of Object.entries(A))if($===V&&z&&!$.includes(z)){x.textContent=x.textContent.replace(V,z);break}}},l=()=>{setTimeout(()=>{N()},0)},C=setTimeout(()=>{const t=document.querySelector(".excalidraw-container");if(t){const f=t.querySelector(".App-toolbar__extra-tools-trigger");f&&f.addEventListener("click",l)}},300);return()=>{clearTimeout(C);const t=document.querySelector(".excalidraw-container");if(t){const f=t.querySelector(".App-toolbar__extra-tools-trigger");f&&f.removeEventListener("click",l)}}},[m,g.language,L]);const I=n.useCallback(async()=>{var N,l,C;let e=W;if(!e||typeof e!="function"){const t=await Promise.resolve().then(()=>require("./layers.CLVPhrnI.js")).then(f=>f.index);e=t.exportToSvg||((N=t.default)==null?void 0:N.exportToSvg)||t.default,e&&typeof e=="function"&&(W=e)}if(!e||typeof e!="function"){const t=await Promise.resolve().then(()=>require("./layers.CLVPhrnI.js")).then(x=>x.index),f=t?Object.keys(t):[];throw console.error("Excalidraw module structure:",{keys:f,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: ${f.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`)}const p=((l=r==null?void 0:r.getAppState)==null?void 0:l.call(r))??b,u=await e({appState:p,elements:w,files:d}),j=(C=u==null?void 0:u.firstElementChild)==null?void 0:C.firstElementChild,A=u.getAttribute("viewBox");if(A!=null){const t=A.split(" ");u.setAttribute("width",t[2]),u.setAttribute("height",t[3])}return j&&j.tagName==="style"&&j.remove(),u.setAttribute("width","100%"),u.setAttribute("height","100%"),u.setAttribute("display","block"),u.classList.add("excalidraw-svg"),u.outerHTML},[w,d,r,b]),S=()=>{if(w&&w.filter(e=>!e.isDeleted).length>0){const e=r==null?void 0:r.getAppState(),p={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 u=await I();s(w,p,d,u)})()}else c()},h=(e,p,u)=>{(e==null?void 0:e.length)!==(a==null?void 0:a.length)&&(T.current=!0),k(e),R(u)};return o.jsx(K.BottomDrawerWithoutHeader,{opened:m,onClose:B,onSave:S,className:"excaildraw-modal",closeOnEscape:!1,children:O&&o.jsx(n.Suspense,{fallback:o.jsx("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",minHeight:"400px"},children:o.jsx(y.Loader,{size:"sm"})}),children:o.jsx(Z,{langCode:F.languageToLocaleMap[g.language],theme:M,onChange:h,excalidrawAPI:D,initialData:{appState:{...b||{isLoading:!1}},elements:a,files:v,scrollToContent:!0}})})})}function oe({nodeKey:s,data:a,width:b,height:v,alignment:m}){var N;const[c]=G.useLexicalComposerContext(),B=Y.useLexicalEditable(),T=n.useMemo(()=>F.parseExcalidrawData(a),[a]),r=((N=T==null?void 0:T.elements)==null?void 0:N.length)===0&&!T.previewSVG,[D,g]=n.useState(r&&c.isEditable()),[L,M]=n.useState(!1),q=n.useRef(null),w=n.useRef(null),k=n.useRef(null),[d,R,O]=U.useLexicalNodeSelection(s),_=n.useCallback(l=>(d&&(l.preventDefault(),c.update(()=>{const C=E.$getNodeByKey(s);C&&C.remove()})),!1),[c,d,s]);n.useEffect(()=>{if(!B){d&&O();return}return X.mergeRegister(c.registerCommand(E.CLICK_COMMAND,l=>{const C=w.current,t=l.target;return C!==null&&C.contains(t)?(l.shiftKey||O(),R(!d),l.detail>1&&g(!0),!0):!1},E.COMMAND_PRIORITY_LOW),c.registerCommand(E.KEY_DELETE_COMMAND,_,E.COMMAND_PRIORITY_LOW),c.registerCommand(E.KEY_BACKSPACE_COMMAND,_,E.COMMAND_PRIORITY_LOW))},[O,c,d,_,R,B]);const I=n.useCallback(()=>(g(!1),c.update(()=>{const l=E.$getNodeByKey(s);l&&l.remove()})),[c,s]),S=(l,C,t,f)=>c.update(()=>{const x=E.$getNodeByKey(s);i.$isExcalidrawNode(x)&&(l&&l.length>0||Object.keys(t).length>0?x.setData(JSON.stringify({appState:C,elements:l,files:t,previewSVG:f})):x.remove())}),{elements:h=[],files:e={},appState:p={},previewSVG:u}=T,j=n.useCallback(()=>{g(!1),M(!1),k.current=!1,(h==null?void 0:h.length)===0&&c.update(()=>{const l=E.$getNodeByKey(s);l&&l.remove()})},[c,s,h==null?void 0:h.length]),A=n.useCallback(()=>{k.current?M(!0):j()},[j]);return o.jsxs(o.Fragment,{children:[o.jsx(P,{isCloseModal:L,confirmClose:j,setCloseModalOpen:M}),o.jsx(te,{initialElements:h,isEdited:k,initialFiles:e,initialAppState:p,isShown:D,onDelete:I,onClose:A,onSave:(l,C,t,f)=>{S(l,C,t,f),g(!1)},closeOnClickOutside:!1}),(h==null?void 0:h.length)&&o.jsx("div",{style:{display:"flex",justifyContent:m},children:o.jsx(Q,{imageContainerRef:q,className:"image",width:b,height:v,editor:c,nodeKey:s,alignment:m,setModalOpen:g,previewSVG:u,isModalOpen:D})})]})}exports.default=oe;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),i=require("react"),z=require("react-i18next"),$=require("@lexical/react/LexicalComposerContext"),y=require("@mantine/core"),w=require("lexical"),q=require("@layers-app/shared"),e=require("./layers.BF5czbZm.js"),R=require("@mantine/hooks"),J=()=>{};function Q({nodeKey:t,src:r,id:a}){const{t:l}=z.useTranslation(),[h]=$.useLexicalComposerContext(),[m,f]=i.useState(!1),[c,p]=i.useState(!1),x=i.useCallback(()=>{h.update(()=>{const v=w.$getNodeByKey(t);e.$isImageNode(v)&&v.remove()})},[h,t]),j=i.useCallback(async()=>{if(r)try{await e.downloadImageFromExternalUrl(r,e.inferImageFilenameFromUrl(r))}catch{}},[r]);return n.jsxs("div",{className:"media-actions visible",style:{position:"absolute",top:10,right:10,zIndex:10,pointerEvents:"auto",display:"flex",gap:4},onClick:v=>v.stopPropagation(),children:[n.jsx(e.PreviewImage,{t:l,src:r,setShown:J,id:a}),n.jsx(e.AlignmentImage,{opened:m,setOpened:f,t:l,editor:h,nodeKey:t}),n.jsx(e.MediaActionMenu,{opened:c,onOpenChange:p,t:l,onDownload:()=>void j(),onDelete:x})]})}function K({nodeKey:t,src:r,id:a}){const{t:l}=z.useTranslation(),[h]=$.useLexicalComposerContext(),[m,{open:f,close:c}]=R.useDisclosure(!1),[p,{open:x,close:j}]=R.useDisclosure(!1),v=i.useMemo(()=>[{id:!a||a==="0"?"":a,Url:r??"",contentType:"",originalFileName:"",fileSize:0,storageType:"",storagePath:"",fileName:"",parentType:"",parentId:"",ownerId:"",createdAt:new Date,updatedAt:new Date,version:0,deleted:!1,deletedAt:new Date}],[r,a]),N=()=>{c(),x()},S=i.useCallback(async()=>{if(c(),!!r)try{await e.downloadImageFromExternalUrl(r,e.inferImageFilenameFromUrl(r))}catch{}},[r,c]),C=i.useCallback(()=>{c(),h.update(()=>{const s=w.$getNodeByKey(t);e.$isImageNode(s)&&s.remove()})},[h,t,c]);return n.jsxs(n.Fragment,{children:[n.jsx("div",{className:"image-touch-actions",style:{position:"absolute",top:8,right:8,zIndex:10,pointerEvents:"auto"},onClick:s=>s.stopPropagation(),children:n.jsx(e.ActionIcon,{label:l("editor.toolbar.more"),icon:e.O1,iconColor:"var(--mantine-color-gray-text)","aria-label":l("editor.toolbar.more"),onClick:f})}),n.jsx(q.AttachmentsGalleryModal,{opened:p,onOpenChange:s=>s?x():j(),attachments:v}),n.jsx(e.MobileDrawer,{opened:m,onClose:c,title:l("editor.image.mobileActions"),children:n.jsxs(y.Stack,{gap:4,p:0,children:[n.jsx(y.Button,{type:"button",variant:"subtle",color:"gray",fullWidth:!0,justify:"flex-start",bg:"light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",onClick:N,leftSection:n.jsx(e.HugeiconsIcon,{icon:e.gn,size:16,color:"var(--mantine-color-dimmed)"}),children:l("editor.image.previewFullScreen")}),n.jsx(y.Button,{type:"button",variant:"subtle",color:"gray",fullWidth:!0,justify:"flex-start",bg:"light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",onClick:()=>void S(),leftSection:n.jsx(e.HugeiconsIcon,{icon:e.Tm,size:16,color:"var(--mantine-color-dimmed)"}),children:l("editor.gallery.download")}),n.jsx(y.Button,{type:"button",variant:"subtle",color:"red",fullWidth:!0,justify:"flex-start",bg:"light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",onClick:C,leftSection:n.jsx(e.HugeiconsIcon,{icon:e.lg,size:16,color:"var(--mantine-color-red-6)"}),children:l("editor.actions.delete")})]})})]})}const H=t=>{const{width:r,height:a,isLoading:l,isError:h,src:m,id:f,altText:c,imageRef:p,maxWidth:x}=t;return n.jsxs("div",{className:"media-wrapper",style:{width:r,height:a,display:"inline-flex",position:"relative"},children:[n.jsx(y.LoadingOverlay,{visible:l,zIndex:1e3,overlayProps:{backgroundOpacity:.5},loaderProps:{size:24,color:"black"}}),n.jsx(ee,{className:null,src:m,altText:c,imageRef:p,width:"inherit",height:"inherit",maxWidth:x||"auto",id:f}),e.IS_TOUCH_DEVICE&&n.jsx(K,{nodeKey:t.nodeKey,src:m,id:f}),e.IS_TOUCH_TABLET&&n.jsx(Q,{nodeKey:t.nodeKey,src:m,id:f})]})};function ee({altText:t,className:r,imageRef:a,src:l,width:h,height:m,maxWidth:f,id:c}){const[p,x]=i.useState(!1);return n.jsx("img",{className:`${r||void 0} ${p?"":"loading"}`,src:l,alt:t,ref:a,style:{height:m,maxWidth:f,width:h},onLoad:()=>{l.includes("splash")?setTimeout(()=>{x(!0)},100):x(!0)},draggable:"false","data-id":c})}function te(t){const{disable:r}=i.useContext(e.Context);return r&&e.ImageNode.isPlaceholderSrc(t.src)?null:n.jsx(oe,{...t})}function oe({src:t,altText:r,nodeKey:a,width:l,height:h,maxWidth:m,showCaption:f,caption:c,id:p,create:x,alignment:j,imagePickerTab:v}){var F,B;const N=i.useRef(null),[S,C]=i.useState(!0),[s]=$.useLexicalComposerContext(),[b,E]=i.useState(!0),[I,A]=i.useState({width:0,height:0}),{start:L}=e.useCancelUpload(),[ne,O]=i.useState(0),{fetchUploadMedia:T,fetchDeleteMedia:W,maxFileSize:ie}=i.useContext(e.Context),k=e.mediaMap.has(t)&&(((F=e.mediaMap.get(t))==null?void 0:F.mediaNodeKeys.length)===0||((B=e.mediaMap.get(t))==null?void 0:B.mediaNodeKeys.length)===void 0||t.trim()===""),{t:D}=z.useTranslation(),[ae,V]=i.useState(0);i.useEffect(()=>s.registerDecoratorListener(()=>{V(o=>o+1)}),[k]),i.useEffect(()=>{if(!t||t.startsWith("data:image/")||!t.trim()){C(!1);return}const o=new Image;o.src=t,o.onload=()=>C(!1),o.onerror=()=>{C(!1)}},[t,k]);const G=(o,u)=>{s.update(()=>{w.$setSelection(null);const d=w.$getNodeByKey(a);e.$isImageNode(d)&&d.setWidthAndHeight(o,u)})},{historyState:U}=e.useSharedHistoryContext(),{settings:{showNestedEditorTreeView:_}}=e.useSettings();function X(o){return o.endsWith(".svg")||o.includes("image/svg+xml")}function Y(o){return new Promise((u,d)=>{if(X(o)){u(0);return}const g=new Image;g.src=o,g.onload=()=>{u(g.width)},g.onerror=()=>{d(new Error("Failed to load image"))}})}i.useEffect(()=>{let o=l,u=h,d=100;(t.includes("unsplash")?t.trim():!k&&t.trim()||t.includes("upload-src-editor"))&&t!=="upload"&&Y(t).then(g=>{typeof o=="number"&&o<d&&g<d?(E(!0),A({width:o,height:u})):g<d?(E(!0),A({width:"auto",height:"auto"})):(A({width:g,height:g}),E(!1))}).catch(g=>{console.warn("Ошибка при загрузке изображения:",g.message)})},[t,k]),i.useEffect(()=>{I.width&&I.height&&b&&s.update(()=>{const o=w.$getNodeByKey(a);e.$isImageNode(o)&&o.setWidthAndHeight(I.width,I.height)})},[I.width,I.height,b]);const Z=i.useCallback(o=>e.$writeImagePickerTabToNode(s,a,o),[s,a]),M=i.useCallback((o,u)=>{C(!1),s.update(()=>{const d=w.$getNodeByKey(a);e.$isImageNode(d)&&(d.setSrc(o),d.setId(u))})},[s,a]),P=i.useCallback(o=>{C(!0);const u=L();T&&T(o[0],(d,g)=>{M(d,g),O(0)},d=>{d&&q.showErrorNotification({message:D("editor.gallery.errorFile")}),O(0),M("","")},u,d=>{O(d)})},[T,L,D,M]);return i.useEffect(()=>s.registerCommand(e.UPLOAD_IMAGE_COMMAND,o=>t!=="upload"||o.targetNodeKey!==a?!1:(P(o.files),!0),w.COMMAND_PRIORITY_LOW),[s,P,a,t]),!t||t==="upload"?n.jsx(y.Box,{"data-editor-image-picker-drop-root":!0,w:"100%",children:n.jsx(e.ImagePicker,{inline:!0,nodeKey:a,defaultTabValue:v,onWriteTabToNode:Z,uploading:!1,onUpload:o=>{!T||!o.length||P(o)},popoverProps:{opened:!0,position:"bottom",zIndex:e.EDITOR_UI_MIN_Z_INDEX},onChange:o=>{s.update(()=>{const u=w.$getNodeByKey(a);e.$isImageNode(u)&&u.setSrc(o)})}})}):b?n.jsx(H,{width:I.width,height:I.height,isLoading:S,isError:!1,isIcon:b,src:t,id:p,editor:s,nodeKey:a,fetchDeleteMedia:W,altText:r,imageRef:N,maxWidth:m,showCaption:f,caption:c,isCollabActive:!1,historyState:U,showNestedEditorTreeView:_,t:D}):n.jsx(e.ResizableContainer,{editor:s,isIcon:b,width:e.parseContainerSize(l),height:e.parseContainerSize(h),initialWidth:I.width||"",initialHeight:I.height||"",onResizeEnd:G,alignment:j,children:n.jsx(H,{width:"inherit",height:"inherit",isLoading:S,isError:!1,isIcon:b,src:t,id:p,editor:s,nodeKey:a,fetchDeleteMedia:W,altText:r,imageRef:N,maxWidth:m,showCaption:f,caption:c,isCollabActive:!1,historyState:U,showNestedEditorTreeView:_,t:D})})}exports.default=te;
@@ -1 +0,0 @@
1
- "use strict";const n=require("./layers.DTUuZqOa.js"),s=(e,r)=>n.Utils.lang.round(n.Color.parse(e)[r]);exports.channel=s;
@@ -1,533 +0,0 @@
1
- import { jsx as n, jsxs as S, Fragment as oe } from "react/jsx-runtime";
2
- import { useMemo as re, useState as _, useEffect as z, useRef as F, useCallback as R, Suspense as le, lazy as ie } from "react";
3
- import { useLexicalComposerContext as ae } from "@lexical/react/LexicalComposerContext";
4
- import { useLexicalEditable as se } from "@lexical/react/useLexicalEditable";
5
- import { useLexicalNodeSelection as ce } from "@lexical/react/useLexicalNodeSelection";
6
- import { mergeRegister as de } from "@lexical/utils";
7
- import { $setSelection as ue, $getNodeByKey as H, CLICK_COMMAND as fe, COMMAND_PRIORITY_LOW as $, KEY_DELETE_COMMAND as me, KEY_BACKSPACE_COMMAND as ge } from "lexical";
8
- import { R as he, b as q, y as Q, m as Y, K as be, F as Z, A as pe, p as K, G as xe, M as Ce, H as P, a as ne, J as ee } from "./layers.C8scOXtX.js";
9
- import { l as ve, p as Ee } from "./layers.DilA0qnM.js";
10
- import { useTranslation as J } from "react-i18next";
11
- import { Modal as we, Text as ye, Flex as Te, Button as G, Box as te, Stack as ke, useMantineColorScheme as Me, Loader as De } from "@mantine/core";
12
- import { useDisclosure as Oe } from "@mantine/hooks";
13
- import { BottomDrawerWithoutHeader as Se } from "@layers-app/shared";
14
- const _e = ({
15
- isCloseModal: r,
16
- setCloseModalOpen: i,
17
- confirmClose: b
18
- }) => {
19
- const { t: p } = J();
20
- return /* @__PURE__ */ n(
21
- we,
22
- {
23
- opened: r,
24
- onClose: () => {
25
- i(!1);
26
- },
27
- centered: !0,
28
- title: p("editor.unsavedChanges.title"),
29
- closeOnClickOutside: !0,
30
- closeOnEscape: !0,
31
- size: "500",
32
- zIndex: 999,
33
- children: /* @__PURE__ */ S("div", { children: [
34
- /* @__PURE__ */ n(ye, { mb: "md", children: p("editor.unsavedChanges.message") }),
35
- /* @__PURE__ */ S(Te, { justify: "flex-end", gap: "sm", children: [
36
- /* @__PURE__ */ n(
37
- G,
38
- {
39
- variant: "default",
40
- onClick: () => {
41
- i(!1);
42
- },
43
- fullWidth: !0,
44
- children: p("editor.unsavedChanges.cancel")
45
- }
46
- ),
47
- /* @__PURE__ */ n(G, { color: "red", onClick: b, fullWidth: !0, children: p("editor.unsavedChanges.closeWithoutSaving") })
48
- ] })
49
- ] })
50
- }
51
- );
52
- };
53
- function Ne({
54
- imageContainerRef: r,
55
- editor: i,
56
- rootClassName: b = null,
57
- width: p = "inherit",
58
- height: f = "inherit",
59
- nodeKey: a,
60
- alignment: N,
61
- setModalOpen: C,
62
- previewSVG: o,
63
- isModalOpen: k
64
- }) {
65
- const u = re(() => o ?? "", [o]), [B, y] = _(!1), [
66
- L,
67
- { open: v, close: E }
68
- ] = Oe(!1), { t: c } = J();
69
- z(() => {
70
- k && y(!1);
71
- }, [k]);
72
- const A = (T, g) => {
73
- i.update(() => {
74
- ue(null);
75
- const e = H(a);
76
- return ne(e) && e.setWidthAndHeight(T, g), !0;
77
- });
78
- }, M = () => {
79
- ee(i, a);
80
- }, D = () => {
81
- E(), C(!0);
82
- }, j = () => {
83
- E(), ee(i, a);
84
- };
85
- return /* @__PURE__ */ S(
86
- he,
87
- {
88
- editor: i,
89
- isIcon: !1,
90
- isEmbed: !0,
91
- width: Q(p),
92
- height: Q(f),
93
- onResizeEnd: A,
94
- alignment: N,
95
- children: [
96
- /* @__PURE__ */ S(te, { className: "media-wrapper excaildraw", children: [
97
- /* @__PURE__ */ n(
98
- "div",
99
- {
100
- className: `media-actions${q || !xe ? " visible" : ""}`,
101
- children: q ? /* @__PURE__ */ n(
102
- Y,
103
- {
104
- "aria-label": c("editor.toolbar.more"),
105
- label: c("editor.toolbar.more"),
106
- flexBorder: !0,
107
- onClick: v,
108
- icon: be,
109
- iconColor: "var(--mantine-color-gray-text)"
110
- }
111
- ) : /* @__PURE__ */ S(oe, { children: [
112
- /* @__PURE__ */ n(
113
- Y,
114
- {
115
- "aria-label": "Settings",
116
- label: c("editor.link.edit"),
117
- flexBorder: !0,
118
- onClick: () => {
119
- C(!0);
120
- },
121
- icon: Z,
122
- iconColor: "var(--mantine-color-gray-text)"
123
- }
124
- ),
125
- /* @__PURE__ */ n(
126
- pe,
127
- {
128
- opened: B,
129
- setOpened: y,
130
- t: c,
131
- editor: i,
132
- nodeKey: a,
133
- flexBorder: !0
134
- }
135
- ),
136
- /* @__PURE__ */ n(
137
- Y,
138
- {
139
- "aria-label": "Delete",
140
- label: c("editor.actions.delete"),
141
- flexBorder: !0,
142
- onClick: M,
143
- icon: K,
144
- iconColor: "var(--mantine-color-red-outline)"
145
- }
146
- )
147
- ] })
148
- }
149
- ),
150
- /* @__PURE__ */ n(
151
- te,
152
- {
153
- w: "100%",
154
- ref: (T) => {
155
- T && r && (r.current = T);
156
- },
157
- className: b ?? "",
158
- dangerouslySetInnerHTML: { __html: u }
159
- }
160
- )
161
- ] }),
162
- q && /* @__PURE__ */ n(
163
- Ce,
164
- {
165
- opened: L,
166
- onClose: E,
167
- title: c("editor.image.mobileActions"),
168
- children: /* @__PURE__ */ S(ke, { gap: 4, p: 0, children: [
169
- /* @__PURE__ */ n(
170
- G,
171
- {
172
- type: "button",
173
- variant: "subtle",
174
- color: "gray",
175
- fullWidth: !0,
176
- justify: "flex-start",
177
- bg: "light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",
178
- onClick: D,
179
- leftSection: /* @__PURE__ */ n(
180
- P,
181
- {
182
- icon: Z,
183
- size: 16,
184
- color: "var(--mantine-color-dimmed)"
185
- }
186
- ),
187
- children: c("editor.link.edit")
188
- }
189
- ),
190
- /* @__PURE__ */ n(
191
- G,
192
- {
193
- type: "button",
194
- variant: "subtle",
195
- color: "red",
196
- fullWidth: !0,
197
- justify: "flex-start",
198
- bg: "light-dark(var(--mantine-color-gray-0), var(--mantine-color-gray-outline-hover))",
199
- onClick: j,
200
- leftSection: /* @__PURE__ */ n(
201
- P,
202
- {
203
- icon: K,
204
- size: 16,
205
- color: "var(--mantine-color-red-6)"
206
- }
207
- ),
208
- children: c("editor.actions.delete")
209
- }
210
- )
211
- ] })
212
- }
213
- )
214
- ]
215
- }
216
- );
217
- }
218
- let V = null;
219
- const Be = /* @__PURE__ */ ie(async () => {
220
- var i;
221
- const r = await import("./layers.GsD0_GxX.js").then((b) => b.M);
222
- return !V && r && (V = r.exportToSvg || ((i = r.default) == null ? void 0 : i.exportToSvg) || r.default), { default: r.Excalidraw };
223
- }), Le = () => {
224
- const [r, i] = _(
225
- null
226
- ), b = R(
227
- (p) => i(p),
228
- []
229
- );
230
- return [r, b];
231
- };
232
- function Ae({
233
- onSave: r,
234
- initialElements: i,
235
- initialAppState: b,
236
- initialFiles: p,
237
- isShown: f = !1,
238
- onDelete: a,
239
- onClose: N,
240
- isEdited: C
241
- }) {
242
- const [o, k] = Le(), { i18n: u, t: B } = J(), { colorScheme: y } = Me(), L = F(!1), [v, E] = _(i), [c, A] = _(p), [M, D] = _(f);
243
- z(() => {
244
- f && D(!0);
245
- }, [f]), z(() => {
246
- !f || L.current || (L.current = !0, Promise.resolve({ }));
247
- }, [f]), z(() => {
248
- f && setTimeout(() => {
249
- var e, x;
250
- (e = o == null ? void 0 : o.refresh) == null || e.call(o), (x = o == null ? void 0 : o.scrollToContent) == null || x.call(o);
251
- }, 500);
252
- }, [f, o]), z(() => {
253
- if (!f)
254
- return;
255
- const e = (t, d) => {
256
- const m = B(t);
257
- return m.startsWith("editor.menu") ? d : m;
258
- }, x = e(
259
- "editor.menu.excalidraw.tools.frameTool",
260
- u.language === "ru" ? "Инструмент рамки" : u.language === "es" ? "Herramienta de marco" : "Frame tool"
261
- ), s = e(
262
- "editor.menu.excalidraw.tools.webEmbed",
263
- u.language === "ru" ? "Веб-встраивание" : u.language === "es" ? "Incrustación web" : "Web Embed"
264
- ), w = e(
265
- "editor.menu.excalidraw.tools.generate",
266
- u.language === "ru" ? "Генерировать" : u.language === "es" ? "Generar" : "Generate"
267
- ), W = {
268
- "Frame tool": x,
269
- "Web Embed": s,
270
- "Web embeded": s,
271
- Generate: w
272
- }, O = () => {
273
- const t = document.querySelector(".App-toolbar__extra-tools-dropdown");
274
- if (!t)
275
- return;
276
- const d = document.createTreeWalker(
277
- t,
278
- NodeFilter.SHOW_TEXT,
279
- null
280
- );
281
- let m;
282
- for (; m = d.nextNode(); )
283
- if (m.nodeType === Node.TEXT_NODE && m.textContent) {
284
- const X = m.textContent.trim();
285
- for (const [U, I] of Object.entries(W))
286
- if (X === U && I && !X.includes(I)) {
287
- m.textContent = m.textContent.replace(U, I);
288
- break;
289
- }
290
- }
291
- }, l = () => {
292
- setTimeout(() => {
293
- O();
294
- }, 0);
295
- }, h = setTimeout(() => {
296
- const t = document.querySelector(
297
- ".excalidraw-container"
298
- );
299
- if (t) {
300
- const d = t.querySelector(
301
- ".App-toolbar__extra-tools-trigger"
302
- );
303
- d && d.addEventListener("click", l);
304
- }
305
- }, 300);
306
- return () => {
307
- clearTimeout(h);
308
- const t = document.querySelector(
309
- ".excalidraw-container"
310
- );
311
- if (t) {
312
- const d = t.querySelector(
313
- ".App-toolbar__extra-tools-trigger"
314
- );
315
- d && d.removeEventListener("click", l);
316
- }
317
- };
318
- }, [f, u.language, B]);
319
- const j = R(async () => {
320
- var O, l, h;
321
- let e = V;
322
- if (!e || typeof e != "function") {
323
- const t = await import("./layers.GsD0_GxX.js").then((d) => d.M);
324
- e = t.exportToSvg || ((O = t.default) == null ? void 0 : O.exportToSvg) || t.default, e && typeof e == "function" && (V = e);
325
- }
326
- if (!e || typeof e != "function") {
327
- const t = await import("./layers.GsD0_GxX.js").then((m) => m.M), d = t ? Object.keys(t) : [];
328
- throw console.error("Excalidraw module structure:", {
329
- keys: d,
330
- hasExportToSvg: t && "exportToSvg" in t,
331
- hasDefault: t && "default" in t,
332
- moduleType: typeof t,
333
- module: t
334
- }), new Error(
335
- `exportToSvg is not available from @excalidraw/excalidraw. Module keys: ${d.join(", ")}. Please ensure @excalidraw/excalidraw is properly installed.`
336
- );
337
- }
338
- const x = ((l = o == null ? void 0 : o.getAppState) == null ? void 0 : l.call(o)) ?? b, s = await e({
339
- appState: x,
340
- elements: v,
341
- files: c
342
- }), w = (h = s == null ? void 0 : s.firstElementChild) == null ? void 0 : h.firstElementChild, W = s.getAttribute("viewBox");
343
- if (W != null) {
344
- const t = W.split(" ");
345
- s.setAttribute("width", t[2]), s.setAttribute("height", t[3]);
346
- }
347
- return w && w.tagName === "style" && w.remove(), s.setAttribute("width", "100%"), s.setAttribute("height", "100%"), s.setAttribute("display", "block"), s.classList.add("excalidraw-svg"), s.outerHTML;
348
- }, [v, c, o, b]), T = () => {
349
- if (v && v.filter((e) => !e.isDeleted).length > 0) {
350
- const e = o == null ? void 0 : o.getAppState(), x = {
351
- exportBackground: e == null ? void 0 : e.exportBackground,
352
- exportScale: e == null ? void 0 : e.exportScale,
353
- exportWithDarkMode: (e == null ? void 0 : e.theme) === "dark",
354
- isBindingEnabled: e == null ? void 0 : e.isBindingEnabled,
355
- isLoading: e == null ? void 0 : e.isLoading,
356
- name: e == null ? void 0 : e.name,
357
- theme: e == null ? void 0 : e.theme,
358
- viewBackgroundColor: e == null ? void 0 : e.viewBackgroundColor,
359
- viewModeEnabled: e == null ? void 0 : e.viewModeEnabled,
360
- zenModeEnabled: e == null ? void 0 : e.zenModeEnabled,
361
- zoom: e == null ? void 0 : e.zoom
362
- };
363
- (async () => {
364
- const s = await j();
365
- r(v, x, c, s);
366
- })();
367
- } else
368
- a();
369
- }, g = (e, x, s) => {
370
- (e == null ? void 0 : e.length) !== (i == null ? void 0 : i.length) && (C.current = !0), E(e), A(s);
371
- };
372
- return /* @__PURE__ */ n(
373
- Se,
374
- {
375
- opened: f,
376
- onClose: N,
377
- onSave: T,
378
- className: "excaildraw-modal",
379
- closeOnEscape: !1,
380
- children: M && /* @__PURE__ */ n(
381
- le,
382
- {
383
- fallback: /* @__PURE__ */ n(
384
- "div",
385
- {
386
- style: {
387
- display: "flex",
388
- justifyContent: "center",
389
- alignItems: "center",
390
- height: "100%",
391
- minHeight: "400px"
392
- },
393
- children: /* @__PURE__ */ n(De, { size: "sm" })
394
- }
395
- ),
396
- children: /* @__PURE__ */ n(
397
- Be,
398
- {
399
- langCode: ve[u.language],
400
- theme: y,
401
- onChange: g,
402
- excalidrawAPI: k,
403
- initialData: {
404
- appState: { ...b || { isLoading: !1 } },
405
- elements: i,
406
- files: p,
407
- scrollToContent: !0
408
- }
409
- }
410
- )
411
- }
412
- )
413
- }
414
- );
415
- }
416
- function Xe({
417
- nodeKey: r,
418
- data: i,
419
- width: b,
420
- height: p,
421
- alignment: f
422
- }) {
423
- var O;
424
- const [a] = ae(), N = se(), C = re(() => Ee(i), [i]), o = ((O = C == null ? void 0 : C.elements) == null ? void 0 : O.length) === 0 && !C.previewSVG, [k, u] = _(
425
- o && a.isEditable()
426
- ), [B, y] = _(!1), L = F(null), v = F(null), E = F(null), [c, A, M] = ce(r), D = R(
427
- (l) => (c && (l.preventDefault(), a.update(() => {
428
- const h = H(r);
429
- h && h.remove();
430
- })), !1),
431
- [a, c, r]
432
- );
433
- z(() => {
434
- if (!N) {
435
- c && M();
436
- return;
437
- }
438
- return de(
439
- a.registerCommand(
440
- fe,
441
- (l) => {
442
- const h = v.current, t = l.target;
443
- return h !== null && h.contains(t) ? (l.shiftKey || M(), A(!c), l.detail > 1 && u(!0), !0) : !1;
444
- },
445
- $
446
- ),
447
- a.registerCommand(
448
- me,
449
- D,
450
- $
451
- ),
452
- a.registerCommand(
453
- ge,
454
- D,
455
- $
456
- )
457
- );
458
- }, [M, a, c, D, A, N]);
459
- const j = R(() => (u(!1), a.update(() => {
460
- const l = H(r);
461
- l && l.remove();
462
- })), [a, r]), T = (l, h, t, d) => a.update(() => {
463
- const m = H(r);
464
- ne(m) && (l && l.length > 0 || Object.keys(t).length > 0 ? m.setData(
465
- JSON.stringify({
466
- appState: h,
467
- elements: l,
468
- files: t,
469
- previewSVG: d
470
- })
471
- ) : m.remove());
472
- }), { elements: g = [], files: e = {}, appState: x = {}, previewSVG: s } = C, w = R(() => {
473
- u(!1), y(!1), E.current = !1, (g == null ? void 0 : g.length) === 0 && a.update(() => {
474
- const l = H(r);
475
- l && l.remove();
476
- });
477
- }, [a, r, g == null ? void 0 : g.length]), W = R(() => {
478
- E.current ? y(!0) : w();
479
- }, [w]);
480
- return /* @__PURE__ */ S(oe, { children: [
481
- /* @__PURE__ */ n(
482
- _e,
483
- {
484
- isCloseModal: B,
485
- confirmClose: w,
486
- setCloseModalOpen: y
487
- }
488
- ),
489
- /* @__PURE__ */ n(
490
- Ae,
491
- {
492
- initialElements: g,
493
- isEdited: E,
494
- initialFiles: e,
495
- initialAppState: x,
496
- isShown: k,
497
- onDelete: j,
498
- onClose: W,
499
- onSave: (l, h, t, d) => {
500
- T(l, h, t, d), u(!1);
501
- },
502
- closeOnClickOutside: !1
503
- }
504
- ),
505
- (g == null ? void 0 : g.length) && /* @__PURE__ */ n(
506
- "div",
507
- {
508
- style: {
509
- display: "flex",
510
- justifyContent: f
511
- },
512
- children: /* @__PURE__ */ n(
513
- Ne,
514
- {
515
- imageContainerRef: L,
516
- className: "image",
517
- width: b,
518
- height: p,
519
- editor: a,
520
- nodeKey: r,
521
- alignment: f,
522
- setModalOpen: u,
523
- previewSVG: s,
524
- isModalOpen: k
525
- }
526
- )
527
- }
528
- )
529
- ] });
530
- }
531
- export {
532
- Xe as default
533
- };
@@ -1,6 +0,0 @@
1
- import { e as o, j as s, o as f } from "./layers.GsD0_GxX.js";
2
- export {
3
- o as default,
4
- s as en,
5
- f as kaa
6
- };
@@ -1,8 +0,0 @@
1
- import { C as e, Q as t, N as m, A as r } from "./layers.czDrchz1.js";
2
- import "./layers.GsD0_GxX.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.kpBucBt1.js");require("./layers.CLVPhrnI.js");exports.Commands=e.CB;exports.subsetToBase64=e.QB;exports.subsetToBinary=e.NQ;exports.toBase64=e.AI;