@layers-app/editor 2.2.5 → 2.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.js +4 -4
  3. package/dist/layers.-r1S09h8.js +8 -0
  4. package/dist/{layers.C_937Mqf.js → layers.0OVg4x0h.js} +3 -3
  5. package/dist/{layers.D5yGJ4Kd.js → layers.0prG7E7A.js} +4 -4
  6. package/dist/{layers.D92rnnE0.js → layers.0zq6YgPz.js} +1 -1
  7. package/dist/{layers.CNwb9cgy.js → layers.1YEZKwB1.js} +1 -1
  8. package/dist/{layers.C0xDiSS-.js → layers.2l-5UDpT.js} +1 -1
  9. package/dist/{layers.C3rY72zF.js → layers.3Oixf67b.js} +1 -1
  10. package/dist/{layers.DmnrOZzj.js → layers.3Toc77X4.js} +1 -1
  11. package/dist/{layers.ZBB_jX6V.js → layers.3xWFKNK_.js} +1 -1
  12. package/dist/layers.4wvdwvQv.js +1 -0
  13. package/dist/{layers.D7Ih86mB.js → layers.6g39G6XX.js} +3 -3
  14. package/dist/{layers.Cr-OGBow.js → layers.6mC7x2Vd.js} +4 -4
  15. package/dist/{layers.C_MLYmCU.js → layers.7HDir0wq.js} +1 -1
  16. package/dist/{layers.ClSiqGE4.js → layers.7moYTa5l.js} +1 -1
  17. package/dist/{layers.C27QwB9u.js → layers.Al4Ou9eP.js} +1 -1
  18. package/dist/{layers.BFUIZSsM.js → layers.B-7y9aop.js} +1 -1
  19. package/dist/{layers.Fa6Ildm-.js → layers.B0AVi8Aj.js} +1 -1
  20. package/dist/{layers.Dvn0h-ZV.js → layers.B1BxgQWG.js} +1 -1
  21. package/dist/{layers.Cp5d8Ycb.js → layers.B1ff41R7.js} +1 -1
  22. package/dist/{layers.B0Yquv2s.js → layers.B1uqnNlp.js} +1 -1
  23. package/dist/{layers.C2oyDdWp.js → layers.B2_ir13i.js} +1 -1
  24. package/dist/{layers.CUFSEaDc.js → layers.BCjvvqyl.js} +1 -1
  25. package/dist/{layers.DwlXcy7M.js → layers.BCnJMDiY.js} +1 -1
  26. package/dist/{layers.BSDMaVWd.js → layers.BEZUru7P.js} +1 -1
  27. package/dist/{layers.CK4_493f.js → layers.BFLGQ6JH.js} +3 -3
  28. package/dist/{layers.BDPgrWXr.js → layers.BGoVT4jA.js} +1 -1
  29. package/dist/{layers.DvyFcjjt.js → layers.BHOQ_qSt.js} +1 -1
  30. package/dist/{layers.CIDi9yhs.js → layers.BHqyLlVn.js} +1 -1
  31. package/dist/{layers.BOat0pS2.js → layers.BKYen_Bu.js} +1 -1
  32. package/dist/{layers.BGI1sVJS.js → layers.BLU_LWjQ.js} +1 -1
  33. package/dist/{layers.CHlCPGKD.js → layers.BLgONYqK.js} +5 -5
  34. package/dist/{layers.CqzRULsY.js → layers.BMUd4Q8T.js} +1 -1
  35. package/dist/{layers.Bh7KqATx.js → layers.BPz0iODi.js} +1 -1
  36. package/dist/{layers.CdGQ3ID7.js → layers.BQ80VZWv.js} +1 -1
  37. package/dist/{layers.B90qcp2o.js → layers.BSicwysd.js} +1 -1
  38. package/dist/{layers.a1cHbiXT.js → layers.BWxdBDL8.js} +1 -1
  39. package/dist/{layers.BKUHCiZP.js → layers.BXODxQeV.js} +1 -1
  40. package/dist/{layers.C3BtEYLa.js → layers.BZlbfD-R.js} +1 -1
  41. package/dist/{layers.DS5UhZtX.js → layers.BZwmpJTm.js} +1 -1
  42. package/dist/{layers.jN2fMZO9.js → layers.B_x--qJi.js} +1 -1
  43. package/dist/{layers.CgKRd9Xy.js → layers.Bf73YY8y.js} +1 -1
  44. package/dist/{layers.Xi-dm1OT.js → layers.Bfl9dZ-l.js} +1 -1
  45. package/dist/{layers.XdnnbKx2.js → layers.BgPJjI_P.js} +1 -1
  46. package/dist/{layers.CUK-rUuB.js → layers.BhLLNSek.js} +3 -3
  47. package/dist/{layers.e3ak3tlM.js → layers.Bi4LIxh2.js} +3 -3
  48. package/dist/{layers.lOxtbTX7.js → layers.Bic3m8hm.js} +1 -1
  49. package/dist/{layers.DVxrTWn9.js → layers.BidmE4f8.js} +1 -1
  50. package/dist/{layers.BEzDn_3d.js → layers.Bluu5LcN.js} +2 -2
  51. package/dist/{layers.CNu4swGv.js → layers.Bm5Bwc4y.js} +3 -3
  52. package/dist/{layers.BVYWjabB.js → layers.Bmy3h5Uu.js} +1 -1
  53. package/dist/{layers.9tg7DTez.js → layers.BoPna1dg.js} +1 -1
  54. package/dist/{layers.DK2WSVSN.js → layers.Bp-12khg.js} +1 -1
  55. package/dist/{layers.BVDuJGV9.js → layers.BpKydKVX.js} +9106 -9211
  56. package/dist/{layers.9TZNVsVN.js → layers.BrJF-9MH.js} +1 -1
  57. package/dist/{layers.CrlYgkgw.js → layers.Bsa-ABgH.js} +1 -1
  58. package/dist/{layers.DK_buRED.js → layers.BsopFfAV.js} +1 -1
  59. package/dist/layers.BwC3LQSk.js +700 -0
  60. package/dist/{layers.LuYCJbOc.js → layers.Bxe_jSMG.js} +6 -6
  61. package/dist/{layers.DyXERaML.js → layers.Bxi8edVu.js} +5 -5
  62. package/dist/layers.Bz8LgxcB.js +1 -0
  63. package/dist/{layers.BGI4uq1Q.js → layers.C-JzkuVn.js} +1 -1
  64. package/dist/{layers.XyZAQVnc.js → layers.C-jrlS2K.js} +1 -1
  65. package/dist/{layers.Cpmp2Ro6.js → layers.C-ofIyP9.js} +1 -1
  66. package/dist/{layers.B09Pf229.js → layers.C0h2RIqq.js} +1 -1
  67. package/dist/{layers.Dgs2uScy.js → layers.C0zBIaTq.js} +1 -1
  68. package/dist/{layers.Csaijvtd.js → layers.C2PkslgQ.js} +1 -1
  69. package/dist/{layers.DVfgFHnB.js → layers.C4o0iHPH.js} +1 -1
  70. package/dist/{layers.Csecru8o.js → layers.C4wrx7vi.js} +1 -1
  71. package/dist/{layers.4s7KHvIO.js → layers.C5ggQtox.js} +1 -1
  72. package/dist/{layers.CDTPUExw.js → layers.C6fmmpjX.js} +2 -2
  73. package/dist/{layers.DdjV62cc.js → layers.C7-FjETE.js} +1 -1
  74. package/dist/{layers.B2PwxdHa.js → layers.C7rkoLo5.js} +1 -1
  75. package/dist/{layers.D-AZVe_H.js → layers.C9r63fje.js} +4 -4
  76. package/dist/{layers.BsmPTuKb.js → layers.CAmDrPNJ.js} +1 -1
  77. package/dist/{layers.Cs8mLkOu.js → layers.CBrKoV_q.js} +1 -1
  78. package/dist/{layers.CdvqExJr.js → layers.CEsAECxQ.js} +1 -1
  79. package/dist/{layers.BMAW_FLh.js → layers.CHbIXdc_.js} +1 -1
  80. package/dist/{layers.CZxcaHee.js → layers.CKDLpCsk.js} +1 -1
  81. package/dist/{layers.DKu5XZGB.js → layers.CKdeEFSv.js} +25 -25
  82. package/dist/{layers.CWpTjSix.js → layers.CKkMqXEq.js} +1 -1
  83. package/dist/{layers.BpTTx3kL.js → layers.CLX88H48.js} +1 -1
  84. package/dist/{layers.Bq3x1Rm7.js → layers.CLnO0K1x.js} +1 -1
  85. package/dist/{layers.DcZk1pth.js → layers.CMY_0mL2.js} +1 -1
  86. package/dist/{layers.BxLlB3P2.js → layers.CMx3QqNU.js} +1 -1
  87. package/dist/{layers.NyJkjihb.js → layers.COgafd20.js} +1 -1
  88. package/dist/{layers.C2OR_wUd.js → layers.CRVfdxTF.js} +1 -1
  89. package/dist/{layers.BjtOGkA3.js → layers.CVDwgXvQ.js} +1 -1
  90. package/dist/{layers.Bhx_X-2O.js → layers.CVnQAZrC.js} +1 -1
  91. package/dist/{layers.DNjnLwMW.js → layers.CW0sKg6P.js} +1 -1
  92. package/dist/{layers.k7gjZGSm.js → layers.CWH2XcI0.js} +3 -3
  93. package/dist/{layers.B6Y_mh1u.js → layers.CXNQKN3H.js} +1 -1
  94. package/dist/{layers.e73gcYlu.js → layers.CY8cKauL.js} +1 -1
  95. package/dist/{layers.CSlitEeZ.js → layers.CYgCUwp0.js} +1 -1
  96. package/dist/{layers.BUUs1M0q.js → layers.C_BpkSKE.js} +7 -7
  97. package/dist/{layers.B6o2ht_f.js → layers.CbM8UNKf.js} +1 -1
  98. package/dist/{layers.5rBPIxsj.js → layers.Cbeb7mWc.js} +1 -1
  99. package/dist/{layers.Brg-Yun6.js → layers.Cbqak9-j.js} +1 -1
  100. package/dist/{layers.q9Q0MaTe.js → layers.CcaRs8v4.js} +1 -1
  101. package/dist/{layers.D_hLVLGH.js → layers.CdK87uGb.js} +4 -4
  102. package/dist/{layers.CwZAZZeV.js → layers.CdeLPjBY.js} +1 -1
  103. package/dist/{layers.DmF1dgS-.js → layers.CgnUOJb_.js} +1 -1
  104. package/dist/{layers.D9n7034u.js → layers.ChYf8FlM.js} +1 -1
  105. package/dist/{layers.8KfujFwN.js → layers.Chp8bwGL.js} +2 -2
  106. package/dist/{layers.Iq53ccaa.js → layers.CilMOlba.js} +1 -1
  107. package/dist/layers.Cp2LmYEG.js +1 -0
  108. package/dist/{layers.DpuJReHx.js → layers.CqR8QtIu.js} +1 -1
  109. package/dist/{layers.CjyXU5Og.js → layers.Cqxj37Dv.js} +1 -1
  110. package/dist/{layers.bI6-0TlZ.js → layers.Crm_5CbL.js} +1 -1
  111. package/dist/{layers.C570XKYo.js → layers.CuYp5sd3.js} +1 -1
  112. package/dist/{layers.DOKwen1r.js → layers.CvcwXv_W.js} +1 -1
  113. package/dist/{layers.CAsPgoQp.js → layers.CvzfsMF0.js} +1 -1
  114. package/dist/{layers.B9adlI7j.js → layers.CxtRgRn2.js} +1 -1
  115. package/dist/{layers.D6GHEM5_.js → layers.CyT4WkyR.js} +143 -87
  116. package/dist/{layers.CzIt1VdX.js → layers.Cyw-0ZEi.js} +3 -3
  117. package/dist/{layers.DfMYF1Ym.js → layers.CzAke5ui.js} +2 -2
  118. package/dist/{layers.CV0RTTI2.js → layers.CzGOHe5G.js} +1 -1
  119. package/dist/{layers.NRO2VqdF.js → layers.CzjUCtQA.js} +1 -1
  120. package/dist/{layers.CX1gSEqz.js → layers.D34Dno9q.js} +1 -1
  121. package/dist/{layers.byUNpbGx.js → layers.D9DFz8Al.js} +1 -1
  122. package/dist/{layers.DyPX3Uoa.js → layers.D9c4OX3W.js} +1 -1
  123. package/dist/{layers.Dw-aqr_0.js → layers.D9sGfvO2.js} +1 -1
  124. package/dist/{layers.1-SJZc8H.js → layers.DBT5hLeI.js} +4 -4
  125. package/dist/{layers._wqcQnAR.js → layers.DDCUv8z_.js} +1 -1
  126. package/dist/{layers.48XjoH3g.js → layers.DI8hZILv.js} +1 -1
  127. package/dist/{layers.ka4TlMsx.js → layers.DKZUuysN.js} +1 -1
  128. package/dist/{layers.BeXKq9YB.js → layers.DO-C8-_G.js} +1 -1
  129. package/dist/{layers.D1gWSjC6.js → layers.DOudDvhu.js} +1 -1
  130. package/dist/{layers.De6yLwbZ.js → layers.DT86xNeS.js} +1 -1
  131. package/dist/{layers.C4ZxFU3P.js → layers.DTJeljtL.js} +1 -1
  132. package/dist/{layers.DVtRptx5.js → layers.DTnhulG9.js} +1 -1
  133. package/dist/{layers.D8bzyj4Q.js → layers.DUAhXofx.js} +3 -3
  134. package/dist/{layers.D7Be0Uze.js → layers.DUpUBCsf.js} +1 -1
  135. package/dist/{layers.105lJf8q.js → layers.DVM0Zlze.js} +1 -1
  136. package/dist/{layers.UgXYqaEY.js → layers.D_h6TJTN.js} +1 -1
  137. package/dist/{layers.HE-qAFA0.js → layers.D_jeo1xG.js} +1 -1
  138. package/dist/{layers.s-KPo2h8.js → layers.DaIcdBDI.js} +1 -1
  139. package/dist/{layers.ETElL5D9.js → layers.DdmzB3O0.js} +1 -1
  140. package/dist/{layers.BqYqx5vJ.js → layers.DfNLaOzL.js} +1 -1
  141. package/dist/{layers.Dm1G5Zqd.js → layers.DiSSo3OH.js} +3 -3
  142. package/dist/{layers.BnhUcQwI.js → layers.DjCHVpYa.js} +1 -1
  143. package/dist/{layers.BAO-CoiM.js → layers.DjRb2SLh.js} +8 -8
  144. package/dist/{layers.DPHoRZjh.js → layers.DkKq9glU.js} +1 -1
  145. package/dist/{layers.Bqi9LsiS.js → layers.Do01IcDd.js} +1 -1
  146. package/dist/{layers.DfZGXADe.js → layers.DoCEIolh.js} +1 -1
  147. package/dist/layers.DuZbQXjc.js +6 -0
  148. package/dist/{layers.WGPs5diP.js → layers.DveOMovT.js} +1 -1
  149. package/dist/{layers.BLBydOAc.js → layers.DxlXWt7S.js} +2 -2
  150. package/dist/{layers.fsBLQ8dz.js → layers.Dy4Ok6-G.js} +1 -1
  151. package/dist/{layers.Bvl1BY0b.js → layers.Dyb0uAq0.js} +4 -4
  152. package/dist/{layers.BhbEhTud.js → layers.DzZX-Ny2.js} +1 -1
  153. package/dist/{layers.D-lS0zEt.js → layers.HGB_lOXl.js} +1 -1
  154. package/dist/{layers.CT1cSWtL.js → layers.Hbpbn-_j.js} +1 -1
  155. package/dist/{layers.OFkrVJcg.js → layers.IzsK2rR4.js} +4 -4
  156. package/dist/{layers.dXeh3i1J.js → layers.LATcKqUC.js} +1 -1
  157. package/dist/{layers.zuoimKGJ.js → layers.MUIxh_1m.js} +1 -1
  158. package/dist/{layers.SfIMzSP6.js → layers.MhtaJBce.js} +1 -1
  159. package/dist/{layers.Bjk60DPg.js → layers.O9-UL4Iz.js} +1 -1
  160. package/dist/{layers.BJSTGaT8.js → layers.OM1TP2if.js} +4 -4
  161. package/dist/{layers.D9VDfwpD.js → layers.QA3AZUbD.js} +1 -1
  162. package/dist/{layers.Cl9Gi6Hk.js → layers.QLcmIyBJ.js} +1 -1
  163. package/dist/{layers.lm1GDKm6.js → layers.Quwv1FyD.js} +1 -1
  164. package/dist/{layers.V7R3qMDQ.js → layers.ReqeAER6.js} +1 -1
  165. package/dist/{layers.Bo3NWqJh.js → layers.Se5ymNJX.js} +1 -1
  166. package/dist/{layers.DP6dBWWj.js → layers.UItD0ong.js} +1 -1
  167. package/dist/{layers.9t12ZmSs.js → layers.VArV5ARF.js} +1 -1
  168. package/dist/{layers.BSgSkNGW.js → layers.WoPdx-Q-.js} +1 -1
  169. package/dist/{layers.DRIicokO.js → layers.XGiYLiiz.js} +1 -1
  170. package/dist/{layers.BPkmCywP.js → layers.YXblIHly.js} +1 -1
  171. package/dist/{layers.CpcwENcf.js → layers.YejdzZOJ.js} +105 -105
  172. package/dist/{layers.rRD4VXdU.js → layers.Z_A7yp28.js} +1 -1
  173. package/dist/{layers.DJhcGnOB.js → layers._L97RnOT.js} +1 -1
  174. package/dist/{layers.q24_rt8j.js → layers._PEJf-_4.js} +1 -1
  175. package/dist/{layers.CNhX_eWw.js → layers._U5ZBIOh.js} +1 -1
  176. package/dist/{layers.Dkq09Y68.js → layers.aJDL05by.js} +1 -1
  177. package/dist/{layers.RAk9j-s3.js → layers.aLaNqVT5.js} +1 -1
  178. package/dist/{layers.DelOS3eY.js → layers.aTx7rK_u.js} +1 -1
  179. package/dist/{layers.B2ipA4ba.js → layers.awkG_sU1.js} +1 -1
  180. package/dist/{layers.BfwLJXTv.js → layers.cjwNRamM.js} +1 -1
  181. package/dist/{layers.CIL2QOfL.js → layers.csYHPcEG.js} +1 -1
  182. package/dist/{layers.D1JGHvOa.js → layers.e9Jja9Zj.js} +1 -1
  183. package/dist/{layers.CZH7GPvj.js → layers.eFHxWYlb.js} +1 -1
  184. package/dist/{layers.DDy4ORkJ.js → layers.faY3bsgc.js} +1 -1
  185. package/dist/{layers.D57fI0CI.js → layers.fmrTcOYP.js} +1 -1
  186. package/dist/{layers.hcoo3c6a.js → layers.gZqL9Zmf.js} +1 -1
  187. package/dist/{layers.DD2c1_Hb.js → layers.h4SEbGsq.js} +1 -1
  188. package/dist/{layers.CmwjLqUo.js → layers.iYB1l5lE.js} +2 -2
  189. package/dist/{layers.wuSzaTy7.js → layers.j8HUfIXi.js} +1 -1
  190. package/dist/{layers.NbQfUzCT.js → layers.jG01AsVj.js} +1 -1
  191. package/dist/{layers.mKy-nXEC.js → layers.jHe6LvV5.js} +1 -1
  192. package/dist/{layers.y8jTJQT6.js → layers.k-u7fHBD.js} +1 -1
  193. package/dist/{layers.C8lznXhr.js → layers.lwvad4bH.js} +4 -4
  194. package/dist/{layers.B-Ciyr7y.js → layers.n9d04u_q.js} +1 -1
  195. package/dist/{layers.sChDyBdN.js → layers.nEKkxOl0.js} +1 -1
  196. package/dist/{layers.B3yhtO85.js → layers.pwuHbt7x.js} +1 -1
  197. package/dist/{layers.Bmky9IbL.js → layers.q0IseH3p.js} +1 -1
  198. package/dist/{layers.CcK3wC1t.js → layers.qaWfqgaJ.js} +1 -1
  199. package/dist/{layers.DAJl6lyF.js → layers.sepqoOEp.js} +4 -4
  200. package/dist/{layers.CLJHMvRM.js → layers.uaC1n1Ga.js} +1 -1
  201. package/dist/{layers.B9rpGMqH.js → layers.xmKmgDPC.js} +1 -1
  202. package/dist/{layers.dqN0ci2S.js → layers.yLOjTE6z.js} +1 -1
  203. package/package.json +80 -80
  204. package/dist/layers.B9eAR35k.js +0 -6
  205. package/dist/layers.BFQDyZGF.js +0 -1
  206. package/dist/layers.BLf6F_Az.js +0 -520
  207. package/dist/layers.BvmbvbQq.js +0 -1
  208. package/dist/layers.CXn5GSFm.js +0 -8
  209. package/dist/layers.DhBk12UC.js +0 -1
@@ -0,0 +1,700 @@
1
+ import { jsxs as I, jsx as o, Fragment as G } from "react/jsx-runtime";
2
+ import { useMemo as re, useState as b, useCallback as v, useContext as le, useRef as ye, useEffect as x } from "react";
3
+ import { useTranslation as L } from "react-i18next";
4
+ import { useLexicalComposerContext as z } from "@lexical/react/LexicalComposerContext";
5
+ import { Menu as T, Flex as te, Stack as De, Button as H, Box as Oe, LoadingOverlay as Ae } from "@mantine/core";
6
+ import { $getNodeByKey as O, COMMAND_PRIORITY_LOW as Ne, $setSelection as xe } from "lexical";
7
+ import { m as Te, A as V, K as Se, H as S, T as se, e as de, n as ce, o as A, N as me, q as Ee, s as Me, M as Pe, C as ue, v as ke, w as Ue, x as $, y as Le, z as ze, B as _e, U as Re, D as We, F as Fe, R as je, d as oe, O as He, b as ne, G as ie, f as $e } from "./layers.BpKydKVX.js";
8
+ import { AttachmentsGalleryModal as ge, showErrorNotification as Be } from "@layers-app/shared";
9
+ import { useLexicalEditable as Ge } from "@lexical/react/useLexicalEditable";
10
+ import { useDisclosure as B } from "@mantine/hooks";
11
+ import "@lexical/react/LexicalDecoratorBlockNode";
12
+ import "@lexical/utils";
13
+ import "@lexical/mark";
14
+ import "@lexical/code";
15
+ import "@lexical/selection";
16
+ import "@lexical/react/LexicalBlockWithAlignableContents";
17
+ import "@mantine/notifications";
18
+ function Ve(e, n) {
19
+ const t = document.createElement("a");
20
+ t.href = e, t.download = n, t.rel = "noopener", document.body.appendChild(t), t.click(), t.remove();
21
+ }
22
+ function q(e) {
23
+ try {
24
+ const t = new URL(e, window.location.origin).pathname.split("/").pop() || "image";
25
+ return t.includes(".") ? t : `${t}.png`;
26
+ } catch {
27
+ return "image";
28
+ }
29
+ }
30
+ async function X(e, n) {
31
+ const t = await fetch(e);
32
+ if (!t.ok)
33
+ throw new Error("fetch failed");
34
+ const a = await t.blob(), l = URL.createObjectURL(a);
35
+ try {
36
+ Ve(l, n);
37
+ } finally {
38
+ setTimeout(() => URL.revokeObjectURL(l), 0);
39
+ }
40
+ }
41
+ function pe({
42
+ opened: e,
43
+ onOpenChange: n,
44
+ t,
45
+ onDownload: a,
46
+ onDelete: l
47
+ }) {
48
+ return /* @__PURE__ */ I(
49
+ T,
50
+ {
51
+ opened: e,
52
+ onChange: n,
53
+ transitionProps: Te,
54
+ shadow: "md",
55
+ position: "bottom-start",
56
+ offset: 4,
57
+ withinPortal: !0,
58
+ closeOnItemClick: !0,
59
+ children: [
60
+ /* @__PURE__ */ o(T.Target, { children: /* @__PURE__ */ o(
61
+ V,
62
+ {
63
+ label: t("editor.toolbar.more"),
64
+ icon: Se,
65
+ iconColor: "var(--mantine-color-gray-text)",
66
+ "aria-label": t("editor.toolbar.more")
67
+ }
68
+ ) }),
69
+ /* @__PURE__ */ I(T.Dropdown, { p: 4, w: 164, onMouseDown: (r) => r.preventDefault(), children: [
70
+ /* @__PURE__ */ o(
71
+ T.Item,
72
+ {
73
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "gray.6", children: /* @__PURE__ */ o(S, { icon: se, size: 16 }) }),
74
+ onClick: (r) => {
75
+ r.stopPropagation(), a();
76
+ },
77
+ children: t("editor.gallery.download")
78
+ }
79
+ ),
80
+ /* @__PURE__ */ o(
81
+ T.Item,
82
+ {
83
+ color: "red",
84
+ leftSection: /* @__PURE__ */ o(te, { align: "center", justify: "center", c: "red.6", children: /* @__PURE__ */ o(S, { icon: de, size: 16 }) }),
85
+ onClick: (r) => {
86
+ r.stopPropagation(), l();
87
+ },
88
+ children: t("editor.contextMenu.delete")
89
+ }
90
+ )
91
+ ] })
92
+ ]
93
+ }
94
+ );
95
+ }
96
+ const he = ({
97
+ t: e,
98
+ src: n,
99
+ setShown: t,
100
+ id: a
101
+ }) => {
102
+ const [l, { open: r, close: m }] = B(!1), d = re(() => [
103
+ {
104
+ id: !a || a === "0" ? "" : a,
105
+ Url: n ?? "",
106
+ contentType: "image/*",
107
+ originalFileName: "",
108
+ fileSize: 0,
109
+ storageType: "",
110
+ storagePath: "",
111
+ fileName: "",
112
+ parentType: "",
113
+ parentId: "",
114
+ ownerId: "",
115
+ createdAt: /* @__PURE__ */ new Date(),
116
+ updatedAt: /* @__PURE__ */ new Date(),
117
+ version: 0,
118
+ deleted: !1,
119
+ deletedAt: /* @__PURE__ */ new Date()
120
+ }
121
+ ], [n, a]);
122
+ return /* @__PURE__ */ I(G, { children: [
123
+ /* @__PURE__ */ o(
124
+ ge,
125
+ {
126
+ opened: l,
127
+ onOpenChange: (g) => {
128
+ g ? r() : m();
129
+ },
130
+ attachments: d
131
+ }
132
+ ),
133
+ /* @__PURE__ */ o(
134
+ V,
135
+ {
136
+ label: e("editor.image.preview"),
137
+ icon: ce,
138
+ iconColor: "var(--mantine-color-gray-text)",
139
+ "aria-label": e("editor.image.preview"),
140
+ onClick: () => {
141
+ t(!1), r();
142
+ }
143
+ }
144
+ )
145
+ ] });
146
+ }, qe = ({
147
+ nodeKey: e,
148
+ src: n
149
+ }) => {
150
+ const [t] = z(), a = Ge(), [l, r] = b(!1), [m, d] = b(!1), { t: u } = L(), g = v(() => {
151
+ t.update(() => {
152
+ const f = O(e);
153
+ A(f) && f.remove();
154
+ });
155
+ }, [t, e]), C = v(async () => {
156
+ if (n)
157
+ try {
158
+ await X(n, q(n));
159
+ } catch {
160
+ }
161
+ }, [n]);
162
+ return /* @__PURE__ */ I(
163
+ "div",
164
+ {
165
+ className: `media-actions ${a ? "" : "media-actions--readonly"}`,
166
+ children: [
167
+ /* @__PURE__ */ o(he, { t: u, src: n, setShown: () => {
168
+ } }),
169
+ a && /* @__PURE__ */ I(G, { children: [
170
+ /* @__PURE__ */ o(
171
+ me,
172
+ {
173
+ opened: l,
174
+ setOpened: r,
175
+ t: u,
176
+ editor: t,
177
+ nodeKey: e,
178
+ setShown: () => {
179
+ }
180
+ }
181
+ ),
182
+ /* @__PURE__ */ o(
183
+ pe,
184
+ {
185
+ opened: m,
186
+ onOpenChange: d,
187
+ t: u,
188
+ onDownload: () => void C(),
189
+ onDelete: g
190
+ }
191
+ )
192
+ ] })
193
+ ]
194
+ }
195
+ );
196
+ }, Xe = () => {
197
+ };
198
+ function Ye({ nodeKey: e, src: n, id: t }) {
199
+ const { t: a } = L(), [l] = z(), [r, m] = b(!1), [d, u] = b(!1), g = v(() => {
200
+ u(!1), l.update(() => {
201
+ const f = O(e);
202
+ if (!A(f)) return;
203
+ const y = f.getParent();
204
+ Ee(y) ? y.remove() : f.remove();
205
+ });
206
+ }, [l, e]), C = v(async () => {
207
+ if (n)
208
+ try {
209
+ await X(n, q(n));
210
+ } catch {
211
+ }
212
+ }, [n]);
213
+ return /* @__PURE__ */ I(
214
+ "div",
215
+ {
216
+ className: "media-actions visible",
217
+ style: {
218
+ position: "absolute",
219
+ top: 10,
220
+ right: 10,
221
+ zIndex: 10,
222
+ pointerEvents: "auto",
223
+ display: "flex",
224
+ gap: 4
225
+ },
226
+ onClick: (f) => f.stopPropagation(),
227
+ children: [
228
+ /* @__PURE__ */ o(he, { t: a, src: n, setShown: Xe, id: t }),
229
+ /* @__PURE__ */ o(
230
+ me,
231
+ {
232
+ opened: r,
233
+ setOpened: m,
234
+ t: a,
235
+ editor: l,
236
+ nodeKey: e
237
+ }
238
+ ),
239
+ /* @__PURE__ */ o(
240
+ pe,
241
+ {
242
+ opened: d,
243
+ onOpenChange: u,
244
+ t: a,
245
+ onDownload: () => void C(),
246
+ onDelete: g
247
+ }
248
+ )
249
+ ]
250
+ }
251
+ );
252
+ }
253
+ function Ze({ nodeKey: e, src: n, id: t }) {
254
+ const { t: a } = L(), [l] = z(), [r, { open: m, close: d }] = B(!1), [u, { open: g, close: C }] = B(!1), f = re(
255
+ () => [
256
+ {
257
+ id: !t || t === "0" ? "" : t,
258
+ Url: n ?? "",
259
+ contentType: "",
260
+ originalFileName: "",
261
+ fileSize: 0,
262
+ storageType: "",
263
+ storagePath: "",
264
+ fileName: "",
265
+ parentType: "",
266
+ parentId: "",
267
+ ownerId: "",
268
+ createdAt: /* @__PURE__ */ new Date(),
269
+ updatedAt: /* @__PURE__ */ new Date(),
270
+ version: 0,
271
+ deleted: !1,
272
+ deletedAt: /* @__PURE__ */ new Date()
273
+ }
274
+ ],
275
+ [n, t]
276
+ ), y = () => {
277
+ d(), g();
278
+ }, E = v(async () => {
279
+ if (d(), !!n)
280
+ try {
281
+ await X(n, q(n));
282
+ } catch {
283
+ }
284
+ }, [n, d]), D = v(() => {
285
+ d(), l.update(() => {
286
+ const s = O(e);
287
+ A(s) && s.remove();
288
+ });
289
+ }, [l, e, d]);
290
+ return /* @__PURE__ */ I(G, { children: [
291
+ /* @__PURE__ */ o(
292
+ "div",
293
+ {
294
+ className: "image-touch-actions",
295
+ style: {
296
+ position: "absolute",
297
+ top: 8,
298
+ right: 8,
299
+ zIndex: 10,
300
+ pointerEvents: "auto"
301
+ },
302
+ onClick: (s) => s.stopPropagation(),
303
+ children: /* @__PURE__ */ o(
304
+ V,
305
+ {
306
+ label: a("editor.toolbar.more"),
307
+ icon: Me,
308
+ iconColor: "var(--mantine-color-gray-text)",
309
+ "aria-label": a("editor.toolbar.more"),
310
+ onClick: m
311
+ }
312
+ )
313
+ }
314
+ ),
315
+ /* @__PURE__ */ o(
316
+ ge,
317
+ {
318
+ opened: u,
319
+ onOpenChange: (s) => s ? g() : C(),
320
+ attachments: f
321
+ }
322
+ ),
323
+ /* @__PURE__ */ o(
324
+ Pe,
325
+ {
326
+ opened: r,
327
+ onClose: d,
328
+ title: a("editor.image.mobileActions"),
329
+ children: /* @__PURE__ */ I(De, { gap: 4, p: 0, children: [
330
+ /* @__PURE__ */ o(
331
+ H,
332
+ {
333
+ type: "button",
334
+ variant: "subtle",
335
+ color: "gray",
336
+ fullWidth: !0,
337
+ justify: "flex-start",
338
+ bg: "var(--editor-action-bg)",
339
+ onClick: y,
340
+ leftSection: /* @__PURE__ */ o(
341
+ S,
342
+ {
343
+ icon: ce,
344
+ size: 16,
345
+ color: "var(--mantine-color-dimmed)"
346
+ }
347
+ ),
348
+ children: a("editor.image.previewFullScreen")
349
+ }
350
+ ),
351
+ /* @__PURE__ */ o(
352
+ H,
353
+ {
354
+ type: "button",
355
+ variant: "subtle",
356
+ color: "gray",
357
+ fullWidth: !0,
358
+ justify: "flex-start",
359
+ bg: "var(--editor-action-bg)",
360
+ onClick: () => void E(),
361
+ leftSection: /* @__PURE__ */ o(
362
+ S,
363
+ {
364
+ icon: se,
365
+ size: 16,
366
+ color: "var(--mantine-color-dimmed)"
367
+ }
368
+ ),
369
+ children: a("editor.gallery.download")
370
+ }
371
+ ),
372
+ /* @__PURE__ */ o(
373
+ H,
374
+ {
375
+ type: "button",
376
+ variant: "subtle",
377
+ color: "red",
378
+ fullWidth: !0,
379
+ justify: "flex-start",
380
+ bg: "var(--editor-action-bg)",
381
+ onClick: D,
382
+ leftSection: /* @__PURE__ */ o(
383
+ S,
384
+ {
385
+ icon: de,
386
+ size: 16,
387
+ color: "var(--mantine-color-red-6)"
388
+ }
389
+ ),
390
+ children: a("editor.actions.delete")
391
+ }
392
+ )
393
+ ] })
394
+ }
395
+ )
396
+ ] });
397
+ }
398
+ const ae = (e) => {
399
+ const {
400
+ width: n,
401
+ height: t,
402
+ isLoading: a,
403
+ isError: l,
404
+ src: r,
405
+ id: m,
406
+ altText: d,
407
+ imageRef: u,
408
+ maxWidth: g
409
+ } = e;
410
+ return /* @__PURE__ */ I(
411
+ "div",
412
+ {
413
+ className: "media-wrapper",
414
+ style: {
415
+ width: n,
416
+ height: t,
417
+ display: "inline-flex",
418
+ position: "relative"
419
+ },
420
+ children: [
421
+ /* @__PURE__ */ o(
422
+ Ae,
423
+ {
424
+ visible: a,
425
+ zIndex: 1e3,
426
+ overlayProps: { backgroundOpacity: 0.5 },
427
+ loaderProps: { size: 24, color: "black" }
428
+ }
429
+ ),
430
+ /* @__PURE__ */ o(
431
+ Je,
432
+ {
433
+ className: null,
434
+ src: r,
435
+ altText: d,
436
+ imageRef: u,
437
+ width: "inherit",
438
+ height: "inherit",
439
+ maxWidth: g || "auto",
440
+ id: m
441
+ }
442
+ ),
443
+ ne && /* @__PURE__ */ o(Ze, { nodeKey: e.nodeKey, src: r, id: m }),
444
+ ie && /* @__PURE__ */ o(Ye, { nodeKey: e.nodeKey, src: r, id: m }),
445
+ $e && !ne && !ie && /* @__PURE__ */ o(qe, { nodeKey: e.nodeKey, src: r })
446
+ ]
447
+ }
448
+ );
449
+ };
450
+ function Je({
451
+ altText: e,
452
+ className: n,
453
+ imageRef: t,
454
+ src: a,
455
+ width: l,
456
+ height: r,
457
+ maxWidth: m,
458
+ id: d
459
+ }) {
460
+ const [u, g] = b(!1);
461
+ return /* @__PURE__ */ o(
462
+ "img",
463
+ {
464
+ className: `${n || void 0} ${u ? "" : "loading"}`,
465
+ src: a,
466
+ alt: e,
467
+ ref: t,
468
+ style: {
469
+ height: r,
470
+ maxWidth: m,
471
+ width: l
472
+ },
473
+ onLoad: () => {
474
+ a.includes("splash") ? setTimeout(() => {
475
+ g(!0);
476
+ }, 100) : g(!0);
477
+ },
478
+ draggable: "false",
479
+ "data-id": d
480
+ }
481
+ );
482
+ }
483
+ function vt(e) {
484
+ const { disable: n } = le(ue);
485
+ return n && ke.isPlaceholderSrc(e.src) ? null : /* @__PURE__ */ o(Qe, { ...e });
486
+ }
487
+ function Qe({
488
+ src: e,
489
+ altText: n,
490
+ nodeKey: t,
491
+ width: a,
492
+ height: l,
493
+ maxWidth: r,
494
+ showCaption: m,
495
+ caption: d,
496
+ id: u,
497
+ create: g,
498
+ alignment: C,
499
+ imagePickerTab: f
500
+ }) {
501
+ var K, ee;
502
+ const y = ye(null), [E, D] = b(!0), [s] = z(), [N, _] = b(!0), [w, R] = b({
503
+ width: 0,
504
+ height: 0
505
+ }), { start: Y } = Ue(), [Ke, W] = b(0), {
506
+ fetchUploadMedia: M,
507
+ fetchDeleteMedia: Z,
508
+ maxFileSize: et,
509
+ imperativeHandleRef: P,
510
+ disable: fe
511
+ } = le(ue), k = $.has(e) && (((K = $.get(e)) == null ? void 0 : K.mediaNodeKeys.length) === 0 || ((ee = $.get(e)) == null ? void 0 : ee.mediaNodeKeys.length) === void 0 || e.trim() === ""), { t: U } = L(), [tt, we] = b(0);
512
+ x(() => s.registerDecoratorListener(() => {
513
+ we((i) => i + 1);
514
+ }), [k]), x(() => {
515
+ if (!e || e.startsWith("data:image/") || !e.trim()) {
516
+ D(!1);
517
+ return;
518
+ }
519
+ const i = new Image();
520
+ i.src = e, i.onload = () => D(!1), i.onerror = () => {
521
+ D(!1);
522
+ };
523
+ }, [e, k]);
524
+ const be = (i, p) => {
525
+ s.update(() => {
526
+ xe(null);
527
+ const c = O(t);
528
+ A(c) && c.setWidthAndHeight(i, p);
529
+ });
530
+ }, { historyState: J } = Le(), {
531
+ settings: { showNestedEditorTreeView: Q }
532
+ } = ze();
533
+ function ve(i) {
534
+ return i.endsWith(".svg") || i.includes("image/svg+xml");
535
+ }
536
+ function Ie(i) {
537
+ return new Promise((p, c) => {
538
+ if (ve(i)) {
539
+ p(0);
540
+ return;
541
+ }
542
+ const h = new Image();
543
+ h.src = i, h.onload = () => {
544
+ p(h.width);
545
+ }, h.onerror = () => {
546
+ c(new Error("Failed to load image"));
547
+ };
548
+ });
549
+ }
550
+ x(() => {
551
+ let i = a, p = l, c = 100;
552
+ (e.includes("unsplash") ? e.trim() : !k && e.trim() || e.includes("upload-src-editor")) && e !== "upload" && Ie(e).then((h) => {
553
+ typeof i == "number" && i < c && h < c ? (_(!0), R({
554
+ width: i,
555
+ height: p
556
+ })) : h < c ? (_(!0), R({
557
+ width: "auto",
558
+ height: "auto"
559
+ })) : (R({
560
+ width: h,
561
+ height: h
562
+ }), _(!1));
563
+ }).catch((h) => {
564
+ console.warn("Ошибка при загрузке изображения:", h.message);
565
+ });
566
+ }, [e, k]), x(() => {
567
+ w.width && w.height && N && s.update(() => {
568
+ const i = O(t);
569
+ A(i) && i.setWidthAndHeight(w.width, w.height);
570
+ });
571
+ }, [w.width, w.height, N]);
572
+ const Ce = v(
573
+ (i) => _e(s, t, i),
574
+ [s, t]
575
+ ), F = v(
576
+ (i, p) => {
577
+ D(!1), s.update(() => {
578
+ const c = O(t);
579
+ A(c) && (c.setSrc(i), c.setId(p));
580
+ });
581
+ },
582
+ [s, t]
583
+ ), j = v(
584
+ (i) => {
585
+ D(!0);
586
+ const p = Y();
587
+ M && M(
588
+ i[0],
589
+ (c, h) => {
590
+ F(c, h), W(0);
591
+ },
592
+ (c) => {
593
+ c && Be({
594
+ message: U("editor.gallery.errorFile")
595
+ }), W(0), F("", "");
596
+ },
597
+ p,
598
+ (c) => {
599
+ W(c);
600
+ }
601
+ );
602
+ },
603
+ [M, Y, U, F]
604
+ );
605
+ return x(() => s.registerCommand(
606
+ Re,
607
+ (i) => e !== "upload" || i.targetNodeKey !== t ? !1 : (j(i.files), !0),
608
+ Ne
609
+ ), [s, j, t, e]), !e || e === "upload" ? /* @__PURE__ */ o(Oe, { "data-editor-image-picker-drop-root": !0, w: "100%", children: /* @__PURE__ */ o(
610
+ We,
611
+ {
612
+ inline: !0,
613
+ nodeKey: t,
614
+ defaultTabValue: f,
615
+ onWriteTabToNode: Ce,
616
+ uploading: !1,
617
+ onUpload: (i) => {
618
+ !M || !i.length || j(i);
619
+ },
620
+ popoverProps: {
621
+ opened: !0,
622
+ position: "bottom",
623
+ zIndex: Fe
624
+ },
625
+ onChange: (i) => {
626
+ s.update(() => {
627
+ const p = O(t);
628
+ A(p) && p.setSrc(i);
629
+ });
630
+ }
631
+ }
632
+ ) }) : N ? /* @__PURE__ */ o(
633
+ ae,
634
+ {
635
+ width: w.width,
636
+ height: w.height,
637
+ isLoading: E,
638
+ isError: !1,
639
+ isIcon: N,
640
+ src: e,
641
+ id: u,
642
+ editor: s,
643
+ nodeKey: t,
644
+ fetchDeleteMedia: Z,
645
+ altText: n,
646
+ imageRef: y,
647
+ maxWidth: r,
648
+ showCaption: m,
649
+ caption: d,
650
+ isCollabActive: !1,
651
+ historyState: J,
652
+ showNestedEditorTreeView: Q,
653
+ t: U
654
+ }
655
+ ) : /* @__PURE__ */ o(
656
+ je,
657
+ {
658
+ editor: s,
659
+ isIcon: N,
660
+ width: oe(a),
661
+ height: oe(l),
662
+ initialWidth: w.width || "",
663
+ initialHeight: w.height || "",
664
+ onResizeEnd: be,
665
+ alignment: C,
666
+ disable: fe,
667
+ onRegisterDecoratorEnter: (i) => {
668
+ P != null && P.current && (P.current.decoratorEnterAction = i);
669
+ },
670
+ onActivate: () => s.dispatchCommand(He, "show_menu"),
671
+ children: /* @__PURE__ */ o(
672
+ ae,
673
+ {
674
+ width: "inherit",
675
+ height: "inherit",
676
+ isLoading: E,
677
+ isError: !1,
678
+ isIcon: N,
679
+ src: e,
680
+ id: u,
681
+ editor: s,
682
+ nodeKey: t,
683
+ fetchDeleteMedia: Z,
684
+ altText: n,
685
+ imageRef: y,
686
+ maxWidth: r,
687
+ showCaption: m,
688
+ caption: d,
689
+ isCollabActive: !1,
690
+ historyState: J,
691
+ showNestedEditorTreeView: Q,
692
+ t: U
693
+ }
694
+ )
695
+ }
696
+ );
697
+ }
698
+ export {
699
+ vt as default
700
+ };
@@ -1,13 +1,13 @@
1
- import { p as FNe, d as BNe } from "./layers.D9VDfwpD.js";
2
- import { d as IO, l as Ba, W as xU, Y as RNe, _ as C0n, $ as j0n, a0 as $U, j as KNe } from "./layers.DKu5XZGB.js";
3
- import { i as _Ne, c as HNe, l as qNe, b as UNe, k as GNe, m as zNe } from "./layers.C_937Mqf.js";
4
- import { y as $se, x as XNe } from "./layers.BVDuJGV9.js";
1
+ import { p as FNe, d as BNe } from "./layers.QA3AZUbD.js";
2
+ import { d as IO, l as Ba, W as xU, Y as RNe, _ as C0n, $ as j0n, a0 as $U, j as KNe } from "./layers.CKdeEFSv.js";
3
+ import { i as _Ne, c as HNe, l as qNe, b as UNe, k as GNe, m as zNe } from "./layers.0OVg4x0h.js";
4
+ import { c as $se, g as XNe } from "./layers.BpKydKVX.js";
5
5
  import { c as NU } from "./layers.BpilXLfW.js";
6
- import "./layers.BAO-CoiM.js";
6
+ import "./layers.DjRb2SLh.js";
7
7
  import "lodash-es/memoize.js";
8
8
  import "lodash-es/merge.js";
9
9
  import "lodash-es/isEmpty.js";
10
- import { l as VNe } from "./layers.CIL2QOfL.js";
10
+ import { l as VNe } from "./layers.csYHPcEG.js";
11
11
  var E0n = { exports: {} }, xse;
12
12
  function WNe() {
13
13
  return xse || (xse = 1, (function(ut, _t) {