@layers-app/editor 2.2.42 → 2.2.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +3 -3
  3. package/dist/index.js +4 -4
  4. package/dist/{layers.BUK2tI9F.js → layers.-wUVh76U.js} +1 -1
  5. package/dist/{layers.NCzGgZgn.js → layers.03AG_Ahp.js} +1 -1
  6. package/dist/{layers.DapuU0KG.js → layers.0PDCLAB9.js} +4 -4
  7. package/dist/{layers.OpOAYuMR.js → layers.0cO0ixPk.js} +1 -1
  8. package/dist/{layers.CIy-CBKt.js → layers.0mM7kmYM.js} +1 -1
  9. package/dist/{layers.8PsdhJr_.js → layers.4Bvndpod.js} +1 -1
  10. package/dist/{layers.4HZIjqYX.js → layers.5e-XI3nh.js} +1 -1
  11. package/dist/{layers.Du5Kw0lv.js → layers.6IPXZlHV.js} +3 -3
  12. package/dist/layers.6hbGirUz.js +1 -0
  13. package/dist/{layers.DKneR75F.js → layers.9fzhTnHG.js} +1 -1
  14. package/dist/{layers.k6ZdPuHR.js → layers.B07DqX4u.js} +1 -1
  15. package/dist/{layers.pKbdoZxb.js → layers.B0xERJEP.js} +1 -1
  16. package/dist/{layers.C4opoFoN.js → layers.B2oAQIVT.js} +1 -1
  17. package/dist/{layers.B-Gq744C.js → layers.B3Z00oIe.js} +1 -1
  18. package/dist/{layers.CDQSxMxh.js → layers.B4oJOgaL.js} +1 -1
  19. package/dist/{layers.DASOIOHg.js → layers.B5iDAMC-.js} +1 -1
  20. package/dist/{layers.CRe13l0l.js → layers.B5iuTZ1t.js} +1 -1
  21. package/dist/{layers.BiJ8hfRt.js → layers.B7K7JjK6.js} +3 -3
  22. package/dist/{layers.B2J3gqbX.js → layers.B7XHIy_4.js} +1 -1
  23. package/dist/layers.BGELWsp6.js +6 -0
  24. package/dist/{layers.DmpOGm35.js → layers.BHmZJxfg.js} +1 -1
  25. package/dist/{layers.Bpz3db4s.js → layers.BHu_YyDc.js} +1 -1
  26. package/dist/{layers.BbXqqa2k.js → layers.BJCeJUWZ.js} +19085 -19527
  27. package/dist/{layers.C9VjKLJz.js → layers.BLtR2kcw.js} +4 -4
  28. package/dist/{layers.B4ODDrXe.js → layers.BM0IeEyx.js} +1 -1
  29. package/dist/{layers.joneqHx_.js → layers.BN7XA9Mz.js} +1 -1
  30. package/dist/{layers.DGLOIH3X.js → layers.BPiBAWd5.js} +1 -1
  31. package/dist/{layers.BadYBGOU.js → layers.BRYVeXtX.js} +1 -1
  32. package/dist/{layers.BcQ1kMl1.js → layers.BRzmQpbn.js} +1 -1
  33. package/dist/{layers.BbPWb_1m.js → layers.BSDW_YyL.js} +1 -1
  34. package/dist/{layers.B6ppQCpX.js → layers.BSzAtyQb.js} +1 -1
  35. package/dist/{layers.bgBWDeIT.js → layers.BU3693bQ.js} +1 -1
  36. package/dist/{layers.DmErEsm4.js → layers.BZ-_wuxN.js} +1 -1
  37. package/dist/layers.B_bY10SW.js +16 -0
  38. package/dist/{layers.DuwiO77s.js → layers.BaFHpWlD.js} +1 -1
  39. package/dist/{layers.BZQfXHhW.js → layers.BaSqDCUi.js} +1 -1
  40. package/dist/{layers.BkLWcq3H.js → layers.BbMtfvwE.js} +1 -1
  41. package/dist/layers.BbPiDwK6.js +8 -0
  42. package/dist/{layers.BzjTlsuS.js → layers.BcB0Nlwg.js} +1 -1
  43. package/dist/{layers.Dyrdw0nq.js → layers.BcrIK8qs.js} +1 -1
  44. package/dist/{layers.CLt1lOdh.js → layers.Bdnbq1Fc.js} +1 -1
  45. package/dist/{layers.CqjHpZPx.js → layers.Bdo184oK.js} +1 -1
  46. package/dist/{layers.B-7Utm8u.js → layers.BdpJh8Oo.js} +1 -1
  47. package/dist/{layers.cooC1lo-.js → layers.BfM6qako.js} +207 -213
  48. package/dist/{layers.BUo--Bs7.js → layers.BhBT87wa.js} +1 -1
  49. package/dist/{layers.CaIMnQjx.js → layers.BjPDJ-Kw.js} +10 -10
  50. package/dist/{layers.Dx-CTZW1.js → layers.BjkFiCls.js} +1 -1
  51. package/dist/{layers.B5HL7Xgu.js → layers.Bk5Uaw8R.js} +1 -1
  52. package/dist/{layers.CAzXuKad.js → layers.Bn8ENbPC.js} +1 -1
  53. package/dist/{layers.WEumG3HP.js → layers.BnPxqyuX.js} +1 -1
  54. package/dist/layers.BnUlk4VQ.js +8583 -0
  55. package/dist/{layers.DgK1GSIr.js → layers.Bo56cnSy.js} +1 -1
  56. package/dist/{layers.DtKBFm_W.js → layers.BswN_MdX.js} +1 -1
  57. package/dist/{layers.CKplKAGd.js → layers.Btm6c1FD.js} +1 -1
  58. package/dist/{layers.BAZJ_QW2.js → layers.BudxiKeS.js} +1 -1
  59. package/dist/{layers.Bj2-sMHc.js → layers.BvTr3OqB.js} +1 -1
  60. package/dist/{layers.CCvPJmBs.js → layers.Bx4TPdVb.js} +1 -1
  61. package/dist/{layers.BNk94eBs.js → layers.BxBOl4Dl.js} +1 -1
  62. package/dist/{layers.nZZ7shb4.js → layers.Bxvsg8Mb.js} +1 -1
  63. package/dist/{layers.BrrQS_To.js → layers.By6Y9awO.js} +115 -111
  64. package/dist/{layers.DvVNW7Dv.js → layers.ByPB1YI0.js} +1 -1
  65. package/dist/{layers.BxHQuXfB.js → layers.BzLOwAv9.js} +1 -1
  66. package/dist/layers.BzQjss-Y.js +423 -0
  67. package/dist/{layers.BRxZwSOd.js → layers.C2WnW5up.js} +4 -4
  68. package/dist/{layers.AoyuuPNv.js → layers.C3I87c35.js} +1 -1
  69. package/dist/{layers.DqzWMLD7.js → layers.C4I6DUMy.js} +111 -111
  70. package/dist/{layers.nsnjrxZs.js → layers.C4lKVCKG.js} +1 -1
  71. package/dist/layers.C5-WLmjg.js +1 -0
  72. package/dist/{layers.C-kj3R5W.js → layers.C9Sr1U5-.js} +319 -310
  73. package/dist/{layers.DcZ6n4g7.js → layers.CFWmVRYf.js} +1 -1
  74. package/dist/{layers.D_G_yN8x.js → layers.CF_7ZzFo.js} +3 -3
  75. package/dist/{layers.C6qBEls5.js → layers.CIebvJty.js} +1 -1
  76. package/dist/{layers.Dbom-nDm.js → layers.CIjbcwec.js} +1 -1
  77. package/dist/{layers.BPVJ3lO7.js → layers.CJO8izOl.js} +1 -1
  78. package/dist/{layers.BgtSsAyW.js → layers.CKVfFH8C.js} +1 -1
  79. package/dist/{layers.ce4kfKHf.js → layers.CKtCjDB5.js} +1 -1
  80. package/dist/{layers.BK4uJeQs.js → layers.CLGJqlQC.js} +1 -1
  81. package/dist/{layers.BWlwaF_p.js → layers.CMJ7A9ld.js} +1 -1
  82. package/dist/{layers.CbtaJD5X.js → layers.CPHBPK8k.js} +1 -1
  83. package/dist/{layers.BI4_cIL3.js → layers.CPNJ-TZg.js} +1 -1
  84. package/dist/{layers.9izsxn6m.js → layers.CQ-YrAtS.js} +1 -1
  85. package/dist/{layers.gysZsHSy.js → layers.CS7HWB4X.js} +4 -4
  86. package/dist/{layers.BwDXQByz.js → layers.CUGnkSgl.js} +1 -1
  87. package/dist/{layers.DrP_szmi.js → layers.CUHCWsr6.js} +3 -3
  88. package/dist/{layers.C9z5acJ1.js → layers.CW1tyuRJ.js} +8 -8
  89. package/dist/{layers.CxZWzFjf.js → layers.CWyLzhzU.js} +1 -1
  90. package/dist/{layers.WpQERc9Q.js → layers.C_48WisB.js} +3 -3
  91. package/dist/{layers.BgOa2ZQq.js → layers.C_IvrzZ3.js} +1 -1
  92. package/dist/{layers.DpI_1b3F.js → layers.C_qUkVxS.js} +1 -1
  93. package/dist/{layers.Bwhr4KSk.js → layers.CasHcfAK.js} +1 -1
  94. package/dist/{layers.B0eCSf4g.js → layers.Cb8w7m3T.js} +1 -1
  95. package/dist/{layers.BxevgFep.js → layers.CcY8SYVh.js} +1 -1
  96. package/dist/{layers.h88EgD7e.js → layers.CemDejcL.js} +1 -1
  97. package/dist/{layers.Co-LTnhB.js → layers.Cglb20ve.js} +1 -1
  98. package/dist/{layers.2FxpdJNJ.js → layers.Cim2gy1q.js} +1 -1
  99. package/dist/{layers.5MSYp6bY.js → layers.CjPHxy5F.js} +1 -1
  100. package/dist/{layers.q6KUarMd.js → layers.CjwpDgRI.js} +1 -1
  101. package/dist/{layers.mD4zfQJm.js → layers.Cm4ScAcA.js} +1 -1
  102. package/dist/{layers.DKBXcRnY.js → layers.CnHlffpI.js} +1 -1
  103. package/dist/{layers.0y-kmAVw.js → layers.CnLvIdDn.js} +1 -1
  104. package/dist/{layers.C8Ui2tfR.js → layers.CnPbRZ5g.js} +1 -1
  105. package/dist/layers.Co188iOY.js +6 -0
  106. package/dist/{layers.DNo9l6_0.js → layers.Con-Dh2E.js} +3 -3
  107. package/dist/{layers.BFCtF16Q.js → layers.CqOEfQFk.js} +1 -1
  108. package/dist/{layers.BMelfabQ.js → layers.CtmFs842.js} +1 -1
  109. package/dist/{layers.CX50nmzf.js → layers.Cu4zCXaq.js} +4 -4
  110. package/dist/{layers.DqWJoelP.js → layers.CwQebQGo.js} +2 -2
  111. package/dist/{layers.DZMtXIgo.js → layers.CxOau-hs.js} +1 -1
  112. package/dist/{layers.-lWbvG61.js → layers.CxfeVqFB.js} +1 -1
  113. package/dist/{layers.DKFcr53Q.js → layers.CxqZJUKb.js} +1 -1
  114. package/dist/{layers.DXpRdEJb.js → layers.CyJwHXzH.js} +6 -6
  115. package/dist/{layers.obOGK1bO.js → layers.CzcULpYV.js} +1 -1
  116. package/dist/{layers.3OW-7kTT.js → layers.D1YO6sUx.js} +1 -1
  117. package/dist/{layers.CZPR3sOU.js → layers.D2pb9Wvr.js} +1 -1
  118. package/dist/layers.D2uJTLQD.js +1 -0
  119. package/dist/layers.D3UpXEwL.js +425 -0
  120. package/dist/{layers.BAb6lW00.js → layers.D3fr8EC0.js} +1 -1
  121. package/dist/{layers.CDDYSTV_.js → layers.D4WHc1zo.js} +2 -2
  122. package/dist/{layers.2VKdA5L8.js → layers.D78A28yU.js} +8488 -8818
  123. package/dist/{layers.8lGj-GYn.js → layers.D7IERGZB.js} +1 -1
  124. package/dist/{layers.gK8xSegA.js → layers.D9NG4hfd.js} +1 -1
  125. package/dist/{layers.CqpiEwZY.js → layers.D9ajcZP1.js} +1 -1
  126. package/dist/{layers.CxTp3fVS.js → layers.DB3g0uv9.js} +1 -1
  127. package/dist/{layers.BpfBdFIq.js → layers.DC3-RC1l.js} +1 -1
  128. package/dist/{layers.Dj9XjFcz.js → layers.DFiSzcgX.js} +11 -11
  129. package/dist/{layers.D8ukxayM.js → layers.DGA33SjL.js} +2 -2
  130. package/dist/{layers.CxQW8Fe5.js → layers.DH3ePdsz.js} +1 -1
  131. package/dist/{layers.C_dKp51p.js → layers.DHLBQn4i.js} +3 -3
  132. package/dist/{layers.BaCCzKX7.js → layers.DKbpSRnS.js} +2 -2
  133. package/dist/{layers.BlehOZWo.js → layers.DMD2Uy-b.js} +1 -1
  134. package/dist/{layers.BnaqmWv7.js → layers.DMbmaXEp.js} +1 -1
  135. package/dist/{layers.U-n1WT4t.js → layers.DMmvRDDM.js} +1 -1
  136. package/dist/{layers.-ju7gx16.js → layers.DMrcq2Gr.js} +1 -1
  137. package/dist/{layers.qCM4_T1x.js → layers.DO67bAdi.js} +1 -1
  138. package/dist/layers.DQGVM1KB.js +1 -0
  139. package/dist/layers.DRRyMIft.js +1 -0
  140. package/dist/{layers.P62ZJW6E.js → layers.DRtT_PXy.js} +6 -2
  141. package/dist/{layers.Q3ufNO5n.js → layers.DS2xWw5u.js} +1 -1
  142. package/dist/{layers.DDdtjC0i.js → layers.DTvOLDFJ.js} +1 -1
  143. package/dist/{layers.QMyAgzrv.js → layers.DVH0bxj2.js} +22 -22
  144. package/dist/{layers.q4K1JOUr.js → layers.DW5NMC_Y.js} +1 -1
  145. package/dist/{layers.C6gBGZRI.js → layers.DWCTsdNx.js} +1 -1
  146. package/dist/{layers.BEKhTeC7.js → layers.DXGbCu9s.js} +1 -1
  147. package/dist/{layers.hh4D1Fip.js → layers.DXvR0Ic3.js} +3 -3
  148. package/dist/{layers.B5wP95v5.js → layers.DXwUwZdz.js} +2 -2
  149. package/dist/{layers.BUn7PajZ.js → layers.DZNF4hVk.js} +1 -1
  150. package/dist/{layers.Dwab3CXB.js → layers.D_KUnC5f.js} +1 -1
  151. package/dist/{layers.C7JWqsly.js → layers.D_dNQ2RW.js} +5 -5
  152. package/dist/{layers.Cx5c5eym.js → layers.D_fmVaW-.js} +1 -1
  153. package/dist/{layers.BalCY_dc.js → layers.Da0nsXuF.js} +1 -1
  154. package/dist/{layers.DyBzvt5Z.js → layers.DbYK2pEp.js} +1 -1
  155. package/dist/{layers.CqLC3MAT.js → layers.DbbksUuA.js} +1 -1
  156. package/dist/{layers.CJsBqp7q.js → layers.Dbri2FL3.js} +1 -1
  157. package/dist/{layers.ClM8rQ7y.js → layers.Dc7NnfUG.js} +1 -1
  158. package/dist/layers.Ddrl9HG1.js +96 -0
  159. package/dist/{layers.zC9WahYF.js → layers.DiAn5oCP.js} +1 -1
  160. package/dist/{layers.BuCNtu_x.js → layers.Dib9h9Y9.js} +1 -1
  161. package/dist/layers.Dl5fPqLs.js +1 -0
  162. package/dist/{layers.B1ZqapyL.js → layers.Dl_n_LxZ.js} +6 -6
  163. package/dist/{layers.D4nQTLQ5.js → layers.Dm1yBfDi.js} +1 -1
  164. package/dist/{layers.BagYg5_M.js → layers.DmM2jU0O.js} +1 -1
  165. package/dist/{layers.Y6_WR9xb.js → layers.DoHU4UID.js} +4 -4
  166. package/dist/{layers.BstcEXkq.js → layers.Dp9QA0Dz.js} +1 -1
  167. package/dist/{layers.Fvne9rpD.js → layers.DqkcR9Cj.js} +3 -3
  168. package/dist/{layers.DIbawAb9.js → layers.DquK_j31.js} +1 -1
  169. package/dist/layers.Dsw7pDbX.js +748 -0
  170. package/dist/{layers.Fj9T6hYj.js → layers.DsxjlRxg.js} +1 -1
  171. package/dist/{layers.z1UnV_Zw.js → layers.DtaKuCjp.js} +1 -1
  172. package/dist/layers.Dv5cum-u.js +51 -0
  173. package/dist/{layers.X9eT4tKQ.js → layers.Dwfq9cNX.js} +1 -1
  174. package/dist/{layers.8G3URL9h.js → layers.DzZcev45.js} +1 -1
  175. package/dist/{layers.piUu5-9J.js → layers.ENr5T7WS.js} +1 -1
  176. package/dist/{layers.CsR_o0I9.js → layers.FKGuICkq.js} +7 -7
  177. package/dist/{layers.C9oeho5s.js → layers.GSbMAxhC.js} +1 -1
  178. package/dist/{layers.DXvTFzh9.js → layers.I-tHkE95.js} +1 -1
  179. package/dist/{layers.Dj6dKbkY.js → layers.L0lr9_dy.js} +1 -1
  180. package/dist/{layers._dOKpw-_.js → layers.OZMdOIeE.js} +4 -4
  181. package/dist/{layers.D9blD47B.js → layers.Q2dvyyyS.js} +1 -1
  182. package/dist/{layers.Db9YZra7.js → layers.R2p30D-p.js} +1 -1
  183. package/dist/{layers.BhAJ6OOY.js → layers.STJilcsA.js} +1 -1
  184. package/dist/{layers.DgSWuxXH.js → layers.T7eDGkWl.js} +1 -1
  185. package/dist/{layers.C-DNpoMP.js → layers.UgwPqXW8.js} +1 -1
  186. package/dist/{layers.Dlm_YrEu.js → layers.Xh-WVbYL.js} +1 -1
  187. package/dist/{layers.B0FBFZmZ.js → layers.e5-5q9GW.js} +1 -1
  188. package/dist/{layers.B5mV1X7_.js → layers.hGNauRnS.js} +4135 -4186
  189. package/dist/layers.hUNsvmkE.js +198 -0
  190. package/dist/{layers.afOClBbH.js → layers.hkL7RA_5.js} +1 -1
  191. package/dist/{layers.CA7_AZSw.js → layers.joa0U6F3.js} +1 -1
  192. package/dist/{layers.ZeymhrNs.js → layers.mOqn0HZL.js} +3 -3
  193. package/dist/{layers.1LxuOQJN.js → layers.n-WUmPth.js} +1 -1
  194. package/dist/{layers.Cq8R8om8.js → layers.nTJYG5Fr.js} +1 -1
  195. package/dist/{layers.BGRwNWNe.js → layers.o99xgyrj.js} +1 -1
  196. package/dist/{layers.BJX3Xmr1.js → layers.pQg8FbPj.js} +5 -5
  197. package/dist/{layers.CV-0KbJB.js → layers.phLsmtCV.js} +1 -1
  198. package/dist/{layers.Yr2VZBmQ.js → layers.pp1C1Tmj.js} +1 -1
  199. package/dist/{layers.BVUC3gyi.js → layers.qZ_fMp-N.js} +1 -1
  200. package/dist/{layers.D66FS0DJ.js → layers.rnn88Z_F.js} +1 -1
  201. package/dist/{layers.BuPYl1zn.js → layers.sZWWruWl.js} +1 -1
  202. package/dist/{layers.BrvXOTnQ.js → layers.skYBIGuA.js} +1 -1
  203. package/dist/{layers.B1bwH-QM.js → layers.t9ki07H9.js} +2 -2
  204. package/dist/{layers.C3dMe__G.js → layers.v9an1lHW.js} +1 -1
  205. package/dist/{layers.BQ6oy-pR.js → layers.w5M_mTV4.js} +3 -3
  206. package/dist/{layers.DhOoVmLi.js → layers.zw0Kaz0i.js} +1 -1
  207. package/dist/{layers.BIN6x-T7.js → layers.zzb4BOcI.js} +1 -1
  208. package/package.json +1 -1
  209. package/dist/layers.3NvonLEq.js +0 -10148
  210. package/dist/layers.B1riWlup.js +0 -425
  211. package/dist/layers.B2xZr_Qb.js +0 -6
  212. package/dist/layers.BMNz_Q3r.js +0 -108
  213. package/dist/layers.BOKoyCba.js +0 -16
  214. package/dist/layers.BZcwfAyr.js +0 -1
  215. package/dist/layers.C3ZTJw5y.js +0 -1
  216. package/dist/layers.C9lQwkMT.js +0 -1
  217. package/dist/layers.CbzJxFV8.js +0 -423
  218. package/dist/layers.CmTZUf2p.js +0 -1
  219. package/dist/layers.DA8K1lr6.js +0 -1
  220. package/dist/layers.DCeGFEI8.js +0 -51
  221. package/dist/layers.DEnv6tje.js +0 -756
  222. package/dist/layers.DMvDtceD.js +0 -7
  223. package/dist/layers.EnPHWkJ_.js +0 -8
  224. package/dist/layers.TRNn3vJS.js +0 -198
  225. package/dist/layers.iXfVMZ0v.js +0 -1
@@ -0,0 +1,748 @@
1
+ import { jsxs as I, jsx as n, Fragment as L } from "react/jsx-runtime";
2
+ import { useMemo as X, useState as b, useCallback as D, useContext as he, useRef as Le, useEffect as S } from "react";
3
+ import { useTranslation as U } from "react-i18next";
4
+ import { useLexicalComposerContext as z } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as x, Flex as ce, Stack as Ue, Button as B, Box as ze, LoadingOverlay as _e } from "@mantine/core";
6
+ import { $getNodeByKey as N, COMMAND_PRIORITY_LOW as Fe, $setSelection as He } from "lexical";
7
+ import { y as je, A as Y, K as $e, H as E, z as fe, n as we, B as be, D as ve, F as O, N as ye, G as Be, J as Ve, q as Ge, C as Ie, L as Xe, P as Ye, Q as V, S as Ze, U as qe, V as Je, W as Qe, X as Ke, Y as et, R as tt, m as ue, O as ot, k as me, Z as pe, o as nt } from "./layers.BJCeJUWZ.js";
8
+ import { AttachmentsGalleryModal as Ce, showErrorNotification as it } from "@layers-app/shared";
9
+ import { useLexicalEditable as Z } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as G } 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 at(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(), l = URL.createObjectURL(a);
37
+ try {
38
+ at(l, i);
39
+ } finally {
40
+ setTimeout(() => URL.revokeObjectURL(l), 0);
41
+ }
42
+ }
43
+ function De({
44
+ opened: e,
45
+ onOpenChange: i,
46
+ t: o,
47
+ onDownload: a,
48
+ onDelete: l
49
+ }) {
50
+ return /* @__PURE__ */ I(
51
+ x,
52
+ {
53
+ opened: e,
54
+ onChange: i,
55
+ transitionProps: je,
56
+ shadow: "md",
57
+ position: "bottom-start",
58
+ offset: 4,
59
+ withinPortal: !0,
60
+ closeOnItemClick: !0,
61
+ children: [
62
+ /* @__PURE__ */ n(x.Target, { children: /* @__PURE__ */ n(
63
+ Y,
64
+ {
65
+ label: o("editor.toolbar.more"),
66
+ icon: $e,
67
+ iconColor: "var(--mantine-color-gray-text)",
68
+ "aria-label": o("editor.toolbar.more")
69
+ }
70
+ ) }),
71
+ /* @__PURE__ */ I(x.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
72
+ /* @__PURE__ */ n(
73
+ x.Item,
74
+ {
75
+ leftSection: /* @__PURE__ */ n(ce, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ n(E, { icon: fe, size: 16 }) }),
76
+ onClick: (r) => {
77
+ r.stopPropagation(), a();
78
+ },
79
+ children: o("editor.gallery.download")
80
+ }
81
+ ),
82
+ /* @__PURE__ */ n(
83
+ x.Item,
84
+ {
85
+ color: "red",
86
+ leftSection: /* @__PURE__ */ n(ce, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ n(E, { icon: we, size: 16 }) }),
87
+ onClick: (r) => {
88
+ r.stopPropagation(), l();
89
+ },
90
+ children: o("editor.contextMenu.delete")
91
+ }
92
+ )
93
+ ] })
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ const Ne = ({
99
+ t: e,
100
+ src: i,
101
+ setShown: o,
102
+ id: a
103
+ }) => {
104
+ const [l, { open: r, close: m }] = G(!1), g = be(), p = 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__ */ I(L, { children: [
125
+ /* @__PURE__ */ n(
126
+ Ce,
127
+ {
128
+ opened: l,
129
+ onOpenChange: (h) => {
130
+ h ? r() : m();
131
+ },
132
+ attachments: p,
133
+ allowDownload: g
134
+ }
135
+ ),
136
+ /* @__PURE__ */ n(
137
+ Y,
138
+ {
139
+ label: e("editor.image.preview"),
140
+ icon: ve,
141
+ iconColor: "var(--mantine-color-gray-text)",
142
+ "aria-label": e("editor.image.preview"),
143
+ onClick: () => {
144
+ o(!1), r();
145
+ }
146
+ }
147
+ )
148
+ ] });
149
+ }, rt = ({
150
+ nodeKey: e,
151
+ src: i
152
+ }) => {
153
+ const [o] = z(), a = Z(), [l, r] = b(!1), [m, g] = b(!1), { t: p } = U(), u = D(() => {
154
+ o.update(() => {
155
+ const C = N(e);
156
+ O(C) && C.remove();
157
+ });
158
+ }, [o, e]), h = D(async () => {
159
+ if (i)
160
+ try {
161
+ await J(i, q(i));
162
+ } catch {
163
+ }
164
+ }, [i]);
165
+ return /* @__PURE__ */ I(
166
+ "div",
167
+ {
168
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
169
+ children: [
170
+ /* @__PURE__ */ n(Ne, { t: p, src: i, setShown: () => {
171
+ } }),
172
+ a && /* @__PURE__ */ I(L, { children: [
173
+ /* @__PURE__ */ n(
174
+ ye,
175
+ {
176
+ opened: l,
177
+ setOpened: r,
178
+ t: p,
179
+ editor: o,
180
+ nodeKey: e,
181
+ setShown: () => {
182
+ }
183
+ }
184
+ ),
185
+ /* @__PURE__ */ n(
186
+ De,
187
+ {
188
+ opened: m,
189
+ onOpenChange: g,
190
+ t: p,
191
+ onDownload: () => void h(),
192
+ onDelete: u
193
+ }
194
+ )
195
+ ] })
196
+ ]
197
+ }
198
+ );
199
+ }, lt = () => {
200
+ };
201
+ function st({ nodeKey: e, src: i, id: o }) {
202
+ const { t: a } = U(), [l] = z(), r = Z(), [m, g] = b(!1), [p, u] = b(!1), h = D(() => {
203
+ u(!1), l.update(() => {
204
+ const v = N(e);
205
+ if (!O(v)) return;
206
+ const A = v.getParent();
207
+ Be(A) ? A.remove() : v.remove();
208
+ });
209
+ }, [l, e]), C = D(async () => {
210
+ if (i)
211
+ try {
212
+ await J(i, q(i));
213
+ } catch {
214
+ }
215
+ }, [i]);
216
+ return /* @__PURE__ */ I(
217
+ "div",
218
+ {
219
+ className: "media-actions visible",
220
+ style: {
221
+ position: "absolute",
222
+ top: 10,
223
+ right: 10,
224
+ zIndex: 10,
225
+ pointerEvents: "auto",
226
+ display: "flex",
227
+ gap: 4
228
+ },
229
+ onClick: (v) => v.stopPropagation(),
230
+ children: [
231
+ /* @__PURE__ */ n(Ne, { t: a, src: i, setShown: lt, id: o }),
232
+ r && /* @__PURE__ */ I(L, { children: [
233
+ /* @__PURE__ */ n(
234
+ ye,
235
+ {
236
+ opened: m,
237
+ setOpened: g,
238
+ t: a,
239
+ editor: l,
240
+ nodeKey: e
241
+ }
242
+ ),
243
+ /* @__PURE__ */ n(
244
+ De,
245
+ {
246
+ opened: p,
247
+ onOpenChange: u,
248
+ t: a,
249
+ onDownload: () => void C(),
250
+ onDelete: h
251
+ }
252
+ )
253
+ ] })
254
+ ]
255
+ }
256
+ );
257
+ }
258
+ function dt({ nodeKey: e, src: i, id: o }) {
259
+ const { t: a } = U(), [l] = z(), r = Z(), m = be(), [g, { open: p, close: u }] = G(!1), [h, { open: C, close: v }] = G(!1), A = X(
260
+ () => [
261
+ {
262
+ id: !o || o === "0" ? "" : o,
263
+ Url: i ?? "",
264
+ contentType: "image/*",
265
+ originalFileName: "",
266
+ fileSize: 0,
267
+ storageType: "",
268
+ storagePath: "",
269
+ fileName: "",
270
+ parentType: "",
271
+ parentId: "",
272
+ ownerId: "",
273
+ createdAt: /* @__PURE__ */ new Date(),
274
+ updatedAt: /* @__PURE__ */ new Date(),
275
+ version: 0,
276
+ deleted: !1,
277
+ deletedAt: /* @__PURE__ */ new Date()
278
+ }
279
+ ],
280
+ [i, o]
281
+ ), T = () => {
282
+ u(), C();
283
+ }, P = D(async () => {
284
+ if (u(), !!i)
285
+ try {
286
+ await J(i, q(i));
287
+ } catch {
288
+ }
289
+ }, [i, u]), c = D(() => {
290
+ u(), l.update(() => {
291
+ const f = N(e);
292
+ O(f) && f.remove();
293
+ });
294
+ }, [l, e, u]);
295
+ return /* @__PURE__ */ I(L, { children: [
296
+ /* @__PURE__ */ n(
297
+ "div",
298
+ {
299
+ className: "image-touch-actions",
300
+ style: {
301
+ position: "absolute",
302
+ top: 8,
303
+ right: 8,
304
+ zIndex: 10,
305
+ pointerEvents: "auto"
306
+ },
307
+ onClick: (f) => f.stopPropagation(),
308
+ children: /* @__PURE__ */ n(
309
+ Y,
310
+ {
311
+ label: a("editor.toolbar.more"),
312
+ icon: Ve,
313
+ iconColor: "var(--mantine-color-gray-text)",
314
+ "aria-label": a("editor.toolbar.more"),
315
+ onClick: p
316
+ }
317
+ )
318
+ }
319
+ ),
320
+ /* @__PURE__ */ n(
321
+ Ce,
322
+ {
323
+ opened: h,
324
+ onOpenChange: (f) => f ? C() : v(),
325
+ attachments: A,
326
+ allowDownload: m
327
+ }
328
+ ),
329
+ /* @__PURE__ */ n(
330
+ Ge,
331
+ {
332
+ opened: g,
333
+ onClose: u,
334
+ title: a("editor.image.mobileActions"),
335
+ children: /* @__PURE__ */ I(Ue, { gap: 4, p: 0, children: [
336
+ /* @__PURE__ */ n(
337
+ B,
338
+ {
339
+ type: "button",
340
+ variant: "subtle",
341
+ color: "gray",
342
+ fullWidth: !0,
343
+ justify: "flex-start",
344
+ bg: "var(--editor-action-bg)",
345
+ onClick: T,
346
+ leftSection: /* @__PURE__ */ n(
347
+ E,
348
+ {
349
+ icon: ve,
350
+ size: 16,
351
+ color: "var(--mantine-color-dimmed)"
352
+ }
353
+ ),
354
+ children: a("editor.image.previewFullScreen")
355
+ }
356
+ ),
357
+ m && /* @__PURE__ */ n(
358
+ B,
359
+ {
360
+ type: "button",
361
+ variant: "subtle",
362
+ color: "gray",
363
+ fullWidth: !0,
364
+ justify: "flex-start",
365
+ bg: "var(--editor-action-bg)",
366
+ onClick: () => void P(),
367
+ leftSection: /* @__PURE__ */ n(
368
+ E,
369
+ {
370
+ icon: fe,
371
+ size: 16,
372
+ color: "var(--mantine-color-dimmed)"
373
+ }
374
+ ),
375
+ children: a("editor.gallery.download")
376
+ }
377
+ ),
378
+ r && /* @__PURE__ */ n(
379
+ B,
380
+ {
381
+ type: "button",
382
+ variant: "subtle",
383
+ color: "red",
384
+ fullWidth: !0,
385
+ justify: "flex-start",
386
+ bg: "var(--editor-action-bg)",
387
+ onClick: c,
388
+ leftSection: /* @__PURE__ */ n(
389
+ E,
390
+ {
391
+ icon: we,
392
+ size: 16,
393
+ color: "var(--mantine-color-red-6)"
394
+ }
395
+ ),
396
+ children: a("editor.actions.delete")
397
+ }
398
+ )
399
+ ] })
400
+ }
401
+ )
402
+ ] });
403
+ }
404
+ const ge = (e) => {
405
+ const {
406
+ width: i,
407
+ height: o,
408
+ isLoading: a,
409
+ isError: l,
410
+ src: r,
411
+ id: m,
412
+ altText: g,
413
+ imageRef: p,
414
+ maxWidth: u,
415
+ aspectRatio: h
416
+ } = e;
417
+ return /* @__PURE__ */ I(
418
+ "div",
419
+ {
420
+ className: "media-wrapper",
421
+ "data-reserved-box": h ? "" : void 0,
422
+ style: {
423
+ width: i,
424
+ height: h ? "auto" : o,
425
+ aspectRatio: h || void 0,
426
+ display: "inline-flex",
427
+ position: "relative"
428
+ },
429
+ children: [
430
+ /* @__PURE__ */ n(
431
+ _e,
432
+ {
433
+ visible: a,
434
+ zIndex: 1e3,
435
+ overlayProps: { backgroundOpacity: 0.5 },
436
+ loaderProps: { size: 24, color: "black" }
437
+ }
438
+ ),
439
+ /* @__PURE__ */ n(
440
+ ct,
441
+ {
442
+ className: null,
443
+ src: r,
444
+ altText: g,
445
+ imageRef: p,
446
+ width: "inherit",
447
+ height: "inherit",
448
+ maxWidth: u || "auto",
449
+ id: m
450
+ }
451
+ ),
452
+ me && /* @__PURE__ */ n(dt, { nodeKey: e.nodeKey, src: r, id: m }),
453
+ pe && /* @__PURE__ */ n(st, { nodeKey: e.nodeKey, src: r, id: m }),
454
+ nt && !me && !pe && /* @__PURE__ */ n(rt, { nodeKey: e.nodeKey, src: r })
455
+ ]
456
+ }
457
+ );
458
+ };
459
+ function ct({
460
+ altText: e,
461
+ className: i,
462
+ imageRef: o,
463
+ src: a,
464
+ width: l,
465
+ height: r,
466
+ maxWidth: m,
467
+ id: g
468
+ }) {
469
+ const [p, u] = b(!1);
470
+ return /* @__PURE__ */ n(
471
+ "img",
472
+ {
473
+ className: `${i || void 0} ${p ? "" : "loading"}`,
474
+ src: a,
475
+ alt: e,
476
+ ref: o,
477
+ style: {
478
+ height: r,
479
+ maxWidth: m,
480
+ width: l
481
+ },
482
+ onLoad: () => {
483
+ a.includes("splash") ? setTimeout(() => {
484
+ u(!0);
485
+ }, 100) : u(!0);
486
+ },
487
+ draggable: "false",
488
+ "data-id": g
489
+ }
490
+ );
491
+ }
492
+ function Wt(e) {
493
+ const { disable: i } = he(Ie);
494
+ return i && Xe.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ n(ut, { ...e });
495
+ }
496
+ function ut({
497
+ src: e,
498
+ altText: i,
499
+ nodeKey: o,
500
+ width: a,
501
+ height: l,
502
+ maxWidth: r,
503
+ showCaption: m,
504
+ caption: g,
505
+ id: p,
506
+ create: u,
507
+ alignment: h,
508
+ imagePickerTab: C,
509
+ aspectRatio: v
510
+ }) {
511
+ var se, de;
512
+ const A = Le(null), [T, P] = b(!0), [c] = z(), [f, _] = b(!0), [y, F] = b({
513
+ width: 0,
514
+ height: 0
515
+ }), { start: Q } = Ye(), [mt, H] = b(0), {
516
+ fetchUploadMedia: R,
517
+ fetchDeleteMedia: K,
518
+ maxFileSize: pt,
519
+ imperativeHandleRef: M,
520
+ disable: Oe
521
+ } = he(Ie), W = V.has(e) && (((se = V.get(e)) == null ? void 0 : se.mediaNodeKeys.length) === 0 || ((de = V.get(e)) == null ? void 0 : de.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: k } = U(), ee = (t) => {
522
+ if (typeof t == "number") return t > 0 ? t : null;
523
+ if (typeof t == "string" && !t.includes("%")) {
524
+ const s = parseFloat(t);
525
+ return Number.isFinite(s) && s > 0 ? s : null;
526
+ }
527
+ return null;
528
+ }, te = ee(a), oe = ee(l), ne = te && oe ? te / oe : void 0, [Ae, Pe] = b(
529
+ void 0
530
+ ), ie = X(() => {
531
+ try {
532
+ const t = parseFloat(
533
+ localStorage.getItem("layers-img-ratio:" + e) || ""
534
+ );
535
+ return Number.isFinite(t) && t > 0 ? t : void 0;
536
+ } catch {
537
+ return;
538
+ }
539
+ }, [e]), Se = ne ?? v ?? ie ?? Ae, [xe, ae] = b(!1), Ee = !xe && !ne && (v ?? ie) != null, [gt, Te] = b(0);
540
+ S(() => c.registerDecoratorListener(() => {
541
+ Te((t) => t + 1);
542
+ }), [W]), S(() => {
543
+ const t = c.getElementByKey(o);
544
+ t && (t.style.removeProperty("aspect-ratio"), t.style.removeProperty("width"));
545
+ }, [c, o]), S(() => {
546
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
547
+ P(!1);
548
+ return;
549
+ }
550
+ const t = new Image();
551
+ t.src = e, t.onload = () => {
552
+ if (P(!1), t.naturalWidth) {
553
+ const s = t.naturalWidth / t.naturalHeight;
554
+ if (Pe(s), t.naturalWidth >= 100)
555
+ try {
556
+ localStorage.setItem("layers-img-ratio:" + e, String(s));
557
+ } catch {
558
+ }
559
+ !v && t.naturalWidth >= 100 && c.update(
560
+ () => {
561
+ const d = N(o);
562
+ O(d) && d.getAspectRatio() == null && d.setAspectRatio(s);
563
+ },
564
+ { tag: "history-merge" }
565
+ );
566
+ }
567
+ }, t.onerror = () => {
568
+ P(!1);
569
+ };
570
+ }, [e, W]);
571
+ const Re = (t, s) => {
572
+ c.update(() => {
573
+ He(null);
574
+ const d = N(o);
575
+ O(d) && d.setWidthAndHeight(t, s);
576
+ });
577
+ }, { historyState: re } = Ze(), {
578
+ settings: { showNestedEditorTreeView: le }
579
+ } = qe();
580
+ function Me(t) {
581
+ return t.endsWith(".svg") || t.includes("image/svg+xml");
582
+ }
583
+ function We(t) {
584
+ return new Promise((s, d) => {
585
+ if (Me(t)) {
586
+ s(0);
587
+ return;
588
+ }
589
+ const w = new Image();
590
+ w.src = t, w.onload = () => {
591
+ s(w.width);
592
+ }, w.onerror = () => {
593
+ d(new Error("Failed to load image"));
594
+ };
595
+ });
596
+ }
597
+ S(() => {
598
+ let t = a, s = l, d = 100;
599
+ (e.includes("unsplash") ? e.trim() : !W && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && We(e).then((w) => {
600
+ typeof t == "number" && t < d && w < d ? (_(!0), F({
601
+ width: t,
602
+ height: s
603
+ })) : w < d ? (_(!0), F({
604
+ width: "auto",
605
+ height: "auto"
606
+ })) : (F({
607
+ width: w,
608
+ height: w
609
+ }), _(!1)), ae(!0);
610
+ }).catch((w) => {
611
+ ae(!0), console.warn("Ошибка при загрузке изображения:", w.message);
612
+ });
613
+ }, [e, W]), S(() => {
614
+ y.width && y.height && f && c.update(() => {
615
+ const t = N(o);
616
+ O(t) && t.setWidthAndHeight(y.width, y.height);
617
+ });
618
+ }, [y.width, y.height, f]);
619
+ const ke = D(
620
+ (t) => Je(c, o, t),
621
+ [c, o]
622
+ ), j = D(
623
+ (t, s) => {
624
+ P(!1), c.update(() => {
625
+ const d = N(o);
626
+ O(d) && (d.setSrc(t), d.setId(s));
627
+ });
628
+ },
629
+ [c, o]
630
+ ), $ = D(
631
+ (t) => {
632
+ P(!0);
633
+ const s = Q();
634
+ R && R(
635
+ t[0],
636
+ (d, w) => {
637
+ j(d, w), H(0);
638
+ },
639
+ (d) => {
640
+ d && it({
641
+ message: k("editor.gallery.errorFile")
642
+ }), H(0), j(e.startsWith("blob:") ? "upload" : "", "");
643
+ },
644
+ s,
645
+ (d) => {
646
+ H(d);
647
+ }
648
+ );
649
+ },
650
+ [R, Q, k, j, e]
651
+ );
652
+ return S(() => c.registerCommand(
653
+ Qe,
654
+ (t) => !e.startsWith("blob:") && e !== "upload" || t.targetNodeKey !== o ? !1 : ($(t.files), !0),
655
+ Fe
656
+ ), [c, $, o, e]), !e || e === "upload" ? /* @__PURE__ */ n(ze, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ n(
657
+ Ke,
658
+ {
659
+ inline: !0,
660
+ nodeKey: o,
661
+ defaultTabValue: C,
662
+ onWriteTabToNode: ke,
663
+ uploading: !1,
664
+ onUpload: (t) => {
665
+ !R || !t.length || $(t);
666
+ },
667
+ popoverProps: {
668
+ opened: !0,
669
+ position: "bottom",
670
+ zIndex: et
671
+ },
672
+ onChange: (t) => {
673
+ c.update(() => {
674
+ const s = N(o);
675
+ O(s) && s.setSrc(t);
676
+ });
677
+ }
678
+ }
679
+ ) }) : f && !Ee ? /* @__PURE__ */ n(
680
+ ge,
681
+ {
682
+ width: y.width,
683
+ height: y.height,
684
+ isLoading: T,
685
+ isError: !1,
686
+ isIcon: f,
687
+ src: e,
688
+ id: p,
689
+ editor: c,
690
+ nodeKey: o,
691
+ fetchDeleteMedia: K,
692
+ altText: i,
693
+ imageRef: A,
694
+ maxWidth: r,
695
+ showCaption: m,
696
+ caption: g,
697
+ isCollabActive: !1,
698
+ historyState: re,
699
+ showNestedEditorTreeView: le,
700
+ t: k
701
+ }
702
+ ) : /* @__PURE__ */ n(
703
+ tt,
704
+ {
705
+ editor: c,
706
+ isIcon: f,
707
+ width: ue(a),
708
+ height: ue(l),
709
+ initialWidth: y.width || "",
710
+ initialHeight: y.height || "",
711
+ onResizeEnd: Re,
712
+ alignment: h,
713
+ disable: Oe,
714
+ onRegisterDecoratorEnter: (t) => {
715
+ M != null && M.current && (M.current.decoratorEnterAction = t);
716
+ },
717
+ onActivate: () => c.dispatchCommand(ot, "show_menu"),
718
+ children: /* @__PURE__ */ n(
719
+ ge,
720
+ {
721
+ width: "inherit",
722
+ height: "inherit",
723
+ aspectRatio: Se,
724
+ isLoading: T,
725
+ isError: !1,
726
+ isIcon: f,
727
+ src: e,
728
+ id: p,
729
+ editor: c,
730
+ nodeKey: o,
731
+ fetchDeleteMedia: K,
732
+ altText: i,
733
+ imageRef: A,
734
+ maxWidth: r,
735
+ showCaption: m,
736
+ caption: g,
737
+ isCollabActive: !1,
738
+ historyState: re,
739
+ showNestedEditorTreeView: le,
740
+ t: k
741
+ }
742
+ )
743
+ }
744
+ );
745
+ }
746
+ export {
747
+ Wt as default
748
+ };