@layers-app/editor 2.2.37 → 2.2.39

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/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +2 -3
  3. package/dist/index.js +2 -2
  4. package/dist/{layers.DE0lto0l.js → layers.-owKjqHV.js} +1 -1
  5. package/dist/layers.3z4hpfnU.js +16 -0
  6. package/dist/{layers.N9TTcKK5.js → layers.5hidirvk.js} +1 -1
  7. package/dist/{layers.D_-WguFZ.js → layers.5n2MOy3N.js} +3 -3
  8. package/dist/{layers.DTGO7e4p.js → layers.6_jHps_7.js} +1 -1
  9. package/dist/{layers.Da_khRYC.js → layers.8FM5NsxV.js} +22 -22
  10. package/dist/{layers.CitfmECv.js → layers.8rMIQVL-.js} +2 -2
  11. package/dist/{layers.DUgI5-kc.js → layers.9uSonYCj.js} +1 -1
  12. package/dist/{layers.Dzf33-m2.js → layers.B-8WoW9I.js} +3 -3
  13. package/dist/{layers.DHr-aIMz.js → layers.B-WeTIhF.js} +4 -4
  14. package/dist/{layers.C0Mmse5l.js → layers.B06CSm2p.js} +1 -1
  15. package/dist/{layers.CiKOlVrq.js → layers.B0ofc_1O.js} +1 -1
  16. package/dist/{layers.B2rLYZn2.js → layers.B1G1bgWO.js} +1 -1
  17. package/dist/{layers.BX647fKL.js → layers.B1N5QoW_.js} +1 -1
  18. package/dist/{layers.CJGp5rn8.js → layers.B3Akj7E1.js} +1 -1
  19. package/dist/{layers.BvetzZVJ.js → layers.B4MwyYlr.js} +1 -1
  20. package/dist/{layers.BCeNFVhD.js → layers.B6QJltN6.js} +1 -1
  21. package/dist/{layers.BiJ8hfRt.js → layers.B7K7JjK6.js} +3 -3
  22. package/dist/{layers.Clmytlu8.js → layers.B9kZdVly.js} +1 -1
  23. package/dist/{layers.BUTgqhuh.js → layers.BA-fPjo6.js} +1 -1
  24. package/dist/{layers.Yon6do_2.js → layers.BA-jTXAv.js} +1 -1
  25. package/dist/{layers.BUiGL5lO.js → layers.BC0-inqe.js} +1 -1
  26. package/dist/{layers.BvWAB_E-.js → layers.BCoxinD3.js} +4 -4
  27. package/dist/{layers.qlxfFSC1.js → layers.BDnlMlKY.js} +1 -1
  28. package/dist/{layers.C4KkJS-M.js → layers.BDvX-pLw.js} +1 -1
  29. package/dist/{layers.lqQpDooA.js → layers.BH0SQ40e.js} +1 -1
  30. package/dist/{layers.I46X2w13.js → layers.BHFREp9F.js} +1 -1
  31. package/dist/{layers.g6X5iTod.js → layers.BIA7ec4C.js} +1 -1
  32. package/dist/{layers.Cl5vvJQD.js → layers.BJFAAorh.js} +1 -1
  33. package/dist/{layers.Cn8n8ApN.js → layers.BJVQ0qMs.js} +1 -1
  34. package/dist/{layers.DQ1JcsCk.js → layers.BKNDBDHu.js} +4 -4
  35. package/dist/{layers.DPRf6eFH.js → layers.BM23pRdt.js} +1 -1
  36. package/dist/{layers.CoQyq9wn.js → layers.BM3g7Gca.js} +1 -1
  37. package/dist/{layers.DNnQZQUd.js → layers.BO_W3Sg4.js} +1 -1
  38. package/dist/{layers.CNMjo9Su.js → layers.BOinKQOK.js} +1 -1
  39. package/dist/{layers.DVzt480x.js → layers.BQFlMXtw.js} +1 -1
  40. package/dist/{layers.D0YgOOvq.js → layers.BQGg7n31.js} +1 -1
  41. package/dist/{layers.nz9SPmtr.js → layers.BTFVPBI8.js} +1 -1
  42. package/dist/{layers.TNo_tbS0.js → layers.BTdHI6vd.js} +1 -1
  43. package/dist/{layers.BFBdqsQn.js → layers.BUSJvT4D.js} +1 -1
  44. package/dist/{layers.CURhUJKK.js → layers.BV6x-7O6.js} +1 -1
  45. package/dist/{layers.GXdxvBMb.js → layers.BWYG-epf.js} +1 -1
  46. package/dist/layers.BXWDzDej.js +1313 -0
  47. package/dist/{layers.CIA5oJe6.js → layers.BXdOndbk.js} +1 -1
  48. package/dist/{layers.C8gAFYfM.js → layers.BZKn--pW.js} +1 -1
  49. package/dist/{layers.CRcIJ88r.js → layers.BZa1ZhQx.js} +1 -1
  50. package/dist/{layers.BgVYZdDj.js → layers.BZy5Uzzw.js} +1 -1
  51. package/dist/layers.BZzKS_Ht.js +8590 -0
  52. package/dist/{layers.CvF_nRL-.js → layers.B_wCJnJ6.js} +1 -1
  53. package/dist/{layers.D_2aZz7B.js → layers.B_zW-Tk4.js} +1 -1
  54. package/dist/{layers.Ds6x4GmG.js → layers.Ba4F6POA.js} +3 -3
  55. package/dist/{layers.Dbts3SXb.js → layers.BbU1f-so.js} +3 -3
  56. package/dist/{layers.CLBZ_xZY.js → layers.BdE98P_O.js} +6 -6
  57. package/dist/{layers.BS4TMXPM.js → layers.BeA18HPd.js} +1 -1
  58. package/dist/{layers.DsOKg8mO.js → layers.BeBFX8T_.js} +1 -1
  59. package/dist/{layers.BefUkQfQ.js → layers.BeVROkoW.js} +1 -1
  60. package/dist/{layers.BLxxkfNG.js → layers.BebJaZC1.js} +1 -1
  61. package/dist/{layers.MUmDmFTx.js → layers.BgCKcFR4.js} +1 -1
  62. package/dist/{layers.DdwNmVSN.js → layers.BgR-VV0P.js} +2 -2
  63. package/dist/{layers.B__6CiQr.js → layers.BneK1qna.js} +1 -1
  64. package/dist/{layers.CUZQsIat.js → layers.Boff2IGc.js} +1 -1
  65. package/dist/{layers.BRFAHJsX.js → layers.BpEQSX7Z.js} +1 -1
  66. package/dist/{layers.CYdUlVFC.js → layers.BpNv93hm.js} +1 -1
  67. package/dist/{layers.CqM6KxHi.js → layers.BqipSFwO.js} +1 -1
  68. package/dist/{layers.CKPeZY-v.js → layers.BrN17oUW.js} +1 -1
  69. package/dist/layers.Bt-yfyCM.js +423 -0
  70. package/dist/{layers.4HnOC8vc.js → layers.BtilEv7W.js} +1 -1
  71. package/dist/{layers.BWmMt3Sm.js → layers.BwGpsJ4u.js} +1 -1
  72. package/dist/{layers.ZwPYtbTn.js → layers.C1GrAiVZ.js} +1 -1
  73. package/dist/{layers.DwEU2scc.js → layers.C2JYa_2H.js} +1 -1
  74. package/dist/{layers.ifvy7VXO.js → layers.C2oKI1GV.js} +1 -1
  75. package/dist/{layers.UWD7BdoE.js → layers.C3QxGl_1.js} +1 -1
  76. package/dist/{layers.C5FpZ40R.js → layers.C45oKzh5.js} +1 -1
  77. package/dist/{layers.Crhsz8U1.js → layers.C76hHFV5.js} +11 -11
  78. package/dist/{layers.BGaAUn48.js → layers.C8GRvyED.js} +1 -1
  79. package/dist/layers.C8a6CwP_.js +425 -0
  80. package/dist/{layers.BA4dM0kt.js → layers.C9CD3Ubz.js} +1 -1
  81. package/dist/layers.CBjrPOu6.js +8 -0
  82. package/dist/{layers.xMrjHFgu.js → layers.CCAqDLz2.js} +3 -3
  83. package/dist/{layers.y1llFypr.js → layers.CDPYEtGK.js} +1 -1
  84. package/dist/{layers.i6iQ_A1w.js → layers.CEW9Y90t.js} +1 -1
  85. package/dist/{layers.i0acK1hq.js → layers.CFhU1U3X.js} +3 -3
  86. package/dist/{layers.C9oRJN6e.js → layers.CHTW7w8j.js} +1 -1
  87. package/dist/{layers.CpD8zQ5q.js → layers.CHXl3j9e.js} +1 -1
  88. package/dist/{layers.DH6LOe1h.js → layers.CJpZDp7M.js} +1 -1
  89. package/dist/{layers.l7bIkoeb.js → layers.CKRjKRWX.js} +1 -1
  90. package/dist/{layers.CSMAUJoM.js → layers.CL7wA00x.js} +1 -1
  91. package/dist/{layers.Jrlf_Hw8.js → layers.CLMBiK0a.js} +1 -1
  92. package/dist/{layers.BqIJXJ-L.js → layers.CLjqbblh.js} +1 -1
  93. package/dist/{layers.C8a1nCvT.js → layers.CO9knj3N.js} +1 -1
  94. package/dist/{layers.tfADU15Z.js → layers.CQo7rAzJ.js} +1 -1
  95. package/dist/{layers.DPlAQOHK.js → layers.CUnHWxZv.js} +1 -1
  96. package/dist/{layers.DbwvV8bz.js → layers.CW1ZIhhZ.js} +1 -1
  97. package/dist/{layers.uuKc7eHL.js → layers.CY7OxUJF.js} +1 -1
  98. package/dist/{layers.D1PvKD-e.js → layers.CYP2eKGO.js} +10 -10
  99. package/dist/{layers.BHsEMnIA.js → layers.CYXmfjKq.js} +1 -1
  100. package/dist/{layers.BONul5c2.js → layers.CZBDium5.js} +1 -1
  101. package/dist/{layers.BgOa2ZQq.js → layers.C_IvrzZ3.js} +1 -1
  102. package/dist/{layers.CIUd6cEl.js → layers.C_PpV0a5.js} +1 -1
  103. package/dist/{layers.C5Tl4WT_.js → layers.CauU55La.js} +1 -1
  104. package/dist/{layers.CcwKZvas.js → layers.CbfHZRKp.js} +1 -1
  105. package/dist/{layers.DH_oCrnu.js → layers.CdBHvMBb.js} +1 -1
  106. package/dist/layers.CdW7OZ6z.js +96 -0
  107. package/dist/{layers.BDD7VY02.js → layers.CfOWffIm.js} +1 -1
  108. package/dist/{layers.DzGBJwqP.js → layers.Cg1x2G31.js} +1 -1
  109. package/dist/{layers.DAno7RUu.js → layers.CiShUrf7.js} +5 -5
  110. package/dist/{layers.DAnJrfGZ.js → layers.CjSeEWXG.js} +4 -4
  111. package/dist/{layers.Zhcg-gYX.js → layers.Cke9Oy_D.js} +1 -1
  112. package/dist/{layers.C5RUURgY.js → layers.CmS6rg8R.js} +1 -1
  113. package/dist/{layers.1ml6h6le.js → layers.CmcRlu6P.js} +1 -1
  114. package/dist/{layers.D8qyrbM2.js → layers.CmenZVdl.js} +1 -1
  115. package/dist/{layers.BpbR27Rn.js → layers.Cr72jVG7.js} +3 -3
  116. package/dist/{layers.BwhxtsKZ.js → layers.CroQ5zug.js} +1 -1
  117. package/dist/layers.Cs58YuTI.js +1 -0
  118. package/dist/{layers.BTdUZ8qH.js → layers.CtY9zPeF.js} +1 -1
  119. package/dist/{layers.62vwA4k-.js → layers.CvVA1BEe.js} +1 -1
  120. package/dist/{layers.DiKXxsJQ.js → layers.CvliPXiJ.js} +1 -1
  121. package/dist/layers.Cw1kMAsl.js +6 -0
  122. package/dist/{layers.DiZMtPjy.js → layers.CxacO-LY.js} +1 -1
  123. package/dist/{layers.Bia2l892.js → layers.D2_svYTD.js} +1 -1
  124. package/dist/{layers.CbKS5Mm-.js → layers.D2vDtg7z.js} +2 -2
  125. package/dist/{layers.Bm4S-Boj.js → layers.D47h6GlS.js} +1 -1
  126. package/dist/{layers.De8aPH1u.js → layers.D4QZ19UT.js} +1 -1
  127. package/dist/layers.D6lY_3UF.js +1 -0
  128. package/dist/{layers.Bb22AZNC.js → layers.D7c7Av2e.js} +4 -4
  129. package/dist/layers.DA_UUeYz.js +6 -0
  130. package/dist/{layers.CV4fI9yH.js → layers.DC5QbdwD.js} +1 -1
  131. package/dist/{layers.CVHEo058.js → layers.DCB98xx_.js} +1 -1
  132. package/dist/layers.DCt6JV-Z.js +51 -0
  133. package/dist/{layers.fWOLESII.js → layers.DDwZIIN7.js} +2 -2
  134. package/dist/{layers.DJUryer8.js → layers.DIZFYhqM.js} +1 -1
  135. package/dist/{layers.FhSn8BX3.js → layers.DJLEhkGq.js} +1 -1
  136. package/dist/{layers.BNtxmEdj.js → layers.DMNMYNJf.js} +1 -1
  137. package/dist/{layers.BSLywmEL.js → layers.DR0jwzWc.js} +1 -1
  138. package/dist/{layers.VzRD1LJ4.js → layers.DRKTw-N-.js} +1 -1
  139. package/dist/{layers.DebCtA5e.js → layers.DRXgOIaj.js} +1 -1
  140. package/dist/{layers.D9olyo74.js → layers.DU7YyGRb.js} +1 -1
  141. package/dist/{layers.iCzR2CdS.js → layers.DXNww2DQ.js} +1 -1
  142. package/dist/layers.DXOudqWU.js +1 -0
  143. package/dist/{layers.C2urr8-X.js → layers.D_Q0sJVN.js} +1 -1
  144. package/dist/{layers.BIvaK_8A.js → layers.Da7LCbJf.js} +1 -1
  145. package/dist/layers.DaxIHSrE.js +1 -0
  146. package/dist/{layers.BEuymXx5.js → layers.Dh-m5G3g.js} +1 -1
  147. package/dist/{layers.CDI34qQO.js → layers.DiAoGYDr.js} +1 -1
  148. package/dist/{layers.D9yVlDC9.js → layers.DiopUi-K.js} +1 -1
  149. package/dist/{layers.Bck9QRB4.js → layers.Dj_5Xbl8.js} +1 -1
  150. package/dist/{layers.qeu_Tbg7.js → layers.DkT9TBiq.js} +4 -4
  151. package/dist/{layers.BgbrhuaW.js → layers.DksYERBY.js} +1 -1
  152. package/dist/{layers.DSOEdw1M.js → layers.DliYTSV9.js} +1 -1
  153. package/dist/{layers.gKrHkuBA.js → layers.DlkfhQ3e.js} +1 -1
  154. package/dist/{layers.C383Dvrr.js → layers.DmFx2cLd.js} +319 -310
  155. package/dist/{layers.Dd_aETHv.js → layers.DmPy8l_m.js} +4 -4
  156. package/dist/{layers.ifjP6oOz.js → layers.DmWfT22i.js} +3 -3
  157. package/dist/{layers.90k_27k-.js → layers.DoyknGUW.js} +2 -2
  158. package/dist/{layers.KwIs9gmv.js → layers.DpW_2wbA.js} +1 -1
  159. package/dist/{layers.Cm1tlwTY.js → layers.DpZdhqgU.js} +1 -1
  160. package/dist/{layers.CPRPvRLq.js → layers.DpcaOSkM.js} +207 -213
  161. package/dist/{layers.BvCfDeld.js → layers.DpuoBdTc.js} +6 -2
  162. package/dist/{layers.BJov5ccl.js → layers.DsT3127f.js} +1 -1
  163. package/dist/{layers.C9AF6ohD.js → layers.DseqB-43.js} +1 -1
  164. package/dist/{layers.B7RVFCMt.js → layers.DttEWukY.js} +1 -1
  165. package/dist/{layers.D-M39vU7.js → layers.DxDbSIKs.js} +1 -1
  166. package/dist/{layers.BY14uOuz.js → layers.Dxs1Bz9v.js} +1 -1
  167. package/dist/{layers.DhGARWir.js → layers.DznaoIV-.js} +20199 -20483
  168. package/dist/{layers.BSew-iZ4.js → layers.EsP8_-mS.js} +1 -1
  169. package/dist/layers.FtE-FDfI.js +1 -0
  170. package/dist/{layers.CFUkjRzb.js → layers.NcWUdaQE.js} +1 -1
  171. package/dist/{layers.BWmUOX0-.js → layers.Oc9jaxB6.js} +1 -1
  172. package/dist/{layers.BjHGoULB.js → layers.P3PZpzps.js} +7 -7
  173. package/dist/{layers.D8amAjhu.js → layers.R0UNCw_K.js} +4135 -4186
  174. package/dist/{layers.BUafIBrt.js → layers.R4TihaIl.js} +1 -1
  175. package/dist/{layers.rQz-cNXL.js → layers.RU5L2B1k.js} +1 -1
  176. package/dist/{layers.BlxY_BOg.js → layers.RrqVrea1.js} +3 -3
  177. package/dist/{layers.C77KVxnu.js → layers.SzjX-1ik.js} +1 -1
  178. package/dist/{layers.VKbfSM_K.js → layers.U8ij3AUv.js} +1 -1
  179. package/dist/{layers.CLr7TK4d.js → layers.USIo3HEf.js} +1 -1
  180. package/dist/{layers.DQAZSE4K.js → layers.Uh1SV_3g.js} +1 -1
  181. package/dist/layers.Wbn2xXXi.js +744 -0
  182. package/dist/{layers.A_6jjek9.js → layers.X3SIP7Ip.js} +6 -6
  183. package/dist/{layers.B4X8UJFg.js → layers.X_ec8Mjz.js} +1 -1
  184. package/dist/{layers.DATXqIC3.js → layers.XqJJTTDF.js} +118 -118
  185. package/dist/{layers.BmkeAR2L.js → layers.YlOP7lTm.js} +1 -1
  186. package/dist/{layers.BOmXrP-O.js → layers._BFXtGJ8.js} +1 -1
  187. package/dist/{layers.BV7lC5cv.js → layers.bhtLIrfi.js} +8485 -8821
  188. package/dist/{layers.5StEShBO.js → layers.cvIsS1cH.js} +1 -1
  189. package/dist/{layers.ChoG20GF.js → layers.d8si0CFx.js} +3 -3
  190. package/dist/layers.dBz49wvs.js +1 -0
  191. package/dist/{layers.VQexSJxI.js → layers.dbZjzkaK.js} +1 -1
  192. package/dist/{layers.BlFuProD.js → layers.dcx5hh3X.js} +1 -1
  193. package/dist/{layers.Dl23XTaW.js → layers.f01TeqL7.js} +1 -1
  194. package/dist/{layers.DLnRvcCi.js → layers.fJRAytBv.js} +1 -1
  195. package/dist/{layers.DsX7D3df.js → layers.gxFi9LT2.js} +1 -1
  196. package/dist/{layers.CcokHqeo.js → layers.iWzY6Hic.js} +1 -1
  197. package/dist/{layers.CmRo-mtL.js → layers.iss3S-LH.js} +2 -2
  198. package/dist/{layers.Cj_AgC59.js → layers.k-dxAkmQ.js} +1 -1
  199. package/dist/{layers.BLVpMky5.js → layers.oYiIETz2.js} +1 -1
  200. package/dist/{layers.CpI0hevX.js → layers.oc6z8pju.js} +1 -1
  201. package/dist/{layers.DT1JlXIK.js → layers.pawkqiwU.js} +8 -8
  202. package/dist/layers.pmaa8paI.js +198 -0
  203. package/dist/{layers.BSwt2Kfj.js → layers.s8sZ9U1H.js} +1 -1
  204. package/dist/{layers.BlmssuTS.js → layers.uANnQ5Fm.js} +1 -1
  205. package/dist/{layers.ZaJZ4T6K.js → layers.veXJFa7R.js} +1 -1
  206. package/dist/{layers.B7DGj0Ui.js → layers.xdGpR5F5.js} +1 -1
  207. package/dist/{layers.hi1oKb__.js → layers.zUI5AYmB.js} +5 -5
  208. package/package.json +2 -2
  209. package/dist/layers.345-04dK.js +0 -1
  210. package/dist/layers.6Sg2hDwp.js +0 -1
  211. package/dist/layers.BAwjrxjx.js +0 -423
  212. package/dist/layers.BSq_zEdL.js +0 -51
  213. package/dist/layers.BfhTFlHN.js +0 -7
  214. package/dist/layers.BgwfwrFy.js +0 -8
  215. package/dist/layers.Bmdr0bP6.js +0 -1
  216. package/dist/layers.CX8mEQC_.js +0 -16
  217. package/dist/layers.CaEOqz0E.js +0 -1
  218. package/dist/layers.Crdpc81Z.js +0 -712
  219. package/dist/layers.D5mvZf2C.js +0 -1
  220. package/dist/layers.DIVI66aC.js +0 -198
  221. package/dist/layers.DTJFdjg2.js +0 -425
  222. package/dist/layers.DjErvnZB.js +0 -10148
  223. package/dist/layers.STmOZaoP.js +0 -6
  224. package/dist/layers.qwhqXSAo.js +0 -1309
  225. package/dist/layers.rDLw5TNf.js +0 -1
  226. package/dist/layers.tb-M7gOD.js +0 -108
@@ -0,0 +1,744 @@
1
+ import { jsxs as C, jsx as n, Fragment as G } from "react/jsx-runtime";
2
+ import { useMemo as X, useState as b, useCallback as I, useContext as ge, useRef as We, useEffect as P } from "react";
3
+ import { useTranslation as L } from "react-i18next";
4
+ import { useLexicalComposerContext as U } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as S, Flex as de, Stack as ke, Button as $, Box as Le, LoadingOverlay as Ue } from "@mantine/core";
6
+ import { $getNodeByKey as N, COMMAND_PRIORITY_LOW as ze, $setSelection as _e } from "lexical";
7
+ import { y as Fe, A as Y, K as He, H as x, z as he, n as fe, B as we, D as O, N as be, F as je, G as $e, q as Be, C as ve, J as Ve, L as Ge, P as B, Q as Xe, S as Ye, U as qe, V as Je, W as Qe, X as Ze, R as Ke, m as ce, O as et, k as ue, Y as me, o as tt } from "./layers.DznaoIV-.js";
8
+ import { AttachmentsGalleryModal as ye, showErrorNotification as ot } from "@layers-app/shared";
9
+ import { useLexicalEditable as nt } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as V } from "@mantine/hooks";
11
+ import "@lexical/react/LexicalDecoratorBlockNode";
12
+ import "@lexical/utils";
13
+ import "@lexical/mark";
14
+ import "@lexical/code";
15
+ import "@lexical/selection";
16
+ import "react-dom";
17
+ import "@lexical/react/LexicalErrorBoundary";
18
+ import "@lexical/react/LexicalBlockWithAlignableContents";
19
+ import "@mantine/notifications";
20
+ function it(e, i) {
21
+ const o = document.createElement("a");
22
+ o.href = e, o.download = i, o.rel = "noopener", document.body.appendChild(o), o.click(), o.remove();
23
+ }
24
+ function q(e) {
25
+ try {
26
+ const o = new URL(e, window.location.origin).pathname.split("/").pop() || "image";
27
+ return o.includes(".") ? o : `${o}.png`;
28
+ } catch {
29
+ return "image";
30
+ }
31
+ }
32
+ async function J(e, i) {
33
+ const o = await fetch(e);
34
+ if (!o.ok)
35
+ throw new Error("fetch failed");
36
+ const a = await o.blob(), s = URL.createObjectURL(a);
37
+ try {
38
+ it(s, i);
39
+ } finally {
40
+ setTimeout(() => URL.revokeObjectURL(s), 0);
41
+ }
42
+ }
43
+ function Ie({
44
+ opened: e,
45
+ onOpenChange: i,
46
+ t: o,
47
+ onDownload: a,
48
+ onDelete: s
49
+ }) {
50
+ return /* @__PURE__ */ C(
51
+ S,
52
+ {
53
+ opened: e,
54
+ onChange: i,
55
+ transitionProps: Fe,
56
+ shadow: "md",
57
+ position: "bottom-start",
58
+ offset: 4,
59
+ withinPortal: !0,
60
+ closeOnItemClick: !0,
61
+ children: [
62
+ /* @__PURE__ */ n(S.Target, { children: /* @__PURE__ */ n(
63
+ Y,
64
+ {
65
+ label: o("editor.toolbar.more"),
66
+ icon: He,
67
+ iconColor: "var(--mantine-color-gray-text)",
68
+ "aria-label": o("editor.toolbar.more")
69
+ }
70
+ ) }),
71
+ /* @__PURE__ */ C(S.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
72
+ /* @__PURE__ */ n(
73
+ S.Item,
74
+ {
75
+ leftSection: /* @__PURE__ */ n(de, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ n(x, { icon: he, size: 16 }) }),
76
+ onClick: (r) => {
77
+ r.stopPropagation(), a();
78
+ },
79
+ children: o("editor.gallery.download")
80
+ }
81
+ ),
82
+ /* @__PURE__ */ n(
83
+ S.Item,
84
+ {
85
+ color: "red",
86
+ leftSection: /* @__PURE__ */ n(de, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ n(x, { icon: fe, size: 16 }) }),
87
+ onClick: (r) => {
88
+ r.stopPropagation(), s();
89
+ },
90
+ children: o("editor.contextMenu.delete")
91
+ }
92
+ )
93
+ ] })
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ const Ce = ({
99
+ t: e,
100
+ src: i,
101
+ setShown: o,
102
+ id: a
103
+ }) => {
104
+ const [s, { open: r, close: m }] = V(!1), c = X(() => [
105
+ {
106
+ id: !a || a === "0" ? "" : a,
107
+ Url: i ?? "",
108
+ contentType: "image/*",
109
+ originalFileName: "",
110
+ fileSize: 0,
111
+ storageType: "",
112
+ storagePath: "",
113
+ fileName: "",
114
+ parentType: "",
115
+ parentId: "",
116
+ ownerId: "",
117
+ createdAt: /* @__PURE__ */ new Date(),
118
+ updatedAt: /* @__PURE__ */ new Date(),
119
+ version: 0,
120
+ deleted: !1,
121
+ deletedAt: /* @__PURE__ */ new Date()
122
+ }
123
+ ], [i, a]);
124
+ return /* @__PURE__ */ C(G, { children: [
125
+ /* @__PURE__ */ n(
126
+ ye,
127
+ {
128
+ opened: s,
129
+ onOpenChange: (g) => {
130
+ g ? r() : m();
131
+ },
132
+ attachments: c
133
+ }
134
+ ),
135
+ /* @__PURE__ */ n(
136
+ Y,
137
+ {
138
+ label: e("editor.image.preview"),
139
+ icon: we,
140
+ iconColor: "var(--mantine-color-gray-text)",
141
+ "aria-label": e("editor.image.preview"),
142
+ onClick: () => {
143
+ o(!1), r();
144
+ }
145
+ }
146
+ )
147
+ ] });
148
+ }, at = ({
149
+ nodeKey: e,
150
+ src: i
151
+ }) => {
152
+ const [o] = U(), a = nt(), [s, r] = b(!1), [m, c] = b(!1), { t: p } = L(), g = I(() => {
153
+ o.update(() => {
154
+ const f = N(e);
155
+ O(f) && f.remove();
156
+ });
157
+ }, [o, e]), v = I(async () => {
158
+ if (i)
159
+ try {
160
+ await J(i, q(i));
161
+ } catch {
162
+ }
163
+ }, [i]);
164
+ return /* @__PURE__ */ C(
165
+ "div",
166
+ {
167
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
168
+ children: [
169
+ /* @__PURE__ */ n(Ce, { t: p, src: i, setShown: () => {
170
+ } }),
171
+ a && /* @__PURE__ */ C(G, { children: [
172
+ /* @__PURE__ */ n(
173
+ be,
174
+ {
175
+ opened: s,
176
+ setOpened: r,
177
+ t: p,
178
+ editor: o,
179
+ nodeKey: e,
180
+ setShown: () => {
181
+ }
182
+ }
183
+ ),
184
+ /* @__PURE__ */ n(
185
+ Ie,
186
+ {
187
+ opened: m,
188
+ onOpenChange: c,
189
+ t: p,
190
+ onDownload: () => void v(),
191
+ onDelete: g
192
+ }
193
+ )
194
+ ] })
195
+ ]
196
+ }
197
+ );
198
+ }, rt = () => {
199
+ };
200
+ function st({ nodeKey: e, src: i, id: o }) {
201
+ const { t: a } = L(), [s] = U(), [r, m] = b(!1), [c, p] = b(!1), g = I(() => {
202
+ p(!1), s.update(() => {
203
+ const f = N(e);
204
+ if (!O(f)) return;
205
+ const D = f.getParent();
206
+ je(D) ? D.remove() : f.remove();
207
+ });
208
+ }, [s, e]), v = I(async () => {
209
+ if (i)
210
+ try {
211
+ await J(i, q(i));
212
+ } catch {
213
+ }
214
+ }, [i]);
215
+ return /* @__PURE__ */ C(
216
+ "div",
217
+ {
218
+ className: "media-actions visible",
219
+ style: {
220
+ position: "absolute",
221
+ top: 10,
222
+ right: 10,
223
+ zIndex: 10,
224
+ pointerEvents: "auto",
225
+ display: "flex",
226
+ gap: 4
227
+ },
228
+ onClick: (f) => f.stopPropagation(),
229
+ children: [
230
+ /* @__PURE__ */ n(Ce, { t: a, src: i, setShown: rt, id: o }),
231
+ /* @__PURE__ */ n(
232
+ be,
233
+ {
234
+ opened: r,
235
+ setOpened: m,
236
+ t: a,
237
+ editor: s,
238
+ nodeKey: e
239
+ }
240
+ ),
241
+ /* @__PURE__ */ n(
242
+ Ie,
243
+ {
244
+ opened: c,
245
+ onOpenChange: p,
246
+ t: a,
247
+ onDownload: () => void v(),
248
+ onDelete: g
249
+ }
250
+ )
251
+ ]
252
+ }
253
+ );
254
+ }
255
+ function lt({ nodeKey: e, src: i, id: o }) {
256
+ const { t: a } = L(), [s] = U(), [r, { open: m, close: c }] = V(!1), [p, { open: g, close: v }] = V(!1), f = X(
257
+ () => [
258
+ {
259
+ id: !o || o === "0" ? "" : o,
260
+ Url: i ?? "",
261
+ contentType: "image/*",
262
+ originalFileName: "",
263
+ fileSize: 0,
264
+ storageType: "",
265
+ storagePath: "",
266
+ fileName: "",
267
+ parentType: "",
268
+ parentId: "",
269
+ ownerId: "",
270
+ createdAt: /* @__PURE__ */ new Date(),
271
+ updatedAt: /* @__PURE__ */ new Date(),
272
+ version: 0,
273
+ deleted: !1,
274
+ deletedAt: /* @__PURE__ */ new Date()
275
+ }
276
+ ],
277
+ [i, o]
278
+ ), D = () => {
279
+ c(), g();
280
+ }, E = I(async () => {
281
+ if (c(), !!i)
282
+ try {
283
+ await J(i, q(i));
284
+ } catch {
285
+ }
286
+ }, [i, c]), T = I(() => {
287
+ c(), s.update(() => {
288
+ const w = N(e);
289
+ O(w) && w.remove();
290
+ });
291
+ }, [s, e, c]);
292
+ return /* @__PURE__ */ C(G, { children: [
293
+ /* @__PURE__ */ n(
294
+ "div",
295
+ {
296
+ className: "image-touch-actions",
297
+ style: {
298
+ position: "absolute",
299
+ top: 8,
300
+ right: 8,
301
+ zIndex: 10,
302
+ pointerEvents: "auto"
303
+ },
304
+ onClick: (w) => w.stopPropagation(),
305
+ children: /* @__PURE__ */ n(
306
+ Y,
307
+ {
308
+ label: a("editor.toolbar.more"),
309
+ icon: $e,
310
+ iconColor: "var(--mantine-color-gray-text)",
311
+ "aria-label": a("editor.toolbar.more"),
312
+ onClick: m
313
+ }
314
+ )
315
+ }
316
+ ),
317
+ /* @__PURE__ */ n(
318
+ ye,
319
+ {
320
+ opened: p,
321
+ onOpenChange: (w) => w ? g() : v(),
322
+ attachments: f
323
+ }
324
+ ),
325
+ /* @__PURE__ */ n(
326
+ Be,
327
+ {
328
+ opened: r,
329
+ onClose: c,
330
+ title: a("editor.image.mobileActions"),
331
+ children: /* @__PURE__ */ C(ke, { gap: 4, p: 0, children: [
332
+ /* @__PURE__ */ n(
333
+ $,
334
+ {
335
+ type: "button",
336
+ variant: "subtle",
337
+ color: "gray",
338
+ fullWidth: !0,
339
+ justify: "flex-start",
340
+ bg: "var(--editor-action-bg)",
341
+ onClick: D,
342
+ leftSection: /* @__PURE__ */ n(
343
+ x,
344
+ {
345
+ icon: we,
346
+ size: 16,
347
+ color: "var(--mantine-color-dimmed)"
348
+ }
349
+ ),
350
+ children: a("editor.image.previewFullScreen")
351
+ }
352
+ ),
353
+ /* @__PURE__ */ n(
354
+ $,
355
+ {
356
+ type: "button",
357
+ variant: "subtle",
358
+ color: "gray",
359
+ fullWidth: !0,
360
+ justify: "flex-start",
361
+ bg: "var(--editor-action-bg)",
362
+ onClick: () => void E(),
363
+ leftSection: /* @__PURE__ */ n(
364
+ x,
365
+ {
366
+ icon: he,
367
+ size: 16,
368
+ color: "var(--mantine-color-dimmed)"
369
+ }
370
+ ),
371
+ children: a("editor.gallery.download")
372
+ }
373
+ ),
374
+ /* @__PURE__ */ n(
375
+ $,
376
+ {
377
+ type: "button",
378
+ variant: "subtle",
379
+ color: "red",
380
+ fullWidth: !0,
381
+ justify: "flex-start",
382
+ bg: "var(--editor-action-bg)",
383
+ onClick: T,
384
+ leftSection: /* @__PURE__ */ n(
385
+ x,
386
+ {
387
+ icon: fe,
388
+ size: 16,
389
+ color: "var(--mantine-color-red-6)"
390
+ }
391
+ ),
392
+ children: a("editor.actions.delete")
393
+ }
394
+ )
395
+ ] })
396
+ }
397
+ )
398
+ ] });
399
+ }
400
+ const pe = (e) => {
401
+ const {
402
+ width: i,
403
+ height: o,
404
+ isLoading: a,
405
+ isError: s,
406
+ src: r,
407
+ id: m,
408
+ altText: c,
409
+ imageRef: p,
410
+ maxWidth: g,
411
+ aspectRatio: v
412
+ } = e;
413
+ return /* @__PURE__ */ C(
414
+ "div",
415
+ {
416
+ className: "media-wrapper",
417
+ "data-reserved-box": v ? "" : void 0,
418
+ style: {
419
+ width: i,
420
+ height: v ? "auto" : o,
421
+ aspectRatio: v || void 0,
422
+ display: "inline-flex",
423
+ position: "relative"
424
+ },
425
+ children: [
426
+ /* @__PURE__ */ n(
427
+ Ue,
428
+ {
429
+ visible: a,
430
+ zIndex: 1e3,
431
+ overlayProps: { backgroundOpacity: 0.5 },
432
+ loaderProps: { size: 24, color: "black" }
433
+ }
434
+ ),
435
+ /* @__PURE__ */ n(
436
+ dt,
437
+ {
438
+ className: null,
439
+ src: r,
440
+ altText: c,
441
+ imageRef: p,
442
+ width: "inherit",
443
+ height: "inherit",
444
+ maxWidth: g || "auto",
445
+ id: m
446
+ }
447
+ ),
448
+ ue && /* @__PURE__ */ n(lt, { nodeKey: e.nodeKey, src: r, id: m }),
449
+ me && /* @__PURE__ */ n(st, { nodeKey: e.nodeKey, src: r, id: m }),
450
+ tt && !ue && !me && /* @__PURE__ */ n(at, { nodeKey: e.nodeKey, src: r })
451
+ ]
452
+ }
453
+ );
454
+ };
455
+ function dt({
456
+ altText: e,
457
+ className: i,
458
+ imageRef: o,
459
+ src: a,
460
+ width: s,
461
+ height: r,
462
+ maxWidth: m,
463
+ id: c
464
+ }) {
465
+ const [p, g] = b(!1);
466
+ return /* @__PURE__ */ n(
467
+ "img",
468
+ {
469
+ className: `${i || void 0} ${p ? "" : "loading"}`,
470
+ src: a,
471
+ alt: e,
472
+ ref: o,
473
+ style: {
474
+ height: r,
475
+ maxWidth: m,
476
+ width: s
477
+ },
478
+ onLoad: () => {
479
+ a.includes("splash") ? setTimeout(() => {
480
+ g(!0);
481
+ }, 100) : g(!0);
482
+ },
483
+ draggable: "false",
484
+ "data-id": c
485
+ }
486
+ );
487
+ }
488
+ function Mt(e) {
489
+ const { disable: i } = ge(ve);
490
+ return i && Ve.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ n(ct, { ...e });
491
+ }
492
+ function ct({
493
+ src: e,
494
+ altText: i,
495
+ nodeKey: o,
496
+ width: a,
497
+ height: s,
498
+ maxWidth: r,
499
+ showCaption: m,
500
+ caption: c,
501
+ id: p,
502
+ create: g,
503
+ alignment: v,
504
+ imagePickerTab: f,
505
+ aspectRatio: D
506
+ }) {
507
+ var se, le;
508
+ const E = We(null), [T, w] = b(!0), [u] = U(), [A, z] = b(!0), [y, _] = b({
509
+ width: 0,
510
+ height: 0
511
+ }), { start: Q } = Ge(), [ut, F] = b(0), {
512
+ fetchUploadMedia: R,
513
+ fetchDeleteMedia: Z,
514
+ maxFileSize: mt,
515
+ imperativeHandleRef: M,
516
+ disable: De
517
+ } = ge(ve), W = B.has(e) && (((se = B.get(e)) == null ? void 0 : se.mediaNodeKeys.length) === 0 || ((le = B.get(e)) == null ? void 0 : le.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: k } = L(), K = (t) => {
518
+ if (typeof t == "number") return t > 0 ? t : null;
519
+ if (typeof t == "string" && !t.includes("%")) {
520
+ const l = parseFloat(t);
521
+ return Number.isFinite(l) && l > 0 ? l : null;
522
+ }
523
+ return null;
524
+ }, ee = K(a), te = K(s), oe = ee && te ? ee / te : void 0, [Ne, Oe] = b(
525
+ void 0
526
+ ), ne = X(() => {
527
+ try {
528
+ const t = parseFloat(
529
+ localStorage.getItem("layers-img-ratio:" + e) || ""
530
+ );
531
+ return Number.isFinite(t) && t > 0 ? t : void 0;
532
+ } catch {
533
+ return;
534
+ }
535
+ }, [e]), Ae = oe ?? D ?? ne ?? Ne, [Pe, ie] = b(!1), Se = !Pe && !oe && (D ?? ne) != null, [pt, xe] = b(0);
536
+ P(() => u.registerDecoratorListener(() => {
537
+ xe((t) => t + 1);
538
+ }), [W]), P(() => {
539
+ const t = u.getElementByKey(o);
540
+ t && (t.style.removeProperty("aspect-ratio"), t.style.removeProperty("width"));
541
+ }, [u, o]), P(() => {
542
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
543
+ w(!1);
544
+ return;
545
+ }
546
+ const t = new Image();
547
+ t.src = e, t.onload = () => {
548
+ if (w(!1), t.naturalWidth) {
549
+ const l = t.naturalWidth / t.naturalHeight;
550
+ if (Oe(l), t.naturalWidth >= 100)
551
+ try {
552
+ localStorage.setItem("layers-img-ratio:" + e, String(l));
553
+ } catch {
554
+ }
555
+ !D && t.naturalWidth >= 100 && u.update(
556
+ () => {
557
+ const d = N(o);
558
+ O(d) && d.getAspectRatio() == null && d.setAspectRatio(l);
559
+ },
560
+ { tag: "history-merge" }
561
+ );
562
+ }
563
+ }, t.onerror = () => {
564
+ w(!1);
565
+ };
566
+ }, [e, W]);
567
+ const Ee = (t, l) => {
568
+ u.update(() => {
569
+ _e(null);
570
+ const d = N(o);
571
+ O(d) && d.setWidthAndHeight(t, l);
572
+ });
573
+ }, { historyState: ae } = Xe(), {
574
+ settings: { showNestedEditorTreeView: re }
575
+ } = Ye();
576
+ function Te(t) {
577
+ return t.endsWith(".svg") || t.includes("image/svg+xml");
578
+ }
579
+ function Re(t) {
580
+ return new Promise((l, d) => {
581
+ if (Te(t)) {
582
+ l(0);
583
+ return;
584
+ }
585
+ const h = new Image();
586
+ h.src = t, h.onload = () => {
587
+ l(h.width);
588
+ }, h.onerror = () => {
589
+ d(new Error("Failed to load image"));
590
+ };
591
+ });
592
+ }
593
+ P(() => {
594
+ let t = a, l = s, d = 100;
595
+ (e.includes("unsplash") ? e.trim() : !W && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && Re(e).then((h) => {
596
+ typeof t == "number" && t < d && h < d ? (z(!0), _({
597
+ width: t,
598
+ height: l
599
+ })) : h < d ? (z(!0), _({
600
+ width: "auto",
601
+ height: "auto"
602
+ })) : (_({
603
+ width: h,
604
+ height: h
605
+ }), z(!1)), ie(!0);
606
+ }).catch((h) => {
607
+ ie(!0), console.warn("Ошибка при загрузке изображения:", h.message);
608
+ });
609
+ }, [e, W]), P(() => {
610
+ y.width && y.height && A && u.update(() => {
611
+ const t = N(o);
612
+ O(t) && t.setWidthAndHeight(y.width, y.height);
613
+ });
614
+ }, [y.width, y.height, A]);
615
+ const Me = I(
616
+ (t) => qe(u, o, t),
617
+ [u, o]
618
+ ), H = I(
619
+ (t, l) => {
620
+ w(!1), u.update(() => {
621
+ const d = N(o);
622
+ O(d) && (d.setSrc(t), d.setId(l));
623
+ });
624
+ },
625
+ [u, o]
626
+ ), j = I(
627
+ (t) => {
628
+ w(!0);
629
+ const l = Q();
630
+ R && R(
631
+ t[0],
632
+ (d, h) => {
633
+ H(d, h), F(0);
634
+ },
635
+ (d) => {
636
+ d && ot({
637
+ message: k("editor.gallery.errorFile")
638
+ }), F(0), H(e.startsWith("blob:") ? "upload" : "", "");
639
+ },
640
+ l,
641
+ (d) => {
642
+ F(d);
643
+ }
644
+ );
645
+ },
646
+ [R, Q, k, H, e]
647
+ );
648
+ return P(() => u.registerCommand(
649
+ Je,
650
+ (t) => !e.startsWith("blob:") && e !== "upload" || t.targetNodeKey !== o ? !1 : (j(t.files), !0),
651
+ ze
652
+ ), [u, j, o, e]), !e || e === "upload" ? /* @__PURE__ */ n(Le, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ n(
653
+ Qe,
654
+ {
655
+ inline: !0,
656
+ nodeKey: o,
657
+ defaultTabValue: f,
658
+ onWriteTabToNode: Me,
659
+ uploading: !1,
660
+ onUpload: (t) => {
661
+ !R || !t.length || j(t);
662
+ },
663
+ popoverProps: {
664
+ opened: !0,
665
+ position: "bottom",
666
+ zIndex: Ze
667
+ },
668
+ onChange: (t) => {
669
+ u.update(() => {
670
+ const l = N(o);
671
+ O(l) && l.setSrc(t);
672
+ });
673
+ }
674
+ }
675
+ ) }) : A && !Se ? /* @__PURE__ */ n(
676
+ pe,
677
+ {
678
+ width: y.width,
679
+ height: y.height,
680
+ isLoading: T,
681
+ isError: !1,
682
+ isIcon: A,
683
+ src: e,
684
+ id: p,
685
+ editor: u,
686
+ nodeKey: o,
687
+ fetchDeleteMedia: Z,
688
+ altText: i,
689
+ imageRef: E,
690
+ maxWidth: r,
691
+ showCaption: m,
692
+ caption: c,
693
+ isCollabActive: !1,
694
+ historyState: ae,
695
+ showNestedEditorTreeView: re,
696
+ t: k
697
+ }
698
+ ) : /* @__PURE__ */ n(
699
+ Ke,
700
+ {
701
+ editor: u,
702
+ isIcon: A,
703
+ width: ce(a),
704
+ height: ce(s),
705
+ initialWidth: y.width || "",
706
+ initialHeight: y.height || "",
707
+ onResizeEnd: Ee,
708
+ alignment: v,
709
+ disable: De,
710
+ onRegisterDecoratorEnter: (t) => {
711
+ M != null && M.current && (M.current.decoratorEnterAction = t);
712
+ },
713
+ onActivate: () => u.dispatchCommand(et, "show_menu"),
714
+ children: /* @__PURE__ */ n(
715
+ pe,
716
+ {
717
+ width: "inherit",
718
+ height: "inherit",
719
+ aspectRatio: Ae,
720
+ isLoading: T,
721
+ isError: !1,
722
+ isIcon: A,
723
+ src: e,
724
+ id: p,
725
+ editor: u,
726
+ nodeKey: o,
727
+ fetchDeleteMedia: Z,
728
+ altText: i,
729
+ imageRef: E,
730
+ maxWidth: r,
731
+ showCaption: m,
732
+ caption: c,
733
+ isCollabActive: !1,
734
+ historyState: ae,
735
+ showNestedEditorTreeView: re,
736
+ t: k
737
+ }
738
+ )
739
+ }
740
+ );
741
+ }
742
+ export {
743
+ Mt as default
744
+ };