@layers-app/editor 2.2.21 → 2.2.23

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 +4 -3
  3. package/dist/index.js +11 -11
  4. package/dist/{layers.4Rlo7aiu.js → layers.-pZgWLbP.js} +3 -3
  5. package/dist/{layers.CGSbFcqt.js → layers.1iiJgWZO.js} +1 -1
  6. package/dist/{layers.DFmCi8NF.js → layers.303jw6zU.js} +1 -1
  7. package/dist/{layers.CxLKiKwf.js → layers.5LazKM62.js} +1 -1
  8. package/dist/{layers.Cmc6eswQ.js → layers.5V17qrtv.js} +1 -1
  9. package/dist/{layers.BOWYjv7F.js → layers.5bVLY60W.js} +1 -1
  10. package/dist/{layers.BkBbGHX8.js → layers.80moE6zJ.js} +1 -1
  11. package/dist/{layers.4Wx04F_a.js → layers.AE9ke10s.js} +1 -1
  12. package/dist/{layers.CFL3nJG5.js → layers.B-2xFIlc.js} +1 -1
  13. package/dist/{layers.CpyicZWl.js → layers.B-IKoeZd.js} +1 -1
  14. package/dist/{layers.DYCF0hg0.js → layers.B2rALZMt.js} +1 -1
  15. package/dist/{layers.C5CZfSaq.js → layers.B2vcIBLX.js} +1 -1
  16. package/dist/{layers.Coqd0Cmc.js → layers.B2wXcRG-.js} +1 -1
  17. package/dist/{layers.C1HsfBbb.js → layers.B3c8YyoG.js} +1 -1
  18. package/dist/{layers.D0ceI1ll.js → layers.B9F6b9gx.js} +1 -1
  19. package/dist/{layers.DYpr7mLq.js → layers.BBZ0R3My.js} +3 -3
  20. package/dist/layers.BCGc6DhI.js +1 -0
  21. package/dist/{layers.BHU1b_8q.js → layers.BECb1Fhb.js} +4 -4
  22. package/dist/{layers.BeJ03VGV.js → layers.BEfwP28X.js} +1 -1
  23. package/dist/{layers.Cu4QJ4rh.js → layers.BFwqfbV1.js} +1 -1
  24. package/dist/{layers.BKuwBiGd.js → layers.BGJd_rTa.js} +2 -2
  25. package/dist/{layers.CzeXVs6H.js → layers.BGlmy9rx.js} +2 -2
  26. package/dist/{layers.CvSWkMUn.js → layers.BHgvtp04.js} +1 -1
  27. package/dist/{layers.D00tDEPj.js → layers.BIDexqqq.js} +1 -1
  28. package/dist/{layers.D4J_2Ns_.js → layers.BKWbcYUB.js} +1 -1
  29. package/dist/{layers.BXqfSoxw.js → layers.BN8Ft6EZ.js} +1 -1
  30. package/dist/{layers.O3eKOG6F.js → layers.BP51oHnA.js} +3 -3
  31. package/dist/{layers.CvvgQ1cP.js → layers.BPQCUI_O.js} +1 -1
  32. package/dist/{layers.C_6dQFnr.js → layers.BPrqMNrC.js} +1 -1
  33. package/dist/{layers.CL-SYhlx.js → layers.BRmbEgM7.js} +1 -1
  34. package/dist/{layers.DPrQg1Ne.js → layers.BTlE572C.js} +2 -2
  35. package/dist/{layers.CvEsaRKA.js → layers.BUATqC34.js} +1 -1
  36. package/dist/{layers.CFOCTQK4.js → layers.BW1D5NYv.js} +1 -1
  37. package/dist/{layers.C4tXVmRG.js → layers.BXgJkKRA.js} +1 -1
  38. package/dist/{layers.zriUSv_J.js → layers.BaWkn6l7.js} +4 -4
  39. package/dist/{layers.Cc7QEce6.js → layers.Bb35f6sF.js} +1 -1
  40. package/dist/{layers.Dt3-M5h3.js → layers.BfHxiqDj.js} +1 -1
  41. package/dist/{layers.C4Ee69HG.js → layers.BnSmm6Mq.js} +1 -1
  42. package/dist/layers.BnmWLrxR.js +1 -0
  43. package/dist/{layers.DSPfLxfF.js → layers.Bno--Jch.js} +1 -1
  44. package/dist/layers.BnqBRGRW.js +6 -0
  45. package/dist/{layers.CW4lS8qs.js → layers.BodBNrG7.js} +1 -1
  46. package/dist/{layers.r4P2oTbA.js → layers.Bp8nFS79.js} +1 -1
  47. package/dist/{layers.CcaOnGRX.js → layers.BpGGiQLw.js} +1 -1
  48. package/dist/{layers.CQj5ip1H.js → layers.BqNljnoR.js} +1 -1
  49. package/dist/{layers.pJVdL6X_.js → layers.BqTGHX1X.js} +4 -4
  50. package/dist/{layers.CuD5z9zG.js → layers.BqYxxayV.js} +1 -1
  51. package/dist/{layers.XJgiPQke.js → layers.BrKmXIch.js} +1 -1
  52. package/dist/{layers.CmZQ1ncv.js → layers.BrlUnfE_.js} +1 -1
  53. package/dist/{layers.Dj4ftxSA.js → layers.BsGqRBrY.js} +1 -1
  54. package/dist/{layers.CebweuKK.js → layers.BsOvnE-H.js} +1 -1
  55. package/dist/{layers.Bs7IR3sR.js → layers.BumIfjwi.js} +1 -1
  56. package/dist/{layers.CpnlyWTj.js → layers.BvFppTS2.js} +4 -4
  57. package/dist/{layers.BDFtY7qa.js → layers.BwGnLnNn.js} +1 -1
  58. package/dist/{layers.CqICbP7f.js → layers.BzG5EW2w.js} +1 -1
  59. package/dist/{layers.BNFWWQ3P.js → layers.C0L8m1-N.js} +1 -1
  60. package/dist/{layers.BpBIvVXP.js → layers.C11VoNiU.js} +1 -1
  61. package/dist/{layers.BzC3_qmd.js → layers.C21xoTiw.js} +1 -1
  62. package/dist/{layers.Bq02QoCR.js → layers.C5KVAv5p.js} +1 -1
  63. package/dist/{layers.B-jf9j_q.js → layers.C6A71NSy.js} +1 -1
  64. package/dist/{layers.CgSMmqAz.js → layers.C7gcH7FE.js} +1 -1
  65. package/dist/{layers.CXT6TIak.js → layers.C9fCCGjU.js} +4 -4
  66. package/dist/{layers.CYf1Mx3n.js → layers.C9hwRUCg.js} +1 -1
  67. package/dist/{layers.Cs8f6Bap.js → layers.CAYcgK9X.js} +8 -8
  68. package/dist/{layers.DaKi9KeD.js → layers.CBGlqGCk.js} +2 -2
  69. package/dist/layers.CDl49PIr.js +1021 -0
  70. package/dist/{layers.AXJMsHe5.js → layers.CG44BOpx.js} +1 -1
  71. package/dist/{layers.BUx2V00W.js → layers.CGI2pHjE.js} +1 -1
  72. package/dist/{layers.v4VQ7VKK.js → layers.CGW2WoMv.js} +1 -1
  73. package/dist/{layers.BsAJCCg7.js → layers.CG_nZfg5.js} +1 -1
  74. package/dist/{layers.B-t_XXmL.js → layers.CIVrtYfC.js} +1 -1
  75. package/dist/{layers.D4fvzPjz.js → layers.CLStKcbr.js} +1 -1
  76. package/dist/{layers.yBNO0DSw.js → layers.COKdAgku.js} +3 -3
  77. package/dist/{layers.BQpG4Dl-.js → layers.CQkuZj2M.js} +3 -3
  78. package/dist/{layers.DZWZPEI9.js → layers.CSQFeEeZ.js} +7 -7
  79. package/dist/{layers.e4jeo5nw.js → layers.CTrePi13.js} +1 -1
  80. package/dist/{layers.CDtQsbno.js → layers.CUe9CZcQ.js} +1 -1
  81. package/dist/{layers.B3ZrKgla.js → layers.CV8BuUFq.js} +38384 -38011
  82. package/dist/{layers.CDb3OaEs.js → layers.CW2lZKdm.js} +1 -1
  83. package/dist/{layers.PsyTD5NB.js → layers.CWSH7Kri.js} +1 -1
  84. package/dist/{layers.D33j9TvF.js → layers.CXoX_buX.js} +1 -1
  85. package/dist/{layers.JB_vsBut.js → layers.CYA_ie6I.js} +1 -1
  86. package/dist/{layers.CBr1xT-v.js → layers.CZOnTm7o.js} +1 -1
  87. package/dist/{layers.BzRZpuFU.js → layers.CZdgPYgH.js} +1 -1
  88. package/dist/{layers.BQPCsazY.js → layers.CbgKJG2L.js} +1 -1
  89. package/dist/{layers.C92iSP5z.js → layers.CcaywdbZ.js} +1 -1
  90. package/dist/{layers.CH3OYC5h.js → layers.ChQOY7V7.js} +1 -1
  91. package/dist/{layers.DBYvfCeg.js → layers.CibQNjoO.js} +1 -1
  92. package/dist/{layers.zZ13TlWI.js → layers.Cij0xH6I.js} +1 -1
  93. package/dist/{layers.B7l2fW1q.js → layers.CjLAmjEr.js} +1 -1
  94. package/dist/{layers.BBAwGEPB.js → layers.CjehXAfL.js} +1 -1
  95. package/dist/{layers.meHN-Jep.js → layers.CjjPof9D.js} +1 -1
  96. package/dist/{layers.38netp0P.js → layers.CkYFevz2.js} +1 -1
  97. package/dist/{layers.D4yxhiCs.js → layers.CkYkmmZI.js} +1 -1
  98. package/dist/{layers.CEMKzoWc.js → layers.ClH30mCM.js} +1 -1
  99. package/dist/{layers.BRb75h3b.js → layers.ClHc4c5C.js} +1 -1
  100. package/dist/{layers.DM8yNQDs.js → layers.CmnCeX97.js} +4 -4
  101. package/dist/{layers.Bd7dnZnv.js → layers.CnttFYiP.js} +1 -1
  102. package/dist/{layers.gXrYSDtK.js → layers.Cp4rASqk.js} +1 -1
  103. package/dist/{layers.C3dW6VbW.js → layers.Cpyh3I87.js} +1 -1
  104. package/dist/{layers.2fRWyjhi.js → layers.CrrNWLGX.js} +1 -1
  105. package/dist/{layers.DG2iIC_6.js → layers.Ct3Ax4JM.js} +1 -1
  106. package/dist/{layers.FgPrgSQe.js → layers.Ctdld5P3.js} +1 -1
  107. package/dist/{layers.CZJ4QOX3.js → layers.Cu5S0yaJ.js} +3 -3
  108. package/dist/{layers.CAHzvtDu.js → layers.CuIKCJMf.js} +1 -1
  109. package/dist/{layers.99JuNWZ1.js → layers.Cw61gfIm.js} +1 -1
  110. package/dist/{layers.BsR8Yny_.js → layers.D-61zEQt.js} +1 -1
  111. package/dist/{layers.DHc7m1zn.js → layers.D274yvC5.js} +1 -1
  112. package/dist/{layers.C80C2PzO.js → layers.D2m3Bf_G.js} +1 -1
  113. package/dist/{layers.CVXI0emh.js → layers.D2oq4KZH.js} +1 -1
  114. package/dist/{layers.CZ-fw6aK.js → layers.D3CNBV_F.js} +1 -1
  115. package/dist/{layers.CIPPzDQ8.js → layers.D6pabyQK.js} +1 -1
  116. package/dist/{layers.DCNTuDoZ.js → layers.D7DIHlCT.js} +1 -1
  117. package/dist/{layers.DndYZD-T.js → layers.D7hO14mJ.js} +2 -2
  118. package/dist/{layers.AGnCsRuU.js → layers.D8nHCeQW.js} +1 -1
  119. package/dist/{layers.B2nqftPs.js → layers.D9CrMmwo.js} +1 -1
  120. package/dist/{layers.BB54c0q4.js → layers.D9jl6kRL.js} +4 -4
  121. package/dist/{layers.DHDIxFtw.js → layers.DATGYK71.js} +1 -1
  122. package/dist/{layers.C31EOq_h.js → layers.DDLQnXLv.js} +1 -1
  123. package/dist/{layers.C4I0i0xJ.js → layers.DDdYREDb.js} +1 -1
  124. package/dist/{layers.BVsgOW86.js → layers.DDhlWElS.js} +1 -1
  125. package/dist/{layers.CQu7cget.js → layers.DEKANJPm.js} +1 -1
  126. package/dist/{layers.BlAqZ0OO.js → layers.DJM3slfS.js} +1 -1
  127. package/dist/{layers.BpGI2FoR.js → layers.DJzcMd6p.js} +1 -1
  128. package/dist/{layers.D_QHdMDc.js → layers.DK3--ckm.js} +3 -3
  129. package/dist/{layers.BqjtA1gF.js → layers.DKFNA4rb.js} +1 -1
  130. package/dist/{layers.Dh5KfqV3.js → layers.DLvT6gQ1.js} +1 -1
  131. package/dist/{layers.DkokyA5Q.js → layers.DMbH6Ask.js} +1 -1
  132. package/dist/{layers.Cd1zGDLA.js → layers.DOqfKQpc.js} +5 -5
  133. package/dist/{layers.DQbJOPRI.js → layers.DQGP55au.js} +1 -1
  134. package/dist/{layers.C5ydcmWI.js → layers.DRPNtSTU.js} +1 -1
  135. package/dist/{layers.DDaOIJhr.js → layers.DRyrnGmA.js} +1 -1
  136. package/dist/{layers.C7YcNBm1.js → layers.DSQBBLug.js} +1 -1
  137. package/dist/{layers.BPCdUC1F.js → layers.DSVmQLxh.js} +1 -1
  138. package/dist/{layers.BaDN71EH.js → layers.DTcN8pQj.js} +1 -1
  139. package/dist/layers.DTj9voME.js +1 -0
  140. package/dist/{layers.PgP_VUbS.js → layers.DYBPHK7l.js} +1 -1
  141. package/dist/{layers.DJB5_LSp.js → layers.DZK749C2.js} +1 -1
  142. package/dist/{layers.CLosHMGv.js → layers.DbIltWwp.js} +1 -1
  143. package/dist/{layers.Dy4lnzwN.js → layers.DbOOCaz2.js} +1 -1
  144. package/dist/{layers.D_Xe2QS9.js → layers.DbX0rqwd.js} +4 -4
  145. package/dist/{layers.BHeuKIoS.js → layers.DcBdsZMc.js} +1 -1
  146. package/dist/{layers.DcC2k41Q.js → layers.DczSjP7Z.js} +1 -1
  147. package/dist/{layers.DpUup5rE.js → layers.DdK_Eonr.js} +1 -1
  148. package/dist/{layers.BC4Cttyc.js → layers.Dk9h7A2H.js} +1 -1
  149. package/dist/{layers.BNXta7e-.js → layers.DkZ2y88s.js} +1 -1
  150. package/dist/{layers.CzTykvY1.js → layers.DlHONqbm.js} +1 -1
  151. package/dist/{layers.B30iMHxE.js → layers.DmtA1lxX.js} +1 -1
  152. package/dist/{layers.CSFq-iOi.js → layers.DoBUNNqr.js} +1 -1
  153. package/dist/{layers.BvmrJvkb.js → layers.DrRJaIXp.js} +1 -1
  154. package/dist/{layers.D19RY98C.js → layers.DrlJyajh.js} +1 -1
  155. package/dist/{layers.BSMuWiDK.js → layers.DrxV4IOH.js} +1 -1
  156. package/dist/{layers.B7J2UJL8.js → layers.DsX_E9wz.js} +1 -1
  157. package/dist/{layers.B0kscDza.js → layers.DtQTAYqR.js} +3 -3
  158. package/dist/{layers.g3lwXMuE.js → layers.DthM8o7K.js} +5 -5
  159. package/dist/{layers.BCRB2Vl4.js → layers.Dup-WR4v.js} +1 -1
  160. package/dist/layers.Dw1JCQ9p.js +8 -0
  161. package/dist/{layers.DYqlSXDW.js → layers.DwM4UWNe.js} +1 -1
  162. package/dist/{layers.DAj2Hdxv.js → layers.Dyq4oE3u.js} +1 -1
  163. package/dist/{layers.DBedkl3F.js → layers.EfCSYazs.js} +1 -1
  164. package/dist/{layers.B-VoOGJ7.js → layers.FFyXe6z4.js} +1 -1
  165. package/dist/{layers.C31CPU0W.js → layers.FltZO6qp.js} +1 -1
  166. package/dist/{layers.DmbS56_O.js → layers.GFJuz4rb.js} +1 -1
  167. package/dist/{layers.z7rZESjE.js → layers.HegeQ-P4.js} +4 -4
  168. package/dist/{layers.CUxPaOR5.js → layers.LUuoVRak.js} +1 -1
  169. package/dist/{layers.Ck2T1Fx-.js → layers.MFxcehAN.js} +1 -1
  170. package/dist/{layers.BpT6nsEp.js → layers.MSZFpmoF.js} +1 -1
  171. package/dist/{layers.BETPq3qR.js → layers.PApLvi5E.js} +1 -1
  172. package/dist/{layers.Dm6-bFRw.js → layers.Re-Qwvas.js} +1 -1
  173. package/dist/{layers.NBZzOF6D.js → layers.RyXza-4N.js} +1 -1
  174. package/dist/{layers.CwCFkQTB.js → layers.SiAFUFZQ.js} +3 -3
  175. package/dist/{layers.DJY8WS0y.js → layers.Slg9jO18.js} +1 -1
  176. package/dist/{layers.PAwv2fkO.js → layers.WNzKEXKP.js} +1 -1
  177. package/dist/{layers.S0bwVKEo.js → layers.XEWUAZY7.js} +25 -25
  178. package/dist/{layers.CDQRPUmK.js → layers.Z3N6VKCo.js} +1 -1
  179. package/dist/{layers.CMiEZzfd.js → layers.aDMznPYN.js} +1 -1
  180. package/dist/{layers.Cj2oUf6q.js → layers.akhIY05g.js} +1 -1
  181. package/dist/{layers.BU4r-bDv.js → layers.bLjrmZDL.js} +6 -6
  182. package/dist/{layers.D_E_Kc96.js → layers.cGz39YHH.js} +1 -1
  183. package/dist/{layers.DSHWI91l.js → layers.cQtbmzr5.js} +1 -1
  184. package/dist/{layers.CBUeSYR6.js → layers.dLR82NXh.js} +1 -1
  185. package/dist/{layers.CsO2ftX5.js → layers.fylJTlmA.js} +1 -1
  186. package/dist/{layers.6cjoiz2W.js → layers.ioeV_8l8.js} +1 -1
  187. package/dist/{layers.Dq5zy6bE.js → layers.kerWpkns.js} +1 -1
  188. package/dist/{layers.JycQDBPR.js → layers.l1tMLbxO.js} +2 -2
  189. package/dist/{layers.BMQ2GCxI.js → layers.lSugZ2wN.js} +1 -1
  190. package/dist/{layers.DDQ11qGZ.js → layers.nZSIaS9j.js} +1 -1
  191. package/dist/{layers.d7xa1SM2.js → layers.nxWcP_cN.js} +1 -1
  192. package/dist/{layers.CkhXLjFB.js → layers.ocXiL6iA.js} +1 -1
  193. package/dist/{layers.rNX8_vfT.js → layers.oygdBfvT.js} +1 -1
  194. package/dist/{layers.ClQiuxJ3.js → layers.pCeD5WJi.js} +1 -1
  195. package/dist/{layers.yWuXA0n3.js → layers.r-J41ZpO.js} +1 -1
  196. package/dist/{layers.uWp6ndSe.js → layers.rEr11GDY.js} +1 -1
  197. package/dist/{layers.4mmjAxqQ.js → layers.sH9b5ZDp.js} +4 -4
  198. package/dist/{layers.CNq8JZbo.js → layers.tsvLhDct.js} +1 -1
  199. package/dist/{layers.CJMOCItJ.js → layers.ud0o393C.js} +3 -3
  200. package/dist/{layers.2OYX1Vp4.js → layers.vVtmFRDs.js} +1 -1
  201. package/dist/{layers.DdVPx6hl.js → layers.wLMWH0Zr.js} +4 -4
  202. package/dist/{layers.g3Beq7S5.js → layers.xprriLng.js} +1 -1
  203. package/dist/{layers.DZibrJ8k.js → layers.y8wgDE2H.js} +1 -1
  204. package/dist/layers.yNJ_hHNP.js +702 -0
  205. package/dist/{layers.TGudOLYA.js → layers.yyS8kCbd.js} +1 -1
  206. package/package.json +80 -80
  207. package/dist/layers.B8Tx9pBQ.js +0 -904
  208. package/dist/layers.BTVeP4qu.js +0 -1
  209. package/dist/layers.Cg0qq1SE.js +0 -952
  210. package/dist/layers.Ch6gFG1a.js +0 -1
  211. package/dist/layers.DT2FZdJ1.js +0 -8
  212. package/dist/layers.DYZtGZLm.js +0 -1
  213. package/dist/layers.Dn_hZrvQ.js +0 -6
@@ -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.CV8BuUFq.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
+ };