@layers-app/editor 2.2.20 → 2.2.22

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 (213) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +11 -11
  4. package/dist/{layers.B1Z3FBSW.js → layers.0_o7xyFB.js} +35839 -35861
  5. package/dist/{layers.D0Z4j1r3.js → layers.46GY3mh_.js} +1 -1
  6. package/dist/{layers.9E-A35i_.js → layers.5k4kp1K9.js} +1 -1
  7. package/dist/{layers.B9R0kUwf.js → layers.6szP7wNE.js} +1 -1
  8. package/dist/layers.8FdK9LMJ.js +6 -0
  9. package/dist/{layers.nIQkD9ci.js → layers.8un-7X4h.js} +1 -1
  10. package/dist/{layers.DZoDi3Tr.js → layers.A3TBCQ6E.js} +1 -1
  11. package/dist/{layers.CpAc8yN6.js → layers.AV_6LgdT.js} +1 -1
  12. package/dist/{layers.7_mMT6j0.js → layers.B0F9vx_F.js} +1 -1
  13. package/dist/{layers.BqczWje4.js → layers.B0ToPjF1.js} +1 -1
  14. package/dist/{layers.6GJr4R5a.js → layers.B2GIc3En.js} +1 -1
  15. package/dist/{layers.Cd5TfPqd.js → layers.B2bspQy6.js} +1 -1
  16. package/dist/{layers.DuwP74N5.js → layers.B32NgnPu.js} +4 -4
  17. package/dist/{layers.Dm3_m-K7.js → layers.B3YVD67D.js} +1 -1
  18. package/dist/{layers.CUCT67uo.js → layers.B3kATuHh.js} +1 -1
  19. package/dist/{layers.CXoqcnEu.js → layers.B5Gj1Ue7.js} +1 -1
  20. package/dist/{layers.a-LARbKt.js → layers.B5bLFKhh.js} +1 -1
  21. package/dist/{layers.9y0j73C2.js → layers.B63y0Rpn.js} +1 -1
  22. package/dist/{layers.C6TggUya.js → layers.B7-uOQaL.js} +1 -1
  23. package/dist/{layers.CVaHbb_-.js → layers.B9ZtxZKD.js} +1 -1
  24. package/dist/{layers.CcD5luc6.js → layers.BBfhnLOa.js} +1 -1
  25. package/dist/layers.BBin4uXC.js +1 -0
  26. package/dist/{layers.C0Y9loxf.js → layers.BCu5Aujs.js} +1 -1
  27. package/dist/{layers.Bjuy0V1E.js → layers.BENyixGk.js} +7 -7
  28. package/dist/{layers.DRmkEnhl.js → layers.BEhg58AG.js} +1 -1
  29. package/dist/{layers.Dn7VKVHU.js → layers.BEmJ1cvD.js} +1 -1
  30. package/dist/{layers.lAIs4XlW.js → layers.BIG3joYZ.js} +1 -1
  31. package/dist/{layers.rDvhupy_.js → layers.BIz6anSR.js} +3 -3
  32. package/dist/{layers.SjMxlWcq.js → layers.BK2hXhTr.js} +1 -1
  33. package/dist/{layers.BaVFk6SN.js → layers.BL5-YOdb.js} +1 -1
  34. package/dist/layers.BMHe7FVH.js +1 -0
  35. package/dist/{layers.BgPqY2JZ.js → layers.BNfpljMH.js} +1 -1
  36. package/dist/{layers.Dv0670fB.js → layers.BOqcQSvT.js} +1 -1
  37. package/dist/{layers.BB1IOMSC.js → layers.BPhlKQ1n.js} +1 -1
  38. package/dist/{layers.DIks0MY9.js → layers.BQT_UW8f.js} +1 -1
  39. package/dist/{layers.CRtRlfWf.js → layers.BU5vikd4.js} +1 -1
  40. package/dist/{layers.BFGdqF5_.js → layers.BUHDbScM.js} +3 -3
  41. package/dist/{layers.C7k7FfgJ.js → layers.BUx-KQN_.js} +4 -4
  42. package/dist/{layers.CrqbYRzf.js → layers.BV2DfFDz.js} +1 -1
  43. package/dist/{layers.x9vw7v3U.js → layers.BVqCJpzk.js} +4 -4
  44. package/dist/{layers.Bmvmyfgx.js → layers.BYTQeRxM.js} +1 -1
  45. package/dist/{layers.C6G7tcGn.js → layers.BYlILlAo.js} +5 -5
  46. package/dist/{layers.BI0Qw-Cc.js → layers.B_H13cp_.js} +3 -3
  47. package/dist/{layers.C5z-O4vl.js → layers.BcDoHGQQ.js} +4 -4
  48. package/dist/{layers.BoVCwhri.js → layers.BcMFUrsO.js} +1 -1
  49. package/dist/{layers.CFnqsqIg.js → layers.BcYnshZx.js} +1 -1
  50. package/dist/{layers.DxuuPlD2.js → layers.BdvKi5m2.js} +3 -3
  51. package/dist/{layers.-upBSzpx.js → layers.BeB6nS-_.js} +1 -1
  52. package/dist/{layers.Cz2oCZes.js → layers.Beu7hD93.js} +3 -3
  53. package/dist/{layers.DhWg6e7n.js → layers.BfG2tfZn.js} +1 -1
  54. package/dist/layers.BgetbX1j.js +907 -0
  55. package/dist/{layers.CUHrkUsV.js → layers.BhTzgvsL.js} +1 -1
  56. package/dist/{layers.Da_0RKZH.js → layers.BiDTOYk_.js} +1 -1
  57. package/dist/{layers.Uu0_d58r.js → layers.Bj6R7X3_.js} +1 -1
  58. package/dist/{layers.3tFPy2sk.js → layers.BjnNYmXq.js} +1 -1
  59. package/dist/{layers.BmZLc04X.js → layers.BndFZ10A.js} +1 -1
  60. package/dist/{layers.D_C7_fbk.js → layers.BnzemMDf.js} +4 -4
  61. package/dist/{layers.BkcNUG1w.js → layers.BvEEOMd2.js} +1 -1
  62. package/dist/{layers.mMhiQdia.js → layers.BwbFeMWp.js} +1 -1
  63. package/dist/{layers.DobSzbxw.js → layers.C-jjNwxe.js} +1 -1
  64. package/dist/{layers.BengJoS4.js → layers.C0D2yoIm.js} +1 -1
  65. package/dist/{layers.CCGtHR4D.js → layers.C3ionHGC.js} +1 -1
  66. package/dist/{layers.CIrm8gfg.js → layers.C9ylx_8s.js} +1 -1
  67. package/dist/{layers.CkyjaB8W.js → layers.CBDrbvx3.js} +1 -1
  68. package/dist/{layers.DEv1V6DU.js → layers.CCCg9AB6.js} +1 -1
  69. package/dist/{layers.Cxj08exa.js → layers.CFSSdZIo.js} +1 -1
  70. package/dist/{layers.DAzfB806.js → layers.CGpkaxva.js} +1 -1
  71. package/dist/{layers.DJbjONgo.js → layers.CI-npuwG.js} +1 -1
  72. package/dist/{layers.DLIKqcXR.js → layers.CJm6d8s4.js} +1 -1
  73. package/dist/{layers.IidMqMn2.js → layers.CM0RmSee.js} +1 -1
  74. package/dist/{layers.C-GOXxAH.js → layers.CMGavDUZ.js} +1 -1
  75. package/dist/{layers.DZ663X1x.js → layers.CNLeU1dW.js} +1 -1
  76. package/dist/{layers.Cty8lMmS.js → layers.CPRqBd5z.js} +3 -3
  77. package/dist/{layers.vuLooH9f.js → layers.CPd7fh0F.js} +1 -1
  78. package/dist/{layers.CfQPz1Aw.js → layers.CPjId6bM.js} +1 -1
  79. package/dist/{layers.3vPmC5wY.js → layers.CQpWcfwf.js} +1 -1
  80. package/dist/{layers.DYwksr5a.js → layers.CSQAIyOl.js} +1 -1
  81. package/dist/{layers.DLxFKMA6.js → layers.CWLwAnjN.js} +1 -1
  82. package/dist/{layers.n9EbKm0x.js → layers.C_CamJj8.js} +1 -1
  83. package/dist/{layers.CwzRnl4s.js → layers.CaMnfmf4.js} +1 -1
  84. package/dist/{layers.DPDYskll.js → layers.CbD4AjjB.js} +1 -1
  85. package/dist/{layers.I63XEeky.js → layers.CbbykYL6.js} +1 -1
  86. package/dist/{layers.BwRjgk3l.js → layers.Cc0bK4Jx.js} +3 -3
  87. package/dist/{layers.DrNOhvhI.js → layers.CeghDZ5z.js} +2 -2
  88. package/dist/{layers.B18sbnzv.js → layers.CgevOfiO.js} +1 -1
  89. package/dist/{layers.cN8x9nW3.js → layers.ChBsXB-p.js} +1 -1
  90. package/dist/{layers.ClRsT66E.js → layers.Chij3QIH.js} +1 -1
  91. package/dist/{layers.DrH31GR-.js → layers.CiOgdFrF.js} +1 -1
  92. package/dist/layers.Cjh9rgCs.js +702 -0
  93. package/dist/{layers.DYUNvSRB.js → layers.CnLBpo7l.js} +4 -4
  94. package/dist/{layers.BTaoyA-H.js → layers.CoCdaAtg.js} +1 -1
  95. package/dist/{layers.CcY2n7aU.js → layers.CoX17XV_.js} +1 -1
  96. package/dist/{layers.CF2XTKs7.js → layers.CpfZ5k-c.js} +25 -25
  97. package/dist/{layers.vDS9PGcx.js → layers.CrkOioIF.js} +1 -1
  98. package/dist/{layers.CTC8zPrF.js → layers.CtgqI59U.js} +1 -1
  99. package/dist/{layers.CiyxhcNk.js → layers.CucXAsor.js} +1 -1
  100. package/dist/{layers.CqsG0OBS.js → layers.CwDuD40M.js} +1 -1
  101. package/dist/{layers.B7JBTHrI.js → layers.CwiM9Q56.js} +1 -1
  102. package/dist/{layers.C6ZN6GpB.js → layers.CzowIX7V.js} +1 -1
  103. package/dist/{layers.BfbBFPcu.js → layers.D-WKQteE.js} +1 -1
  104. package/dist/{layers.NpQzTXqt.js → layers.D-pjbwMg.js} +1 -1
  105. package/dist/{layers.DqGkxIFj.js → layers.D-vM7CY8.js} +8 -8
  106. package/dist/{layers.BzKk84BW.js → layers.D-y15iMe.js} +1 -1
  107. package/dist/{layers.zP72_PG1.js → layers.D0kytx50.js} +1 -1
  108. package/dist/{layers.D-kTQ9UK.js → layers.D1OQ4q92.js} +1 -1
  109. package/dist/{layers.p-1j8BER.js → layers.D2rMgNQf.js} +3 -3
  110. package/dist/{layers.D5CCIEga.js → layers.D31iEZFD.js} +4 -4
  111. package/dist/{layers.BhSEN6dL.js → layers.D3Kbm5xt.js} +1 -1
  112. package/dist/{layers.BFP9xss0.js → layers.D4caPv6c.js} +2 -2
  113. package/dist/{layers.BahyPrPG.js → layers.D6ccqhvx.js} +1 -1
  114. package/dist/{layers.CmL3QVyb.js → layers.D7iqRuaR.js} +6 -6
  115. package/dist/{layers.BxlBrqjJ.js → layers.D8rQMbK_.js} +1 -1
  116. package/dist/{layers.B2dM7Tbt.js → layers.DBh6j3jA.js} +1 -1
  117. package/dist/{layers.DAVxIkpH.js → layers.DCa5gchg.js} +1 -1
  118. package/dist/{layers.YEFmzwMw.js → layers.DEL0A8T6.js} +1 -1
  119. package/dist/{layers.0_51eSVe.js → layers.DEMOp1ku.js} +1 -1
  120. package/dist/{layers.DcSevYiy.js → layers.DIGkuEI4.js} +1 -1
  121. package/dist/{layers.bR2nu10Q.js → layers.DJ0z2vMP.js} +1 -1
  122. package/dist/{layers.PWXwriWA.js → layers.DMby8wC2.js} +1 -1
  123. package/dist/{layers.1TGJYusT.js → layers.DMjBTphM.js} +1 -1
  124. package/dist/{layers.lanlvW5Y.js → layers.DMliVl73.js} +1 -1
  125. package/dist/{layers.C9cyYPQh.js → layers.DOwVCT3y.js} +1 -1
  126. package/dist/{layers.C9a1xgQe.js → layers.DPQUF5pK.js} +1 -1
  127. package/dist/{layers.w6Rzpp65.js → layers.DQAvpZ0O.js} +1 -1
  128. package/dist/{layers.DfQnSjc2.js → layers.DRU3_G6o.js} +1 -1
  129. package/dist/{layers.BQkXkuk4.js → layers.DTLpDoJM.js} +1 -1
  130. package/dist/{layers.DluN6hsf.js → layers.DTZf5wR5.js} +1 -1
  131. package/dist/{layers.BXJxwhsP.js → layers.DTjUi5Le.js} +1 -1
  132. package/dist/{layers.D0eSoEbO.js → layers.DV1jaZ1i.js} +1 -1
  133. package/dist/{layers.DxzcPaNN.js → layers.DX62t_IW.js} +1 -1
  134. package/dist/{layers.DXf4Hpdv.js → layers.DXE6q31f.js} +1 -1
  135. package/dist/{layers.Cs37Gb-Z.js → layers.DXiYnKzr.js} +1 -1
  136. package/dist/{layers.np_JJLpj.js → layers.DYUxmJPj.js} +1 -1
  137. package/dist/{layers.CsY4eDYx.js → layers.DYpl2yr-.js} +1 -1
  138. package/dist/{layers.Bcb-73eF.js → layers.DaVbJ1LA.js} +1 -1
  139. package/dist/{layers.BQWSSCZq.js → layers.DbIcuUbL.js} +1 -1
  140. package/dist/{layers.d2VMyzu0.js → layers.DdecoIKx.js} +1 -1
  141. package/dist/{layers.3OcJm3Ed.js → layers.DfKCNCmm.js} +1 -1
  142. package/dist/{layers.GoIyuc8H.js → layers.DfUJwkLk.js} +1 -1
  143. package/dist/{layers.BaScx_6u.js → layers.DfVVWVAL.js} +4 -4
  144. package/dist/{layers.JjO2paMU.js → layers.DiIn1rfl.js} +1 -1
  145. package/dist/{layers.opYuZNud.js → layers.DikXRE8c.js} +1 -1
  146. package/dist/{layers.CXWcXSX9.js → layers.DjH8T5sT.js} +1 -1
  147. package/dist/{layers.C3qGR0Em.js → layers.DkAbsvwH.js} +4 -4
  148. package/dist/{layers.PBduzFW5.js → layers.DnaYWIlB.js} +1 -1
  149. package/dist/{layers.CwXWh9dp.js → layers.Dnmgptfc.js} +1 -1
  150. package/dist/{layers.DC_kDhBY.js → layers.DoHhOLdI.js} +2 -2
  151. package/dist/{layers.Dkx15TQL.js → layers.DqAsBItk.js} +1 -1
  152. package/dist/{layers.Uf5PZKYh.js → layers.DqM99Lfc.js} +1 -1
  153. package/dist/{layers.1e5qHm0J.js → layers.DrFvInpg.js} +1 -1
  154. package/dist/{layers.DiLkFPsw.js → layers.Drf95sgy.js} +1 -1
  155. package/dist/{layers.BjF2fnON.js → layers.DsUTWT4F.js} +1 -1
  156. package/dist/{layers.DVJu88V3.js → layers.DtW-qZtE.js} +1 -1
  157. package/dist/{layers.DNqsTxWV.js → layers.DuUWtAKm.js} +4 -4
  158. package/dist/{layers.BxtuK-gH.js → layers.Duv1jJK3.js} +1 -1
  159. package/dist/{layers.uwChRl22.js → layers.DwuTV6GU.js} +1 -1
  160. package/dist/{layers.DzJlRjgG.js → layers.DzMzUTJI.js} +1 -1
  161. package/dist/{layers.DmgFUvCA.js → layers.F9IvliIV.js} +1 -1
  162. package/dist/{layers.B3TU0mEp.js → layers.G2bzJ31m.js} +1 -1
  163. package/dist/{layers.uWCQyrfS.js → layers.KQ6Ehsbw.js} +1 -1
  164. package/dist/{layers.BKFMltyU.js → layers.LtObTP4s.js} +1 -1
  165. package/dist/{layers.Dh0MP18i.js → layers.OjUruzJk.js} +1 -1
  166. package/dist/{layers.BOushxNJ.js → layers.PZeYBSbk.js} +2 -2
  167. package/dist/{layers.B5wJPieL.js → layers.RVfenvUo.js} +1 -1
  168. package/dist/{layers.DcN4v2dG.js → layers.Rtzeh3Fm.js} +5 -5
  169. package/dist/{layers.B1AhS2mA.js → layers.S5_rh8fp.js} +1 -1
  170. package/dist/{layers.C3qje6kD.js → layers.T2uzm7S6.js} +1 -1
  171. package/dist/{layers.0LNf9wea.js → layers.UaLbj79E.js} +1 -1
  172. package/dist/{layers.C8zsZFqE.js → layers.Up5eEXLJ.js} +1 -1
  173. package/dist/{layers.9Ln9OibX.js → layers.VX_IrJYt.js} +3 -3
  174. package/dist/{layers.3wKIhKFs.js → layers.W0rM-0TG.js} +1 -1
  175. package/dist/{layers.CJEefGZu.js → layers.YHkkWG0S.js} +1 -1
  176. package/dist/{layers.B2C41f-X.js → layers.ZLCj72_5.js} +1 -1
  177. package/dist/{layers.qKmpeiA7.js → layers.ZjrSTnp4.js} +1 -1
  178. package/dist/layers._WQpccnW.js +1 -0
  179. package/dist/{layers.DFgJMzMf.js → layers._qZ7PmnI.js} +4 -4
  180. package/dist/{layers.v_prPZ9A.js → layers.b4pXlijt.js} +1 -1
  181. package/dist/{layers.Cd9LTT03.js → layers.ffUYEwN4.js} +1 -1
  182. package/dist/{layers.Bn4l8o8h.js → layers.gEgCZvXy.js} +1 -1
  183. package/dist/layers.kOdq3GQw.js +8 -0
  184. package/dist/{layers.ERJ1aRjT.js → layers.n9b2hhnM.js} +1 -1
  185. package/dist/{layers.C-EM8GWm.js → layers.orWxvt3N.js} +1 -1
  186. package/dist/{layers.CzdcKOzv.js → layers.pRwVCW0G.js} +1 -1
  187. package/dist/{layers.C_Q6OUQV.js → layers.pRyAFATa.js} +1 -1
  188. package/dist/{layers.B18yyB-G.js → layers.pr9eyR-Q.js} +1 -1
  189. package/dist/{layers.BUvl-p6R.js → layers.prfqCpEA.js} +1 -1
  190. package/dist/{layers.CR-J7X7B.js → layers.psrETnoP.js} +1 -1
  191. package/dist/{layers.DPjb-zgI.js → layers.rsNk4u5r.js} +1 -1
  192. package/dist/{layers.CaixRq7v.js → layers.syr3X38H.js} +2 -2
  193. package/dist/{layers.xyYWgeil.js → layers.u5KGkYXg.js} +1 -1
  194. package/dist/{layers.DlGDSg5E.js → layers.uCHz6Psq.js} +1 -1
  195. package/dist/{layers.e-nRxhLh.js → layers.uoQtwjlc.js} +1 -1
  196. package/dist/{layers.C7BOdhXB.js → layers.vOgpGFIt.js} +1 -1
  197. package/dist/{layers.CRPM8fya.js → layers.vXA7G7-n.js} +1 -1
  198. package/dist/{layers.sJHNaLMA.js → layers.wWHl-pSG.js} +2 -2
  199. package/dist/{layers.C2qyth5A.js → layers.x7UpvoKs.js} +1 -1
  200. package/dist/{layers.BgFdVBTk.js → layers.xloaPUJ8.js} +1 -1
  201. package/dist/{layers.CpOzVG7B.js → layers.yWzNrmjk.js} +1 -1
  202. package/dist/{layers.Bq7Gooda.js → layers.yZ8BxTna.js} +1 -1
  203. package/dist/{layers.D0eSZ1Ss.js → layers.ysM6MbVz.js} +1 -1
  204. package/dist/{layers.Da_jnd8_.js → layers.ytxll_qv.js} +1 -1
  205. package/dist/{layers.fccCpjtd.js → layers.zI-ky_su.js} +3 -3
  206. package/package.json +80 -80
  207. package/dist/layers.B-n0tzE6.js +0 -904
  208. package/dist/layers.BNj2VdZj.js +0 -1
  209. package/dist/layers.CzjOVTJE.js +0 -6
  210. package/dist/layers.DUmaVqZq.js +0 -952
  211. package/dist/layers.Dl5QV_sK.js +0 -8
  212. package/dist/layers.DmvvbpXX.js +0 -1
  213. package/dist/layers.O7nYuFCq.js +0 -1
@@ -0,0 +1,702 @@
1
+ import { jsxs as I, jsx as o, Fragment as V } 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 U } from "react-i18next";
4
+ import { useLexicalComposerContext as z } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as S, 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 { x as Se, A as G, K as Te, H as T, y as se, m as de, z as ce, B as A, N as me, D as Ee, F as Pe, o as Me, C as ue, G as ke, J as Le, L as $, P as Ue, Q as ze, S as _e, U as Re, V as We, W as Fe, R as je, k as oe, O as He, j as ne, X as ie, n as $e } from "./layers.0_o7xyFB.js";
8
+ import { AttachmentsGalleryModal as ge, showErrorNotification as Be } from "@layers-app/shared";
9
+ import { useLexicalEditable as Ve } 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 "react-dom";
17
+ import "@lexical/react/LexicalErrorBoundary";
18
+ import "@lexical/react/LexicalBlockWithAlignableContents";
19
+ import "@mantine/notifications";
20
+ function Ge(e, n) {
21
+ const t = document.createElement("a");
22
+ t.href = e, t.download = n, t.rel = "noopener", document.body.appendChild(t), t.click(), t.remove();
23
+ }
24
+ function X(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 J(e, n) {
33
+ const t = await fetch(e);
34
+ if (!t.ok)
35
+ throw new Error("fetch failed");
36
+ const a = await t.blob(), l = URL.createObjectURL(a);
37
+ try {
38
+ Ge(l, n);
39
+ } finally {
40
+ setTimeout(() => URL.revokeObjectURL(l), 0);
41
+ }
42
+ }
43
+ function pe({
44
+ opened: e,
45
+ onOpenChange: n,
46
+ t,
47
+ onDownload: a,
48
+ onDelete: l
49
+ }) {
50
+ return /* @__PURE__ */ I(
51
+ S,
52
+ {
53
+ opened: e,
54
+ onChange: n,
55
+ transitionProps: Se,
56
+ shadow: "md",
57
+ position: "bottom-start",
58
+ offset: 4,
59
+ withinPortal: !0,
60
+ closeOnItemClick: !0,
61
+ children: [
62
+ /* @__PURE__ */ o(S.Target, { children: /* @__PURE__ */ o(
63
+ G,
64
+ {
65
+ label: t("editor.toolbar.more"),
66
+ icon: Te,
67
+ iconColor: "var(--mantine-color-gray-text)",
68
+ "aria-label": t("editor.toolbar.more")
69
+ }
70
+ ) }),
71
+ /* @__PURE__ */ I(S.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
72
+ /* @__PURE__ */ o(
73
+ S.Item,
74
+ {
75
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ o(T, { icon: se, size: 16 }) }),
76
+ onClick: (r) => {
77
+ r.stopPropagation(), a();
78
+ },
79
+ children: t("editor.gallery.download")
80
+ }
81
+ ),
82
+ /* @__PURE__ */ o(
83
+ S.Item,
84
+ {
85
+ color: "red",
86
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ o(T, { icon: de, size: 16 }) }),
87
+ onClick: (r) => {
88
+ r.stopPropagation(), l();
89
+ },
90
+ children: t("editor.contextMenu.delete")
91
+ }
92
+ )
93
+ ] })
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ const he = ({
99
+ t: e,
100
+ src: n,
101
+ setShown: t,
102
+ id: a
103
+ }) => {
104
+ const [l, { open: r, close: m }] = B(!1), d = re(() => [
105
+ {
106
+ id: !a || a === "0" ? "" : a,
107
+ Url: n ?? "",
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
+ ], [n, a]);
124
+ return /* @__PURE__ */ I(V, { children: [
125
+ /* @__PURE__ */ o(
126
+ ge,
127
+ {
128
+ opened: l,
129
+ onOpenChange: (g) => {
130
+ g ? r() : m();
131
+ },
132
+ attachments: d
133
+ }
134
+ ),
135
+ /* @__PURE__ */ o(
136
+ G,
137
+ {
138
+ label: e("editor.image.preview"),
139
+ icon: ce,
140
+ iconColor: "var(--mantine-color-gray-text)",
141
+ "aria-label": e("editor.image.preview"),
142
+ onClick: () => {
143
+ t(!1), r();
144
+ }
145
+ }
146
+ )
147
+ ] });
148
+ }, Xe = ({
149
+ nodeKey: e,
150
+ src: n
151
+ }) => {
152
+ const [t] = z(), a = Ve(), [l, r] = b(!1), [m, d] = b(!1), { t: u } = U(), g = v(() => {
153
+ t.update(() => {
154
+ const f = O(e);
155
+ A(f) && f.remove();
156
+ });
157
+ }, [t, e]), C = v(async () => {
158
+ if (n)
159
+ try {
160
+ await J(n, X(n));
161
+ } catch {
162
+ }
163
+ }, [n]);
164
+ return /* @__PURE__ */ I(
165
+ "div",
166
+ {
167
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
168
+ children: [
169
+ /* @__PURE__ */ o(he, { t: u, src: n, setShown: () => {
170
+ } }),
171
+ a && /* @__PURE__ */ I(V, { children: [
172
+ /* @__PURE__ */ o(
173
+ me,
174
+ {
175
+ opened: l,
176
+ setOpened: r,
177
+ t: u,
178
+ editor: t,
179
+ nodeKey: e,
180
+ setShown: () => {
181
+ }
182
+ }
183
+ ),
184
+ /* @__PURE__ */ o(
185
+ pe,
186
+ {
187
+ opened: m,
188
+ onOpenChange: d,
189
+ t: u,
190
+ onDownload: () => void C(),
191
+ onDelete: g
192
+ }
193
+ )
194
+ ] })
195
+ ]
196
+ }
197
+ );
198
+ }, Je = () => {
199
+ };
200
+ function Qe({ nodeKey: e, src: n, id: t }) {
201
+ const { t: a } = U(), [l] = z(), [r, m] = b(!1), [d, u] = b(!1), g = v(() => {
202
+ u(!1), l.update(() => {
203
+ const f = O(e);
204
+ if (!A(f)) return;
205
+ const y = f.getParent();
206
+ Ee(y) ? y.remove() : f.remove();
207
+ });
208
+ }, [l, e]), C = v(async () => {
209
+ if (n)
210
+ try {
211
+ await J(n, X(n));
212
+ } catch {
213
+ }
214
+ }, [n]);
215
+ return /* @__PURE__ */ I(
216
+ "div",
217
+ {
218
+ className: "media-actions visible",
219
+ style: {
220
+ position: "absolute",
221
+ top: 10,
222
+ right: 10,
223
+ zIndex: 10,
224
+ pointerEvents: "auto",
225
+ display: "flex",
226
+ gap: 4
227
+ },
228
+ onClick: (f) => f.stopPropagation(),
229
+ children: [
230
+ /* @__PURE__ */ o(he, { t: a, src: n, setShown: Je, id: t }),
231
+ /* @__PURE__ */ o(
232
+ me,
233
+ {
234
+ opened: r,
235
+ setOpened: m,
236
+ t: a,
237
+ editor: l,
238
+ nodeKey: e
239
+ }
240
+ ),
241
+ /* @__PURE__ */ o(
242
+ pe,
243
+ {
244
+ opened: d,
245
+ onOpenChange: u,
246
+ t: a,
247
+ onDownload: () => void C(),
248
+ onDelete: g
249
+ }
250
+ )
251
+ ]
252
+ }
253
+ );
254
+ }
255
+ function Ye({ nodeKey: e, src: n, id: t }) {
256
+ const { t: a } = U(), [l] = z(), [r, { open: m, close: d }] = B(!1), [u, { open: g, close: C }] = B(!1), f = re(
257
+ () => [
258
+ {
259
+ id: !t || t === "0" ? "" : t,
260
+ Url: n ?? "",
261
+ contentType: "",
262
+ originalFileName: "",
263
+ fileSize: 0,
264
+ storageType: "",
265
+ storagePath: "",
266
+ fileName: "",
267
+ parentType: "",
268
+ parentId: "",
269
+ ownerId: "",
270
+ createdAt: /* @__PURE__ */ new Date(),
271
+ updatedAt: /* @__PURE__ */ new Date(),
272
+ version: 0,
273
+ deleted: !1,
274
+ deletedAt: /* @__PURE__ */ new Date()
275
+ }
276
+ ],
277
+ [n, t]
278
+ ), y = () => {
279
+ d(), g();
280
+ }, E = v(async () => {
281
+ if (d(), !!n)
282
+ try {
283
+ await J(n, X(n));
284
+ } catch {
285
+ }
286
+ }, [n, d]), D = v(() => {
287
+ d(), l.update(() => {
288
+ const s = O(e);
289
+ A(s) && s.remove();
290
+ });
291
+ }, [l, e, d]);
292
+ return /* @__PURE__ */ I(V, { children: [
293
+ /* @__PURE__ */ o(
294
+ "div",
295
+ {
296
+ className: "image-touch-actions",
297
+ style: {
298
+ position: "absolute",
299
+ top: 8,
300
+ right: 8,
301
+ zIndex: 10,
302
+ pointerEvents: "auto"
303
+ },
304
+ onClick: (s) => s.stopPropagation(),
305
+ children: /* @__PURE__ */ o(
306
+ G,
307
+ {
308
+ label: a("editor.toolbar.more"),
309
+ icon: Pe,
310
+ iconColor: "var(--mantine-color-gray-text)",
311
+ "aria-label": a("editor.toolbar.more"),
312
+ onClick: m
313
+ }
314
+ )
315
+ }
316
+ ),
317
+ /* @__PURE__ */ o(
318
+ ge,
319
+ {
320
+ opened: u,
321
+ onOpenChange: (s) => s ? g() : C(),
322
+ attachments: f
323
+ }
324
+ ),
325
+ /* @__PURE__ */ o(
326
+ Me,
327
+ {
328
+ opened: r,
329
+ onClose: d,
330
+ title: a("editor.image.mobileActions"),
331
+ children: /* @__PURE__ */ I(De, { gap: 4, p: 0, children: [
332
+ /* @__PURE__ */ o(
333
+ H,
334
+ {
335
+ type: "button",
336
+ variant: "subtle",
337
+ color: "gray",
338
+ fullWidth: !0,
339
+ justify: "flex-start",
340
+ bg: "var(--editor-action-bg)",
341
+ onClick: y,
342
+ leftSection: /* @__PURE__ */ o(
343
+ T,
344
+ {
345
+ icon: ce,
346
+ size: 16,
347
+ color: "var(--mantine-color-dimmed)"
348
+ }
349
+ ),
350
+ children: a("editor.image.previewFullScreen")
351
+ }
352
+ ),
353
+ /* @__PURE__ */ o(
354
+ H,
355
+ {
356
+ type: "button",
357
+ variant: "subtle",
358
+ color: "gray",
359
+ fullWidth: !0,
360
+ justify: "flex-start",
361
+ bg: "var(--editor-action-bg)",
362
+ onClick: () => void E(),
363
+ leftSection: /* @__PURE__ */ o(
364
+ T,
365
+ {
366
+ icon: se,
367
+ size: 16,
368
+ color: "var(--mantine-color-dimmed)"
369
+ }
370
+ ),
371
+ children: a("editor.gallery.download")
372
+ }
373
+ ),
374
+ /* @__PURE__ */ o(
375
+ H,
376
+ {
377
+ type: "button",
378
+ variant: "subtle",
379
+ color: "red",
380
+ fullWidth: !0,
381
+ justify: "flex-start",
382
+ bg: "var(--editor-action-bg)",
383
+ onClick: D,
384
+ leftSection: /* @__PURE__ */ o(
385
+ T,
386
+ {
387
+ icon: de,
388
+ size: 16,
389
+ color: "var(--mantine-color-red-6)"
390
+ }
391
+ ),
392
+ children: a("editor.actions.delete")
393
+ }
394
+ )
395
+ ] })
396
+ }
397
+ )
398
+ ] });
399
+ }
400
+ const ae = (e) => {
401
+ const {
402
+ width: n,
403
+ height: t,
404
+ isLoading: a,
405
+ isError: l,
406
+ src: r,
407
+ id: m,
408
+ altText: d,
409
+ imageRef: u,
410
+ maxWidth: g
411
+ } = e;
412
+ return /* @__PURE__ */ I(
413
+ "div",
414
+ {
415
+ className: "media-wrapper",
416
+ style: {
417
+ width: n,
418
+ height: t,
419
+ display: "inline-flex",
420
+ position: "relative"
421
+ },
422
+ children: [
423
+ /* @__PURE__ */ o(
424
+ Ae,
425
+ {
426
+ visible: a,
427
+ zIndex: 1e3,
428
+ overlayProps: { backgroundOpacity: 0.5 },
429
+ loaderProps: { size: 24, color: "black" }
430
+ }
431
+ ),
432
+ /* @__PURE__ */ o(
433
+ Ze,
434
+ {
435
+ className: null,
436
+ src: r,
437
+ altText: d,
438
+ imageRef: u,
439
+ width: "inherit",
440
+ height: "inherit",
441
+ maxWidth: g || "auto",
442
+ id: m
443
+ }
444
+ ),
445
+ ne && /* @__PURE__ */ o(Ye, { nodeKey: e.nodeKey, src: r, id: m }),
446
+ ie && /* @__PURE__ */ o(Qe, { nodeKey: e.nodeKey, src: r, id: m }),
447
+ $e && !ne && !ie && /* @__PURE__ */ o(Xe, { nodeKey: e.nodeKey, src: r })
448
+ ]
449
+ }
450
+ );
451
+ };
452
+ function Ze({
453
+ altText: e,
454
+ className: n,
455
+ imageRef: t,
456
+ src: a,
457
+ width: l,
458
+ height: r,
459
+ maxWidth: m,
460
+ id: d
461
+ }) {
462
+ const [u, g] = b(!1);
463
+ return /* @__PURE__ */ o(
464
+ "img",
465
+ {
466
+ className: `${n || void 0} ${u ? "" : "loading"}`,
467
+ src: a,
468
+ alt: e,
469
+ ref: t,
470
+ style: {
471
+ height: r,
472
+ maxWidth: m,
473
+ width: l
474
+ },
475
+ onLoad: () => {
476
+ a.includes("splash") ? setTimeout(() => {
477
+ g(!0);
478
+ }, 100) : g(!0);
479
+ },
480
+ draggable: "false",
481
+ "data-id": d
482
+ }
483
+ );
484
+ }
485
+ function Ct(e) {
486
+ const { disable: n } = le(ue);
487
+ return n && ke.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ o(qe, { ...e });
488
+ }
489
+ function qe({
490
+ src: e,
491
+ altText: n,
492
+ nodeKey: t,
493
+ width: a,
494
+ height: l,
495
+ maxWidth: r,
496
+ showCaption: m,
497
+ caption: d,
498
+ id: u,
499
+ create: g,
500
+ alignment: C,
501
+ imagePickerTab: f
502
+ }) {
503
+ var K, ee;
504
+ const y = ye(null), [E, D] = b(!0), [s] = z(), [N, _] = b(!0), [w, R] = b({
505
+ width: 0,
506
+ height: 0
507
+ }), { start: Q } = Le(), [Ke, W] = b(0), {
508
+ fetchUploadMedia: P,
509
+ fetchDeleteMedia: Y,
510
+ maxFileSize: et,
511
+ imperativeHandleRef: M,
512
+ disable: fe
513
+ } = 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: L } = U(), [tt, we] = b(0);
514
+ x(() => s.registerDecoratorListener(() => {
515
+ we((i) => i + 1);
516
+ }), [k]), x(() => {
517
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
518
+ D(!1);
519
+ return;
520
+ }
521
+ const i = new Image();
522
+ i.src = e, i.onload = () => D(!1), i.onerror = () => {
523
+ D(!1);
524
+ };
525
+ }, [e, k]);
526
+ const be = (i, p) => {
527
+ s.update(() => {
528
+ xe(null);
529
+ const c = O(t);
530
+ A(c) && c.setWidthAndHeight(i, p);
531
+ });
532
+ }, { historyState: Z } = Ue(), {
533
+ settings: { showNestedEditorTreeView: q }
534
+ } = ze();
535
+ function ve(i) {
536
+ return i.endsWith(".svg") || i.includes("image/svg+xml");
537
+ }
538
+ function Ie(i) {
539
+ return new Promise((p, c) => {
540
+ if (ve(i)) {
541
+ p(0);
542
+ return;
543
+ }
544
+ const h = new Image();
545
+ h.src = i, h.onload = () => {
546
+ p(h.width);
547
+ }, h.onerror = () => {
548
+ c(new Error("Failed to load image"));
549
+ };
550
+ });
551
+ }
552
+ x(() => {
553
+ let i = a, p = l, c = 100;
554
+ (e.includes("unsplash") ? e.trim() : !k && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && Ie(e).then((h) => {
555
+ typeof i == "number" && i < c && h < c ? (_(!0), R({
556
+ width: i,
557
+ height: p
558
+ })) : h < c ? (_(!0), R({
559
+ width: "auto",
560
+ height: "auto"
561
+ })) : (R({
562
+ width: h,
563
+ height: h
564
+ }), _(!1));
565
+ }).catch((h) => {
566
+ console.warn("Ошибка при загрузке изображения:", h.message);
567
+ });
568
+ }, [e, k]), x(() => {
569
+ w.width && w.height && N && s.update(() => {
570
+ const i = O(t);
571
+ A(i) && i.setWidthAndHeight(w.width, w.height);
572
+ });
573
+ }, [w.width, w.height, N]);
574
+ const Ce = v(
575
+ (i) => _e(s, t, i),
576
+ [s, t]
577
+ ), F = v(
578
+ (i, p) => {
579
+ D(!1), s.update(() => {
580
+ const c = O(t);
581
+ A(c) && (c.setSrc(i), c.setId(p));
582
+ });
583
+ },
584
+ [s, t]
585
+ ), j = v(
586
+ (i) => {
587
+ D(!0);
588
+ const p = Q();
589
+ P && P(
590
+ i[0],
591
+ (c, h) => {
592
+ F(c, h), W(0);
593
+ },
594
+ (c) => {
595
+ c && Be({
596
+ message: L("editor.gallery.errorFile")
597
+ }), W(0), F("", "");
598
+ },
599
+ p,
600
+ (c) => {
601
+ W(c);
602
+ }
603
+ );
604
+ },
605
+ [P, Q, L, F]
606
+ );
607
+ return x(() => s.registerCommand(
608
+ Re,
609
+ (i) => e !== "upload" || i.targetNodeKey !== t ? !1 : (j(i.files), !0),
610
+ Ne
611
+ ), [s, j, t, e]), !e || e === "upload" ? /* @__PURE__ */ o(Oe, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ o(
612
+ We,
613
+ {
614
+ inline: !0,
615
+ nodeKey: t,
616
+ defaultTabValue: f,
617
+ onWriteTabToNode: Ce,
618
+ uploading: !1,
619
+ onUpload: (i) => {
620
+ !P || !i.length || j(i);
621
+ },
622
+ popoverProps: {
623
+ opened: !0,
624
+ position: "bottom",
625
+ zIndex: Fe
626
+ },
627
+ onChange: (i) => {
628
+ s.update(() => {
629
+ const p = O(t);
630
+ A(p) && p.setSrc(i);
631
+ });
632
+ }
633
+ }
634
+ ) }) : N ? /* @__PURE__ */ o(
635
+ ae,
636
+ {
637
+ width: w.width,
638
+ height: w.height,
639
+ isLoading: E,
640
+ isError: !1,
641
+ isIcon: N,
642
+ src: e,
643
+ id: u,
644
+ editor: s,
645
+ nodeKey: t,
646
+ fetchDeleteMedia: Y,
647
+ altText: n,
648
+ imageRef: y,
649
+ maxWidth: r,
650
+ showCaption: m,
651
+ caption: d,
652
+ isCollabActive: !1,
653
+ historyState: Z,
654
+ showNestedEditorTreeView: q,
655
+ t: L
656
+ }
657
+ ) : /* @__PURE__ */ o(
658
+ je,
659
+ {
660
+ editor: s,
661
+ isIcon: N,
662
+ width: oe(a),
663
+ height: oe(l),
664
+ initialWidth: w.width || "",
665
+ initialHeight: w.height || "",
666
+ onResizeEnd: be,
667
+ alignment: C,
668
+ disable: fe,
669
+ onRegisterDecoratorEnter: (i) => {
670
+ M != null && M.current && (M.current.decoratorEnterAction = i);
671
+ },
672
+ onActivate: () => s.dispatchCommand(He, "show_menu"),
673
+ children: /* @__PURE__ */ o(
674
+ ae,
675
+ {
676
+ width: "inherit",
677
+ height: "inherit",
678
+ isLoading: E,
679
+ isError: !1,
680
+ isIcon: N,
681
+ src: e,
682
+ id: u,
683
+ editor: s,
684
+ nodeKey: t,
685
+ fetchDeleteMedia: Y,
686
+ altText: n,
687
+ imageRef: y,
688
+ maxWidth: r,
689
+ showCaption: m,
690
+ caption: d,
691
+ isCollabActive: !1,
692
+ historyState: Z,
693
+ showNestedEditorTreeView: q,
694
+ t: L
695
+ }
696
+ )
697
+ }
698
+ );
699
+ }
700
+ export {
701
+ Ct as default
702
+ };