@layers-app/editor 2.2.36 → 2.2.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +2 -3
  3. package/dist/index.js +2 -2
  4. package/dist/layers.0REZn_lY.js +1313 -0
  5. package/dist/{layers.Cz75o1gB.js → layers.18PewKSy.js} +1 -1
  6. package/dist/{layers.B-VqpRTJ.js → layers.1OPuhAtX.js} +1 -1
  7. package/dist/{layers.C-0llwLm.js → layers.39F97dtp.js} +1 -1
  8. package/dist/{layers.1hh8Q0OY.js → layers.3dJPuU8_.js} +1 -1
  9. package/dist/{layers.BdGmepRT.js → layers.5T08ATfy.js} +1 -1
  10. package/dist/{layers.0tL7cCyA.js → layers.8jdW8wNI.js} +6 -6
  11. package/dist/{layers.CCM8eucg.js → layers.B0cfi1L1.js} +1 -1
  12. package/dist/{layers.DF3Cv-lk.js → layers.B1Sb1r6g.js} +4135 -4186
  13. package/dist/{layers.DSfcMuPf.js → layers.B6A6XOVj.js} +8 -8
  14. package/dist/{layers.BiJ8hfRt.js → layers.B7K7JjK6.js} +3 -3
  15. package/dist/{layers.BxP3pHCe.js → layers.B7MWiSyo.js} +1 -1
  16. package/dist/{layers.yLcmMwSb.js → layers.B8CcCyGq.js} +1 -1
  17. package/dist/layers.B9yP9rFp.js +425 -0
  18. package/dist/{layers.BQIoC8oD.js → layers.BAPoBwhs.js} +1 -1
  19. package/dist/{layers.bFlC9CTx.js → layers.BB5F1j8t.js} +1 -1
  20. package/dist/{layers.Bv_WFZuv.js → layers.BC39hHD7.js} +1 -1
  21. package/dist/{layers.DHy7HiWV.js → layers.BCn2P5my.js} +3 -3
  22. package/dist/{layers.D7ZjUmsb.js → layers.BCtAMA9L.js} +4 -4
  23. package/dist/{layers.oGEQUPI0.js → layers.BEoF-RPO.js} +7 -7
  24. package/dist/{layers.BrnNc5d5.js → layers.BHgHtVNx.js} +1 -1
  25. package/dist/{layers.CxfjINWe.js → layers.BI10_7mS.js} +3 -3
  26. package/dist/{layers.BVX_4aR3.js → layers.BKJNYiK7.js} +3 -3
  27. package/dist/{layers.Cjp2yB4p.js → layers.BKygcBtJ.js} +1 -1
  28. package/dist/{layers.Dp23WBPp.js → layers.BLdzO4JH.js} +1 -1
  29. package/dist/{layers.Czg-dOyH.js → layers.BMLkAOGA.js} +1 -1
  30. package/dist/{layers.Dkq662rK.js → layers.BQp1bwal.js} +1 -1
  31. package/dist/layers.BRsumulG.js +744 -0
  32. package/dist/{layers.DaeEJzts.js → layers.BS8a3e_w.js} +1 -1
  33. package/dist/{layers.CIdiniuS.js → layers.BSTqaRx7.js} +2 -2
  34. package/dist/{layers.DFLKtwbm.js → layers.BTQSS3gY.js} +1 -1
  35. package/dist/{layers.C2GXClEE.js → layers.BUQPhrnH.js} +1 -1
  36. package/dist/{layers.BqIss95A.js → layers.BVNqvPml.js} +20041 -20384
  37. package/dist/{layers.BpVkhqTo.js → layers.BVNt7qKu.js} +1 -1
  38. package/dist/{layers.BceC-XAG.js → layers.BXgWOcK7.js} +1 -1
  39. package/dist/{layers.DtE6Egwt.js → layers.BZfJKmok.js} +1 -1
  40. package/dist/{layers.CVLAK754.js → layers.B_KDNugq.js} +3 -3
  41. package/dist/{layers.DtXjC0PI.js → layers.BcOGTH0M.js} +1 -1
  42. package/dist/{layers.dIphR4o_.js → layers.BfhvTwc5.js} +1 -1
  43. package/dist/{layers.DTZIQb53.js → layers.Bg-U1_Ht.js} +1 -1
  44. package/dist/{layers.BYCUS4B-.js → layers.BiGvw_F9.js} +1 -1
  45. package/dist/{layers.CdGrAP4M.js → layers.BiO43Vjm.js} +1 -1
  46. package/dist/{layers.BLXzvpBJ.js → layers.BiwcvzvD.js} +4 -4
  47. package/dist/{layers.BCSOeuhN.js → layers.Bkj9jv30.js} +2 -2
  48. package/dist/{layers.ColjCpI9.js → layers.BmGU0cED.js} +1 -1
  49. package/dist/{layers.DQtDgB1T.js → layers.BnNYCaYc.js} +1 -1
  50. package/dist/layers.Bnm4ZdXZ.js +1 -0
  51. package/dist/{layers.DcrtcBqK.js → layers.BoG3ggj6.js} +3 -3
  52. package/dist/{layers.D2ztodua.js → layers.BpNQ5Otf.js} +1 -1
  53. package/dist/{layers.CfI8_k08.js → layers.BqmQGMxu.js} +1 -1
  54. package/dist/{layers.Cd9K4F_2.js → layers.BrFpY5NF.js} +1 -1
  55. package/dist/{layers.D3NJDt6R.js → layers.BroFhLCI.js} +4 -4
  56. package/dist/{layers.CBT3MylR.js → layers.Bs0vnjcU.js} +1 -1
  57. package/dist/layers.BsdtsKxp.js +6 -0
  58. package/dist/{layers.CTxK0kR8.js → layers.BshAYohY.js} +5 -5
  59. package/dist/{layers.DCCoxJkC.js → layers.Bt3vOCdl.js} +1 -1
  60. package/dist/{layers.CMMq2nK7.js → layers.BtGCdsOf.js} +1 -1
  61. package/dist/{layers.Ck2r3Yqw.js → layers.BxxCaJjb.js} +118 -118
  62. package/dist/{layers.BK4AWYDk.js → layers.C-raYyps.js} +1 -1
  63. package/dist/layers.C02HSyg6.js +1 -0
  64. package/dist/{layers.BRoUDrFy.js → layers.C0FzuphD.js} +1 -1
  65. package/dist/{layers.Ccc3NxVM.js → layers.C10hvRkZ.js} +1 -1
  66. package/dist/{layers.CPEktyA3.js → layers.C1QXg3Jt.js} +1 -1
  67. package/dist/{layers.Ch9b0Nie.js → layers.C26JqqkY.js} +319 -310
  68. package/dist/{layers.DTfihMmf.js → layers.C2A5jt12.js} +1 -1
  69. package/dist/layers.C33liaDA.js +51 -0
  70. package/dist/{layers.Bk_CPG0h.js → layers.C3pDDh0P.js} +1 -1
  71. package/dist/{layers.C29vt0nb.js → layers.C4nGWXlv.js} +1 -1
  72. package/dist/{layers.Ce3m-DaF.js → layers.C7hfQLjj.js} +1 -1
  73. package/dist/{layers.CUfP-jNe.js → layers.C8HXTeqs.js} +1 -1
  74. package/dist/{layers.By4OQ14L.js → layers.CAcRpQTd.js} +1 -1
  75. package/dist/{layers.BLRLK1FM.js → layers.CBp2sIr9.js} +6 -6
  76. package/dist/layers.CDw2v5qf.js +96 -0
  77. package/dist/{layers.DNySFsU-.js → layers.CHoVBcRa.js} +1 -1
  78. package/dist/{layers.ClNW-gDA.js → layers.CIokgheU.js} +11 -11
  79. package/dist/{layers.Ds2PAjq3.js → layers.CJiMwwjf.js} +1 -1
  80. package/dist/{layers.o-fA2TED.js → layers.CLErhGgC.js} +3 -3
  81. package/dist/{layers.CKOJE-AR.js → layers.CLsLUhwC.js} +1 -1
  82. package/dist/{layers.D_UIuqLt.js → layers.CMqJdfFP.js} +1 -1
  83. package/dist/{layers.C_KKVT88.js → layers.CN5H8V4s.js} +1 -1
  84. package/dist/{layers.Dn_wqDG9.js → layers.CQKdBJ4q.js} +1 -1
  85. package/dist/layers.CQM5VFyH.js +8 -0
  86. package/dist/{layers.BUQei9Us.js → layers.CSlhtaMo.js} +1 -1
  87. package/dist/{layers.CnvvjO7B.js → layers.CUXdHkqf.js} +22 -22
  88. package/dist/{layers.DOJT57K-.js → layers.CUiajwbr.js} +1 -1
  89. package/dist/layers.CV5ww3d4.js +1 -0
  90. package/dist/{layers.fdbpbOl5.js → layers.CVBgF8JI.js} +1 -1
  91. package/dist/{layers.VZkl6vtd.js → layers.CVxJ2voL.js} +1 -1
  92. package/dist/{layers.CYzumB_X.js → layers.CWQsM2fl.js} +1 -1
  93. package/dist/layers.CX-cT2As.js +16 -0
  94. package/dist/{layers.BgOa2ZQq.js → layers.C_IvrzZ3.js} +1 -1
  95. package/dist/{layers.BXeK8v8x.js → layers.C_YwmHCO.js} +1 -1
  96. package/dist/{layers.D4iEFs6v.js → layers.CaBWYvbi.js} +4 -4
  97. package/dist/{layers.DW6tdK3N.js → layers.Cbm9e7Ew.js} +1 -1
  98. package/dist/{layers.Bn7puudU.js → layers.Cbw9E5UO.js} +1 -1
  99. package/dist/{layers.Bk-aWV8W.js → layers.Cc40EBSn.js} +1 -1
  100. package/dist/{layers.Dn61U3rf.js → layers.CcyOeu91.js} +2 -2
  101. package/dist/{layers.BMwpqIK5.js → layers.Cgz71CwW.js} +1 -1
  102. package/dist/{layers.CjFKg7E3.js → layers.ChQueUxi.js} +1 -1
  103. package/dist/{layers.Dj5I7cJX.js → layers.CiuD34ko.js} +1 -1
  104. package/dist/{layers.DwUn0uDb.js → layers.Cj-xSFIY.js} +3 -3
  105. package/dist/{layers.DMQMMmAG.js → layers.CjTZIuJq.js} +1 -1
  106. package/dist/{layers.CbWeCajn.js → layers.Cn_PdJ2B.js} +1 -1
  107. package/dist/{layers.tvwd8C73.js → layers.Co23VtNJ.js} +1 -1
  108. package/dist/{layers.B5JiacAt.js → layers.Cp_fXl59.js} +1 -1
  109. package/dist/{layers.DrVeQ5KU.js → layers.CqTvrRTA.js} +207 -213
  110. package/dist/{layers.D2e6bIUh.js → layers.Cqra_U-X.js} +1 -1
  111. package/dist/{layers.Bn5zP3iK.js → layers.Cshrb3W9.js} +1 -1
  112. package/dist/{layers.EgcenEI2.js → layers.CtvGWfNj.js} +1 -1
  113. package/dist/{layers.D01NLLgQ.js → layers.Cufkqd4I.js} +1 -1
  114. package/dist/layers.CuqTRqUL.js +8590 -0
  115. package/dist/{layers.hOkTdHRY.js → layers.CztJonvH.js} +1 -1
  116. package/dist/{layers.CgKN8p30.js → layers.D-NMWRXq.js} +1 -1
  117. package/dist/{layers.DKZmKMOa.js → layers.D0H8geKT.js} +1 -1
  118. package/dist/{layers.whzfARFq.js → layers.D1UUgzSp.js} +1 -1
  119. package/dist/{layers.C_VniyN3.js → layers.D1XC8bmp.js} +1 -1
  120. package/dist/{layers.Bix9Z7gO.js → layers.D1h0kNVg.js} +1 -1
  121. package/dist/{layers.BAEQgDl9.js → layers.D1iXmmXk.js} +1 -1
  122. package/dist/{layers.C4h_Olnt.js → layers.D2dds0e6.js} +1 -1
  123. package/dist/{layers.D4xteTrT.js → layers.D5Dc6eF2.js} +1 -1
  124. package/dist/{layers.B1RdXCaP.js → layers.D5zGve-8.js} +1 -1
  125. package/dist/{layers.D2HkYJlz.js → layers.D80N7cbc.js} +1 -1
  126. package/dist/{layers.CrmgVFSe.js → layers.D9vIh6a-.js} +1 -1
  127. package/dist/{layers.BeUrtFXm.js → layers.DAMkemGY.js} +1 -1
  128. package/dist/{layers.BrC__RJJ.js → layers.DBXDnNVp.js} +1 -1
  129. package/dist/{layers.7kkFsP3c.js → layers.DCm6tSc0.js} +1 -1
  130. package/dist/{layers.5bLQnIrP.js → layers.DCuvvt5j.js} +1 -1
  131. package/dist/{layers.wHl59Fgx.js → layers.DD05DOl_.js} +1 -1
  132. package/dist/{layers.CVjkKS8B.js → layers.DDorG9PE.js} +1 -1
  133. package/dist/layers.DIo-cti0.js +198 -0
  134. package/dist/{layers.CVFGbTs6.js → layers.DJJMhnMZ.js} +1 -1
  135. package/dist/{layers.jnHf2suC.js → layers.DJPn3yQp.js} +1 -1
  136. package/dist/{layers.CwK2mbvW.js → layers.DOODZmBz.js} +1 -1
  137. package/dist/{layers.XwLoMlXI.js → layers.DS9wgLZm.js} +8485 -8821
  138. package/dist/{layers.qYt0TJJ4.js → layers.DSaFKz1N.js} +1 -1
  139. package/dist/{layers.Dg_slH_q.js → layers.DT0-ODzW.js} +1 -1
  140. package/dist/{layers.Bxw5Db4J.js → layers.DT9QLH7S.js} +6 -2
  141. package/dist/{layers.D9Do4RdE.js → layers.DU1QVYjU.js} +1 -1
  142. package/dist/{layers.PHvDuZg0.js → layers.DUtalWpc.js} +2 -2
  143. package/dist/{layers.Xp97Sz_N.js → layers.DVzfF32A.js} +1 -1
  144. package/dist/{layers.so4ZbbwR.js → layers.DWWtOd7h.js} +1 -1
  145. package/dist/{layers.WMHrMtsL.js → layers.DWh4SOPQ.js} +2 -2
  146. package/dist/{layers.C21C2aKs.js → layers.DX-D76ao.js} +1 -1
  147. package/dist/{layers.C7suL2YP.js → layers.DYgDJOz0.js} +1 -1
  148. package/dist/{layers.DVtzMzs3.js → layers.DZJpjSS0.js} +1 -1
  149. package/dist/{layers.D_I4Lw2m.js → layers.DZPWthr1.js} +1 -1
  150. package/dist/{layers.veUC8K3a.js → layers.D_Eu8K0-.js} +2 -2
  151. package/dist/{layers.DlPlr1KF.js → layers.DauXqWVq.js} +1 -1
  152. package/dist/{layers.CH5EQOay.js → layers.Dbf5X0q2.js} +4 -4
  153. package/dist/{layers.CeudNs4j.js → layers.DcHg-KZ0.js} +1 -1
  154. package/dist/layers.DdGRCNWp.js +6 -0
  155. package/dist/{layers.D_h7gZD3.js → layers.DdInQCwR.js} +1 -1
  156. package/dist/layers.DfjXbo09.js +1 -0
  157. package/dist/{layers.DpTzW4C2.js → layers.DgblS7iP.js} +1 -1
  158. package/dist/{layers.CYUr9c0r.js → layers.Dh5ftZI1.js} +1 -1
  159. package/dist/{layers.pnaj8V19.js → layers.Dh8z7jjz.js} +1 -1
  160. package/dist/layers.Dlsb9nLi.js +423 -0
  161. package/dist/{layers.D2ZjXy_d.js → layers.Do0HWb_v.js} +1 -1
  162. package/dist/{layers.iZo71OAc.js → layers.DsJnhL0B.js} +1 -1
  163. package/dist/{layers.BRcVu1b4.js → layers.DtjfmQe1.js} +1 -1
  164. package/dist/{layers.CO3vUnZ9.js → layers.Dvq-Zve_.js} +1 -1
  165. package/dist/{layers.DmRixUoZ.js → layers.DxuZv6E0.js} +1 -1
  166. package/dist/{layers.D4djJdmW.js → layers.DzRdMThr.js} +1 -1
  167. package/dist/{layers.wlbZ60FA.js → layers.Ey20o22M.js} +1 -1
  168. package/dist/{layers.DBj0hB3e.js → layers.G5cESaE_.js} +1 -1
  169. package/dist/{layers.CEDal4zK.js → layers.HEsS5y1T.js} +1 -1
  170. package/dist/{layers.CFTOwqWK.js → layers.IxNjRbJm.js} +1 -1
  171. package/dist/{layers.Cd5L-1u-.js → layers.JWCDyjQN.js} +1 -1
  172. package/dist/{layers.BRlmGZWu.js → layers.JaELAJHu.js} +1 -1
  173. package/dist/{layers.1ZkrPIEi.js → layers.KQSEtYT6.js} +1 -1
  174. package/dist/{layers.DKeFIsYL.js → layers.KkCagS35.js} +1 -1
  175. package/dist/{layers.BODQJEQB.js → layers.Lkvi5PkF.js} +1 -1
  176. package/dist/{layers.C8J9ZPEW.js → layers.LoV9Fa8_.js} +1 -1
  177. package/dist/{layers.CE3fIPGh.js → layers.MLYGzLOg.js} +1 -1
  178. package/dist/{layers.CyCf11X6.js → layers.Mjh6NBI9.js} +1 -1
  179. package/dist/{layers.CCtHpREt.js → layers.No2YPoks.js} +1 -1
  180. package/dist/{layers.H-stACgf.js → layers.NsYSQQa2.js} +1 -1
  181. package/dist/{layers.UU-ESUgI.js → layers.UTaNax7j.js} +1 -1
  182. package/dist/{layers.B7ZVoxI_.js → layers.VFCVYaIo.js} +1 -1
  183. package/dist/{layers.Dn0qwMcp.js → layers.VGptWvlf.js} +1 -1
  184. package/dist/layers.XCugOyqj.js +1 -0
  185. package/dist/{layers.BPDB61NR.js → layers.XJH4VrvG.js} +1 -1
  186. package/dist/{layers.y0XpFTPc.js → layers.Ycz-ExAm.js} +3 -3
  187. package/dist/{layers.DzE9Y2Jb.js → layers.YilSJcWq.js} +1 -1
  188. package/dist/{layers.C6OA5VSC.js → layers.Zi0v4fhS.js} +4 -4
  189. package/dist/{layers.eotcW9wC.js → layers._6EYO0XA.js} +4 -4
  190. package/dist/{layers.D3YdMa8T.js → layers.b-vA5ZmL.js} +1 -1
  191. package/dist/{layers.BT_IwW95.js → layers.c1ih72Jl.js} +1 -1
  192. package/dist/layers.eacBXb03.js +1 -0
  193. package/dist/{layers.DepRfjwq.js → layers.g78SKWlH.js} +3 -3
  194. package/dist/{layers.B4taJE9r.js → layers.gGrbVNvy.js} +1 -1
  195. package/dist/{layers.ehvTlE1d.js → layers.gPVwr0xW.js} +10 -10
  196. package/dist/{layers.DUDztruN.js → layers.gSVrhs75.js} +1 -1
  197. package/dist/{layers.CjaZcWis.js → layers.krPk3upT.js} +1 -1
  198. package/dist/{layers.DzIhUSyr.js → layers.mHfaD8cU.js} +1 -1
  199. package/dist/{layers.BKY9JF14.js → layers.o0sWUVwF.js} +5 -5
  200. package/dist/{layers.Y0K7KUXi.js → layers.pO-s3eCT.js} +1 -1
  201. package/dist/{layers.DqcyZcvc.js → layers.ruUv3Yt3.js} +1 -1
  202. package/dist/{layers.BpI7IACC.js → layers.u-oiw39m.js} +1 -1
  203. package/dist/{layers.BKyLGpPM.js → layers.v-opabce.js} +1 -1
  204. package/dist/{layers.CMztkCJ2.js → layers.vNAH5nuN.js} +1 -1
  205. package/dist/{layers.CmCqs2BF.js → layers.wVtjFs1w.js} +3 -3
  206. package/dist/{layers.DkOQ-BJH.js → layers.xQVzjSs-.js} +1 -1
  207. package/dist/{layers.BlZJxQ0P.js → layers.zYlP4pgB.js} +1 -1
  208. package/package.json +2 -2
  209. package/dist/layers.BCE8BkDd.js +0 -108
  210. package/dist/layers.BMTTjsyZ.js +0 -1
  211. package/dist/layers.BP8lmHgN.js +0 -198
  212. package/dist/layers.CKuU8C7I.js +0 -1
  213. package/dist/layers.CTbuQHTV.js +0 -10148
  214. package/dist/layers.C_uAWrxf.js +0 -1
  215. package/dist/layers.CfDfI_mb.js +0 -1309
  216. package/dist/layers.CiEcv1YI.js +0 -423
  217. package/dist/layers.DCTIBd3_.js +0 -6
  218. package/dist/layers.DS95By2X.js +0 -16
  219. package/dist/layers.DWciQNL5.js +0 -7
  220. package/dist/layers.Di0PWlz-.js +0 -51
  221. package/dist/layers.Do0Nu3f6.js +0 -425
  222. package/dist/layers.Duc23Wwh.js +0 -1
  223. package/dist/layers.E1j1nxcY.js +0 -712
  224. package/dist/layers.Gto0fECH.js +0 -8
  225. package/dist/layers.VcSYrjDg.js +0 -1
  226. package/dist/layers.afYOhdT_.js +0 -1
@@ -0,0 +1,744 @@
1
+ import { jsxs as C, jsx as n, Fragment as G } from "react/jsx-runtime";
2
+ import { useMemo as X, useState as b, useCallback as I, useContext as ge, useRef as We, useEffect as P } from "react";
3
+ import { useTranslation as L } from "react-i18next";
4
+ import { useLexicalComposerContext as U } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as S, Flex as de, Stack as ke, Button as $, Box as Le, LoadingOverlay as Ue } from "@mantine/core";
6
+ import { $getNodeByKey as N, COMMAND_PRIORITY_LOW as ze, $setSelection as _e } from "lexical";
7
+ import { y as Fe, A as Y, K as He, H as x, z as he, n as fe, B as we, D as O, N as be, F as je, G as $e, q as Be, C as ve, J as Ve, L as Ge, P as B, Q as Xe, S as Ye, U as qe, V as Je, W as Qe, X as Ze, R as Ke, m as ce, O as et, k as ue, Y as me, o as tt } from "./layers.BVNqvPml.js";
8
+ import { AttachmentsGalleryModal as ye, showErrorNotification as ot } from "@layers-app/shared";
9
+ import { useLexicalEditable as nt } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as V } from "@mantine/hooks";
11
+ import "@lexical/react/LexicalDecoratorBlockNode";
12
+ import "@lexical/utils";
13
+ import "@lexical/mark";
14
+ import "@lexical/code";
15
+ import "@lexical/selection";
16
+ import "react-dom";
17
+ import "@lexical/react/LexicalErrorBoundary";
18
+ import "@lexical/react/LexicalBlockWithAlignableContents";
19
+ import "@mantine/notifications";
20
+ function it(e, i) {
21
+ const o = document.createElement("a");
22
+ o.href = e, o.download = i, o.rel = "noopener", document.body.appendChild(o), o.click(), o.remove();
23
+ }
24
+ function q(e) {
25
+ try {
26
+ const o = new URL(e, window.location.origin).pathname.split("/").pop() || "image";
27
+ return o.includes(".") ? o : `${o}.png`;
28
+ } catch {
29
+ return "image";
30
+ }
31
+ }
32
+ async function J(e, i) {
33
+ const o = await fetch(e);
34
+ if (!o.ok)
35
+ throw new Error("fetch failed");
36
+ const a = await o.blob(), s = URL.createObjectURL(a);
37
+ try {
38
+ it(s, i);
39
+ } finally {
40
+ setTimeout(() => URL.revokeObjectURL(s), 0);
41
+ }
42
+ }
43
+ function Ie({
44
+ opened: e,
45
+ onOpenChange: i,
46
+ t: o,
47
+ onDownload: a,
48
+ onDelete: s
49
+ }) {
50
+ return /* @__PURE__ */ C(
51
+ S,
52
+ {
53
+ opened: e,
54
+ onChange: i,
55
+ transitionProps: Fe,
56
+ shadow: "md",
57
+ position: "bottom-start",
58
+ offset: 4,
59
+ withinPortal: !0,
60
+ closeOnItemClick: !0,
61
+ children: [
62
+ /* @__PURE__ */ n(S.Target, { children: /* @__PURE__ */ n(
63
+ Y,
64
+ {
65
+ label: o("editor.toolbar.more"),
66
+ icon: He,
67
+ iconColor: "var(--mantine-color-gray-text)",
68
+ "aria-label": o("editor.toolbar.more")
69
+ }
70
+ ) }),
71
+ /* @__PURE__ */ C(S.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
72
+ /* @__PURE__ */ n(
73
+ S.Item,
74
+ {
75
+ leftSection: /* @__PURE__ */ n(de, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ n(x, { icon: he, size: 16 }) }),
76
+ onClick: (r) => {
77
+ r.stopPropagation(), a();
78
+ },
79
+ children: o("editor.gallery.download")
80
+ }
81
+ ),
82
+ /* @__PURE__ */ n(
83
+ S.Item,
84
+ {
85
+ color: "red",
86
+ leftSection: /* @__PURE__ */ n(de, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ n(x, { icon: fe, size: 16 }) }),
87
+ onClick: (r) => {
88
+ r.stopPropagation(), s();
89
+ },
90
+ children: o("editor.contextMenu.delete")
91
+ }
92
+ )
93
+ ] })
94
+ ]
95
+ }
96
+ );
97
+ }
98
+ const Ce = ({
99
+ t: e,
100
+ src: i,
101
+ setShown: o,
102
+ id: a
103
+ }) => {
104
+ const [s, { open: r, close: m }] = V(!1), c = X(() => [
105
+ {
106
+ id: !a || a === "0" ? "" : a,
107
+ Url: i ?? "",
108
+ contentType: "image/*",
109
+ originalFileName: "",
110
+ fileSize: 0,
111
+ storageType: "",
112
+ storagePath: "",
113
+ fileName: "",
114
+ parentType: "",
115
+ parentId: "",
116
+ ownerId: "",
117
+ createdAt: /* @__PURE__ */ new Date(),
118
+ updatedAt: /* @__PURE__ */ new Date(),
119
+ version: 0,
120
+ deleted: !1,
121
+ deletedAt: /* @__PURE__ */ new Date()
122
+ }
123
+ ], [i, a]);
124
+ return /* @__PURE__ */ C(G, { children: [
125
+ /* @__PURE__ */ n(
126
+ ye,
127
+ {
128
+ opened: s,
129
+ onOpenChange: (g) => {
130
+ g ? r() : m();
131
+ },
132
+ attachments: c
133
+ }
134
+ ),
135
+ /* @__PURE__ */ n(
136
+ Y,
137
+ {
138
+ label: e("editor.image.preview"),
139
+ icon: we,
140
+ iconColor: "var(--mantine-color-gray-text)",
141
+ "aria-label": e("editor.image.preview"),
142
+ onClick: () => {
143
+ o(!1), r();
144
+ }
145
+ }
146
+ )
147
+ ] });
148
+ }, at = ({
149
+ nodeKey: e,
150
+ src: i
151
+ }) => {
152
+ const [o] = U(), a = nt(), [s, r] = b(!1), [m, c] = b(!1), { t: p } = L(), g = I(() => {
153
+ o.update(() => {
154
+ const f = N(e);
155
+ O(f) && f.remove();
156
+ });
157
+ }, [o, e]), v = I(async () => {
158
+ if (i)
159
+ try {
160
+ await J(i, q(i));
161
+ } catch {
162
+ }
163
+ }, [i]);
164
+ return /* @__PURE__ */ C(
165
+ "div",
166
+ {
167
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
168
+ children: [
169
+ /* @__PURE__ */ n(Ce, { t: p, src: i, setShown: () => {
170
+ } }),
171
+ a && /* @__PURE__ */ C(G, { children: [
172
+ /* @__PURE__ */ n(
173
+ be,
174
+ {
175
+ opened: s,
176
+ setOpened: r,
177
+ t: p,
178
+ editor: o,
179
+ nodeKey: e,
180
+ setShown: () => {
181
+ }
182
+ }
183
+ ),
184
+ /* @__PURE__ */ n(
185
+ Ie,
186
+ {
187
+ opened: m,
188
+ onOpenChange: c,
189
+ t: p,
190
+ onDownload: () => void v(),
191
+ onDelete: g
192
+ }
193
+ )
194
+ ] })
195
+ ]
196
+ }
197
+ );
198
+ }, rt = () => {
199
+ };
200
+ function st({ nodeKey: e, src: i, id: o }) {
201
+ const { t: a } = L(), [s] = U(), [r, m] = b(!1), [c, p] = b(!1), g = I(() => {
202
+ p(!1), s.update(() => {
203
+ const f = N(e);
204
+ if (!O(f)) return;
205
+ const D = f.getParent();
206
+ je(D) ? D.remove() : f.remove();
207
+ });
208
+ }, [s, e]), v = I(async () => {
209
+ if (i)
210
+ try {
211
+ await J(i, q(i));
212
+ } catch {
213
+ }
214
+ }, [i]);
215
+ return /* @__PURE__ */ C(
216
+ "div",
217
+ {
218
+ className: "media-actions visible",
219
+ style: {
220
+ position: "absolute",
221
+ top: 10,
222
+ right: 10,
223
+ zIndex: 10,
224
+ pointerEvents: "auto",
225
+ display: "flex",
226
+ gap: 4
227
+ },
228
+ onClick: (f) => f.stopPropagation(),
229
+ children: [
230
+ /* @__PURE__ */ n(Ce, { t: a, src: i, setShown: rt, id: o }),
231
+ /* @__PURE__ */ n(
232
+ be,
233
+ {
234
+ opened: r,
235
+ setOpened: m,
236
+ t: a,
237
+ editor: s,
238
+ nodeKey: e
239
+ }
240
+ ),
241
+ /* @__PURE__ */ n(
242
+ Ie,
243
+ {
244
+ opened: c,
245
+ onOpenChange: p,
246
+ t: a,
247
+ onDownload: () => void v(),
248
+ onDelete: g
249
+ }
250
+ )
251
+ ]
252
+ }
253
+ );
254
+ }
255
+ function lt({ nodeKey: e, src: i, id: o }) {
256
+ const { t: a } = L(), [s] = U(), [r, { open: m, close: c }] = V(!1), [p, { open: g, close: v }] = V(!1), f = X(
257
+ () => [
258
+ {
259
+ id: !o || o === "0" ? "" : o,
260
+ Url: i ?? "",
261
+ contentType: "image/*",
262
+ originalFileName: "",
263
+ fileSize: 0,
264
+ storageType: "",
265
+ storagePath: "",
266
+ fileName: "",
267
+ parentType: "",
268
+ parentId: "",
269
+ ownerId: "",
270
+ createdAt: /* @__PURE__ */ new Date(),
271
+ updatedAt: /* @__PURE__ */ new Date(),
272
+ version: 0,
273
+ deleted: !1,
274
+ deletedAt: /* @__PURE__ */ new Date()
275
+ }
276
+ ],
277
+ [i, o]
278
+ ), D = () => {
279
+ c(), g();
280
+ }, E = I(async () => {
281
+ if (c(), !!i)
282
+ try {
283
+ await J(i, q(i));
284
+ } catch {
285
+ }
286
+ }, [i, c]), T = I(() => {
287
+ c(), s.update(() => {
288
+ const w = N(e);
289
+ O(w) && w.remove();
290
+ });
291
+ }, [s, e, c]);
292
+ return /* @__PURE__ */ C(G, { children: [
293
+ /* @__PURE__ */ n(
294
+ "div",
295
+ {
296
+ className: "image-touch-actions",
297
+ style: {
298
+ position: "absolute",
299
+ top: 8,
300
+ right: 8,
301
+ zIndex: 10,
302
+ pointerEvents: "auto"
303
+ },
304
+ onClick: (w) => w.stopPropagation(),
305
+ children: /* @__PURE__ */ n(
306
+ Y,
307
+ {
308
+ label: a("editor.toolbar.more"),
309
+ icon: $e,
310
+ iconColor: "var(--mantine-color-gray-text)",
311
+ "aria-label": a("editor.toolbar.more"),
312
+ onClick: m
313
+ }
314
+ )
315
+ }
316
+ ),
317
+ /* @__PURE__ */ n(
318
+ ye,
319
+ {
320
+ opened: p,
321
+ onOpenChange: (w) => w ? g() : v(),
322
+ attachments: f
323
+ }
324
+ ),
325
+ /* @__PURE__ */ n(
326
+ Be,
327
+ {
328
+ opened: r,
329
+ onClose: c,
330
+ title: a("editor.image.mobileActions"),
331
+ children: /* @__PURE__ */ C(ke, { gap: 4, p: 0, children: [
332
+ /* @__PURE__ */ n(
333
+ $,
334
+ {
335
+ type: "button",
336
+ variant: "subtle",
337
+ color: "gray",
338
+ fullWidth: !0,
339
+ justify: "flex-start",
340
+ bg: "var(--editor-action-bg)",
341
+ onClick: D,
342
+ leftSection: /* @__PURE__ */ n(
343
+ x,
344
+ {
345
+ icon: we,
346
+ size: 16,
347
+ color: "var(--mantine-color-dimmed)"
348
+ }
349
+ ),
350
+ children: a("editor.image.previewFullScreen")
351
+ }
352
+ ),
353
+ /* @__PURE__ */ n(
354
+ $,
355
+ {
356
+ type: "button",
357
+ variant: "subtle",
358
+ color: "gray",
359
+ fullWidth: !0,
360
+ justify: "flex-start",
361
+ bg: "var(--editor-action-bg)",
362
+ onClick: () => void E(),
363
+ leftSection: /* @__PURE__ */ n(
364
+ x,
365
+ {
366
+ icon: he,
367
+ size: 16,
368
+ color: "var(--mantine-color-dimmed)"
369
+ }
370
+ ),
371
+ children: a("editor.gallery.download")
372
+ }
373
+ ),
374
+ /* @__PURE__ */ n(
375
+ $,
376
+ {
377
+ type: "button",
378
+ variant: "subtle",
379
+ color: "red",
380
+ fullWidth: !0,
381
+ justify: "flex-start",
382
+ bg: "var(--editor-action-bg)",
383
+ onClick: T,
384
+ leftSection: /* @__PURE__ */ n(
385
+ x,
386
+ {
387
+ icon: fe,
388
+ size: 16,
389
+ color: "var(--mantine-color-red-6)"
390
+ }
391
+ ),
392
+ children: a("editor.actions.delete")
393
+ }
394
+ )
395
+ ] })
396
+ }
397
+ )
398
+ ] });
399
+ }
400
+ const pe = (e) => {
401
+ const {
402
+ width: i,
403
+ height: o,
404
+ isLoading: a,
405
+ isError: s,
406
+ src: r,
407
+ id: m,
408
+ altText: c,
409
+ imageRef: p,
410
+ maxWidth: g,
411
+ aspectRatio: v
412
+ } = e;
413
+ return /* @__PURE__ */ C(
414
+ "div",
415
+ {
416
+ className: "media-wrapper",
417
+ "data-reserved-box": v ? "" : void 0,
418
+ style: {
419
+ width: i,
420
+ height: v ? "auto" : o,
421
+ aspectRatio: v || void 0,
422
+ display: "inline-flex",
423
+ position: "relative"
424
+ },
425
+ children: [
426
+ /* @__PURE__ */ n(
427
+ Ue,
428
+ {
429
+ visible: a,
430
+ zIndex: 1e3,
431
+ overlayProps: { backgroundOpacity: 0.5 },
432
+ loaderProps: { size: 24, color: "black" }
433
+ }
434
+ ),
435
+ /* @__PURE__ */ n(
436
+ dt,
437
+ {
438
+ className: null,
439
+ src: r,
440
+ altText: c,
441
+ imageRef: p,
442
+ width: "inherit",
443
+ height: "inherit",
444
+ maxWidth: g || "auto",
445
+ id: m
446
+ }
447
+ ),
448
+ ue && /* @__PURE__ */ n(lt, { nodeKey: e.nodeKey, src: r, id: m }),
449
+ me && /* @__PURE__ */ n(st, { nodeKey: e.nodeKey, src: r, id: m }),
450
+ tt && !ue && !me && /* @__PURE__ */ n(at, { nodeKey: e.nodeKey, src: r })
451
+ ]
452
+ }
453
+ );
454
+ };
455
+ function dt({
456
+ altText: e,
457
+ className: i,
458
+ imageRef: o,
459
+ src: a,
460
+ width: s,
461
+ height: r,
462
+ maxWidth: m,
463
+ id: c
464
+ }) {
465
+ const [p, g] = b(!1);
466
+ return /* @__PURE__ */ n(
467
+ "img",
468
+ {
469
+ className: `${i || void 0} ${p ? "" : "loading"}`,
470
+ src: a,
471
+ alt: e,
472
+ ref: o,
473
+ style: {
474
+ height: r,
475
+ maxWidth: m,
476
+ width: s
477
+ },
478
+ onLoad: () => {
479
+ a.includes("splash") ? setTimeout(() => {
480
+ g(!0);
481
+ }, 100) : g(!0);
482
+ },
483
+ draggable: "false",
484
+ "data-id": c
485
+ }
486
+ );
487
+ }
488
+ function Mt(e) {
489
+ const { disable: i } = ge(ve);
490
+ return i && Ve.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ n(ct, { ...e });
491
+ }
492
+ function ct({
493
+ src: e,
494
+ altText: i,
495
+ nodeKey: o,
496
+ width: a,
497
+ height: s,
498
+ maxWidth: r,
499
+ showCaption: m,
500
+ caption: c,
501
+ id: p,
502
+ create: g,
503
+ alignment: v,
504
+ imagePickerTab: f,
505
+ aspectRatio: D
506
+ }) {
507
+ var se, le;
508
+ const E = We(null), [T, w] = b(!0), [u] = U(), [A, z] = b(!0), [y, _] = b({
509
+ width: 0,
510
+ height: 0
511
+ }), { start: Q } = Ge(), [ut, F] = b(0), {
512
+ fetchUploadMedia: R,
513
+ fetchDeleteMedia: Z,
514
+ maxFileSize: mt,
515
+ imperativeHandleRef: M,
516
+ disable: De
517
+ } = ge(ve), W = B.has(e) && (((se = B.get(e)) == null ? void 0 : se.mediaNodeKeys.length) === 0 || ((le = B.get(e)) == null ? void 0 : le.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: k } = L(), K = (t) => {
518
+ if (typeof t == "number") return t > 0 ? t : null;
519
+ if (typeof t == "string" && !t.includes("%")) {
520
+ const l = parseFloat(t);
521
+ return Number.isFinite(l) && l > 0 ? l : null;
522
+ }
523
+ return null;
524
+ }, ee = K(a), te = K(s), oe = ee && te ? ee / te : void 0, [Ne, Oe] = b(
525
+ void 0
526
+ ), ne = X(() => {
527
+ try {
528
+ const t = parseFloat(
529
+ localStorage.getItem("layers-img-ratio:" + e) || ""
530
+ );
531
+ return Number.isFinite(t) && t > 0 ? t : void 0;
532
+ } catch {
533
+ return;
534
+ }
535
+ }, [e]), Ae = oe ?? D ?? ne ?? Ne, [Pe, ie] = b(!1), Se = !Pe && !oe && (D ?? ne) != null, [pt, xe] = b(0);
536
+ P(() => u.registerDecoratorListener(() => {
537
+ xe((t) => t + 1);
538
+ }), [W]), P(() => {
539
+ const t = u.getElementByKey(o);
540
+ t && (t.style.removeProperty("aspect-ratio"), t.style.removeProperty("width"));
541
+ }, [u, o]), P(() => {
542
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
543
+ w(!1);
544
+ return;
545
+ }
546
+ const t = new Image();
547
+ t.src = e, t.onload = () => {
548
+ if (w(!1), t.naturalWidth) {
549
+ const l = t.naturalWidth / t.naturalHeight;
550
+ if (Oe(l), t.naturalWidth >= 100)
551
+ try {
552
+ localStorage.setItem("layers-img-ratio:" + e, String(l));
553
+ } catch {
554
+ }
555
+ !D && t.naturalWidth >= 100 && u.update(
556
+ () => {
557
+ const d = N(o);
558
+ O(d) && d.getAspectRatio() == null && d.setAspectRatio(l);
559
+ },
560
+ { tag: "history-merge" }
561
+ );
562
+ }
563
+ }, t.onerror = () => {
564
+ w(!1);
565
+ };
566
+ }, [e, W]);
567
+ const Ee = (t, l) => {
568
+ u.update(() => {
569
+ _e(null);
570
+ const d = N(o);
571
+ O(d) && d.setWidthAndHeight(t, l);
572
+ });
573
+ }, { historyState: ae } = Xe(), {
574
+ settings: { showNestedEditorTreeView: re }
575
+ } = Ye();
576
+ function Te(t) {
577
+ return t.endsWith(".svg") || t.includes("image/svg+xml");
578
+ }
579
+ function Re(t) {
580
+ return new Promise((l, d) => {
581
+ if (Te(t)) {
582
+ l(0);
583
+ return;
584
+ }
585
+ const h = new Image();
586
+ h.src = t, h.onload = () => {
587
+ l(h.width);
588
+ }, h.onerror = () => {
589
+ d(new Error("Failed to load image"));
590
+ };
591
+ });
592
+ }
593
+ P(() => {
594
+ let t = a, l = s, d = 100;
595
+ (e.includes("unsplash") ? e.trim() : !W && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && Re(e).then((h) => {
596
+ typeof t == "number" && t < d && h < d ? (z(!0), _({
597
+ width: t,
598
+ height: l
599
+ })) : h < d ? (z(!0), _({
600
+ width: "auto",
601
+ height: "auto"
602
+ })) : (_({
603
+ width: h,
604
+ height: h
605
+ }), z(!1)), ie(!0);
606
+ }).catch((h) => {
607
+ ie(!0), console.warn("Ошибка при загрузке изображения:", h.message);
608
+ });
609
+ }, [e, W]), P(() => {
610
+ y.width && y.height && A && u.update(() => {
611
+ const t = N(o);
612
+ O(t) && t.setWidthAndHeight(y.width, y.height);
613
+ });
614
+ }, [y.width, y.height, A]);
615
+ const Me = I(
616
+ (t) => qe(u, o, t),
617
+ [u, o]
618
+ ), H = I(
619
+ (t, l) => {
620
+ w(!1), u.update(() => {
621
+ const d = N(o);
622
+ O(d) && (d.setSrc(t), d.setId(l));
623
+ });
624
+ },
625
+ [u, o]
626
+ ), j = I(
627
+ (t) => {
628
+ w(!0);
629
+ const l = Q();
630
+ R && R(
631
+ t[0],
632
+ (d, h) => {
633
+ H(d, h), F(0);
634
+ },
635
+ (d) => {
636
+ d && ot({
637
+ message: k("editor.gallery.errorFile")
638
+ }), F(0), H(e.startsWith("blob:") ? "upload" : "", "");
639
+ },
640
+ l,
641
+ (d) => {
642
+ F(d);
643
+ }
644
+ );
645
+ },
646
+ [R, Q, k, H, e]
647
+ );
648
+ return P(() => u.registerCommand(
649
+ Je,
650
+ (t) => !e.startsWith("blob:") && e !== "upload" || t.targetNodeKey !== o ? !1 : (j(t.files), !0),
651
+ ze
652
+ ), [u, j, o, e]), !e || e === "upload" ? /* @__PURE__ */ n(Le, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ n(
653
+ Qe,
654
+ {
655
+ inline: !0,
656
+ nodeKey: o,
657
+ defaultTabValue: f,
658
+ onWriteTabToNode: Me,
659
+ uploading: !1,
660
+ onUpload: (t) => {
661
+ !R || !t.length || j(t);
662
+ },
663
+ popoverProps: {
664
+ opened: !0,
665
+ position: "bottom",
666
+ zIndex: Ze
667
+ },
668
+ onChange: (t) => {
669
+ u.update(() => {
670
+ const l = N(o);
671
+ O(l) && l.setSrc(t);
672
+ });
673
+ }
674
+ }
675
+ ) }) : A && !Se ? /* @__PURE__ */ n(
676
+ pe,
677
+ {
678
+ width: y.width,
679
+ height: y.height,
680
+ isLoading: T,
681
+ isError: !1,
682
+ isIcon: A,
683
+ src: e,
684
+ id: p,
685
+ editor: u,
686
+ nodeKey: o,
687
+ fetchDeleteMedia: Z,
688
+ altText: i,
689
+ imageRef: E,
690
+ maxWidth: r,
691
+ showCaption: m,
692
+ caption: c,
693
+ isCollabActive: !1,
694
+ historyState: ae,
695
+ showNestedEditorTreeView: re,
696
+ t: k
697
+ }
698
+ ) : /* @__PURE__ */ n(
699
+ Ke,
700
+ {
701
+ editor: u,
702
+ isIcon: A,
703
+ width: ce(a),
704
+ height: ce(s),
705
+ initialWidth: y.width || "",
706
+ initialHeight: y.height || "",
707
+ onResizeEnd: Ee,
708
+ alignment: v,
709
+ disable: De,
710
+ onRegisterDecoratorEnter: (t) => {
711
+ M != null && M.current && (M.current.decoratorEnterAction = t);
712
+ },
713
+ onActivate: () => u.dispatchCommand(et, "show_menu"),
714
+ children: /* @__PURE__ */ n(
715
+ pe,
716
+ {
717
+ width: "inherit",
718
+ height: "inherit",
719
+ aspectRatio: Ae,
720
+ isLoading: T,
721
+ isError: !1,
722
+ isIcon: A,
723
+ src: e,
724
+ id: p,
725
+ editor: u,
726
+ nodeKey: o,
727
+ fetchDeleteMedia: Z,
728
+ altText: i,
729
+ imageRef: E,
730
+ maxWidth: r,
731
+ showCaption: m,
732
+ caption: c,
733
+ isCollabActive: !1,
734
+ historyState: ae,
735
+ showNestedEditorTreeView: re,
736
+ t: k
737
+ }
738
+ )
739
+ }
740
+ );
741
+ }
742
+ export {
743
+ Mt as default
744
+ };