@layers-app/editor 2.2.42 → 2.2.45

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 +18 -3
  3. package/dist/index.js +12 -12
  4. package/dist/{layers.q6KUarMd.js → layers.0KslT0iv.js} +1 -1
  5. package/dist/{layers.Dj9XjFcz.js → layers.0O_y_PSM.js} +11 -11
  6. package/dist/layers.0ohwJnJO.js +1000 -0
  7. package/dist/{layers.B5wP95v5.js → layers.9PIBmdB5.js} +2 -2
  8. package/dist/{layers.DcZ6n4g7.js → layers.9chn1oBm.js} +1 -1
  9. package/dist/{layers.DapuU0KG.js → layers.AL_UvFa5.js} +4 -4
  10. package/dist/{layers.C-kj3R5W.js → layers.B028_Pfk.js} +319 -310
  11. package/dist/{layers.WpQERc9Q.js → layers.B0sQe5D1.js} +3 -3
  12. package/dist/{layers.BxHQuXfB.js → layers.B22dcdRZ.js} +1 -1
  13. package/dist/{layers.DKBXcRnY.js → layers.B465LyPz.js} +1 -1
  14. package/dist/layers.B5HuEtfE.js +425 -0
  15. package/dist/{layers.q4K1JOUr.js → layers.B5a2e-Mn.js} +1 -1
  16. package/dist/{layers.B-Gq744C.js → layers.B5yZJBoB.js} +1 -1
  17. package/dist/{layers.B0eCSf4g.js → layers.B68ca-eU.js} +1 -1
  18. package/dist/{layers.BiJ8hfRt.js → layers.B7K7JjK6.js} +3 -3
  19. package/dist/{layers.BxevgFep.js → layers.B7VPVY9m.js} +1 -1
  20. package/dist/layers.BC7Cg5cy.js +6 -0
  21. package/dist/{layers.CCvPJmBs.js → layers.BDSMUwmt.js} +1 -1
  22. package/dist/{layers.DXpRdEJb.js → layers.BDmaTCfD.js} +6 -6
  23. package/dist/{layers.CqLC3MAT.js → layers.BEIgYyne.js} +1 -1
  24. package/dist/{layers.2FxpdJNJ.js → layers.BEdP6w5G.js} +1 -1
  25. package/dist/layers.BJrL0_Rw.js +16 -0
  26. package/dist/{layers.QMyAgzrv.js → layers.BKrToDbz.js} +22 -22
  27. package/dist/{layers.DXvTFzh9.js → layers.BOkb4Kwr.js} +1 -1
  28. package/dist/{layers.Dyrdw0nq.js → layers.BTBRVGFs.js} +1 -1
  29. package/dist/{layers.BalCY_dc.js → layers.BUZ2pvws.js} +1 -1
  30. package/dist/{layers.B5HL7Xgu.js → layers.BVQVuKjJ.js} +1 -1
  31. package/dist/{layers.hh4D1Fip.js → layers.BVrMVvbD.js} +3 -3
  32. package/dist/{layers.B1ZqapyL.js → layers.BWWFQbUs.js} +6 -6
  33. package/dist/layers.BX2zMMPD.js +6 -0
  34. package/dist/{layers.DuwiO77s.js → layers.BaMwv1jF.js} +1 -1
  35. package/dist/{layers.Dbom-nDm.js → layers.BaVDbZc-.js} +1 -1
  36. package/dist/{layers.0y-kmAVw.js → layers.BadeIJgG.js} +1 -1
  37. package/dist/{layers.DZMtXIgo.js → layers.Bb6_oKs8.js} +1 -1
  38. package/dist/{layers.bgBWDeIT.js → layers.BcfRIrYG.js} +1 -1
  39. package/dist/{layers.BUn7PajZ.js → layers.Bex3-2F0.js} +1 -1
  40. package/dist/{layers._dOKpw-_.js → layers.Bf3CS2lb.js} +4 -4
  41. package/dist/layers.BfHX9frV.js +1 -0
  42. package/dist/{layers.C9VjKLJz.js → layers.BjDSCoZM.js} +4 -4
  43. package/dist/{layers.CIy-CBKt.js → layers.BkUV4peM.js} +1 -1
  44. package/dist/{layers.OpOAYuMR.js → layers.BmnporKE.js} +1 -1
  45. package/dist/{layers.Cq8R8om8.js → layers.Bmw_ImFW.js} +1 -1
  46. package/dist/{layers.1LxuOQJN.js → layers.BpL4mYVq.js} +1 -1
  47. package/dist/{layers.C4opoFoN.js → layers.BqnQzZ9x.js} +1 -1
  48. package/dist/{layers.Q3ufNO5n.js → layers.BuPdI71w.js} +1 -1
  49. package/dist/{layers.B6ppQCpX.js → layers.BunhC82l.js} +1 -1
  50. package/dist/{layers.BAb6lW00.js → layers.BxaGfbS4.js} +1 -1
  51. package/dist/{layers.BaCCzKX7.js → layers.ByyJrMEp.js} +2 -2
  52. package/dist/{layers.Cx5c5eym.js → layers.C-TQ4gDg.js} +1 -1
  53. package/dist/{layers.BUo--Bs7.js → layers.C2CWUW0P.js} +1 -1
  54. package/dist/{layers.CRe13l0l.js → layers.C2izS29k.js} +1 -1
  55. package/dist/{layers.WEumG3HP.js → layers.C2pTMR38.js} +1 -1
  56. package/dist/layers.C4W6rbDZ.js +8583 -0
  57. package/dist/{layers.CxZWzFjf.js → layers.C53wglsE.js} +1 -1
  58. package/dist/{layers.8PsdhJr_.js → layers.C5spre2i.js} +1 -1
  59. package/dist/{layers.DvVNW7Dv.js → layers.C7E3l-g_.js} +1 -1
  60. package/dist/{layers.Dx-CTZW1.js → layers.C7LxBBYp.js} +1 -1
  61. package/dist/{layers.9izsxn6m.js → layers.C7y7h6VM.js} +1 -1
  62. package/dist/{layers.CLt1lOdh.js → layers.C9O_XgoY.js} +1 -1
  63. package/dist/layers.C9bqqwGA.js +198 -0
  64. package/dist/{layers.pKbdoZxb.js → layers.CABrQ2Zs.js} +1 -1
  65. package/dist/{layers.DqzWMLD7.js → layers.CAs2-nlo.js} +111 -111
  66. package/dist/layers.CCQQxd5s.js +423 -0
  67. package/dist/{layers.X9eT4tKQ.js → layers.CDc-JAN1.js} +1 -1
  68. package/dist/{layers.BIN6x-T7.js → layers.CEaPCwCe.js} +1 -1
  69. package/dist/{layers.BpfBdFIq.js → layers.CFLly-Qe.js} +1 -1
  70. package/dist/{layers.CxQW8Fe5.js → layers.CGra3CE8.js} +1 -1
  71. package/dist/{layers.BuCNtu_x.js → layers.CHqw81xe.js} +1 -1
  72. package/dist/{layers.DtKBFm_W.js → layers.CIMF-Kx_.js} +1 -1
  73. package/dist/{layers.Dwab3CXB.js → layers.CJzs0OdD.js} +1 -1
  74. package/dist/layers.CKLSBcei.js +51 -0
  75. package/dist/{layers.ZeymhrNs.js → layers.CLP8NLxE.js} +3 -3
  76. package/dist/{layers.BadYBGOU.js → layers.CM1BoU1E.js} +1 -1
  77. package/dist/{layers.CqpiEwZY.js → layers.CMB0mF82.js} +1 -1
  78. package/dist/{layers.4HZIjqYX.js → layers.CO180qeA.js} +1 -1
  79. package/dist/{layers.obOGK1bO.js → layers.CP2x77Hz.js} +1 -1
  80. package/dist/{layers.Dj6dKbkY.js → layers.CQESVhxO.js} +1 -1
  81. package/dist/{layers.BlehOZWo.js → layers.CSsCFhvL.js} +1 -1
  82. package/dist/{layers.DmErEsm4.js → layers.CT3XTF81.js} +1 -1
  83. package/dist/{layers.DgSWuxXH.js → layers.CY17OEce.js} +1 -1
  84. package/dist/{layers.D9blD47B.js → layers.CYW1WEKe.js} +1 -1
  85. package/dist/{layers.CA7_AZSw.js → layers.CZzgBinT.js} +1 -1
  86. package/dist/{layers.BgOa2ZQq.js → layers.C_IvrzZ3.js} +1 -1
  87. package/dist/{layers.BGRwNWNe.js → layers.C_M8g-oV.js} +1 -1
  88. package/dist/{layers.CJsBqp7q.js → layers.CbG7bPrw.js} +1 -1
  89. package/dist/{layers.CbtaJD5X.js → layers.Cc98lCPt.js} +1 -1
  90. package/dist/{layers.8lGj-GYn.js → layers.CcfiG8Od.js} +1 -1
  91. package/dist/{layers.B4ODDrXe.js → layers.Ce54L6_R.js} +1 -1
  92. package/dist/{layers.DqWJoelP.js → layers.Cg-zHhDe.js} +2 -2
  93. package/dist/{layers.BAZJ_QW2.js → layers.Cg39QOHR.js} +1 -1
  94. package/dist/{layers.U-n1WT4t.js → layers.CgtkYIke.js} +1 -1
  95. package/dist/{layers.BWlwaF_p.js → layers.CiDAyBeD.js} +1 -1
  96. package/dist/layers.CjUQRZCf.js +1313 -0
  97. package/dist/{layers.BstcEXkq.js → layers.Cjk9bUrz.js} +1 -1
  98. package/dist/{layers.CDDYSTV_.js → layers.ClSS_-JK.js} +2 -2
  99. package/dist/{layers.BuPYl1zn.js → layers.CldflZpf.js} +1 -1
  100. package/dist/{layers.D_G_yN8x.js → layers.CmSiqz4U.js} +3 -3
  101. package/dist/{layers.BMelfabQ.js → layers.CmXdbn8_.js} +1 -1
  102. package/dist/{layers.DGLOIH3X.js → layers.Co4l7_YV.js} +1 -1
  103. package/dist/{layers.DyBzvt5Z.js → layers.Cof8D_jH.js} +1 -1
  104. package/dist/{layers.DNo9l6_0.js → layers.CqFgGsQ4.js} +3 -3
  105. package/dist/{layers.C3dMe__G.js → layers.CsgsF5Ft.js} +1 -1
  106. package/dist/{layers.D66FS0DJ.js → layers.CtFiU_U-.js} +1 -1
  107. package/dist/{layers.AoyuuPNv.js → layers.CuZ6oi1Y.js} +1 -1
  108. package/dist/{layers.2VKdA5L8.js → layers.Cvc8xBfw.js} +8488 -8818
  109. package/dist/{layers.BJX3Xmr1.js → layers.Cw289Pgg.js} +5 -5
  110. package/dist/{layers.D8ukxayM.js → layers.CwazPZdq.js} +2 -2
  111. package/dist/{layers.BVUC3gyi.js → layers.CwiLAF0n.js} +1 -1
  112. package/dist/{layers.C6gBGZRI.js → layers.Cx21Vx7C.js} +1 -1
  113. package/dist/{layers.P62ZJW6E.js → layers.Cyy4XziO.js} +6 -2
  114. package/dist/{layers.CqjHpZPx.js → layers.Czx1TgLO.js} +1 -1
  115. package/dist/{layers.BwDXQByz.js → layers.D-dncXMv.js} +1 -1
  116. package/dist/{layers.Du5Kw0lv.js → layers.D1OY3B-n.js} +3 -3
  117. package/dist/{layers.DIbawAb9.js → layers.D2IuhDCQ.js} +1 -1
  118. package/dist/{layers.BzjTlsuS.js → layers.D2bgGfrE.js} +1 -1
  119. package/dist/{layers.BEKhTeC7.js → layers.D53HW-OH.js} +1 -1
  120. package/dist/{layers.Dlm_YrEu.js → layers.D5naed4X.js} +1 -1
  121. package/dist/{layers.BkLWcq3H.js → layers.DDTNqkEk.js} +1 -1
  122. package/dist/{layers.CX50nmzf.js → layers.DFxl_E74.js} +4 -4
  123. package/dist/{layers.C_dKp51p.js → layers.DG26Vzsi.js} +3 -3
  124. package/dist/{layers.CxTp3fVS.js → layers.DGO5wxx-.js} +1 -1
  125. package/dist/{layers.C6qBEls5.js → layers.DIYV_Qgp.js} +1 -1
  126. package/dist/{layers.gysZsHSy.js → layers.DJTqJuKz.js} +4 -4
  127. package/dist/{layers.BcQ1kMl1.js → layers.DKpytb6w.js} +1 -1
  128. package/dist/{layers.k6ZdPuHR.js → layers.DLiv2kEf.js} +1 -1
  129. package/dist/{layers.-ju7gx16.js → layers.DNqMXVNp.js} +1 -1
  130. package/dist/{layers.C8Ui2tfR.js → layers.DQNE7pSr.js} +1 -1
  131. package/dist/{layers.ClM8rQ7y.js → layers.DQbonqH1.js} +1 -1
  132. package/dist/{layers.z1UnV_Zw.js → layers.DRNjIrAp.js} +1 -1
  133. package/dist/{layers.BRxZwSOd.js → layers.DUD000-v.js} +4 -4
  134. package/dist/{layers.Fj9T6hYj.js → layers.DVZjfzxM.js} +1 -1
  135. package/dist/{layers.zC9WahYF.js → layers.DWpAFgGF.js} +1 -1
  136. package/dist/{layers.BI4_cIL3.js → layers.DXT1JSUZ.js} +1 -1
  137. package/dist/{layers.BPVJ3lO7.js → layers.DXbA6oVt.js} +1 -1
  138. package/dist/{layers.Y6_WR9xb.js → layers.DYK2Cc2v.js} +4 -4
  139. package/dist/{layers.B2J3gqbX.js → layers.D_LcSG5Y.js} +1 -1
  140. package/dist/{layers.BrvXOTnQ.js → layers.Db7WC46z.js} +1 -1
  141. package/dist/{layers.Bj2-sMHc.js → layers.DcYmpYNe.js} +1 -1
  142. package/dist/{layers.B1bwH-QM.js → layers.Dd_MQmMI.js} +2 -2
  143. package/dist/layers.Dele1d2B.js +1 -0
  144. package/dist/layers.DfHZkVTD.js +1 -0
  145. package/dist/{layers.B0FBFZmZ.js → layers.DgBtq91i.js} +1 -1
  146. package/dist/{layers.joneqHx_.js → layers.DhOjjk4e.js} +1 -1
  147. package/dist/{layers.B-7Utm8u.js → layers.DhROyrvJ.js} +1 -1
  148. package/dist/{layers.BnaqmWv7.js → layers.DheygGyD.js} +1 -1
  149. package/dist/{layers.DASOIOHg.js → layers.DiA7fPFt.js} +1 -1
  150. package/dist/{layers.C9z5acJ1.js → layers.DinGcvYA.js} +8 -8
  151. package/dist/{layers.Co-LTnhB.js → layers.DjG7qFHf.js} +1 -1
  152. package/dist/{layers.BhAJ6OOY.js → layers.DmmEgUMf.js} +1 -1
  153. package/dist/{layers.ce4kfKHf.js → layers.DnSDu3aj.js} +1 -1
  154. package/dist/{layers.nsnjrxZs.js → layers.DoceYQaZ.js} +1 -1
  155. package/dist/{layers.BFCtF16Q.js → layers.DqCVQnl5.js} +1 -1
  156. package/dist/{layers.Bwhr4KSk.js → layers.DrZOHzCc.js} +1 -1
  157. package/dist/{layers.CZPR3sOU.js → layers.Dt-Xolan.js} +1 -1
  158. package/dist/{layers.BbPWb_1m.js → layers.Du37x8v3.js} +1 -1
  159. package/dist/{layers.BUK2tI9F.js → layers.Du94jGQf.js} +1 -1
  160. package/dist/{layers.DDdtjC0i.js → layers.DuNmb6iV.js} +1 -1
  161. package/dist/{layers.Bpz3db4s.js → layers.DveF4Taj.js} +1 -1
  162. package/dist/{layers.DgK1GSIr.js → layers.DvfttTXQ.js} +1 -1
  163. package/dist/{layers.BgtSsAyW.js → layers.DvhAl2Y2.js} +1 -1
  164. package/dist/{layers.DhOoVmLi.js → layers.DvlQFVL_.js} +1 -1
  165. package/dist/{layers.BNk94eBs.js → layers.Dvt-Szfl.js} +1 -1
  166. package/dist/{layers.Fvne9rpD.js → layers.Dx2lhGzZ.js} +3 -3
  167. package/dist/{layers.CV-0KbJB.js → layers.DxQF7DU5.js} +1 -1
  168. package/dist/{layers.NCzGgZgn.js → layers.DzgpLhqO.js} +1 -1
  169. package/dist/{layers.CDQSxMxh.js → layers.JKpsQUa8.js} +1 -1
  170. package/dist/{layers.CaIMnQjx.js → layers.NCy-p2UI.js} +10 -10
  171. package/dist/{layers.DmpOGm35.js → layers.NEN1dVNO.js} +1 -1
  172. package/dist/{layers.CAzXuKad.js → layers.OYg34Rse.js} +1 -1
  173. package/dist/{layers.8G3URL9h.js → layers.P39es0O4.js} +1 -1
  174. package/dist/{layers.Yr2VZBmQ.js → layers.QSp10MBY.js} +1 -1
  175. package/dist/{layers.piUu5-9J.js → layers.QhZDFUq4.js} +1 -1
  176. package/dist/layers.SIpDBTUg.js +96 -0
  177. package/dist/{layers.h88EgD7e.js → layers.VNPeSDc5.js} +1 -1
  178. package/dist/{layers.DKFcr53Q.js → layers.VPQgHqCC.js} +1 -1
  179. package/dist/{layers.qCM4_T1x.js → layers.XAmXrnxl.js} +1 -1
  180. package/dist/{layers.-lWbvG61.js → layers.YdWr9xoX.js} +1 -1
  181. package/dist/{layers.C9oeho5s.js → layers.a0ekgaAk.js} +1 -1
  182. package/dist/layers.bWZDlvmW.js +1 -0
  183. package/dist/{layers.CsR_o0I9.js → layers.bk9EcYJr.js} +7 -7
  184. package/dist/{layers.DKneR75F.js → layers.cCd9G0s7.js} +1 -1
  185. package/dist/{layers.DrP_szmi.js → layers.fnoJpR74.js} +3 -3
  186. package/dist/{layers.C7JWqsly.js → layers.g-cZDg-J.js} +5 -5
  187. package/dist/{layers.BagYg5_M.js → layers.ia3f0EYv.js} +1 -1
  188. package/dist/{layers.5MSYp6bY.js → layers.j6LRzfso.js} +1 -1
  189. package/dist/{layers.mD4zfQJm.js → layers.jcCRaKGd.js} +1 -1
  190. package/dist/{layers.BbXqqa2k.js → layers.jg--vRcI.js} +18598 -18916
  191. package/dist/{layers.cooC1lo-.js → layers.km8iRn1X.js} +207 -213
  192. package/dist/{layers.DpI_1b3F.js → layers.mHLeiSFC.js} +1 -1
  193. package/dist/{layers.gK8xSegA.js → layers.n-DYmU2Z.js} +1 -1
  194. package/dist/layers.nIE5wUh9.js +1 -0
  195. package/dist/{layers.afOClBbH.js → layers.nXKHyTlo.js} +1 -1
  196. package/dist/{layers.nZZ7shb4.js → layers.oNZW8UBG.js} +1 -1
  197. package/dist/{layers.BQ6oy-pR.js → layers.oXNzpBlK.js} +3 -3
  198. package/dist/layers.rE1cepGv.js +8 -0
  199. package/dist/{layers.CKplKAGd.js → layers.rkrNrIQd.js} +1 -1
  200. package/dist/{layers.BZQfXHhW.js → layers.sKO5wWzt.js} +1 -1
  201. package/dist/{layers.BK4uJeQs.js → layers.t9b6t4Ii.js} +1 -1
  202. package/dist/{layers.C-DNpoMP.js → layers.txhP70wF.js} +1 -1
  203. package/dist/{layers.Db9YZra7.js → layers.vEoVIWoQ.js} +1 -1
  204. package/dist/{layers.D4nQTLQ5.js → layers.vXZEDgHQ.js} +1 -1
  205. package/dist/{layers.B5mV1X7_.js → layers.wby51kRL.js} +4135 -4186
  206. package/dist/layers.xMjrkzgP.js +1 -0
  207. package/dist/{layers.3OW-7kTT.js → layers.yftdzODL.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.BrrQS_To.js +0 -1309
  216. package/dist/layers.C3ZTJw5y.js +0 -1
  217. package/dist/layers.C9lQwkMT.js +0 -1
  218. package/dist/layers.CbzJxFV8.js +0 -423
  219. package/dist/layers.CmTZUf2p.js +0 -1
  220. package/dist/layers.DA8K1lr6.js +0 -1
  221. package/dist/layers.DCeGFEI8.js +0 -51
  222. package/dist/layers.DEnv6tje.js +0 -756
  223. package/dist/layers.DMvDtceD.js +0 -7
  224. package/dist/layers.EnPHWkJ_.js +0 -8
  225. package/dist/layers.TRNn3vJS.js +0 -198
  226. package/dist/layers.iXfVMZ0v.js +0 -1
@@ -0,0 +1,1000 @@
1
+ import { jsx as n, jsxs as N, Fragment as H } from "react/jsx-runtime";
2
+ import { useState as y, useCallback as C, useRef as Q, useEffect as P, useMemo as K, useContext as Ie } from "react";
3
+ import { useTranslation as B } from "react-i18next";
4
+ import { useLexicalComposerContext as V } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as x, Flex as Z, Popover as A, Stack as He, Button as j, Box as Be, LoadingOverlay as Ve } from "@mantine/core";
6
+ import { $getNodeByKey as E, COMMAND_PRIORITY_LOW as Ge, $setSelection as Xe } from "lexical";
7
+ import { y as Ye, z as Ze, B as qe, D as Je, F as he, G as J, J as Qe, L as Ke, A as ee, K as et, P as tt, H as U, Q as Ce, n as De, S as Le, U as Ne, V as S, N as Oe, W as ot, X as nt, q as we, Y as it, C as Pe, Z as at, _ as rt, a0 as q, a1 as lt, a2 as st, a3 as dt, a4 as ct, a5 as ut, a6 as pt, R as mt, m as be, O as gt, k as ke, a7 as ve, o as ft } from "./layers.jg--vRcI.js";
8
+ import { AttachmentsGalleryModal as Te, showErrorNotification as ht } from "@layers-app/shared";
9
+ import { useLexicalEditable as te } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as $ } 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 wt(e, i) {
21
+ const t = document.createElement("a");
22
+ t.href = e, t.download = i, t.rel = "noopener", document.body.appendChild(t), t.click(), t.remove();
23
+ }
24
+ function oe(e) {
25
+ try {
26
+ const t = new URL(e, window.location.origin).pathname.split("/").pop() || "image";
27
+ return t.includes(".") ? t : `${t}.png`;
28
+ } catch {
29
+ return "image";
30
+ }
31
+ }
32
+ async function ne(e, i) {
33
+ const t = await fetch(e);
34
+ if (!t.ok)
35
+ throw new Error("fetch failed");
36
+ const a = await t.blob(), r = URL.createObjectURL(a);
37
+ try {
38
+ wt(r, i);
39
+ } finally {
40
+ setTimeout(() => URL.revokeObjectURL(r), 0);
41
+ }
42
+ }
43
+ function bt({
44
+ editor: e,
45
+ nodeKey: i,
46
+ href: t,
47
+ onClose: a
48
+ }) {
49
+ const [r, s] = y(
50
+ () => Ye(t)
51
+ ), [l, d] = y(() => Ze(t)), [I, b] = y(!1), p = C((c) => {
52
+ s(c), b(!1);
53
+ }, []), m = C((c) => {
54
+ d(c), b(!1);
55
+ }, []), h = C(() => {
56
+ const c = qe(l.trim(), r);
57
+ if (!c || !Je(c, r)) {
58
+ b(!0);
59
+ return;
60
+ }
61
+ he(e, i, J(c)), a();
62
+ }, [e, i, l, r, a]), v = C(() => {
63
+ he(e, i, ""), a();
64
+ }, [e, i, a]), k = C(
65
+ (c) => {
66
+ c.key === "Enter" ? (c.preventDefault(), h()) : c.key === "Escape" && (c.preventDefault(), a());
67
+ },
68
+ [h, a]
69
+ );
70
+ return {
71
+ linkType: r,
72
+ linkUrl: l,
73
+ error: I,
74
+ onLinkTypeChange: p,
75
+ onUrlInputChange: m,
76
+ onUrlInputKeyDown: k,
77
+ onSave: h,
78
+ onRemove: v
79
+ };
80
+ }
81
+ function ie({
82
+ editor: e,
83
+ nodeKey: i,
84
+ href: t,
85
+ onClose: a,
86
+ mobile: r
87
+ }) {
88
+ const s = Q(null), l = bt({ editor: e, nodeKey: i, href: t, onClose: a });
89
+ return P(() => {
90
+ var d;
91
+ (d = s.current) == null || d.focus({ preventScroll: !0 });
92
+ }, []), /* @__PURE__ */ n(
93
+ Qe,
94
+ {
95
+ inputRef: s,
96
+ linkUrl: l.linkUrl,
97
+ linkType: l.linkType,
98
+ error: l.error,
99
+ mobile: r,
100
+ onLinkTypeChange: l.onLinkTypeChange,
101
+ onUrlInputChange: l.onUrlInputChange,
102
+ onUrlInputKeyDown: l.onUrlInputKeyDown,
103
+ onCancel: a,
104
+ onSave: l.onSave,
105
+ onRemove: t ? l.onRemove : void 0
106
+ }
107
+ );
108
+ }
109
+ function Ee({
110
+ opened: e,
111
+ onOpenChange: i,
112
+ t,
113
+ onDownload: a,
114
+ onDelete: r,
115
+ hasLink: s,
116
+ onLinkAction: l
117
+ }) {
118
+ return /* @__PURE__ */ N(
119
+ x,
120
+ {
121
+ opened: e,
122
+ onChange: i,
123
+ transitionProps: Ke,
124
+ shadow: "md",
125
+ position: "bottom-start",
126
+ offset: 4,
127
+ withinPortal: !0,
128
+ closeOnItemClick: !0,
129
+ children: [
130
+ /* @__PURE__ */ n(x.Target, { children: /* @__PURE__ */ n(
131
+ ee,
132
+ {
133
+ label: t("editor.toolbar.more"),
134
+ icon: et,
135
+ iconColor: "var(--mantine-color-gray-text)",
136
+ "aria-label": t("editor.toolbar.more")
137
+ }
138
+ ) }),
139
+ /* @__PURE__ */ N(
140
+ x.Dropdown,
141
+ {
142
+ p: 4,
143
+ miw: 164,
144
+ w: "max-content",
145
+ onMouseDown: (d) => d.preventDefault(),
146
+ children: [
147
+ l && /* @__PURE__ */ n(
148
+ x.Item,
149
+ {
150
+ leftSection: /* @__PURE__ */ n(Z, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ n(tt, { name: "link", size: 16 }) }),
151
+ onClick: (d) => {
152
+ d.stopPropagation(), l();
153
+ },
154
+ children: t(s ? "editor.link.editLink" : "editor.link.addLink")
155
+ }
156
+ ),
157
+ /* @__PURE__ */ n(
158
+ x.Item,
159
+ {
160
+ leftSection: /* @__PURE__ */ n(Z, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ n(U, { icon: Ce, size: 16 }) }),
161
+ onClick: (d) => {
162
+ d.stopPropagation(), a();
163
+ },
164
+ children: t("editor.gallery.download")
165
+ }
166
+ ),
167
+ /* @__PURE__ */ n(
168
+ x.Item,
169
+ {
170
+ color: "red",
171
+ leftSection: /* @__PURE__ */ n(Z, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ n(U, { icon: De, size: 16 }) }),
172
+ onClick: (d) => {
173
+ d.stopPropagation(), r();
174
+ },
175
+ children: t("editor.contextMenu.delete")
176
+ }
177
+ )
178
+ ]
179
+ }
180
+ )
181
+ ]
182
+ }
183
+ );
184
+ }
185
+ const Se = ({
186
+ t: e,
187
+ src: i,
188
+ setShown: t,
189
+ id: a
190
+ }) => {
191
+ const [r, { open: s, close: l }] = $(!1), d = Le(), I = K(() => [
192
+ {
193
+ id: !a || a === "0" ? "" : a,
194
+ Url: i ?? "",
195
+ contentType: "image/*",
196
+ originalFileName: "",
197
+ fileSize: 0,
198
+ storageType: "",
199
+ storagePath: "",
200
+ fileName: "",
201
+ parentType: "",
202
+ parentId: "",
203
+ ownerId: "",
204
+ createdAt: /* @__PURE__ */ new Date(),
205
+ updatedAt: /* @__PURE__ */ new Date(),
206
+ version: 0,
207
+ deleted: !1,
208
+ deletedAt: /* @__PURE__ */ new Date()
209
+ }
210
+ ], [i, a]);
211
+ return /* @__PURE__ */ N(H, { children: [
212
+ /* @__PURE__ */ n(
213
+ Te,
214
+ {
215
+ opened: r,
216
+ onOpenChange: (p) => {
217
+ p ? s() : l();
218
+ },
219
+ attachments: I,
220
+ allowDownload: d
221
+ }
222
+ ),
223
+ /* @__PURE__ */ n(
224
+ ee,
225
+ {
226
+ label: e("editor.image.preview"),
227
+ icon: Ne,
228
+ iconColor: "var(--mantine-color-gray-text)",
229
+ "aria-label": e("editor.image.preview"),
230
+ onClick: () => {
231
+ t(!1), s();
232
+ }
233
+ }
234
+ )
235
+ ] });
236
+ }, kt = ({
237
+ nodeKey: e,
238
+ src: i,
239
+ href: t
240
+ }) => {
241
+ const [a] = V(), r = te(), [s, l] = y(!1), [d, I] = y(!1), [b, p] = y(!1), { t: m } = B();
242
+ P(() => {
243
+ if (!b) return;
244
+ const k = (c) => {
245
+ const w = c.target;
246
+ w != null && w.closest(".floating-link-dropdown") || w != null && w.closest(".floating-link-type-combobox-dropdown") || p(!1);
247
+ };
248
+ return document.addEventListener("pointerdown", k, !0), () => document.removeEventListener("pointerdown", k, !0);
249
+ }, [b]);
250
+ const h = C(() => {
251
+ a.update(() => {
252
+ const k = E(e);
253
+ S(k) && k.remove();
254
+ });
255
+ }, [a, e]), v = C(async () => {
256
+ if (i)
257
+ try {
258
+ await ne(i, oe(i));
259
+ } catch {
260
+ }
261
+ }, [i]);
262
+ return /* @__PURE__ */ N(
263
+ A,
264
+ {
265
+ opened: b,
266
+ onChange: p,
267
+ position: "bottom-end",
268
+ offset: 4,
269
+ shadow: "md",
270
+ radius: "md",
271
+ withinPortal: !0,
272
+ closeOnClickOutside: !1,
273
+ children: [
274
+ /* @__PURE__ */ n(A.Target, { children: /* @__PURE__ */ N(
275
+ "div",
276
+ {
277
+ className: `media-actions ${r ? "" : "media-actions--readonly"}`,
278
+ children: [
279
+ /* @__PURE__ */ n(Se, { t: m, src: i, setShown: () => {
280
+ } }),
281
+ r && /* @__PURE__ */ N(H, { children: [
282
+ /* @__PURE__ */ n(
283
+ Oe,
284
+ {
285
+ opened: s,
286
+ setOpened: l,
287
+ t: m,
288
+ editor: a,
289
+ nodeKey: e,
290
+ setShown: () => {
291
+ }
292
+ }
293
+ ),
294
+ /* @__PURE__ */ n(
295
+ Ee,
296
+ {
297
+ opened: d,
298
+ onOpenChange: I,
299
+ t: m,
300
+ onDownload: () => void v(),
301
+ onDelete: h,
302
+ hasLink: !!t,
303
+ onLinkAction: () => p(!0)
304
+ }
305
+ )
306
+ ] })
307
+ ]
308
+ }
309
+ ) }),
310
+ /* @__PURE__ */ n(
311
+ A.Dropdown,
312
+ {
313
+ className: `floating-link-dropdown floating-link-dropdown--${t ? "edit" : "create"}-mode`,
314
+ "data-test-id": "floating-link-dropdown",
315
+ children: /* @__PURE__ */ n(
316
+ ie,
317
+ {
318
+ editor: a,
319
+ nodeKey: e,
320
+ href: t,
321
+ onClose: () => p(!1)
322
+ }
323
+ )
324
+ }
325
+ )
326
+ ]
327
+ }
328
+ );
329
+ }, vt = () => {
330
+ };
331
+ function yt({ nodeKey: e, src: i, id: t, href: a }) {
332
+ const { t: r } = B(), [s] = V(), l = te(), [d, I] = y(!1), [b, p] = y(!1), [m, h] = y(!1);
333
+ P(() => {
334
+ if (!m) return;
335
+ const c = (w) => {
336
+ const u = w.target;
337
+ u != null && u.closest(".floating-link-dropdown") || u != null && u.closest(".floating-link-type-combobox-dropdown") || h(!1);
338
+ };
339
+ return document.addEventListener("pointerdown", c, !0), () => document.removeEventListener("pointerdown", c, !0);
340
+ }, [m]);
341
+ const v = C(() => {
342
+ p(!1), s.update(() => {
343
+ const c = E(e);
344
+ if (!S(c)) return;
345
+ const w = c.getParent();
346
+ ot(w) ? w.remove() : c.remove();
347
+ });
348
+ }, [s, e]), k = C(async () => {
349
+ if (i)
350
+ try {
351
+ await ne(i, oe(i));
352
+ } catch {
353
+ }
354
+ }, [i]);
355
+ return /* @__PURE__ */ N(
356
+ A,
357
+ {
358
+ opened: m,
359
+ onChange: h,
360
+ position: "bottom-end",
361
+ offset: 4,
362
+ shadow: "md",
363
+ radius: "md",
364
+ withinPortal: !0,
365
+ closeOnClickOutside: !1,
366
+ children: [
367
+ /* @__PURE__ */ n(A.Target, { children: /* @__PURE__ */ N(
368
+ "div",
369
+ {
370
+ className: "media-actions visible",
371
+ style: {
372
+ position: "absolute",
373
+ top: 10,
374
+ right: 10,
375
+ zIndex: 10,
376
+ pointerEvents: "auto",
377
+ display: "flex",
378
+ gap: 4
379
+ },
380
+ onClick: (c) => c.stopPropagation(),
381
+ children: [
382
+ /* @__PURE__ */ n(Se, { t: r, src: i, setShown: vt, id: t }),
383
+ l && /* @__PURE__ */ N(H, { children: [
384
+ /* @__PURE__ */ n(
385
+ Oe,
386
+ {
387
+ opened: d,
388
+ setOpened: I,
389
+ t: r,
390
+ editor: s,
391
+ nodeKey: e
392
+ }
393
+ ),
394
+ /* @__PURE__ */ n(
395
+ Ee,
396
+ {
397
+ opened: b,
398
+ onOpenChange: p,
399
+ t: r,
400
+ onDownload: () => void k(),
401
+ onDelete: v,
402
+ hasLink: !!a,
403
+ onLinkAction: () => h(!0)
404
+ }
405
+ )
406
+ ] })
407
+ ]
408
+ }
409
+ ) }),
410
+ /* @__PURE__ */ n(
411
+ A.Dropdown,
412
+ {
413
+ className: `floating-link-dropdown floating-link-dropdown--${a ? "edit" : "create"}-mode`,
414
+ "data-test-id": "floating-link-dropdown",
415
+ children: /* @__PURE__ */ n(
416
+ ie,
417
+ {
418
+ editor: s,
419
+ nodeKey: e,
420
+ href: a,
421
+ onClose: () => h(!1)
422
+ }
423
+ )
424
+ }
425
+ )
426
+ ]
427
+ }
428
+ );
429
+ }
430
+ function It({ nodeKey: e, src: i, id: t, href: a }) {
431
+ const { t: r } = B(), [s] = V(), l = te(), d = Le(), [I, { open: b, close: p }] = $(!1), [m, { open: h, close: v }] = $(!1), [k, { open: c, close: w }] = $(!1), u = () => {
432
+ p(), c();
433
+ }, T = K(
434
+ () => [
435
+ {
436
+ id: !t || t === "0" ? "" : t,
437
+ Url: i ?? "",
438
+ contentType: "image/*",
439
+ originalFileName: "",
440
+ fileSize: 0,
441
+ storageType: "",
442
+ storagePath: "",
443
+ fileName: "",
444
+ parentType: "",
445
+ parentId: "",
446
+ ownerId: "",
447
+ createdAt: /* @__PURE__ */ new Date(),
448
+ updatedAt: /* @__PURE__ */ new Date(),
449
+ version: 0,
450
+ deleted: !1,
451
+ deletedAt: /* @__PURE__ */ new Date()
452
+ }
453
+ ],
454
+ [i, t]
455
+ ), R = () => {
456
+ p(), h();
457
+ }, L = C(async () => {
458
+ if (p(), !!i)
459
+ try {
460
+ await ne(i, oe(i));
461
+ } catch {
462
+ }
463
+ }, [i, p]), M = C(() => {
464
+ p(), s.update(() => {
465
+ const O = E(e);
466
+ S(O) && O.remove();
467
+ });
468
+ }, [s, e, p]);
469
+ return /* @__PURE__ */ N(H, { children: [
470
+ /* @__PURE__ */ n(
471
+ "div",
472
+ {
473
+ className: "image-touch-actions",
474
+ style: {
475
+ position: "absolute",
476
+ top: 8,
477
+ right: 8,
478
+ zIndex: 10,
479
+ pointerEvents: "auto"
480
+ },
481
+ onClick: (O) => O.stopPropagation(),
482
+ children: /* @__PURE__ */ n(
483
+ ee,
484
+ {
485
+ label: r("editor.toolbar.more"),
486
+ icon: nt,
487
+ iconColor: "var(--mantine-color-gray-text)",
488
+ "aria-label": r("editor.toolbar.more"),
489
+ onClick: b
490
+ }
491
+ )
492
+ }
493
+ ),
494
+ /* @__PURE__ */ n(
495
+ Te,
496
+ {
497
+ opened: m,
498
+ onOpenChange: (O) => O ? h() : v(),
499
+ attachments: T,
500
+ allowDownload: d
501
+ }
502
+ ),
503
+ /* @__PURE__ */ n(
504
+ we,
505
+ {
506
+ opened: I,
507
+ onClose: p,
508
+ title: r("editor.image.mobileActions"),
509
+ children: /* @__PURE__ */ N(He, { gap: 4, p: 0, children: [
510
+ /* @__PURE__ */ n(
511
+ j,
512
+ {
513
+ type: "button",
514
+ variant: "subtle",
515
+ color: "gray",
516
+ fullWidth: !0,
517
+ justify: "flex-start",
518
+ bg: "var(--editor-action-bg)",
519
+ onClick: R,
520
+ leftSection: /* @__PURE__ */ n(
521
+ U,
522
+ {
523
+ icon: Ne,
524
+ size: 16,
525
+ color: "var(--mantine-color-dimmed)"
526
+ }
527
+ ),
528
+ children: r("editor.image.previewFullScreen")
529
+ }
530
+ ),
531
+ l && /* @__PURE__ */ n(
532
+ j,
533
+ {
534
+ type: "button",
535
+ variant: "subtle",
536
+ color: "gray",
537
+ fullWidth: !0,
538
+ justify: "flex-start",
539
+ bg: "var(--editor-action-bg)",
540
+ onClick: u,
541
+ leftSection: /* @__PURE__ */ n(
542
+ U,
543
+ {
544
+ icon: it,
545
+ size: 16,
546
+ color: "var(--mantine-color-dimmed)"
547
+ }
548
+ ),
549
+ children: r(a ? "editor.link.editLink" : "editor.link.addLink")
550
+ }
551
+ ),
552
+ d && /* @__PURE__ */ n(
553
+ j,
554
+ {
555
+ type: "button",
556
+ variant: "subtle",
557
+ color: "gray",
558
+ fullWidth: !0,
559
+ justify: "flex-start",
560
+ bg: "var(--editor-action-bg)",
561
+ onClick: () => void L(),
562
+ leftSection: /* @__PURE__ */ n(
563
+ U,
564
+ {
565
+ icon: Ce,
566
+ size: 16,
567
+ color: "var(--mantine-color-dimmed)"
568
+ }
569
+ ),
570
+ children: r("editor.gallery.download")
571
+ }
572
+ ),
573
+ l && /* @__PURE__ */ n(
574
+ j,
575
+ {
576
+ type: "button",
577
+ variant: "subtle",
578
+ color: "red",
579
+ fullWidth: !0,
580
+ justify: "flex-start",
581
+ bg: "var(--editor-action-bg)",
582
+ onClick: M,
583
+ leftSection: /* @__PURE__ */ n(
584
+ U,
585
+ {
586
+ icon: De,
587
+ size: 16,
588
+ color: "var(--mantine-color-red-6)"
589
+ }
590
+ ),
591
+ children: r("editor.actions.delete")
592
+ }
593
+ )
594
+ ] })
595
+ }
596
+ ),
597
+ /* @__PURE__ */ n(
598
+ we,
599
+ {
600
+ opened: k,
601
+ onClose: w,
602
+ title: r(a ? "editor.link.editLink" : "editor.link.addLink"),
603
+ children: /* @__PURE__ */ n(
604
+ ie,
605
+ {
606
+ editor: s,
607
+ nodeKey: e,
608
+ href: a,
609
+ onClose: w,
610
+ mobile: !0
611
+ }
612
+ )
613
+ }
614
+ )
615
+ ] });
616
+ }
617
+ const ye = (e) => {
618
+ const {
619
+ width: i,
620
+ height: t,
621
+ isLoading: a,
622
+ isError: r,
623
+ src: s,
624
+ id: l,
625
+ altText: d,
626
+ imageRef: I,
627
+ maxWidth: b,
628
+ aspectRatio: p,
629
+ href: m
630
+ } = e, h = Q(null);
631
+ return /* @__PURE__ */ N(
632
+ "div",
633
+ {
634
+ className: "media-wrapper",
635
+ "data-reserved-box": p ? "" : void 0,
636
+ style: {
637
+ width: i,
638
+ height: p ? "auto" : t,
639
+ aspectRatio: p || void 0,
640
+ display: "inline-flex",
641
+ position: "relative"
642
+ },
643
+ children: [
644
+ /* @__PURE__ */ n(
645
+ Ve,
646
+ {
647
+ visible: a,
648
+ zIndex: 1e3,
649
+ overlayProps: { backgroundOpacity: 0.5 },
650
+ loaderProps: { size: 24, color: "black" }
651
+ }
652
+ ),
653
+ /* @__PURE__ */ n(
654
+ "a",
655
+ {
656
+ className: "editor-image-link",
657
+ "data-link": m ? "true" : void 0,
658
+ "data-href": m ? J(m) : void 0,
659
+ role: m ? "link" : void 0,
660
+ rel: m ? "noopener noreferrer" : void 0,
661
+ draggable: !1,
662
+ onMouseDown: m ? (v) => {
663
+ h.current = { x: v.clientX, y: v.clientY };
664
+ } : void 0,
665
+ onClick: m ? (v) => {
666
+ v.preventDefault();
667
+ const k = h.current;
668
+ h.current = null, !(k && Math.hypot(v.clientX - k.x, v.clientY - k.y) > 5) && window.open(J(m), "_blank", "noopener,noreferrer");
669
+ } : void 0,
670
+ children: /* @__PURE__ */ n(
671
+ Ct,
672
+ {
673
+ className: null,
674
+ src: s,
675
+ altText: d,
676
+ imageRef: I,
677
+ width: "inherit",
678
+ height: "inherit",
679
+ maxWidth: b || "auto",
680
+ id: l
681
+ }
682
+ )
683
+ }
684
+ ),
685
+ ke && /* @__PURE__ */ n(
686
+ It,
687
+ {
688
+ nodeKey: e.nodeKey,
689
+ src: s,
690
+ id: l,
691
+ href: m
692
+ }
693
+ ),
694
+ ve && /* @__PURE__ */ n(
695
+ yt,
696
+ {
697
+ nodeKey: e.nodeKey,
698
+ src: s,
699
+ id: l,
700
+ href: m
701
+ }
702
+ ),
703
+ ft && !ke && !ve && /* @__PURE__ */ n(kt, { nodeKey: e.nodeKey, src: s, href: m })
704
+ ]
705
+ }
706
+ );
707
+ };
708
+ function Ct({
709
+ altText: e,
710
+ className: i,
711
+ imageRef: t,
712
+ src: a,
713
+ width: r,
714
+ height: s,
715
+ maxWidth: l,
716
+ id: d
717
+ }) {
718
+ const [I, b] = y(!1);
719
+ return /* @__PURE__ */ n(
720
+ "img",
721
+ {
722
+ className: `${i || void 0} ${I ? "" : "loading"}`,
723
+ src: a,
724
+ alt: e,
725
+ ref: t,
726
+ style: {
727
+ height: s,
728
+ maxWidth: l,
729
+ width: r
730
+ },
731
+ onLoad: () => {
732
+ a.includes("splash") ? setTimeout(() => {
733
+ b(!0);
734
+ }, 100) : b(!0);
735
+ },
736
+ draggable: "false",
737
+ "data-id": d
738
+ }
739
+ );
740
+ }
741
+ function Xt(e) {
742
+ const { disable: i } = Ie(Pe);
743
+ return i && at.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ n(Dt, { ...e });
744
+ }
745
+ function Dt({
746
+ src: e,
747
+ altText: i,
748
+ nodeKey: t,
749
+ width: a,
750
+ height: r,
751
+ maxWidth: s,
752
+ showCaption: l,
753
+ caption: d,
754
+ id: I,
755
+ create: b,
756
+ alignment: p,
757
+ imagePickerTab: m,
758
+ aspectRatio: h,
759
+ href: v
760
+ }) {
761
+ var ge, fe;
762
+ const k = Q(null), [c, w] = y(!0), [u] = V(), [T, R] = y(!0), [L, M] = y({
763
+ width: 0,
764
+ height: 0
765
+ }), { start: O } = rt(), [Lt, G] = y(0), {
766
+ fetchUploadMedia: z,
767
+ fetchDeleteMedia: ae,
768
+ maxFileSize: Nt,
769
+ imperativeHandleRef: W,
770
+ disable: xe
771
+ } = Ie(Pe), _ = q.has(e) && (((ge = q.get(e)) == null ? void 0 : ge.mediaNodeKeys.length) === 0 || ((fe = q.get(e)) == null ? void 0 : fe.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: F } = B(), re = (o) => {
772
+ if (typeof o == "number") return o > 0 ? o : null;
773
+ if (typeof o == "string" && !o.includes("%")) {
774
+ const g = parseFloat(o);
775
+ return Number.isFinite(g) && g > 0 ? g : null;
776
+ }
777
+ return null;
778
+ }, le = re(a), se = re(r), de = le && se ? le / se : void 0, [Ue, Ae] = y(
779
+ void 0
780
+ ), ce = K(() => {
781
+ try {
782
+ const o = parseFloat(
783
+ localStorage.getItem("layers-img-ratio:" + e) || ""
784
+ );
785
+ return Number.isFinite(o) && o > 0 ? o : void 0;
786
+ } catch {
787
+ return;
788
+ }
789
+ }, [e]), Re = de ?? h ?? ce ?? Ue, [Me, ue] = y(!1), ze = !Me && !de && (h ?? ce) != null, [Ot, We] = y(0);
790
+ P(() => u.registerDecoratorListener(() => {
791
+ We((o) => o + 1);
792
+ }), [_]), P(() => {
793
+ const o = u.getElementByKey(t);
794
+ o && (o.style.removeProperty("aspect-ratio"), o.style.removeProperty("width"));
795
+ }, [u, t]), P(() => {
796
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
797
+ w(!1);
798
+ return;
799
+ }
800
+ const o = new Image();
801
+ o.src = e, o.onload = () => {
802
+ if (w(!1), o.naturalWidth) {
803
+ const g = o.naturalWidth / o.naturalHeight;
804
+ if (Ae(g), o.naturalWidth >= 100)
805
+ try {
806
+ localStorage.setItem("layers-img-ratio:" + e, String(g));
807
+ } catch {
808
+ }
809
+ !h && o.naturalWidth >= 100 && u.update(
810
+ () => {
811
+ const f = E(t);
812
+ S(f) && f.getAspectRatio() == null && f.setAspectRatio(g);
813
+ },
814
+ { tag: "history-merge" }
815
+ );
816
+ }
817
+ }, o.onerror = () => {
818
+ w(!1);
819
+ };
820
+ }, [e, _]);
821
+ const _e = (o, g) => {
822
+ u.update(() => {
823
+ Xe(null);
824
+ const f = E(t);
825
+ S(f) && f.setWidthAndHeight(o, g);
826
+ });
827
+ }, { historyState: pe } = lt(), {
828
+ settings: { showNestedEditorTreeView: me }
829
+ } = st();
830
+ function Fe(o) {
831
+ return o.endsWith(".svg") || o.includes("image/svg+xml");
832
+ }
833
+ function je(o) {
834
+ return new Promise((g, f) => {
835
+ if (Fe(o)) {
836
+ g(0);
837
+ return;
838
+ }
839
+ const D = new Image();
840
+ D.src = o, D.onload = () => {
841
+ g(D.width);
842
+ }, D.onerror = () => {
843
+ f(new Error("Failed to load image"));
844
+ };
845
+ });
846
+ }
847
+ P(() => {
848
+ let o = a, g = r, f = 100;
849
+ (e.includes("unsplash") ? e.trim() : !_ && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && je(e).then((D) => {
850
+ typeof o == "number" && o < f && D < f ? (R(!0), M({
851
+ width: o,
852
+ height: g
853
+ })) : D < f ? (R(!0), M({
854
+ width: "auto",
855
+ height: "auto"
856
+ })) : (M({
857
+ width: D,
858
+ height: D
859
+ }), R(!1)), ue(!0);
860
+ }).catch((D) => {
861
+ ue(!0), console.warn("Ошибка при загрузке изображения:", D.message);
862
+ });
863
+ }, [e, _]), P(() => {
864
+ L.width && L.height && T && u.update(() => {
865
+ const o = E(t);
866
+ S(o) && o.setWidthAndHeight(L.width, L.height);
867
+ });
868
+ }, [L.width, L.height, T]);
869
+ const $e = C(
870
+ (o) => dt(u, t, o),
871
+ [u, t]
872
+ ), X = C(
873
+ (o, g) => {
874
+ w(!1), u.update(() => {
875
+ const f = E(t);
876
+ S(f) && (f.setSrc(o), f.setId(g));
877
+ });
878
+ },
879
+ [u, t]
880
+ ), Y = C(
881
+ (o) => {
882
+ w(!0);
883
+ const g = O();
884
+ z && z(
885
+ o[0],
886
+ (f, D) => {
887
+ X(f, D), G(0);
888
+ },
889
+ (f) => {
890
+ f && ht({
891
+ message: F("editor.gallery.errorFile")
892
+ }), G(0), X(e.startsWith("blob:") ? "upload" : "", "");
893
+ },
894
+ g,
895
+ (f) => {
896
+ G(f);
897
+ }
898
+ );
899
+ },
900
+ [z, O, F, X, e]
901
+ );
902
+ return P(() => u.registerCommand(
903
+ ct,
904
+ (o) => !e.startsWith("blob:") && e !== "upload" || o.targetNodeKey !== t ? !1 : (Y(o.files), !0),
905
+ Ge
906
+ ), [u, Y, t, e]), !e || e === "upload" ? /* @__PURE__ */ n(Be, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ n(
907
+ ut,
908
+ {
909
+ inline: !0,
910
+ nodeKey: t,
911
+ defaultTabValue: m,
912
+ onWriteTabToNode: $e,
913
+ uploading: !1,
914
+ onUpload: (o) => {
915
+ !z || !o.length || Y(o);
916
+ },
917
+ popoverProps: {
918
+ opened: !0,
919
+ position: "bottom",
920
+ zIndex: pt
921
+ },
922
+ onChange: (o) => {
923
+ u.update(() => {
924
+ const g = E(t);
925
+ S(g) && g.setSrc(o);
926
+ });
927
+ }
928
+ }
929
+ ) }) : T && !ze ? /* @__PURE__ */ n(
930
+ ye,
931
+ {
932
+ width: L.width,
933
+ height: L.height,
934
+ isLoading: c,
935
+ isError: !1,
936
+ isIcon: T,
937
+ src: e,
938
+ id: I,
939
+ editor: u,
940
+ nodeKey: t,
941
+ fetchDeleteMedia: ae,
942
+ altText: i,
943
+ imageRef: k,
944
+ maxWidth: s,
945
+ showCaption: l,
946
+ caption: d,
947
+ isCollabActive: !1,
948
+ historyState: pe,
949
+ showNestedEditorTreeView: me,
950
+ t: F,
951
+ href: v
952
+ }
953
+ ) : /* @__PURE__ */ n(
954
+ mt,
955
+ {
956
+ editor: u,
957
+ isIcon: T,
958
+ width: be(a),
959
+ height: be(r),
960
+ initialWidth: L.width || "",
961
+ initialHeight: L.height || "",
962
+ onResizeEnd: _e,
963
+ alignment: p,
964
+ disable: xe,
965
+ onRegisterDecoratorEnter: (o) => {
966
+ W != null && W.current && (W.current.decoratorEnterAction = o);
967
+ },
968
+ onActivate: () => u.dispatchCommand(gt, "show_menu"),
969
+ children: /* @__PURE__ */ n(
970
+ ye,
971
+ {
972
+ width: "inherit",
973
+ height: "inherit",
974
+ aspectRatio: Re,
975
+ isLoading: c,
976
+ isError: !1,
977
+ isIcon: T,
978
+ src: e,
979
+ id: I,
980
+ editor: u,
981
+ nodeKey: t,
982
+ fetchDeleteMedia: ae,
983
+ altText: i,
984
+ imageRef: k,
985
+ maxWidth: s,
986
+ showCaption: l,
987
+ caption: d,
988
+ isCollabActive: !1,
989
+ historyState: pe,
990
+ showNestedEditorTreeView: me,
991
+ t: F,
992
+ href: v
993
+ }
994
+ )
995
+ }
996
+ );
997
+ }
998
+ export {
999
+ Xt as default
1000
+ };