@layers-app/editor 2.2.13 → 2.2.15

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 +41 -5
  3. package/dist/index.js +4 -4
  4. package/dist/{layers.BC7vhblC.js → layers.1HBRKOCr.js} +2 -2
  5. package/dist/{layers.3wwQYvzE.js → layers.7uu_dFK8.js} +1 -1
  6. package/dist/{layers.CBV4_Q8v.js → layers.8ejk3zko.js} +1 -1
  7. package/dist/{layers.l3mgnfnL.js → layers.99mMYy9h.js} +1 -1
  8. package/dist/{layers.B66zWJVX.js → layers.Ar7Q0cYd.js} +1 -1
  9. package/dist/{layers.D8a6nUov.js → layers.B-ZHB-Bf.js} +1 -1
  10. package/dist/{layers.DNUSxXhb.js → layers.B1-tmGD1.js} +2 -2
  11. package/dist/{layers.DnQ8Hqqs.js → layers.B1ttfAmQ.js} +1 -1
  12. package/dist/{layers.BrlWHGOv.js → layers.B1u_VVGI.js} +1 -1
  13. package/dist/{layers.yCLo3Wbl.js → layers.B201Heem.js} +8996 -10334
  14. package/dist/{layers.CtPms5Xq.js → layers.B3KTakx3.js} +1 -1
  15. package/dist/{layers.Dynz-n4p.js → layers.B68H9kJg.js} +4 -4
  16. package/dist/layers.B6KeIG9u.js +1 -0
  17. package/dist/{layers.BaR-0FXu.js → layers.B7nCMFj7.js} +1 -1
  18. package/dist/{layers.B3JEjkxk.js → layers.B84tjXVU.js} +2 -2
  19. package/dist/{layers.DXB7J8Cv.js → layers.B8yR20Ny.js} +1 -1
  20. package/dist/{layers.ai2dep1M.js → layers.BA4MRIZH.js} +1 -1
  21. package/dist/{layers.BIs6O-GJ.js → layers.BAnVQdk1.js} +1 -1
  22. package/dist/{layers.DjhDyCyv.js → layers.BCNyGz0l.js} +1 -1
  23. package/dist/{layers.DPKTuHVy.js → layers.BFbf-x8T.js} +1 -1
  24. package/dist/{layers.D5yxCQUQ.js → layers.BFbhYv5x.js} +4 -4
  25. package/dist/{layers.BFwFOFp6.js → layers.BFhLzOn_.js} +1 -1
  26. package/dist/{layers.DIYNIhmL.js → layers.BG8piiP6.js} +1 -1
  27. package/dist/{layers.B_fnqaZz.js → layers.BH3EDz8J.js} +3 -3
  28. package/dist/{layers.BcsT75ls.js → layers.BIj91s8M.js} +1 -1
  29. package/dist/{layers.XH7cZ7RM.js → layers.BJGAXglq.js} +1 -1
  30. package/dist/layers.BJWwtj05.js +1 -0
  31. package/dist/{layers.B_gZcwlE.js → layers.BK9BVRVU.js} +1 -1
  32. package/dist/{layers.DjwXaeUR.js → layers.BMJo3GSy.js} +1 -1
  33. package/dist/{layers.CjScpCJV.js → layers.BNCnk6zD.js} +1 -1
  34. package/dist/{layers.BsvIPtfm.js → layers.BOihU4M6.js} +1 -1
  35. package/dist/{layers.BigEixkp.js → layers.BTcECCp9.js} +1 -1
  36. package/dist/{layers.DtsEFkET.js → layers.BW6AHSw2.js} +1 -1
  37. package/dist/{layers.wGzJrfo_.js → layers.BWV-E96S.js} +1 -1
  38. package/dist/{layers.37tEugLg.js → layers.BX3ZJedn.js} +1 -1
  39. package/dist/{layers.B9sf0spO.js → layers.BX6tu0oo.js} +1 -1
  40. package/dist/{layers.DOb66OYY.js → layers.BY3IsWRw.js} +1 -1
  41. package/dist/{layers.CleLwZl0.js → layers.B_dzMPUL.js} +1 -1
  42. package/dist/{layers.CYhG0PVj.js → layers.Bb_M2Nbv.js} +1 -1
  43. package/dist/{layers.Z-TdlRF3.js → layers.BbpclPxe.js} +1 -1
  44. package/dist/{layers.BvHIl1Jn.js → layers.BcvdQvm3.js} +1 -1
  45. package/dist/{layers.Wc4x1Zm8.js → layers.Bgwp65S3.js} +1 -1
  46. package/dist/{layers.CW7IYnjZ.js → layers.BgxuL32K.js} +1 -1
  47. package/dist/{layers.CUNHYbl9.js → layers.BiU1U41q.js} +4 -4
  48. package/dist/{layers.D9Qf2-2n.js → layers.BibJBLE-.js} +1 -1
  49. package/dist/{layers.DvK-Bg8a.js → layers.Bjw19aIq.js} +1 -1
  50. package/dist/{layers.dTSX6ksI.js → layers.BkU4AN7i.js} +3 -3
  51. package/dist/{layers.DCw7IDLF.js → layers.BkZXbAoU.js} +1 -1
  52. package/dist/{layers.ESqpMXS3.js → layers.Bl2V5RPb.js} +1 -1
  53. package/dist/{layers.Bsi0UrCO.js → layers.BmyIaJ5e.js} +1 -1
  54. package/dist/{layers.BigDr41r.js → layers.Bnv-DwU7.js} +1 -1
  55. package/dist/{layers.BqxDJqKM.js → layers.BshZZhOJ.js} +1 -1
  56. package/dist/layers.BtzLvQvV.js +700 -0
  57. package/dist/{layers.CcDsGNq9.js → layers.BuwM8ZGL.js} +1 -1
  58. package/dist/{layers.OumDuIvP.js → layers.BvrO7BNd.js} +1 -1
  59. package/dist/{layers.Bt2vtG3f.js → layers.Bwj0Wit4.js} +1 -1
  60. package/dist/{layers.CYKwKRmZ.js → layers.BxjT9u_f.js} +1 -1
  61. package/dist/{layers.CP5kVDkH.js → layers.Bya3AhdH.js} +1 -1
  62. package/dist/{layers.CStfj82G.js → layers.BzWIxNJr.js} +1 -1
  63. package/dist/{layers.D1hpe05R.js → layers.C-PXroz8.js} +1 -1
  64. package/dist/{layers.BZsKqMo_.js → layers.C0Wp9yqj.js} +1 -1
  65. package/dist/{layers.BpS_R1ze.js → layers.C13ay-Pf.js} +1 -1
  66. package/dist/{layers.C0d-rEWd.js → layers.C3qcp6Wn.js} +1 -1
  67. package/dist/{layers.Dnp2z9ph.js → layers.C3rq_vys.js} +3 -3
  68. package/dist/{layers.BY8-cdIn.js → layers.C5urIO9L.js} +1 -1
  69. package/dist/{layers.BThnJXqq.js → layers.C6VrKY5E.js} +1 -1
  70. package/dist/{layers.sZIPFKhz.js → layers.C9f6j1GG.js} +4 -4
  71. package/dist/{layers.CeS02mnZ.js → layers.CA42dtGg.js} +1 -1
  72. package/dist/{layers.Bl1Au46v.js → layers.CCBzixpF.js} +1 -1
  73. package/dist/{layers.BtoPheAp.js → layers.CCoKYQm7.js} +1 -1
  74. package/dist/{layers.Bds0L5fM.js → layers.CD4AbnH-.js} +1 -1
  75. package/dist/{layers.CrhsbZkv.js → layers.CDn9MY7X.js} +1 -1
  76. package/dist/{layers.B2mGFsAC.js → layers.CDqsvGnF.js} +1 -1
  77. package/dist/{layers.DosKpDm5.js → layers.CGfHVR_8.js} +1 -1
  78. package/dist/{layers.WZzI_Kta.js → layers.CHOzGR1D.js} +1 -1
  79. package/dist/{layers.C8ZH1mci.js → layers.CHoAc92V.js} +1 -1
  80. package/dist/{layers.lpjtCe_h.js → layers.CIsgSUWR.js} +1 -1
  81. package/dist/{layers.BAqKF19S.js → layers.CKAyIKKo.js} +4 -4
  82. package/dist/{layers.CFJf_XjC.js → layers.CNC59Jpm.js} +3 -3
  83. package/dist/{layers.Dz4O4wYH.js → layers.CNe39u8B.js} +1 -1
  84. package/dist/{layers.g1tbWHIt.js → layers.CNn4A7Qc.js} +1 -1
  85. package/dist/{layers.P85lya-a.js → layers.CO77WNOM.js} +1 -1
  86. package/dist/{layers.CXDCVR_J.js → layers.COiVJ7CK.js} +1 -1
  87. package/dist/{layers.CDfbx7ul.js → layers.COxPGTLD.js} +1 -1
  88. package/dist/{layers.1UfoZIrI.js → layers.CR021P7R.js} +1 -1
  89. package/dist/{layers.CejpT0WV.js → layers.CS130O1F.js} +1 -1
  90. package/dist/{layers.D331JcVc.js → layers.CT7e3_cA.js} +4 -4
  91. package/dist/{layers.Cw3dSU_j.js → layers.CTdGoti9.js} +4 -4
  92. package/dist/{layers.BXtv16EU.js → layers.CTjQ04Jm.js} +1 -1
  93. package/dist/{layers.BnVEoBHV.js → layers.CUjdx5fM.js} +1 -1
  94. package/dist/{layers.BhT5rikg.js → layers.C_SFHMhT.js} +1 -1
  95. package/dist/{layers.DQ0s8efE.js → layers.C_Z_okpN.js} +1 -1
  96. package/dist/{layers.bzCn6mlQ.js → layers.C_jT8dXa.js} +2 -2
  97. package/dist/{layers.BKUDAY8p.js → layers.Cdmrn8XG.js} +1 -1
  98. package/dist/{layers.0aPpAvdf.js → layers.Ce5eSQF4.js} +1 -1
  99. package/dist/{layers.QncPHgyq.js → layers.CeECeaph.js} +1 -1
  100. package/dist/{layers.Clg0Pbcz.js → layers.Ceehh2Xx.js} +1 -1
  101. package/dist/{layers.BuAZE5RA.js → layers.CfB7Kr3T.js} +1 -1
  102. package/dist/{layers.BnDREviU.js → layers.CfKMVgM-.js} +1 -1
  103. package/dist/{layers.B3YzwKY_.js → layers.CgQFiexq.js} +1 -1
  104. package/dist/{layers.Dg4wujI9.js → layers.CictkUCB.js} +1 -1
  105. package/dist/{layers.AndwUZMN.js → layers.Cmr8HLVr.js} +1 -1
  106. package/dist/{layers.BYPnQ-jA.js → layers.CobjMun3.js} +1 -1
  107. package/dist/{layers.BSmPG8nH.js → layers.CpUDnDrR.js} +1 -1
  108. package/dist/{layers.8FxnTxBD.js → layers.CsCWLgyS.js} +1 -1
  109. package/dist/{layers.CZB2dVO1.js → layers.CsU4fOrm.js} +1 -1
  110. package/dist/{layers.CDGYthd7.js → layers.CstcQOU_.js} +1 -1
  111. package/dist/{layers.CEaS6td1.js → layers.CtV3MNt1.js} +1 -1
  112. package/dist/{layers.BdMRhosW.js → layers.CvLYOfw_.js} +4 -4
  113. package/dist/{layers.DwAs0sw_.js → layers.Cx98JrJO.js} +3 -3
  114. package/dist/{layers.Dxz26OMI.js → layers.CyS50vo4.js} +1 -1
  115. package/dist/{layers.BAgJYqZS.js → layers.CzxrVQZJ.js} +1 -1
  116. package/dist/{layers.dH54y4EX.js → layers.D-eTHfbm.js} +1 -1
  117. package/dist/{layers.Cc6Dy3lN.js → layers.D0XSoxIh.js} +1 -1
  118. package/dist/{layers.CwPRjURH.js → layers.D0wALH_j.js} +6 -6
  119. package/dist/{layers.Cj0AK_M3.js → layers.D1O76qtk.js} +1 -1
  120. package/dist/{layers.BJnYBCs1.js → layers.D1ePyfGa.js} +3 -3
  121. package/dist/{layers.CvQehbdA.js → layers.D20j9Tr7.js} +1 -1
  122. package/dist/{layers.DdCcfPLj.js → layers.D2KeSCbY.js} +3 -3
  123. package/dist/layers.D3qu_MDj.js +6 -0
  124. package/dist/{layers.CeOT2PQd.js → layers.D4OJAduR.js} +1 -1
  125. package/dist/{layers.srPvwTOS.js → layers.D4k2d_PJ.js} +1 -1
  126. package/dist/{layers.BSvoaj4y.js → layers.D5BE_Leu.js} +1 -1
  127. package/dist/{layers.BSyurqR0.js → layers.D6I-6B30.js} +1 -1
  128. package/dist/{layers.DhqkpEla.js → layers.D8vYNGoN.js} +1 -1
  129. package/dist/{layers.BPV47e59.js → layers.DCzDkApU.js} +1 -1
  130. package/dist/{layers.BjbTCxL7.js → layers.DD5IFB9e.js} +1 -1
  131. package/dist/{layers.CYuvR6xl.js → layers.DDHLiCry.js} +1 -1
  132. package/dist/layers.DG4jbcpC.js +904 -0
  133. package/dist/{layers.DS8FRAoI.js → layers.DJ-N7-bn.js} +1 -1
  134. package/dist/{layers.DeH-6Bdd.js → layers.DLGtdjDD.js} +5 -5
  135. package/dist/{layers.CD59hFOU.js → layers.DN7tC8ON.js} +1 -1
  136. package/dist/{layers.Dkh0KNA7.js → layers.DNw00Zzf.js} +1 -1
  137. package/dist/{layers.BacWku-_.js → layers.DOwKRBS2.js} +1 -1
  138. package/dist/{layers.k-T7HWtG.js → layers.DPPblCob.js} +1 -1
  139. package/dist/layers.DPlUixeN.js +1 -0
  140. package/dist/{layers.ChpRh-ln.js → layers.DREQfPKh.js} +3 -3
  141. package/dist/{layers.CDeO1yM0.js → layers.DRgdytYB.js} +1 -1
  142. package/dist/{layers.nY2hjF-S.js → layers.DSRIeWLB.js} +2 -2
  143. package/dist/{layers.DjX2hnXr.js → layers.DSq8O3u2.js} +1 -1
  144. package/dist/{layers.BmCu7IPT.js → layers.DWKxQNZq.js} +1 -1
  145. package/dist/{layers.DhYyc8EE.js → layers.DX2AoDzH.js} +1 -1
  146. package/dist/{layers.BQwJz_NL.js → layers.DXHAdC9s.js} +1 -1
  147. package/dist/{layers.BBKJEbGP.js → layers.DXvg_s1v.js} +2 -2
  148. package/dist/{layers.BbFbumMx.js → layers.DY4aTRUl.js} +1 -1
  149. package/dist/{layers.DusKIV96.js → layers.DahXv94g.js} +1 -1
  150. package/dist/{layers.Pkxzj3oB.js → layers.Dd0lsrdV.js} +1 -1
  151. package/dist/{layers.BAY04JaZ.js → layers.Dem8CmFn.js} +1 -1
  152. package/dist/{layers.CwbcSmTY.js → layers.DgqdIjwz.js} +117 -117
  153. package/dist/{layers.CB5FEkIo.js → layers.DhnzUunp.js} +3 -3
  154. package/dist/{layers.CMwdDXVu.js → layers.Djlfabv1.js} +1 -1
  155. package/dist/{layers.DKgfPRYD.js → layers.DmDnRpAI.js} +5 -5
  156. package/dist/{layers.DQ3fD-nt.js → layers.DogbT2sQ.js} +25 -25
  157. package/dist/{layers.BrfCLctd.js → layers.DojVzqkZ.js} +1 -1
  158. package/dist/{layers.CsU3BVt1.js → layers.Dq4Gy1Jy.js} +4 -4
  159. package/dist/{layers.7nD94Zq9.js → layers.DqN5SjrO.js} +1 -1
  160. package/dist/{layers.C1uyYyYs.js → layers.Dqt3rDkE.js} +1 -1
  161. package/dist/{layers.BH9Su9z-.js → layers.DtY8IMm6.js} +4 -4
  162. package/dist/{layers.BZoloilP.js → layers.DuoVv8Hb.js} +1 -1
  163. package/dist/{layers.DHjIFQ_M.js → layers.Dup2XYYb.js} +1 -1
  164. package/dist/{layers.Dhb2eyJ-.js → layers.Dv-uQR89.js} +1 -1
  165. package/dist/{layers.D2M9J9av.js → layers.DvpS1jTV.js} +1 -1
  166. package/dist/{layers.CscLHDkP.js → layers.DwxPC1iD.js} +1 -1
  167. package/dist/layers.Dx5ZkjwQ.js +198 -0
  168. package/dist/{layers.BqB6Yq44.js → layers.DxebjRcD.js} +1 -1
  169. package/dist/{layers.DBO29Egl.js → layers.DxfoL-9U.js} +1 -1
  170. package/dist/{layers.BKWnKnjv.js → layers.DyQhad7c.js} +3 -3
  171. package/dist/{layers.C9ctlRmN.js → layers.DyqCj3dP.js} +1 -1
  172. package/dist/{layers.C8XQB0hE.js → layers.DzoQaN17.js} +1 -1
  173. package/dist/{layers.BCUYEv9o.js → layers.DzzMhx-l.js} +1 -1
  174. package/dist/{layers.B2bKeFdG.js → layers.E9Ext2HT.js} +1 -1
  175. package/dist/{layers.ClJnHuky.js → layers.ER4cNuf6.js} +1 -1
  176. package/dist/{layers.o9ZAvGrl.js → layers.EVh_QlEr.js} +1 -1
  177. package/dist/{layers.DaX7VtGb.js → layers.L4WvtETF.js} +1 -1
  178. package/dist/{layers.C1cG7Bb2.js → layers.OsyM3TFW.js} +1 -1
  179. package/dist/{layers._PAU7LYb.js → layers.Sq01ui8C.js} +1 -1
  180. package/dist/{layers.B6b2Mbvh.js → layers.UEwHT_by.js} +1 -1
  181. package/dist/{layers.DeilQ54T.js → layers.YTHG2Apb.js} +1 -1
  182. package/dist/layers.YwwtbZte.js +1 -0
  183. package/dist/{layers.B_5WEr0K.js → layers.csfFUyHr.js} +1 -1
  184. package/dist/{layers.g-krtm71.js → layers.kWxuwjOK.js} +1 -1
  185. package/dist/{layers.CSNHMV8J.js → layers.keZq9JiN.js} +1 -1
  186. package/dist/{layers.DlzA-xHt.js → layers.kf-8G-tf.js} +1 -1
  187. package/dist/{layers.BdhtJPxa.js → layers.mRJBkk-f.js} +1 -1
  188. package/dist/{layers.DUCC1vXz.js → layers.n48qAHkM.js} +1 -1
  189. package/dist/{layers.C_T_LMJy.js → layers.okxozVhc.js} +26136 -25363
  190. package/dist/{layers.CZXlcEmg.js → layers.ooRrvrxo.js} +1 -1
  191. package/dist/{layers.yJpgPNcv.js → layers.pGd6B9C1.js} +1 -1
  192. package/dist/{layers.DZ31VEe-.js → layers.qM1P_DCD.js} +1 -1
  193. package/dist/{layers.B3zYKBsf.js → layers.qpCEVrfr.js} +1 -1
  194. package/dist/{layers.BcVU2ayW.js → layers.t7ujVwoH.js} +1 -1
  195. package/dist/{layers.CclBI9O_.js → layers.tW6VrAWA.js} +1 -1
  196. package/dist/{layers.BzM8rwNt.js → layers.tXvGbLLo.js} +1 -1
  197. package/dist/{layers.B5OSUMkS.js → layers.uOU_7yMT.js} +1 -1
  198. package/dist/layers.uOxzTLi8.js +8 -0
  199. package/dist/{layers.CGyBG9uN.js → layers.uj5aO3Td.js} +1 -1
  200. package/dist/{layers.HGzaw5gb.js → layers.vVoBYMgB.js} +1 -1
  201. package/dist/{layers.CxgO5L0U.js → layers.vWwZFH4t.js} +1 -1
  202. package/dist/{layers.DNahvyh3.js → layers.vb_gQYIH.js} +1 -1
  203. package/dist/{layers.qzgeeXgK.js → layers.zcYhb5k2.js} +1 -1
  204. package/package.json +80 -80
  205. package/dist/layers.BugevNWi.js +0 -520
  206. package/dist/layers.CNAxOHS_.js +0 -1
  207. package/dist/layers.Cl1WZyZB.js +0 -8
  208. package/dist/layers.D1yQKEca.js +0 -198
  209. package/dist/layers.D2OzccOg.js +0 -1
  210. package/dist/layers.IOldzt94.js +0 -1
  211. package/dist/layers.NG3ggnia.js +0 -6
  212. package/dist/layers.__VjF_qK.js +0 -1126
  213. package/dist/layers.ur5mqrxg.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.okxozVhc.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
+ };