@layers-app/editor 2.2.5 → 2.2.6

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 (209) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.js +4 -4
  3. package/dist/{layers.CqzRULsY.js → layers.0uMapnTM.js} +1 -1
  4. package/dist/{layers.CIDi9yhs.js → layers.2QhAAF_i.js} +1 -1
  5. package/dist/{layers.CX1gSEqz.js → layers.3JrIbth9.js} +1 -1
  6. package/dist/{layers.DVfgFHnB.js → layers.3bRK0DnI.js} +1 -1
  7. package/dist/{layers.y8jTJQT6.js → layers.4cWTvJVV.js} +1 -1
  8. package/dist/{layers.CjyXU5Og.js → layers.5vC2pxnE.js} +1 -1
  9. package/dist/{layers.DwlXcy7M.js → layers.6bXSyQ8H.js} +1 -1
  10. package/dist/{layers.DVtRptx5.js → layers.85-7MGH-.js} +1 -1
  11. package/dist/{layers.DmF1dgS-.js → layers.A0SiW7j_.js} +1 -1
  12. package/dist/{layers.dqN0ci2S.js → layers.B-BYAv_M.js} +1 -1
  13. package/dist/{layers.CUFSEaDc.js → layers.B0AmrrmH.js} +1 -1
  14. package/dist/{layers.D5yGJ4Kd.js → layers.B1Xrcga8.js} +4 -4
  15. package/dist/{layers._wqcQnAR.js → layers.B25QaNQd.js} +1 -1
  16. package/dist/layers.B42YwF-Z.js +1 -0
  17. package/dist/{layers.DD2c1_Hb.js → layers.B45CiLP0.js} +1 -1
  18. package/dist/{layers.C0xDiSS-.js → layers.B4gkbsHy.js} +1 -1
  19. package/dist/{layers.DyXERaML.js → layers.B4gmMfRX.js} +5 -5
  20. package/dist/{layers.Bq3x1Rm7.js → layers.B4vPQjCJ.js} +1 -1
  21. package/dist/{layers.Bjk60DPg.js → layers.B6HmuHlS.js} +1 -1
  22. package/dist/{layers.BjtOGkA3.js → layers.B6oON-s8.js} +1 -1
  23. package/dist/layers.B736Q2uF.js +1 -0
  24. package/dist/{layers.DmnrOZzj.js → layers.B7pY-nfd.js} +1 -1
  25. package/dist/{layers.BKUHCiZP.js → layers.BChBjMCN.js} +1 -1
  26. package/dist/{layers.D92rnnE0.js → layers.BEBGyeCB.js} +1 -1
  27. package/dist/{layers.DdjV62cc.js → layers.BFGS3X0G.js} +1 -1
  28. package/dist/{layers.DK_buRED.js → layers.BFdx1DB6.js} +1 -1
  29. package/dist/{layers.CV0RTTI2.js → layers.BGFX3A1X.js} +1 -1
  30. package/dist/{layers.NyJkjihb.js → layers.BGl8iMi7.js} +1 -1
  31. package/dist/{layers.C_937Mqf.js → layers.BH72gRm-.js} +3 -3
  32. package/dist/{layers.ETElL5D9.js → layers.BHpPSKPH.js} +1 -1
  33. package/dist/{layers.mKy-nXEC.js → layers.BIzhK3WS.js} +1 -1
  34. package/dist/{layers.BLBydOAc.js → layers.BJXpj-RM.js} +2 -2
  35. package/dist/{layers.BJSTGaT8.js → layers.BKW5rheY.js} +4 -4
  36. package/dist/{layers.B90qcp2o.js → layers.BL1THLVI.js} +1 -1
  37. package/dist/{layers.XdnnbKx2.js → layers.BLWhKgZ7.js} +1 -1
  38. package/dist/{layers.CNwb9cgy.js → layers.BM-O3Buu.js} +1 -1
  39. package/dist/{layers.BhbEhTud.js → layers.BM6dq-w0.js} +1 -1
  40. package/dist/{layers.WGPs5diP.js → layers.BMgdNqSo.js} +1 -1
  41. package/dist/{layers.Xi-dm1OT.js → layers.BOP2uMMo.js} +1 -1
  42. package/dist/{layers.bI6-0TlZ.js → layers.BQmR5Tnp.js} +1 -1
  43. package/dist/{layers.BMAW_FLh.js → layers.BR930SMy.js} +1 -1
  44. package/dist/{layers.CNu4swGv.js → layers.BRlbVSGN.js} +3 -3
  45. package/dist/{layers.DNjnLwMW.js → layers.BSOAO5c6.js} +1 -1
  46. package/dist/{layers.C27QwB9u.js → layers.BSoWzQ6X.js} +1 -1
  47. package/dist/{layers.Bh7KqATx.js → layers.BT9MgXuI.js} +1 -1
  48. package/dist/{layers.Cs8mLkOu.js → layers.BUfmM545.js} +1 -1
  49. package/dist/{layers.B0Yquv2s.js → layers.BV8liTLR.js} +1 -1
  50. package/dist/{layers.DelOS3eY.js → layers.BWm4ZOHX.js} +1 -1
  51. package/dist/{layers.D1gWSjC6.js → layers.BY1oHpIo.js} +1 -1
  52. package/dist/{layers.BGI4uq1Q.js → layers.BYM2vAiZ.js} +1 -1
  53. package/dist/{layers.Csaijvtd.js → layers.BZ5cWrty.js} +1 -1
  54. package/dist/{layers.D6GHEM5_.js → layers.B_DVIDpU.js} +133 -81
  55. package/dist/{layers.CgKRd9Xy.js → layers.Bb6CI-Uq.js} +1 -1
  56. package/dist/{layers.DKu5XZGB.js → layers.BbWWgORs.js} +25 -25
  57. package/dist/{layers.BOat0pS2.js → layers.Bd1Dy3nf.js} +1 -1
  58. package/dist/{layers.B2ipA4ba.js → layers.BdS4tWFA.js} +1 -1
  59. package/dist/{layers.V7R3qMDQ.js → layers.BekhprzD.js} +1 -1
  60. package/dist/{layers.q9Q0MaTe.js → layers.Bg8gonsN.js} +1 -1
  61. package/dist/{layers.CUK-rUuB.js → layers.BhFr3Mzu.js} +3 -3
  62. package/dist/{layers.Iq53ccaa.js → layers.Bi-6TWWo.js} +1 -1
  63. package/dist/{layers.NbQfUzCT.js → layers.Bi2phvtY.js} +1 -1
  64. package/dist/{layers.CrlYgkgw.js → layers.BitUgI_s.js} +1 -1
  65. package/dist/{layers.SfIMzSP6.js → layers.Bj0Tru3S.js} +1 -1
  66. package/dist/{layers.DP6dBWWj.js → layers.BjhtGMwa.js} +1 -1
  67. package/dist/{layers.UgXYqaEY.js → layers.Bo8L5lHB.js} +1 -1
  68. package/dist/{layers.BVDuJGV9.js → layers.BrzC9cTo.js} +7522 -7681
  69. package/dist/layers.Bsi30ULJ.js +700 -0
  70. package/dist/{layers.Dkq09Y68.js → layers.BtKy67RG.js} +1 -1
  71. package/dist/{layers.D-lS0zEt.js → layers.BtRZWh3b.js} +1 -1
  72. package/dist/{layers.B9adlI7j.js → layers.Btg77yKm.js} +1 -1
  73. package/dist/{layers.D_hLVLGH.js → layers.BuChCqfs.js} +4 -4
  74. package/dist/{layers.zuoimKGJ.js → layers.Bv9bESUW.js} +1 -1
  75. package/dist/{layers.Bo3NWqJh.js → layers.ByZs7ngy.js} +1 -1
  76. package/dist/{layers.CmwjLqUo.js → layers.C0-YIqyX.js} +2 -2
  77. package/dist/{layers.e73gcYlu.js → layers.C02CwCQ3.js} +1 -1
  78. package/dist/{layers.48XjoH3g.js → layers.C3Gl01tj.js} +1 -1
  79. package/dist/{layers.OFkrVJcg.js → layers.C4-E20FD.js} +4 -4
  80. package/dist/{layers.Bvl1BY0b.js → layers.C6SqYd06.js} +4 -4
  81. package/dist/{layers.CIL2QOfL.js → layers.C6x5oC8I.js} +1 -1
  82. package/dist/{layers.C_MLYmCU.js → layers.CAin_OSK.js} +1 -1
  83. package/dist/{layers.9t12ZmSs.js → layers.CC6CuMYF.js} +1 -1
  84. package/dist/{layers.DpuJReHx.js → layers.CCTjbF34.js} +1 -1
  85. package/dist/{layers.D1JGHvOa.js → layers.CDkaXzm0.js} +1 -1
  86. package/dist/{layers.sChDyBdN.js → layers.CFiu3b6K.js} +1 -1
  87. package/dist/{layers.BSgSkNGW.js → layers.CGzNvcSg.js} +1 -1
  88. package/dist/{layers.BGI1sVJS.js → layers.CH9lroXs.js} +1 -1
  89. package/dist/{layers.D8bzyj4Q.js → layers.CHLikqh0.js} +3 -3
  90. package/dist/{layers.B09Pf229.js → layers.CHQmN4Gp.js} +1 -1
  91. package/dist/{layers.Dw-aqr_0.js → layers.CJUy6Ri2.js} +1 -1
  92. package/dist/{layers.BPkmCywP.js → layers.CJeYmnES.js} +1 -1
  93. package/dist/{layers.DfZGXADe.js → layers.CK2c7L3-.js} +1 -1
  94. package/dist/{layers.byUNpbGx.js → layers.CL_ptxKN.js} +1 -1
  95. package/dist/{layers.CZxcaHee.js → layers.CLcmSA8D.js} +1 -1
  96. package/dist/{layers.CcK3wC1t.js → layers.CLxOKHt9.js} +1 -1
  97. package/dist/{layers.DK2WSVSN.js → layers.CM3e9Mpp.js} +1 -1
  98. package/dist/{layers.XyZAQVnc.js → layers.CN5tc8_f.js} +1 -1
  99. package/dist/{layers.Dm1G5Zqd.js → layers.CNhVbq4s.js} +3 -3
  100. package/dist/layers.COipb6m2.js +1 -0
  101. package/dist/{layers.Dvn0h-ZV.js → layers.CTbGSwtg.js} +1 -1
  102. package/dist/{layers.DfMYF1Ym.js → layers.CW4WV6uh.js} +2 -2
  103. package/dist/{layers.DRIicokO.js → layers.CWHRqAuo.js} +1 -1
  104. package/dist/{layers.DDy4ORkJ.js → layers.CWgQnMI9.js} +1 -1
  105. package/dist/{layers.BFUIZSsM.js → layers.CYrArxDC.js} +1 -1
  106. package/dist/{layers.Dgs2uScy.js → layers.CZrSdYGP.js} +1 -1
  107. package/dist/{layers.BfwLJXTv.js → layers.C_MwCIeA.js} +1 -1
  108. package/dist/{layers.D7Be0Uze.js → layers.Ca8HSm6z.js} +1 -1
  109. package/dist/{layers.D9n7034u.js → layers.CamaV1H0.js} +1 -1
  110. package/dist/{layers.wuSzaTy7.js → layers.CcSgTtPL.js} +1 -1
  111. package/dist/{layers.5rBPIxsj.js → layers.CcsHH8B-.js} +1 -1
  112. package/dist/{layers.BDPgrWXr.js → layers.CfHNu_CG.js} +1 -1
  113. package/dist/{layers.D-AZVe_H.js → layers.Ch4AeIFt.js} +4 -4
  114. package/dist/{layers.CpcwENcf.js → layers.Ci_7za8T.js} +105 -105
  115. package/dist/{layers.D7Ih86mB.js → layers.Cj-xZ_bG.js} +3 -3
  116. package/dist/{layers.C2oyDdWp.js → layers.ClqbdXnC.js} +1 -1
  117. package/dist/{layers.CSlitEeZ.js → layers.CmlqGNx8.js} +1 -1
  118. package/dist/{layers.DAJl6lyF.js → layers.CnGZt00S.js} +4 -4
  119. package/dist/{layers.B-Ciyr7y.js → layers.CnaRTfev.js} +1 -1
  120. package/dist/{layers.CLJHMvRM.js → layers.Co3JgnRS.js} +1 -1
  121. package/dist/{layers.Bhx_X-2O.js → layers.CoZoVi2s.js} +1 -1
  122. package/dist/{layers.LuYCJbOc.js → layers.Cr0yVyRZ.js} +6 -6
  123. package/dist/{layers.Cl9Gi6Hk.js → layers.Cr1FEz7k.js} +1 -1
  124. package/dist/{layers.a1cHbiXT.js → layers.CrqV-OlR.js} +1 -1
  125. package/dist/{layers.B3yhtO85.js → layers.CxJaViYF.js} +1 -1
  126. package/dist/layers.Cz2pcrWD.js +8 -0
  127. package/dist/{layers.Brg-Yun6.js → layers.CzbotPmC.js} +1 -1
  128. package/dist/{layers.B2PwxdHa.js → layers.D-5dDM4x.js} +1 -1
  129. package/dist/{layers.BAO-CoiM.js → layers.D06B3qZE.js} +8 -8
  130. package/dist/{layers.CZH7GPvj.js → layers.D0x_mb3D.js} +1 -1
  131. package/dist/{layers.B6o2ht_f.js → layers.D3a7BCkm.js} +1 -1
  132. package/dist/{layers.ka4TlMsx.js → layers.D6RvaXfT.js} +1 -1
  133. package/dist/{layers.Cpmp2Ro6.js → layers.D85d9rg_.js} +1 -1
  134. package/dist/{layers.DPHoRZjh.js → layers.D901hK2K.js} +1 -1
  135. package/dist/{layers.DvyFcjjt.js → layers.D9OedPex.js} +1 -1
  136. package/dist/{layers.CdGQ3ID7.js → layers.DARFFcsX.js} +1 -1
  137. package/dist/{layers.Cp5d8Ycb.js → layers.DCncsSiD.js} +1 -1
  138. package/dist/{layers.jN2fMZO9.js → layers.DG0VXzJS.js} +1 -1
  139. package/dist/{layers.BsmPTuKb.js → layers.DJz226z4.js} +1 -1
  140. package/dist/{layers.BpTTx3kL.js → layers.DJzG_68p.js} +1 -1
  141. package/dist/{layers.C570XKYo.js → layers.DLJCpbZi.js} +1 -1
  142. package/dist/{layers.dXeh3i1J.js → layers.DLOZtXj2.js} +1 -1
  143. package/dist/{layers.BVYWjabB.js → layers.DLvXU_5M.js} +1 -1
  144. package/dist/{layers.DS5UhZtX.js → layers.DMTxsmmN.js} +1 -1
  145. package/dist/{layers.Fa6Ildm-.js → layers.DM_95UFw.js} +1 -1
  146. package/dist/{layers.CNhX_eWw.js → layers.DNQZIW7i.js} +1 -1
  147. package/dist/{layers.fsBLQ8dz.js → layers.DOi7okPe.js} +1 -1
  148. package/dist/{layers.BxLlB3P2.js → layers.DPfjm2Uj.js} +1 -1
  149. package/dist/{layers.hcoo3c6a.js → layers.DQNsm91u.js} +1 -1
  150. package/dist/{layers.C2OR_wUd.js → layers.DQxIBh_T.js} +1 -1
  151. package/dist/{layers.ClSiqGE4.js → layers.DV6ap90u.js} +1 -1
  152. package/dist/{layers.De6yLwbZ.js → layers.DV7WBNjE.js} +1 -1
  153. package/dist/{layers.Cr-OGBow.js → layers.DVRkVd66.js} +4 -4
  154. package/dist/{layers.BUUs1M0q.js → layers.DXdLGquk.js} +7 -7
  155. package/dist/{layers.rRD4VXdU.js → layers.DZ_bp1eN.js} +1 -1
  156. package/dist/{layers.HE-qAFA0.js → layers.DZwhYR3E.js} +1 -1
  157. package/dist/layers.DaH69lT5.js +6 -0
  158. package/dist/{layers.D57fI0CI.js → layers.DbMogs3Q.js} +1 -1
  159. package/dist/{layers.CdvqExJr.js → layers.DbhYqyVK.js} +1 -1
  160. package/dist/{layers.D9VDfwpD.js → layers.DfFubPoK.js} +1 -1
  161. package/dist/{layers.DOKwen1r.js → layers.Dhn6wSXK.js} +1 -1
  162. package/dist/{layers.e3ak3tlM.js → layers.DiaSt6fq.js} +3 -3
  163. package/dist/{layers.9tg7DTez.js → layers.DjB6yqma.js} +1 -1
  164. package/dist/{layers.s-KPo2h8.js → layers.Dmi4ymmh.js} +1 -1
  165. package/dist/{layers.B9rpGMqH.js → layers.Dn41lKW5.js} +1 -1
  166. package/dist/{layers.105lJf8q.js → layers.DnUlm2IQ.js} +1 -1
  167. package/dist/{layers.CDTPUExw.js → layers.DpsiU_Re.js} +2 -2
  168. package/dist/{layers.9TZNVsVN.js → layers.DsU7JDCu.js} +1 -1
  169. package/dist/{layers.4s7KHvIO.js → layers.DvvGT4rU.js} +1 -1
  170. package/dist/{layers.C8lznXhr.js → layers.Dwxpn_Nc.js} +4 -4
  171. package/dist/{layers.BeXKq9YB.js → layers.DxG4Eomn.js} +1 -1
  172. package/dist/{layers.8KfujFwN.js → layers.Dyx--ROO.js} +2 -2
  173. package/dist/{layers.NRO2VqdF.js → layers.GQ1xz0AO.js} +1 -1
  174. package/dist/{layers.CK4_493f.js → layers.N5xvm9Hp.js} +3 -3
  175. package/dist/{layers.lOxtbTX7.js → layers.OQ5kGkbq.js} +1 -1
  176. package/dist/{layers.BqYqx5vJ.js → layers.OpesN8Pk.js} +1 -1
  177. package/dist/{layers.CT1cSWtL.js → layers.PCp4Rwn5.js} +1 -1
  178. package/dist/{layers.DJhcGnOB.js → layers.Tal1p8Ys.js} +1 -1
  179. package/dist/{layers.k7gjZGSm.js → layers.VbUb20Ef.js} +3 -3
  180. package/dist/{layers.Bqi9LsiS.js → layers.WhDCfJRo.js} +1 -1
  181. package/dist/{layers.C3rY72zF.js → layers.bYaYaUvq.js} +1 -1
  182. package/dist/{layers.DcZk1pth.js → layers.cYNB161M.js} +1 -1
  183. package/dist/{layers.B6Y_mh1u.js → layers.d4ut1WFw.js} +1 -1
  184. package/dist/{layers.RAk9j-s3.js → layers.di0hRbiz.js} +1 -1
  185. package/dist/{layers.lm1GDKm6.js → layers.ggS3sgTN.js} +1 -1
  186. package/dist/{layers.BSDMaVWd.js → layers.glH1KH1q.js} +1 -1
  187. package/dist/{layers.CwZAZZeV.js → layers.hN_zhfRu.js} +1 -1
  188. package/dist/{layers.BEzDn_3d.js → layers.hhJizm3s.js} +2 -2
  189. package/dist/{layers.CWpTjSix.js → layers.iWc6xUF6.js} +1 -1
  190. package/dist/{layers.BnhUcQwI.js → layers.jlYMlolq.js} +1 -1
  191. package/dist/{layers.q24_rt8j.js → layers.kCkgjPqz.js} +1 -1
  192. package/dist/{layers.DVxrTWn9.js → layers.kpZrMNFx.js} +1 -1
  193. package/dist/{layers.CAsPgoQp.js → layers.m2f_rOU1.js} +1 -1
  194. package/dist/{layers.Bmky9IbL.js → layers.ovY9NIGJ.js} +1 -1
  195. package/dist/{layers.C3BtEYLa.js → layers.oxA19wV8.js} +1 -1
  196. package/dist/{layers.C4ZxFU3P.js → layers.sz-XljbY.js} +1 -1
  197. package/dist/{layers.1-SJZc8H.js → layers.tW9Eorfd.js} +4 -4
  198. package/dist/{layers.CzIt1VdX.js → layers.uB1WYr0b.js} +3 -3
  199. package/dist/{layers.Csecru8o.js → layers.uKPdw4y5.js} +1 -1
  200. package/dist/{layers.ZBB_jX6V.js → layers.uu9Oa9AK.js} +1 -1
  201. package/dist/{layers.CHlCPGKD.js → layers.wpStH_Wq.js} +5 -5
  202. package/dist/{layers.DyPX3Uoa.js → layers.zXI8hOsc.js} +1 -1
  203. package/package.json +1 -1
  204. package/dist/layers.B9eAR35k.js +0 -6
  205. package/dist/layers.BFQDyZGF.js +0 -1
  206. package/dist/layers.BLf6F_Az.js +0 -520
  207. package/dist/layers.BvmbvbQq.js +0 -1
  208. package/dist/layers.CXn5GSFm.js +0 -8
  209. package/dist/layers.DhBk12UC.js +0 -1
@@ -0,0 +1,700 @@
1
+ import { jsxs as I, jsx as o, Fragment as G } from "react/jsx-runtime";
2
+ import { useMemo as re, useState as b, useCallback as v, useContext as le, useRef as ye, useEffect as x } from "react";
3
+ import { useTranslation as L } from "react-i18next";
4
+ import { useLexicalComposerContext as z } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as T, Flex as te, Stack as De, Button as H, Box as Oe, LoadingOverlay as Ae } from "@mantine/core";
6
+ import { $getNodeByKey as O, COMMAND_PRIORITY_LOW as Ne, $setSelection as xe } from "lexical";
7
+ import { m as Te, A as V, K as Se, H as S, T as se, e as de, n as ce, o as A, N as me, q as Ee, s as Me, M as Pe, C as ue, v as ke, w as Ue, x as $, y as Le, z as ze, B as _e, U as Re, D as We, F as Fe, R as je, d as oe, O as He, b as ne, G as ie, f as $e } from "./layers.BrzC9cTo.js";
8
+ import { AttachmentsGalleryModal as ge, showErrorNotification as Be } from "@layers-app/shared";
9
+ import { useLexicalEditable as Ge } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as B } 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 "@lexical/react/LexicalBlockWithAlignableContents";
17
+ import "@mantine/notifications";
18
+ function Ve(e, n) {
19
+ const t = document.createElement("a");
20
+ t.href = e, t.download = n, t.rel = "noopener", document.body.appendChild(t), t.click(), t.remove();
21
+ }
22
+ function q(e) {
23
+ try {
24
+ const t = new URL(e, window.location.origin).pathname.split("/").pop() || "image";
25
+ return t.includes(".") ? t : `${t}.png`;
26
+ } catch {
27
+ return "image";
28
+ }
29
+ }
30
+ async function X(e, n) {
31
+ const t = await fetch(e);
32
+ if (!t.ok)
33
+ throw new Error("fetch failed");
34
+ const a = await t.blob(), l = URL.createObjectURL(a);
35
+ try {
36
+ Ve(l, n);
37
+ } finally {
38
+ setTimeout(() => URL.revokeObjectURL(l), 0);
39
+ }
40
+ }
41
+ function pe({
42
+ opened: e,
43
+ onOpenChange: n,
44
+ t,
45
+ onDownload: a,
46
+ onDelete: l
47
+ }) {
48
+ return /* @__PURE__ */ I(
49
+ T,
50
+ {
51
+ opened: e,
52
+ onChange: n,
53
+ transitionProps: Te,
54
+ shadow: "md",
55
+ position: "bottom-start",
56
+ offset: 4,
57
+ withinPortal: !0,
58
+ closeOnItemClick: !0,
59
+ children: [
60
+ /* @__PURE__ */ o(T.Target, { children: /* @__PURE__ */ o(
61
+ V,
62
+ {
63
+ label: t("editor.toolbar.more"),
64
+ icon: Se,
65
+ iconColor: "var(--mantine-color-gray-text)",
66
+ "aria-label": t("editor.toolbar.more")
67
+ }
68
+ ) }),
69
+ /* @__PURE__ */ I(T.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
70
+ /* @__PURE__ */ o(
71
+ T.Item,
72
+ {
73
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ o(S, { icon: se, size: 16 }) }),
74
+ onClick: (r) => {
75
+ r.stopPropagation(), a();
76
+ },
77
+ children: t("editor.gallery.download")
78
+ }
79
+ ),
80
+ /* @__PURE__ */ o(
81
+ T.Item,
82
+ {
83
+ color: "red",
84
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ o(S, { icon: de, size: 16 }) }),
85
+ onClick: (r) => {
86
+ r.stopPropagation(), l();
87
+ },
88
+ children: t("editor.contextMenu.delete")
89
+ }
90
+ )
91
+ ] })
92
+ ]
93
+ }
94
+ );
95
+ }
96
+ const he = ({
97
+ t: e,
98
+ src: n,
99
+ setShown: t,
100
+ id: a
101
+ }) => {
102
+ const [l, { open: r, close: m }] = B(!1), d = re(() => [
103
+ {
104
+ id: !a || a === "0" ? "" : a,
105
+ Url: n ?? "",
106
+ contentType: "image/*",
107
+ originalFileName: "",
108
+ fileSize: 0,
109
+ storageType: "",
110
+ storagePath: "",
111
+ fileName: "",
112
+ parentType: "",
113
+ parentId: "",
114
+ ownerId: "",
115
+ createdAt: /* @__PURE__ */ new Date(),
116
+ updatedAt: /* @__PURE__ */ new Date(),
117
+ version: 0,
118
+ deleted: !1,
119
+ deletedAt: /* @__PURE__ */ new Date()
120
+ }
121
+ ], [n, a]);
122
+ return /* @__PURE__ */ I(G, { children: [
123
+ /* @__PURE__ */ o(
124
+ ge,
125
+ {
126
+ opened: l,
127
+ onOpenChange: (g) => {
128
+ g ? r() : m();
129
+ },
130
+ attachments: d
131
+ }
132
+ ),
133
+ /* @__PURE__ */ o(
134
+ V,
135
+ {
136
+ label: e("editor.image.preview"),
137
+ icon: ce,
138
+ iconColor: "var(--mantine-color-gray-text)",
139
+ "aria-label": e("editor.image.preview"),
140
+ onClick: () => {
141
+ t(!1), r();
142
+ }
143
+ }
144
+ )
145
+ ] });
146
+ }, qe = ({
147
+ nodeKey: e,
148
+ src: n
149
+ }) => {
150
+ const [t] = z(), a = Ge(), [l, r] = b(!1), [m, d] = b(!1), { t: u } = L(), g = v(() => {
151
+ t.update(() => {
152
+ const f = O(e);
153
+ A(f) && f.remove();
154
+ });
155
+ }, [t, e]), C = v(async () => {
156
+ if (n)
157
+ try {
158
+ await X(n, q(n));
159
+ } catch {
160
+ }
161
+ }, [n]);
162
+ return /* @__PURE__ */ I(
163
+ "div",
164
+ {
165
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
166
+ children: [
167
+ /* @__PURE__ */ o(he, { t: u, src: n, setShown: () => {
168
+ } }),
169
+ a && /* @__PURE__ */ I(G, { children: [
170
+ /* @__PURE__ */ o(
171
+ me,
172
+ {
173
+ opened: l,
174
+ setOpened: r,
175
+ t: u,
176
+ editor: t,
177
+ nodeKey: e,
178
+ setShown: () => {
179
+ }
180
+ }
181
+ ),
182
+ /* @__PURE__ */ o(
183
+ pe,
184
+ {
185
+ opened: m,
186
+ onOpenChange: d,
187
+ t: u,
188
+ onDownload: () => void C(),
189
+ onDelete: g
190
+ }
191
+ )
192
+ ] })
193
+ ]
194
+ }
195
+ );
196
+ }, Xe = () => {
197
+ };
198
+ function Ye({ nodeKey: e, src: n, id: t }) {
199
+ const { t: a } = L(), [l] = z(), [r, m] = b(!1), [d, u] = b(!1), g = v(() => {
200
+ u(!1), l.update(() => {
201
+ const f = O(e);
202
+ if (!A(f)) return;
203
+ const y = f.getParent();
204
+ Ee(y) ? y.remove() : f.remove();
205
+ });
206
+ }, [l, e]), C = v(async () => {
207
+ if (n)
208
+ try {
209
+ await X(n, q(n));
210
+ } catch {
211
+ }
212
+ }, [n]);
213
+ return /* @__PURE__ */ I(
214
+ "div",
215
+ {
216
+ className: "media-actions visible",
217
+ style: {
218
+ position: "absolute",
219
+ top: 10,
220
+ right: 10,
221
+ zIndex: 10,
222
+ pointerEvents: "auto",
223
+ display: "flex",
224
+ gap: 4
225
+ },
226
+ onClick: (f) => f.stopPropagation(),
227
+ children: [
228
+ /* @__PURE__ */ o(he, { t: a, src: n, setShown: Xe, id: t }),
229
+ /* @__PURE__ */ o(
230
+ me,
231
+ {
232
+ opened: r,
233
+ setOpened: m,
234
+ t: a,
235
+ editor: l,
236
+ nodeKey: e
237
+ }
238
+ ),
239
+ /* @__PURE__ */ o(
240
+ pe,
241
+ {
242
+ opened: d,
243
+ onOpenChange: u,
244
+ t: a,
245
+ onDownload: () => void C(),
246
+ onDelete: g
247
+ }
248
+ )
249
+ ]
250
+ }
251
+ );
252
+ }
253
+ function Ze({ nodeKey: e, src: n, id: t }) {
254
+ const { t: a } = L(), [l] = z(), [r, { open: m, close: d }] = B(!1), [u, { open: g, close: C }] = B(!1), f = re(
255
+ () => [
256
+ {
257
+ id: !t || t === "0" ? "" : t,
258
+ Url: n ?? "",
259
+ contentType: "",
260
+ originalFileName: "",
261
+ fileSize: 0,
262
+ storageType: "",
263
+ storagePath: "",
264
+ fileName: "",
265
+ parentType: "",
266
+ parentId: "",
267
+ ownerId: "",
268
+ createdAt: /* @__PURE__ */ new Date(),
269
+ updatedAt: /* @__PURE__ */ new Date(),
270
+ version: 0,
271
+ deleted: !1,
272
+ deletedAt: /* @__PURE__ */ new Date()
273
+ }
274
+ ],
275
+ [n, t]
276
+ ), y = () => {
277
+ d(), g();
278
+ }, E = v(async () => {
279
+ if (d(), !!n)
280
+ try {
281
+ await X(n, q(n));
282
+ } catch {
283
+ }
284
+ }, [n, d]), D = v(() => {
285
+ d(), l.update(() => {
286
+ const s = O(e);
287
+ A(s) && s.remove();
288
+ });
289
+ }, [l, e, d]);
290
+ return /* @__PURE__ */ I(G, { children: [
291
+ /* @__PURE__ */ o(
292
+ "div",
293
+ {
294
+ className: "image-touch-actions",
295
+ style: {
296
+ position: "absolute",
297
+ top: 8,
298
+ right: 8,
299
+ zIndex: 10,
300
+ pointerEvents: "auto"
301
+ },
302
+ onClick: (s) => s.stopPropagation(),
303
+ children: /* @__PURE__ */ o(
304
+ V,
305
+ {
306
+ label: a("editor.toolbar.more"),
307
+ icon: Me,
308
+ iconColor: "var(--mantine-color-gray-text)",
309
+ "aria-label": a("editor.toolbar.more"),
310
+ onClick: m
311
+ }
312
+ )
313
+ }
314
+ ),
315
+ /* @__PURE__ */ o(
316
+ ge,
317
+ {
318
+ opened: u,
319
+ onOpenChange: (s) => s ? g() : C(),
320
+ attachments: f
321
+ }
322
+ ),
323
+ /* @__PURE__ */ o(
324
+ Pe,
325
+ {
326
+ opened: r,
327
+ onClose: d,
328
+ title: a("editor.image.mobileActions"),
329
+ children: /* @__PURE__ */ I(De, { gap: 4, p: 0, children: [
330
+ /* @__PURE__ */ o(
331
+ H,
332
+ {
333
+ type: "button",
334
+ variant: "subtle",
335
+ color: "gray",
336
+ fullWidth: !0,
337
+ justify: "flex-start",
338
+ bg: "var(--editor-action-bg)",
339
+ onClick: y,
340
+ leftSection: /* @__PURE__ */ o(
341
+ S,
342
+ {
343
+ icon: ce,
344
+ size: 16,
345
+ color: "var(--mantine-color-dimmed)"
346
+ }
347
+ ),
348
+ children: a("editor.image.previewFullScreen")
349
+ }
350
+ ),
351
+ /* @__PURE__ */ o(
352
+ H,
353
+ {
354
+ type: "button",
355
+ variant: "subtle",
356
+ color: "gray",
357
+ fullWidth: !0,
358
+ justify: "flex-start",
359
+ bg: "var(--editor-action-bg)",
360
+ onClick: () => void E(),
361
+ leftSection: /* @__PURE__ */ o(
362
+ S,
363
+ {
364
+ icon: se,
365
+ size: 16,
366
+ color: "var(--mantine-color-dimmed)"
367
+ }
368
+ ),
369
+ children: a("editor.gallery.download")
370
+ }
371
+ ),
372
+ /* @__PURE__ */ o(
373
+ H,
374
+ {
375
+ type: "button",
376
+ variant: "subtle",
377
+ color: "red",
378
+ fullWidth: !0,
379
+ justify: "flex-start",
380
+ bg: "var(--editor-action-bg)",
381
+ onClick: D,
382
+ leftSection: /* @__PURE__ */ o(
383
+ S,
384
+ {
385
+ icon: de,
386
+ size: 16,
387
+ color: "var(--mantine-color-red-6)"
388
+ }
389
+ ),
390
+ children: a("editor.actions.delete")
391
+ }
392
+ )
393
+ ] })
394
+ }
395
+ )
396
+ ] });
397
+ }
398
+ const ae = (e) => {
399
+ const {
400
+ width: n,
401
+ height: t,
402
+ isLoading: a,
403
+ isError: l,
404
+ src: r,
405
+ id: m,
406
+ altText: d,
407
+ imageRef: u,
408
+ maxWidth: g
409
+ } = e;
410
+ return /* @__PURE__ */ I(
411
+ "div",
412
+ {
413
+ className: "media-wrapper",
414
+ style: {
415
+ width: n,
416
+ height: t,
417
+ display: "inline-flex",
418
+ position: "relative"
419
+ },
420
+ children: [
421
+ /* @__PURE__ */ o(
422
+ Ae,
423
+ {
424
+ visible: a,
425
+ zIndex: 1e3,
426
+ overlayProps: { backgroundOpacity: 0.5 },
427
+ loaderProps: { size: 24, color: "black" }
428
+ }
429
+ ),
430
+ /* @__PURE__ */ o(
431
+ Je,
432
+ {
433
+ className: null,
434
+ src: r,
435
+ altText: d,
436
+ imageRef: u,
437
+ width: "inherit",
438
+ height: "inherit",
439
+ maxWidth: g || "auto",
440
+ id: m
441
+ }
442
+ ),
443
+ ne && /* @__PURE__ */ o(Ze, { nodeKey: e.nodeKey, src: r, id: m }),
444
+ ie && /* @__PURE__ */ o(Ye, { nodeKey: e.nodeKey, src: r, id: m }),
445
+ $e && !ne && !ie && /* @__PURE__ */ o(qe, { nodeKey: e.nodeKey, src: r })
446
+ ]
447
+ }
448
+ );
449
+ };
450
+ function Je({
451
+ altText: e,
452
+ className: n,
453
+ imageRef: t,
454
+ src: a,
455
+ width: l,
456
+ height: r,
457
+ maxWidth: m,
458
+ id: d
459
+ }) {
460
+ const [u, g] = b(!1);
461
+ return /* @__PURE__ */ o(
462
+ "img",
463
+ {
464
+ className: `${n || void 0} ${u ? "" : "loading"}`,
465
+ src: a,
466
+ alt: e,
467
+ ref: t,
468
+ style: {
469
+ height: r,
470
+ maxWidth: m,
471
+ width: l
472
+ },
473
+ onLoad: () => {
474
+ a.includes("splash") ? setTimeout(() => {
475
+ g(!0);
476
+ }, 100) : g(!0);
477
+ },
478
+ draggable: "false",
479
+ "data-id": d
480
+ }
481
+ );
482
+ }
483
+ function vt(e) {
484
+ const { disable: n } = le(ue);
485
+ return n && ke.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ o(Qe, { ...e });
486
+ }
487
+ function Qe({
488
+ src: e,
489
+ altText: n,
490
+ nodeKey: t,
491
+ width: a,
492
+ height: l,
493
+ maxWidth: r,
494
+ showCaption: m,
495
+ caption: d,
496
+ id: u,
497
+ create: g,
498
+ alignment: C,
499
+ imagePickerTab: f
500
+ }) {
501
+ var K, ee;
502
+ const y = ye(null), [E, D] = b(!0), [s] = z(), [N, _] = b(!0), [w, R] = b({
503
+ width: 0,
504
+ height: 0
505
+ }), { start: Y } = Ue(), [Ke, W] = b(0), {
506
+ fetchUploadMedia: M,
507
+ fetchDeleteMedia: Z,
508
+ maxFileSize: et,
509
+ imperativeHandleRef: P,
510
+ disable: fe
511
+ } = le(ue), k = $.has(e) && (((K = $.get(e)) == null ? void 0 : K.mediaNodeKeys.length) === 0 || ((ee = $.get(e)) == null ? void 0 : ee.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: U } = L(), [tt, we] = b(0);
512
+ x(() => s.registerDecoratorListener(() => {
513
+ we((i) => i + 1);
514
+ }), [k]), x(() => {
515
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
516
+ D(!1);
517
+ return;
518
+ }
519
+ const i = new Image();
520
+ i.src = e, i.onload = () => D(!1), i.onerror = () => {
521
+ D(!1);
522
+ };
523
+ }, [e, k]);
524
+ const be = (i, p) => {
525
+ s.update(() => {
526
+ xe(null);
527
+ const c = O(t);
528
+ A(c) && c.setWidthAndHeight(i, p);
529
+ });
530
+ }, { historyState: J } = Le(), {
531
+ settings: { showNestedEditorTreeView: Q }
532
+ } = ze();
533
+ function ve(i) {
534
+ return i.endsWith(".svg") || i.includes("image/svg+xml");
535
+ }
536
+ function Ie(i) {
537
+ return new Promise((p, c) => {
538
+ if (ve(i)) {
539
+ p(0);
540
+ return;
541
+ }
542
+ const h = new Image();
543
+ h.src = i, h.onload = () => {
544
+ p(h.width);
545
+ }, h.onerror = () => {
546
+ c(new Error("Failed to load image"));
547
+ };
548
+ });
549
+ }
550
+ x(() => {
551
+ let i = a, p = l, c = 100;
552
+ (e.includes("unsplash") ? e.trim() : !k && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && Ie(e).then((h) => {
553
+ typeof i == "number" && i < c && h < c ? (_(!0), R({
554
+ width: i,
555
+ height: p
556
+ })) : h < c ? (_(!0), R({
557
+ width: "auto",
558
+ height: "auto"
559
+ })) : (R({
560
+ width: h,
561
+ height: h
562
+ }), _(!1));
563
+ }).catch((h) => {
564
+ console.warn("Ошибка при загрузке изображения:", h.message);
565
+ });
566
+ }, [e, k]), x(() => {
567
+ w.width && w.height && N && s.update(() => {
568
+ const i = O(t);
569
+ A(i) && i.setWidthAndHeight(w.width, w.height);
570
+ });
571
+ }, [w.width, w.height, N]);
572
+ const Ce = v(
573
+ (i) => _e(s, t, i),
574
+ [s, t]
575
+ ), F = v(
576
+ (i, p) => {
577
+ D(!1), s.update(() => {
578
+ const c = O(t);
579
+ A(c) && (c.setSrc(i), c.setId(p));
580
+ });
581
+ },
582
+ [s, t]
583
+ ), j = v(
584
+ (i) => {
585
+ D(!0);
586
+ const p = Y();
587
+ M && M(
588
+ i[0],
589
+ (c, h) => {
590
+ F(c, h), W(0);
591
+ },
592
+ (c) => {
593
+ c && Be({
594
+ message: U("editor.gallery.errorFile")
595
+ }), W(0), F("", "");
596
+ },
597
+ p,
598
+ (c) => {
599
+ W(c);
600
+ }
601
+ );
602
+ },
603
+ [M, Y, U, F]
604
+ );
605
+ return x(() => s.registerCommand(
606
+ Re,
607
+ (i) => e !== "upload" || i.targetNodeKey !== t ? !1 : (j(i.files), !0),
608
+ Ne
609
+ ), [s, j, t, e]), !e || e === "upload" ? /* @__PURE__ */ o(Oe, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ o(
610
+ We,
611
+ {
612
+ inline: !0,
613
+ nodeKey: t,
614
+ defaultTabValue: f,
615
+ onWriteTabToNode: Ce,
616
+ uploading: !1,
617
+ onUpload: (i) => {
618
+ !M || !i.length || j(i);
619
+ },
620
+ popoverProps: {
621
+ opened: !0,
622
+ position: "bottom",
623
+ zIndex: Fe
624
+ },
625
+ onChange: (i) => {
626
+ s.update(() => {
627
+ const p = O(t);
628
+ A(p) && p.setSrc(i);
629
+ });
630
+ }
631
+ }
632
+ ) }) : N ? /* @__PURE__ */ o(
633
+ ae,
634
+ {
635
+ width: w.width,
636
+ height: w.height,
637
+ isLoading: E,
638
+ isError: !1,
639
+ isIcon: N,
640
+ src: e,
641
+ id: u,
642
+ editor: s,
643
+ nodeKey: t,
644
+ fetchDeleteMedia: Z,
645
+ altText: n,
646
+ imageRef: y,
647
+ maxWidth: r,
648
+ showCaption: m,
649
+ caption: d,
650
+ isCollabActive: !1,
651
+ historyState: J,
652
+ showNestedEditorTreeView: Q,
653
+ t: U
654
+ }
655
+ ) : /* @__PURE__ */ o(
656
+ je,
657
+ {
658
+ editor: s,
659
+ isIcon: N,
660
+ width: oe(a),
661
+ height: oe(l),
662
+ initialWidth: w.width || "",
663
+ initialHeight: w.height || "",
664
+ onResizeEnd: be,
665
+ alignment: C,
666
+ disable: fe,
667
+ onRegisterDecoratorEnter: (i) => {
668
+ P != null && P.current && (P.current.decoratorEnterAction = i);
669
+ },
670
+ onActivate: () => s.dispatchCommand(He, "show_menu"),
671
+ children: /* @__PURE__ */ o(
672
+ ae,
673
+ {
674
+ width: "inherit",
675
+ height: "inherit",
676
+ isLoading: E,
677
+ isError: !1,
678
+ isIcon: N,
679
+ src: e,
680
+ id: u,
681
+ editor: s,
682
+ nodeKey: t,
683
+ fetchDeleteMedia: Z,
684
+ altText: n,
685
+ imageRef: y,
686
+ maxWidth: r,
687
+ showCaption: m,
688
+ caption: d,
689
+ isCollabActive: !1,
690
+ historyState: J,
691
+ showNestedEditorTreeView: Q,
692
+ t: U
693
+ }
694
+ )
695
+ }
696
+ );
697
+ }
698
+ export {
699
+ vt as default
700
+ };