@layers-app/editor 0.7.83 → 0.7.84

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 (227) hide show
  1. package/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +65 -5
  4. package/dist/index.js +14 -12
  5. package/dist/{layers.D8I7vkKT.js → layers.3ttD_EZK.js} +1 -1
  6. package/dist/{layers.BwmhYoL3.js → layers.5LDY8hF9.js} +1 -1
  7. package/dist/{layers.IVJUzMgf.js → layers.5h0jfjke.js} +1 -1
  8. package/dist/{layers.Cy7AjYZx.js → layers.660VGPLH.js} +1 -1
  9. package/dist/layers.7GMTASen.js +1 -0
  10. package/dist/{layers.BrQjobEL.js → layers.7usfK_-Q.js} +5 -5
  11. package/dist/{layers.B-dlc6cw.js → layers.AQBGf1qx.js} +1 -1
  12. package/dist/{layers.CRxERwSY.js → layers.B-dcjV1g.js} +1 -1
  13. package/dist/{layers.DmcFJkWO.js → layers.B0_pZ8Wl.js} +1 -1
  14. package/dist/{layers.sTtImEol.js → layers.B0q3XgJU.js} +1 -1
  15. package/dist/{layers.CtBP0dyC.js → layers.B8H90AZL.js} +1 -1
  16. package/dist/{layers.BUL0_AoV.js → layers.B9IorBEM.js} +1 -1
  17. package/dist/{layers.D3m0kMuD.js → layers.B9MvfZB3.js} +1 -1
  18. package/dist/{layers.CEaqDasJ.js → layers.BAHbyKTI.js} +1 -1
  19. package/dist/{layers.JOkm09-H.js → layers.BBb11shn.js} +1 -1
  20. package/dist/{layers.DyxWEz6w.js → layers.BEQKVl6A.js} +1 -1
  21. package/dist/{layers.CG0Sw8zo.js → layers.BI2tTCES.js} +6 -6
  22. package/dist/{layers.DPkGij5K.js → layers.BJZxeErp.js} +24 -24
  23. package/dist/{layers.DGCXZYAJ.js → layers.BKzyedUO.js} +1 -1
  24. package/dist/{layers.Bz5n89hB.js → layers.BPLJO6yY.js} +1 -1
  25. package/dist/{layers.5WaGIyRT.js → layers.BPPyJ7T3.js} +1 -1
  26. package/dist/{layers.BCPmmy_v.js → layers.BPZk8O3B.js} +1 -1
  27. package/dist/{layers.CGJ6ayRE.js → layers.BR1ZeHtq.js} +3 -3
  28. package/dist/{layers.Bb8Jgj7K.js → layers.BReXyMP1.js} +3 -3
  29. package/dist/{layers.DeCLYAbe.js → layers.BRgep5CM.js} +1 -1
  30. package/dist/{layers.DbMRx-Dj.js → layers.BRwBQRBw.js} +4 -4
  31. package/dist/{layers.mIUSNS0f.js → layers.BSi7fJpQ.js} +1 -1
  32. package/dist/{layers.DQ4-F76o.js → layers.BWBcNeNm.js} +1 -1
  33. package/dist/{layers.BuSHJaMW.js → layers.BWFrDCw_.js} +1 -1
  34. package/dist/{layers.BUxla0ps.js → layers.BXdFvlYk.js} +1 -1
  35. package/dist/{layers.F-UKugDS.js → layers.BXzbZ2bt.js} +1 -1
  36. package/dist/{layers.BUQJ5YAI.js → layers.BaRbHFQv.js} +1 -1
  37. package/dist/{layers.EZcPBpsu.js → layers.BcLH4bTX.js} +1 -1
  38. package/dist/{layers.DNP3jMoV.js → layers.BciYyxTd.js} +1 -1
  39. package/dist/{layers.BY0MmxlB.js → layers.BehL29a3.js} +1 -1
  40. package/dist/{layers.BBAvSpdM.js → layers.BfaNu6cT.js} +1 -1
  41. package/dist/{layers.DMFoUxqh.js → layers.BgV2y1LX.js} +1 -1
  42. package/dist/{layers.BbiJAosF.js → layers.BgiDHAu5.js} +1 -1
  43. package/dist/{layers.B6eyBkq8.js → layers.BgxBysUn.js} +1 -1
  44. package/dist/layers.BhReR8mV.js +45335 -0
  45. package/dist/{layers.BmribpsN.js → layers.BiS82Ah3.js} +1 -1
  46. package/dist/{layers.szeANv-7.js → layers.BmxK4cMQ.js} +1 -1
  47. package/dist/{layers.B8z3GWi1.js → layers.Bo2uUdWq.js} +1 -1
  48. package/dist/layers.BoEvkl8V.js +304 -0
  49. package/dist/{layers.CTG515LD.js → layers.BoWHcEDI.js} +1 -1
  50. package/dist/{layers.BuD8Q-c2.js → layers.BoaxPkiF.js} +1 -1
  51. package/dist/{layers.CFvL3646.js → layers.BqHl1vOL.js} +1 -1
  52. package/dist/{layers.UPtp3bgn.js → layers.BrfmPh4h.js} +1 -1
  53. package/dist/{layers.B4iMlhSy.js → layers.BsWULi2R.js} +4 -4
  54. package/dist/{layers.DJoKfH5A.js → layers.Bt1x-jBU.js} +1 -1
  55. package/dist/{layers.DdAuOmuP.js → layers.BtD7rnnP.js} +2 -2
  56. package/dist/{layers.DXhZL-H1.js → layers.BtgFk9_J.js} +1 -1
  57. package/dist/{layers.BaZ3NW37.js → layers.BuVfRGSL.js} +1 -1
  58. package/dist/{layers.DIwZpb3M.js → layers.BxVC0q0O.js} +4 -4
  59. package/dist/{layers.DxclerPV.js → layers.BzF_UPBp.js} +1 -1
  60. package/dist/{layers.CBuKT3oB.js → layers.BzYL8dLV.js} +1 -1
  61. package/dist/{layers.CFNbWAuP.js → layers.C06l9Zne.js} +1 -1
  62. package/dist/{layers.B8HY0o5d.js → layers.C2LIQiyR.js} +1 -1
  63. package/dist/{layers.Co64erM7.js → layers.C2SMpGCy.js} +1 -1
  64. package/dist/{layers.C2S8DqmD.js → layers.C2s6EBCQ.js} +1 -1
  65. package/dist/{layers.DHmWTIoY.js → layers.C7skWr7U.js} +1 -1
  66. package/dist/{layers.3bxf0c6x.js → layers.C980d8Nd.js} +1 -1
  67. package/dist/{layers.mnXYKuKa.js → layers.CAiKaIpy.js} +1 -1
  68. package/dist/{layers.xA68YxHH.js → layers.CAojvkOK.js} +1 -1
  69. package/dist/{layers.CCv-fjts.js → layers.CBClDrA9.js} +1 -1
  70. package/dist/{layers.Ddws1BbW.js → layers.CCzpc2XM.js} +1 -1
  71. package/dist/{layers.EWulKzfg.js → layers.CFeg1ljH.js} +1 -1
  72. package/dist/{layers.DA3tpx4D.js → layers.CGde-__V.js} +1 -1
  73. package/dist/{layers.DTdms9_C.js → layers.CLXiEuBY.js} +1 -1
  74. package/dist/{layers.BrkZo3KL.js → layers.CM6p48QZ.js} +7 -7
  75. package/dist/{layers.CIw0w7tI.js → layers.CMByv_JC.js} +1 -1
  76. package/dist/{layers.CG4146lg.js → layers.CNtZ5750.js} +1 -1
  77. package/dist/{layers.B-wft6s0.js → layers.CPQnDAfI.js} +1 -1
  78. package/dist/{layers.COkKeSQX.js → layers.CPc7V8vV.js} +1 -1
  79. package/dist/{layers.CwfPIBHp.js → layers.CRny5Vhs.js} +1 -1
  80. package/dist/{layers.tTYxvuJY.js → layers.CTLImrV_.js} +4 -4
  81. package/dist/{layers.CO0QVskt.js → layers.CUUNO7NC.js} +1 -1
  82. package/dist/{layers.B0ngcf1d.js → layers.CVkPVOoO.js} +1 -1
  83. package/dist/{layers.D_hVCN75.js → layers.CWM9jAVS.js} +1 -1
  84. package/dist/{layers._y2WfpkQ.js → layers.CWUd5ICZ.js} +1 -1
  85. package/dist/{layers.BtfRCmIC.js → layers.CbSE8pbT.js} +5 -5
  86. package/dist/{layers.Bv0tWQvj.js → layers.CfYin5Er.js} +1 -1
  87. package/dist/layers.CiAB6Wqk.js +6 -0
  88. package/dist/{layers.Dh8QjcTZ.js → layers.CiXrup6j.js} +3 -3
  89. package/dist/{layers.B_YMtDby.js → layers.CjAzvfUi.js} +1 -1
  90. package/dist/{layers.Xa62YAFM.js → layers.CjD6r90E.js} +3 -3
  91. package/dist/{layers.Bl_e9zhw.js → layers.CkMA93G9.js} +1 -1
  92. package/dist/{layers.77_JqrV3.js → layers.Ckgrr88o.js} +4 -4
  93. package/dist/{layers.cYH4_rAx.js → layers.CkibkU4E.js} +1 -1
  94. package/dist/layers.CmmYt3Ou.js +1 -0
  95. package/dist/{layers.C2QUOQe2.js → layers.Cn7-tvQd.js} +1 -1
  96. package/dist/{layers.CWLtU2mO.js → layers.CnM_VO8d.js} +1 -1
  97. package/dist/{layers.BlFJlrRv.js → layers.CnlomgVK.js} +1 -1
  98. package/dist/{layers.DeokLVkM.js → layers.Coe5BZQB.js} +1 -1
  99. package/dist/{layers.Cjdq4VZX.js → layers.Cp8gOVZg.js} +1 -1
  100. package/dist/{layers.CTUxInU6.js → layers.Cqvn4Ghk.js} +1 -1
  101. package/dist/{layers.gqA7LScs.js → layers.CtfTA9wm.js} +1 -1
  102. package/dist/{layers.C0wXX851.js → layers.CuKB5PQH.js} +1 -1
  103. package/dist/{layers.raWdAydi.js → layers.CwfsdXiF.js} +1 -1
  104. package/dist/{layers.CyiPXlnV.js → layers.CxPmSslY.js} +1 -1
  105. package/dist/{layers.DpyThBZ7.js → layers.CzPfLUnL.js} +3 -3
  106. package/dist/{layers.Cqn-1Py7.js → layers.D1O867q2.js} +1 -1
  107. package/dist/{layers.Bt665zjf.js → layers.D3yp6byg.js} +1 -1
  108. package/dist/{layers.5seLfmtf.js → layers.D4pFUyQc.js} +1 -1
  109. package/dist/{layers.BXJCyQ4j.js → layers.D71ftE9n.js} +1 -1
  110. package/dist/layers.D90g-j4O.js +346 -0
  111. package/dist/{layers.CMcTPuIY.js → layers.DDApHZ03.js} +1 -1
  112. package/dist/{layers.CKFvJ-tm.js → layers.DFfPm1gw.js} +1 -1
  113. package/dist/{layers.DhlelU32.js → layers.DGL60Zxc.js} +1 -1
  114. package/dist/{layers.zSgt16VA.js → layers.DGanGoJD.js} +1 -1
  115. package/dist/{layers.CONRyoZV.js → layers.DJGxoM0s.js} +1 -1
  116. package/dist/{layers.cPdq4gdt.js → layers.DKTUA9Qn.js} +1 -1
  117. package/dist/{layers.R9aaoxRe.js → layers.DKYNs_CU.js} +1 -1
  118. package/dist/{layers.BU7ZcGWk.js → layers.DM3A2BTi.js} +1 -1
  119. package/dist/{layers.KSFZk6VG.js → layers.DMaOlxg4.js} +2 -2
  120. package/dist/{layers.BVcL0yUX.js → layers.DMo2CuQp.js} +1 -1
  121. package/dist/{layers.BlfO0V3v.js → layers.DNass_AW.js} +1 -1
  122. package/dist/{layers.CajFo9zn.js → layers.DQf6vZpw.js} +1 -1
  123. package/dist/layers.DSHp4o8G.js +17 -0
  124. package/dist/{layers.BsX6HUpG.js → layers.DSOSQ0TI.js} +1 -1
  125. package/dist/{layers.DTHpiXHx.js → layers.DTqXVHF2.js} +1 -1
  126. package/dist/{layers.SRAfgjty.js → layers.DU0SSrWN.js} +4 -4
  127. package/dist/{layers.BjHGD_Rm.js → layers.DV8uFYnA.js} +1 -1
  128. package/dist/{layers.CuvWI8dl.js → layers.DWPHA9B8.js} +1 -1
  129. package/dist/{layers.BMrWDlbc.js → layers.DXNUBu80.js} +1 -1
  130. package/dist/{layers.CwV2cmYF.js → layers.D_kAA9qL.js} +1 -1
  131. package/dist/{layers.Qi24xtJ2.js → layers.Da2wn6Zc.js} +1 -1
  132. package/dist/{layers.yhhU5_WT.js → layers.DaLQ3FRc.js} +1 -1
  133. package/dist/{layers.CG8a-WfN.js → layers.Db3F9Xht.js} +1 -1
  134. package/dist/{layers.BnUI-yZK.js → layers.Dc1g7Tdd.js} +1 -1
  135. package/dist/layers.De7xHLnX.js +1 -0
  136. package/dist/{layers.MTwXGrb5.js → layers.DeJEPXus.js} +1 -1
  137. package/dist/{layers.qhAMo9eG.js → layers.DeR26nCU.js} +3 -3
  138. package/dist/{layers.BogFI1FW.js → layers.Dfg7mZZ_.js} +1 -1
  139. package/dist/layers.Dg9ASVJB.js +454 -0
  140. package/dist/{layers.CivHKT7g.js → layers.DgUQgDzS.js} +1 -1
  141. package/dist/{layers.LhD742kk.js → layers.Di3SZpUk.js} +1 -1
  142. package/dist/{layers.Dh6wWsi0.js → layers.DiemxYQH.js} +1 -1
  143. package/dist/layers.DilA0qnM.js +54 -0
  144. package/dist/{layers.CPwsy2AR.js → layers.Dj16AL7s.js} +8 -8
  145. package/dist/{layers.CKBGQWOj.js → layers.DjWqQYKP.js} +1 -1
  146. package/dist/layers.DkNxNBfM.js +1 -0
  147. package/dist/layers.DlgVWdcp.js +1 -0
  148. package/dist/{layers.DibTFTIO.js → layers.DmaKWX_o.js} +1 -1
  149. package/dist/{layers.Bn4AkzBg.js → layers.DmoaeDiV.js} +1 -1
  150. package/dist/{layers.p8NDzwjT.js → layers.Dn-ec9WG.js} +2 -2
  151. package/dist/{layers.kHyuMMWv.js → layers.Dn052lpP.js} +1 -1
  152. package/dist/{layers.CjcNxUl8.js → layers.Dn7N_XxE.js} +4 -4
  153. package/dist/{layers.DBsU9sYi.js → layers.DnCk3akf.js} +1 -1
  154. package/dist/layers.DnJsFEqv.js +1 -0
  155. package/dist/{layers.jhKTSbxP.js → layers.DpFNEoh4.js} +1 -1
  156. package/dist/layers.DpLIZ7AU.js +8 -0
  157. package/dist/{layers.DoKZpWPL.js → layers.Dq9FVA37.js} +1 -1
  158. package/dist/{layers.LUTa3LO6.js → layers.DrtWEMM0.js} +1 -1
  159. package/dist/{layers.CBhBY8IP.js → layers.DuRnRhDt.js} +1 -1
  160. package/dist/{layers.Cv63mB3x.js → layers.DvW94-D9.js} +1 -1
  161. package/dist/{layers.DwEokbNr.js → layers.DvtA-_wr.js} +2 -2
  162. package/dist/{layers.DkkcmAeU.js → layers.DwDWuERK.js} +1 -1
  163. package/dist/{layers.yApvaVwV.js → layers.DyIJmOpf.js} +1 -1
  164. package/dist/{layers.BZeEilvb.js → layers.DyUWvbyL.js} +1 -1
  165. package/dist/{layers.DfffXL5W.js → layers.Dyuut1Do.js} +1 -1
  166. package/dist/{layers.3sIPH1Wb.js → layers.DyxXL2dv.js} +1 -1
  167. package/dist/{layers.v6W4CVcG.js → layers.Dz1zakYM.js} +1 -1
  168. package/dist/{layers.BON5nuFn.js → layers.DzAF3_nF.js} +3 -3
  169. package/dist/{layers.tCgl7g48.js → layers.EFS2GS7s.js} +1 -1
  170. package/dist/{layers.nJXRUgTL.js → layers.FDWSIAON.js} +1 -1
  171. package/dist/{layers.DKRzMr2L.js → layers.Fu_2GtJz.js} +1 -1
  172. package/dist/layers.GsZzw8KK.js +1 -0
  173. package/dist/{layers.BFEB6kp_.js → layers.HDhWea9s.js} +3 -3
  174. package/dist/{layers.TI8jcMgV.js → layers.Ho3d8f_s.js} +1 -1
  175. package/dist/{layers.dyEC0rd1.js → layers.IEu0gpU1.js} +1 -1
  176. package/dist/{layers.DC0jCMDP.js → layers.IbqwJCl8.js} +1 -1
  177. package/dist/{layers.ClAI8Yqd.js → layers.KQZtpBN5.js} +1 -1
  178. package/dist/layers.MCk79lJa.js +296 -0
  179. package/dist/{layers.VBqrVCDE.js → layers.PEWT33VM.js} +1 -1
  180. package/dist/{layers.CIgujOMT.js → layers.TV0bbpfe.js} +2 -2
  181. package/dist/{layers.BGaPy03k.js → layers.UfoPB0x7.js} +1 -1
  182. package/dist/{layers.JikNYsm2.js → layers.VD4Vzi4s.js} +1 -1
  183. package/dist/{layers.C-2QYUH5.js → layers.V_0nAu-4.js} +3 -3
  184. package/dist/{layers.6LMDcUt1.js → layers.WjBkkibY.js} +1 -1
  185. package/dist/{layers.BDRfIxQZ.js → layers.Zq2iwsGh.js} +1 -1
  186. package/dist/{layers.BpzPuHuf.js → layers.b4inQuE7.js} +3 -3
  187. package/dist/{layers.CHOALz8c.js → layers.cCqJlBzb.js} +1 -1
  188. package/dist/{layers.DtIBZlDi.js → layers.cRR6U8W0.js} +4 -4
  189. package/dist/{layers.CLAGv09w.js → layers.hbVvyWfL.js} +1 -1
  190. package/dist/{layers.C-EZ3rUh.js → layers.kY76W3YH.js} +1 -1
  191. package/dist/{layers.Di9NrvOg.js → layers.l1aB4_0i.js} +1 -1
  192. package/dist/{layers.CaW3ZCrs.js → layers.mhtpxqIl.js} +1 -1
  193. package/dist/{layers.CTeEuAes.js → layers.oKND5jmb.js} +4 -4
  194. package/dist/{layers.DZj3GBY6.js → layers.pDyyva3v.js} +1 -1
  195. package/dist/{layers.BmIK9U89.js → layers.q78-JEaW.js} +1 -1
  196. package/dist/{layers.DUpjukUX.js → layers.qP2AeOfJ.js} +1 -1
  197. package/dist/{layers.D1mHHKu2.js → layers.rW3ZkMNN.js} +1 -1
  198. package/dist/{layers.Lii0IRrJ.js → layers.raDKf7HQ.js} +1 -1
  199. package/dist/{layers.DyJ5IrbQ.js → layers.sHa6eov4.js} +1 -1
  200. package/dist/{layers.CjhD294p.js → layers.sf_C9kmK.js} +1 -1
  201. package/dist/{layers.BuvRK-ej.js → layers.t9aRFd0p.js} +1 -1
  202. package/dist/{layers.BYVEENtq.js → layers.v2gHHIgZ.js} +1 -1
  203. package/dist/{layers.Iu3j-tgl.js → layers.yGEqadiJ.js} +1 -1
  204. package/dist/{layers.BqXWGQe_.js → layers.yUHpRCIx.js} +1 -1
  205. package/dist/{layers.-uY7Qp4q.js → layers.yvWi9NIC.js} +3 -3
  206. package/dist/{layers._Rs4hFLr.js → layers.yxW2eOfP.js} +1 -1
  207. package/dist/{layers.Bqrp8zB5.js → layers.zCqvHYlG.js} +1 -1
  208. package/dist/{layers.CDYyVQB3.js → layers.zo-yg3U2.js} +1 -1
  209. package/package.json +47 -21
  210. package/dist/layers.1yxNCo9-.js +0 -32055
  211. package/dist/layers.ARotDxR1.js +0 -76
  212. package/dist/layers.B0ERvBXd.js +0 -1
  213. package/dist/layers.BGT2blWv.js +0 -213
  214. package/dist/layers.Bf8YDyuQ.js +0 -295
  215. package/dist/layers.Bv1lCF-z.js +0 -304
  216. package/dist/layers.C8TQ_Dv4.js +0 -6
  217. package/dist/layers.CB75UiZo.js +0 -1
  218. package/dist/layers.C_Lk-uQl.js +0 -1
  219. package/dist/layers.CeDMoJEe.js +0 -1
  220. package/dist/layers.CsJ1OcrH.js +0 -1
  221. package/dist/layers.Ctt-_Ctv.js +0 -1
  222. package/dist/layers.D2OO7X53.js +0 -8
  223. package/dist/layers.DFyvC6U-.js +0 -1
  224. package/dist/layers.WstL4TGY.js +0 -276
  225. package/dist/layers.bX0Yr8Xh.js +0 -271
  226. package/dist/layers.m2j8Vtrg.js +0 -1
  227. package/dist/layers.rQXzIbYl.js +0 -299
@@ -1,6 +0,0 @@
1
- import { e as o, j as s, o as f } from "./layers.CPwsy2AR.js";
2
- export {
3
- o as default,
4
- s as en,
5
- f as kaa
6
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("react"),T=require("react-dom"),d=require("./layers.Bv1lCF-z.js"),$=require("@lexical/react/LexicalComposerContext"),R=require("@lexical/react/LexicalErrorBoundary"),H=require("@lexical/react/useLexicalEditable"),E=require("@mantine/core"),b=require("lexical"),F=require("./layers.R8mPlCA0.js");function P({equation:s,inline:a,onDoubleClick:c}){const r=o.useRef(null);return o.useEffect(()=>{const l=r.current;l!==null&&F.default.render(s,l,{displayMode:!a,errorColor:"#cc0000",output:"html",strict:"warn",throwOnError:!1,trust:!1})},[s,a]),n.jsxs(n.Fragment,{children:[n.jsx("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",width:0,height:0,alt:""}),n.jsx("span",{role:"button",tabIndex:-1,onDoubleClick:c,ref:r}),n.jsx("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",width:0,height:0,alt:""})]})}let I=!1;const N=new Map;function z(s){I||(I=!0,s.registerCommand(d.OPEN_EQUATION_POPUP_COMMAND,a=>{const c=N.get(a);return c?(c(),!0):!1},b.COMMAND_PRIORITY_EDITOR))}function G({equation:s,inline:a,nodeKey:c}){const[r]=$.useLexicalComposerContext(),l=H.useLexicalEditable(),p=o.useRef(null),_=o.useRef(null),[A,C]=o.useState(s),[u,f]=o.useState(!1),[v,L]=o.useState({top:0,left:0}),[O,y]=o.useState(!1),g=o.useCallback(()=>{const e=p.current;if(!e)return;const i=(e.closest(".editor-equation")||e).getBoundingClientRect();L({top:i.bottom+18,left:i.left}),y(!0)},[]);o.useEffect(()=>{z(r)},[r]),o.useEffect(()=>{const e=()=>{l&&f(!0)};return N.set(c,e),()=>{N.delete(c)}},[l,c]);const m=o.useCallback(()=>{if(l){if(u){f(!1);return}g(),f(!0)}},[l,u,g]),q=o.useCallback(()=>{const e=A.trim();r.update(()=>{const t=b.$getNodeByKey(c);if(d.$isEquationNode(t)){if(t.isInline&&t.isInline()&&e===""){t.remove();return}t.setEquation(e)}}),f(!1)},[r,c,A]),j=o.useCallback(()=>{if(!s&&a){r.update(()=>{const e=b.$getNodeByKey(c);d.$isEquationNode(e)&&e.remove()}),f(!1);return}C(s),s&&f(!1)},[r,s,a,c]);o.useEffect(()=>{u||C(s)},[s,u]),o.useEffect(()=>{if(!u){y(!1);return}d.blockScroll(),g();const e=window.requestAnimationFrame(()=>{const t=_.current;if(!t)return;const i=t.value.length;t.focus(),t.setSelectionRange(i,i)});return()=>{window.cancelAnimationFrame(e),d.unblockScroll()}},[u,g]),o.useEffect(()=>{if(!u)return;const e=t=>{const i=t.target,h=p.current,w=document.querySelector(".equation-block__popup");i&&(h!=null&&h.contains(i)||w instanceof HTMLElement&&w.contains(i))||(a&&!A.trim()&&r.update(()=>{const B=b.$getNodeByKey(c);d.$isEquationNode(B)&&B.remove()}),f(!1))};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r,a,u,c,A]);const x=(u?A:s).trim(),k=x.length>0;o.useEffect(()=>{const e=p.current;if(!e)return;const t=e.closest(".editor-equation"),i=x;if(t){if(!i){t.removeAttribute("data-lexical-equation");return}try{const h=btoa(unescape(encodeURIComponent(i)));t.setAttribute("data-lexical-equation",h)}catch{t.setAttribute("data-lexical-equation",i)}}},[x]);const S=a&&!l?n.jsx("span",{className:"equation-inline-trigger",children:n.jsx(R.LexicalErrorBoundary,{onError:e=>{var t;return(t=r._onError)==null?void 0:t.call(r,e)},children:n.jsx(P,{equation:s,inline:a,onDoubleClick:m})})}):a?n.jsx("span",{className:`equation-inline-trigger${k?"":" equation-inline-trigger--empty"}`,onClick:m,ref:p,children:k?n.jsx(R.LexicalErrorBoundary,{onError:e=>{var t;return(t=r._onError)==null?void 0:t.call(r,e)},children:n.jsx(P,{equation:x,inline:a,onDoubleClick:m})}):n.jsxs("span",{className:"equation-inline-placeholder",children:[n.jsx(d.HugeiconsIcon,{icon:d.c4,size:24}),n.jsx("span",{children:"New equation"})]})}):n.jsx("div",{className:"equation-block",ref:p,children:n.jsx("div",{className:"equation-block__container",onClick:m,style:{cursor:l?"pointer":"default"},children:k?n.jsx(R.LexicalErrorBoundary,{onError:e=>{var t;return(t=r._onError)==null?void 0:t.call(r,e)},children:n.jsx(P,{equation:x,inline:a,onDoubleClick:m})}):n.jsx("div",{className:"equation-block__placeholder",children:"Add a TeX equation"})})}),D=o.useCallback(e=>{e.stopPropagation(),C(e.currentTarget.value)},[]),M=o.useCallback(d.createPopupKeyDownHandler({onConfirm:q,onCancel:j}),[q,j]);return n.jsxs(n.Fragment,{children:[S,u&&O&&T.createPortal(n.jsx("div",{className:"equation-block__popup",style:{position:"fixed",top:v.top,left:v.left,zIndex:400},children:n.jsxs("div",{className:"equation-block__editor",children:[n.jsx(E.Textarea,{autosize:!0,minRows:2,variant:"unstyled",value:A,onChange:D,onKeyDown:M,placeholder:"x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",classNames:{wrapper:"equation-block__textarea-wrapper"},autoFocus:!0,ref:_}),n.jsxs(E.Group,{justify:"flex-end",gap:"sm",children:[n.jsx(E.Button,{variant:"subtle",color:"gray",onClick:j,children:"Cancel"}),n.jsx(E.Button,{onClick:q,children:"Save"})]})]})}),document.body)]})}exports.default=G;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./layers.DC0jCMDP.js");require("./layers.BrkZo3KL.js");exports.Commands=e.CB;exports.subsetToBase64=e.QB;exports.subsetToBinary=e.NQ;exports.toBase64=e.AI;
@@ -1 +0,0 @@
1
- "use strict";const n=require("./layers.Bb8Jgj7K.js"),s=(e,r)=>n.Utils.lang.round(n.Color.parse(e)[r]);exports.channel=s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),n=require("react"),V=require("react-i18next"),Y=require("@lexical/react/LexicalComposerContext"),J=require("@mantine/core"),C=require("lexical"),Q=require("@layers-app/shared"),i=require("./layers.Bv1lCF-z.js"),U=t=>{const{width:c,height:r,isLoading:g,isError:w,src:f,id:m,altText:p,imageRef:x,maxWidth:h}=t;return u.jsxs("div",{className:"media-wrapper",style:{width:c,height:r,display:"inline-flex",position:"relative"},children:[u.jsx(J.LoadingOverlay,{visible:g,zIndex:1e3,overlayProps:{backgroundOpacity:.5},loaderProps:{size:24,color:"black"}}),u.jsx(X,{className:null,src:f,altText:p,imageRef:x,width:"inherit",height:"inherit",maxWidth:h||"auto",id:m})]})};function X({altText:t,className:c,imageRef:r,src:g,width:w,height:f,maxWidth:m,id:p}){const[x,h]=n.useState(!1);return u.jsx("img",{className:`${c||void 0} ${x?"":"loading"}`,src:g,alt:t,ref:r,style:{height:f,maxWidth:m,width:w},onLoad:()=>{g.includes("splash")?setTimeout(()=>{h(!0)},100):h(!0)},draggable:"false","data-id":p})}function Z({src:t,altText:c,nodeKey:r,width:g,height:w,maxWidth:f,showCaption:m,caption:p,id:x,create:h,alignment:_}){var q,k;const $=n.useRef(null),[N,I]=n.useState(!0),[d]=Y.useLexicalComposerContext(),[S,L]=n.useState(!0),[l,M]=n.useState({width:0,height:0}),{start:B,cancel:D}=i.useCancelUpload(),[H,j]=n.useState(0),{fetchUploadMedia:W,fetchDeleteMedia:O,maxFileSize:ee}=n.useContext(i.Context),E=i.mediaMap.has(t)&&(((q=i.mediaMap.get(t))==null?void 0:q.mediaNodeKeys.length)===0||((k=i.mediaMap.get(t))==null?void 0:k.mediaNodeKeys.length)===void 0||t.trim()===""),{t:b}=V.useTranslation(),[te,T]=n.useState(0);n.useEffect(()=>d.registerDecoratorListener(()=>{T(e=>e+1)}),[E]),n.useEffect(()=>{if(!t||t.startsWith("data:image/")||!t.trim()){I(!1);return}const e=new Image;e.src=t,e.onload=()=>I(!1),e.onerror=()=>{I(!1)}},[t,E]);const F=(e,s)=>{d.update(()=>{C.$setSelection(null);const o=C.$getNodeByKey(r);i.$isImageNode(o)&&o.setWidthAndHeight(e,s)})},{historyState:P}=i.useSharedHistoryContext(),{settings:{showNestedEditorTreeView:R}}=i.useSettings(),[v,y]=n.useState(!1);function G(e){return e.endsWith(".svg")||e.includes("image/svg+xml")}function K(e){return new Promise((s,o)=>{if(G(e)){s(0);return}const a=new Image;a.src=e,a.onload=()=>{s(a.width)},a.onerror=()=>{o(new Error("Failed to load image"))}})}n.useEffect(()=>{h&&y(!0)},[h]),n.useEffect(()=>{let e=g,s=w,o=100;(t.includes("unsplash")?t.trim():!E&&t.trim()||t.includes("upload-src-editor"))&&t!=="upload"&&K(t).then(a=>{typeof e=="number"&&e<o&&a<o?(L(!0),M({width:e,height:s})):a<o?(L(!0),M({width:"auto",height:"auto"})):(M({width:a,height:a}),L(!1))}).catch(a=>{console.warn("Ошибка при загрузке изображения:",a.message)})},[t,E]),n.useEffect(()=>{l.width&&l.height&&S&&d.update(()=>{const e=C.$getNodeByKey(r);i.$isImageNode(e)&&e.setWidthAndHeight(l.width,l.height)})},[l.width,l.height,S]),n.useEffect(()=>{if(v)return i.blockScroll(),()=>{i.unblockScroll()}},[v]),n.useEffect(()=>d.registerCommand(i.UPLOAD_IMAGE_COMMAND,e=>(t==="upload"&&A(e),!1),C.COMMAND_PRIORITY_LOW),[t,N]);const z=(e,s)=>{I(!1),d.update(()=>{const o=C.$getNodeByKey(r);i.$isImageNode(o)&&(o.setSrc(e),o.setId(s))})},A=e=>{I(!0);const s=B();W&&W(e[0],(o,a)=>{z(o,a),j(0)},o=>{o&&Q.showErrorNotification({message:b("editor.gallery.errorFile")}),j(0),z("","")},s,o=>{j(o)})};return!t||t==="upload"?u.jsx(i.ImagePicker,{uploading:!1,onUpload:e=>{!W||!e.length||(A(e),y(!1))},popoverProps:{opened:v,position:"bottom",onChange:y},onChange:e=>{y(!1),d.update(()=>{const s=C.$getNodeByKey(r);i.$isImageNode(s)&&s.setSrc(e)})},children:u.jsx(i.EmptyNodeButton,{title:b("editor.image.add_photo"),icon:"photo",onClick:()=>y(!v),isLoading:N,progress:H,onAfterCancel:()=>{D(),I(!1)}})}):S?u.jsx(U,{width:l.width,height:l.height,isLoading:N,isError:!1,isIcon:S,src:t,id:x,editor:d,nodeKey:r,fetchDeleteMedia:O,altText:c,imageRef:$,maxWidth:f,showCaption:m,caption:p,isCollabActive:!1,historyState:P,showNestedEditorTreeView:R,t:b}):u.jsx(i.ResizableContainer,{editor:d,isIcon:S,width:i.parseContainerSize(g),height:i.parseContainerSize(w),initialWidth:l.width||"",initialHeight:l.height||"",onResizeEnd:F,alignment:_,children:u.jsx(U,{width:"inherit",height:"inherit",isLoading:N,isError:!1,isIcon:S,src:t,id:x,editor:d,nodeKey:r,fetchDeleteMedia:O,altText:c,imageRef:$,maxWidth:f,showCaption:m,caption:p,isCollabActive:!1,historyState:P,showNestedEditorTreeView:R,t:b})})}exports.default=Z;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),i=require("react"),B=require("@lexical/react/LexicalComposerContext"),P=require("@lexical/react/useLexicalEditable"),Y=require("@lexical/react/useLexicalNodeSelection"),W=require("@lexical/utils"),a=require("lexical"),c=require("./layers.Bv1lCF-z.js"),v=require("./layers.B0ERvBXd.js"),F=require("react-i18next"),C=require("@mantine/core"),G=require("@tabler/icons-react");function H({imageContainerRef:n,editor:u,rootClassName:S=null,width:N="inherit",height:h="inherit",nodeKey:e,alignment:E,setModalOpen:d,previewSVG:M}){const O=i.useMemo(()=>M??"",[M]),[f,j]=i.useState(!1),{t:x}=F.useTranslation(),b=(r,m)=>{u.update(()=>{a.$setSelection(null);const g=a.$getNodeByKey(e);return c.$isExcalidrawNode(g)&&g.setWidthAndHeight(r,m),!0})},I=()=>{c.deleteNode(u,e)};return s.jsx(c.ResizableContainer,{editor:u,isIcon:!1,isEmbed:!0,width:c.parseContainerSize(N),height:c.parseContainerSize(h),onResizeEnd:b,alignment:E,children:s.jsxs(C.Box,{className:"media-wrapper excaildraw",children:[s.jsxs("div",{className:"media-actions",children:[s.jsx(C.Tooltip,{label:x("editor.link.edit"),children:s.jsx(C.ActionIcon,{color:"gray","aria-label":"Settings",className:"media-action",variant:"default",size:24,onClick:()=>{d(!0)},children:s.jsx(G.IconEdit,{size:14})})}),s.jsx(c.AlignmentImage,{opened:f,setOpened:j,t:x,editor:u,nodeKey:e}),s.jsx(C.Tooltip,{label:x("editor.actions.delete"),children:s.jsx(C.ActionIcon,{color:"gray","aria-label":"Settings",className:"media-action",variant:"default",size:24,onClick:I,children:s.jsx(c.Icon,{name:"trash",size:"14"})})})]}),s.jsx(C.Box,{w:"100%",ref:r=>{r&&n&&(n.current=r)},className:S??"",dangerouslySetInnerHTML:{__html:O}})]})})}function V({nodeKey:n,data:u,width:S,height:N,alignment:h}){var q;const[e]=B.useLexicalComposerContext(),E=P.useLexicalEditable(),d=i.useMemo(()=>v.parseExcalidrawData(u),[u]),M=((q=d==null?void 0:d.elements)==null?void 0:q.length)===0&&!d.previewSVG,[O,f]=i.useState(M&&e.isEditable()),[j,x]=i.useState(!1),b=i.useRef(null),I=i.useRef(null),r=i.useRef(null),[m,g,R]=Y.useLexicalNodeSelection(n),w=i.useCallback(t=>(m&&(t.preventDefault(),e.update(()=>{const o=a.$getNodeByKey(n);o&&o.remove()})),!1),[e,m,n]);i.useEffect(()=>{if(!E){m&&R();return}return W.mergeRegister(e.registerCommand(a.CLICK_COMMAND,t=>{const o=I.current,p=t.target;return o!==null&&o.contains(p)?(t.shiftKey||R(),g(!m),t.detail>1&&f(!0),!0):!1},a.COMMAND_PRIORITY_LOW),e.registerCommand(a.KEY_DELETE_COMMAND,w,a.COMMAND_PRIORITY_LOW),e.registerCommand(a.KEY_BACKSPACE_COMMAND,w,a.COMMAND_PRIORITY_LOW))},[R,e,m,w,g,E]);const y=i.useCallback(()=>(f(!1),e.update(()=>{const t=a.$getNodeByKey(n);t&&t.remove()})),[e,n]),L=(t,o,p,A)=>e.update(()=>{const D=a.$getNodeByKey(n);c.$isExcalidrawNode(D)&&(t&&t.length>0||Object.keys(p).length>0?D.setData(JSON.stringify({appState:o,elements:t,files:p,previewSVG:A})):D.remove())}),{elements:l=[],files:k={},appState:T={},previewSVG:$}=d,_=i.useCallback(()=>{f(!1),x(!1),r.current=!1,(l==null?void 0:l.length)===0&&e.update(()=>{const t=a.$getNodeByKey(n);t&&t.remove()})},[e,n,l==null?void 0:l.length]),z=i.useCallback(()=>{r.current?x(!0):_()},[]);return s.jsxs(s.Fragment,{children:[s.jsx(v.ConfirmModal,{isCloseModal:j,confirmClose:_,setCloseModalOpen:x}),s.jsx(v.ExcalidrawModal,{initialElements:l,isEdited:r,initialFiles:k,initialAppState:T,isShown:O,onDelete:y,onClose:z,onSave:(t,o,p,A)=>{L(t,o,p,A),f(!1)},closeOnClickOutside:!1}),(l==null?void 0:l.length)&&s.jsx("div",{style:{display:"flex",justifyContent:h},children:s.jsx(H,{imageContainerRef:b,className:"image",width:S,height:N,editor:e,nodeKey:n,alignment:h,setModalOpen:f,previewSVG:$})})]})}exports.default=V;
@@ -1,8 +0,0 @@
1
- import { C as e, Q as t, N as m, A as r } from "./layers.EZcPBpsu.js";
2
- import "./layers.CPwsy2AR.js";
3
- export {
4
- e as Commands,
5
- t as subsetToBase64,
6
- m as subsetToBinary,
7
- r as toBase64
8
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),s=require("react"),P=require("@lexical/react/LexicalComposerContext"),v=require("@lexical/react/LexicalErrorBoundary"),y=require("@lexical/react/LexicalNestedComposer"),$=require("@lexical/react/LexicalRichTextPlugin"),k=require("@lexical/react/useLexicalNodeSelection"),q=require("@lexical/utils"),t=require("lexical"),x=require("./layers.Bv1lCF-z.js"),Y=require("@mantine/core");function w({children:n,className:l}){return e.jsx("div",{className:l||"Placeholder__root",children:n})}function B({label:n,value:l,onChange:o,placeholder:C="","data-test-id":i,type:d="text"}){return e.jsx(Y.TextInput,{type:d,placeholder:C,value:l,onChange:c=>{o(c.target.value)},label:n,"data-test-id":i,mb:10})}const b=new Set;function W(n){if(!b.has(n))throw new Promise(l=>{const o=new Image;o.src=n,o.onload=()=>{b.add(n),l(null)}})}function F({altText:n,className:l,imageRef:o,src:C,width:i,height:d,position:c}){return W(C),e.jsx("img",{className:l||void 0,src:C,alt:n,ref:o,"data-position":c,style:{display:"block",height:d,width:i},draggable:"false"})}function A({activeEditor:n,nodeKey:l,onClose:o}){const i=n.getEditorState().read(()=>t.$getNodeByKey(l)),[d,c]=s.useState(i.getAltText()),[h,S]=s.useState(i.getShowCaption()),[_,N]=s.useState(i.getPosition()),p=m=>{S(m.target.checked)},g=()=>{const m={altText:d,position:_,showCaption:h};i&&n.update(()=>{i.update(m)}),o()};return e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{marginBottom:"1em"},children:e.jsx(B,{label:"Alt-текст",placeholder:"Альтернативный текст",onChange:c,value:d,"data-test-id":"image-modal-alt-text-input"})}),e.jsxs("div",{className:"Input__wrapper",children:[e.jsx("input",{id:"caption",type:"checkbox",checked:h,onChange:p}),e.jsx("label",{htmlFor:"caption",children:"Show Caption"})]}),e.jsx(x.Button,{"data-test-id":"image-modal-file-upload-btn",onClick:()=>g(),children:"Применить"})]})}function K({src:n,altText:l,nodeKey:o,width:C,height:i,showCaption:d,caption:c,position:h}){const[S,_]=x.useModal(),N=s.useRef(null),p=s.useRef(null),[g,m,M]=k.useLexicalNodeSelection(o),[a]=P.useLexicalComposerContext(),[D,L]=s.useState(null),O=s.useRef(null),E=s.useCallback(u=>{if(g&&t.$isNodeSelection(t.$getSelection())){u.preventDefault();const r=t.$getNodeByKey(o);x.$isInlineImageNode(r)&&r.remove()}return!1},[g,o]),R=s.useCallback(u=>{const f=t.$getSelection(),r=p.current;if(g&&t.$isNodeSelection(f)&&f.getNodes().length===1){if(d)return t.$setSelection(null),u.preventDefault(),c.focus(),!0;if(r!==null&&r!==document.activeElement)return u.preventDefault(),r.focus(),!0}return!1},[c,g,d]),j=s.useCallback(u=>O.current===c||p.current===u.target?(t.$setSelection(null),a.update(()=>{m(!0);const f=a.getRootElement();f!==null&&f.focus()}),!0):!1,[c,a,m]);s.useEffect(()=>{let u=!0;const f=q.mergeRegister(a.registerUpdateListener(({editorState:r})=>{u&&L(r.read(()=>t.$getSelection()))}),a.registerCommand(t.SELECTION_CHANGE_COMMAND,(r,I)=>(O.current=I,!1),t.COMMAND_PRIORITY_LOW),a.registerCommand(t.CLICK_COMMAND,r=>{const I=r;return I.target===N.current?(I.shiftKey?m(!g):(M(),m(!0)),!0):!1},t.COMMAND_PRIORITY_LOW),a.registerCommand(t.DRAGSTART_COMMAND,r=>r.target===N.current?(r.preventDefault(),!0):!1,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_DELETE_COMMAND,E,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_BACKSPACE_COMMAND,E,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ENTER_COMMAND,R,t.COMMAND_PRIORITY_LOW),a.registerCommand(t.KEY_ESCAPE_COMMAND,j,t.COMMAND_PRIORITY_LOW));return()=>{u=!1,f()}},[M,a,g,o,E,R,j,m]);const T=g;return e.jsxs(s.Suspense,{fallback:null,children:[e.jsxs(e.Fragment,{children:[e.jsxs("div",{draggable:!1,children:[e.jsx("button",{className:"image-edit-button",ref:p,onClick:()=>{_("Update Inline Image",u=>e.jsx(A,{activeEditor:a,nodeKey:o,onClose:u}))},children:"Edit"}),e.jsx(F,{className:T?`focused ${t.$isNodeSelection(D)?"draggable":""}`:null,src:n,altText:l,imageRef:N,width:C,height:i,position:h})]}),d&&e.jsx("div",{className:"image-caption-container",children:e.jsxs(y.LexicalNestedComposer,{initialEditor:c,children:[e.jsx(x.LinkPlugin,{}),e.jsx(x.FloatingTextFormatToolbarPlugin,{}),e.jsx($.RichTextPlugin,{contentEditable:e.jsx(x.LexicalContentEditable,{className:"InlineImageNode__contentEditable"}),placeholder:e.jsx(w,{className:"InlineImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:v.LexicalErrorBoundary})]})})]}),S]})}exports.UpdateInlineImageDialog=A;exports.default=K;
@@ -1,276 +0,0 @@
1
- import { jsxs as E, Fragment as M, jsx as r } from "react/jsx-runtime";
2
- import { useRef as N, useEffect as d, useState as C, useCallback as m } from "react";
3
- import { createPortal as Q } from "react-dom";
4
- import { h as _, c as U, d as $, i as V, H as X, j as Y, O as J } from "./layers.1yxNCo9-.js";
5
- import { useLexicalComposerContext as W } from "@lexical/react/LexicalComposerContext";
6
- import { LexicalErrorBoundary as v } from "@lexical/react/LexicalErrorBoundary";
7
- import { useLexicalEditable as Z } from "@lexical/react/useLexicalEditable";
8
- import { Textarea as K, Group as ee, Button as S } from "@mantine/core";
9
- import { $getNodeByKey as w, COMMAND_PRIORITY_EDITOR as te } from "lexical";
10
- import ne from "./layers.b9B2NY7n.js";
11
- function R({
12
- equation: o,
13
- inline: a,
14
- onDoubleClick: s
15
- }) {
16
- const n = N(null);
17
- return d(() => {
18
- const l = n.current;
19
- l !== null && ne.render(o, l, {
20
- displayMode: !a,
21
- errorColor: "#cc0000",
22
- output: "html",
23
- strict: "warn",
24
- throwOnError: !1,
25
- trust: !1
26
- });
27
- }, [o, a]), /* @__PURE__ */ E(M, { children: [
28
- /* @__PURE__ */ r(
29
- "img",
30
- {
31
- src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
32
- width: 0,
33
- height: 0,
34
- alt: ""
35
- }
36
- ),
37
- /* @__PURE__ */ r(
38
- "span",
39
- {
40
- role: "button",
41
- tabIndex: -1,
42
- onDoubleClick: s,
43
- ref: n
44
- }
45
- ),
46
- /* @__PURE__ */ r(
47
- "img",
48
- {
49
- src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",
50
- width: 0,
51
- height: 0,
52
- alt: ""
53
- }
54
- )
55
- ] });
56
- }
57
- let H = !1;
58
- const I = /* @__PURE__ */ new Map();
59
- function re(o) {
60
- H || (H = !0, o.registerCommand(
61
- J,
62
- (a) => {
63
- const s = I.get(a);
64
- return s ? (s(), !0) : !1;
65
- },
66
- te
67
- ));
68
- }
69
- function pe({
70
- equation: o,
71
- inline: a,
72
- nodeKey: s
73
- }) {
74
- const [n] = W(), l = Z(), p = N(null), B = N(null), [f, x] = C(o), [c, u] = C(!1), [O, T] = C({ top: 0, left: 0 }), [j, D] = C(!1), b = m(() => {
75
- const e = p.current;
76
- if (!e) return;
77
- const i = (e.closest(
78
- ".editor-equation"
79
- ) || e).getBoundingClientRect();
80
- T({
81
- top: i.bottom + 18,
82
- left: i.left
83
- }), D(!0);
84
- }, []);
85
- d(() => {
86
- re(n);
87
- }, [n]), d(() => {
88
- const e = () => {
89
- l && u(!0);
90
- };
91
- return I.set(s, e), () => {
92
- I.delete(s);
93
- };
94
- }, [l, s]);
95
- const A = m(() => {
96
- if (l) {
97
- if (c) {
98
- u(!1);
99
- return;
100
- }
101
- b(), u(!0);
102
- }
103
- }, [l, c, b]), k = m(() => {
104
- const e = f.trim();
105
- n.update(() => {
106
- const t = w(s);
107
- if (_(t)) {
108
- if (t.isInline && t.isInline() && e === "") {
109
- t.remove();
110
- return;
111
- }
112
- t.setEquation(e);
113
- }
114
- }), u(!1);
115
- }, [n, s, f]), q = m(() => {
116
- if (!o && a) {
117
- n.update(() => {
118
- const e = w(s);
119
- _(e) && e.remove();
120
- }), u(!1);
121
- return;
122
- }
123
- x(o), o && u(!1);
124
- }, [n, o, a, s]);
125
- d(() => {
126
- c || x(o);
127
- }, [o, c]), d(() => {
128
- if (!c) {
129
- D(!1);
130
- return;
131
- }
132
- U(), b();
133
- const e = window.requestAnimationFrame(() => {
134
- const t = B.current;
135
- if (!t) return;
136
- const i = t.value.length;
137
- t.focus(), t.setSelectionRange(i, i);
138
- });
139
- return () => {
140
- window.cancelAnimationFrame(e), $();
141
- };
142
- }, [c, b]), d(() => {
143
- if (!c) return;
144
- const e = (t) => {
145
- const i = t.target, g = p.current, y = document.querySelector(".equation-block__popup");
146
- i && (g != null && g.contains(i) || y instanceof HTMLElement && y.contains(i)) || (a && !f.trim() && n.update(() => {
147
- const L = w(s);
148
- _(L) && L.remove();
149
- }), u(!1));
150
- };
151
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
152
- }, [n, a, c, s, f]);
153
- const h = (c ? f : o).trim(), P = h.length > 0;
154
- d(() => {
155
- const e = p.current;
156
- if (!e) return;
157
- const t = e.closest(".editor-equation"), i = h;
158
- if (t) {
159
- if (!i) {
160
- t.removeAttribute("data-lexical-equation");
161
- return;
162
- }
163
- try {
164
- const g = btoa(unescape(encodeURIComponent(i)));
165
- t.setAttribute("data-lexical-equation", g);
166
- } catch {
167
- t.setAttribute("data-lexical-equation", i);
168
- }
169
- }
170
- }, [h]);
171
- const F = a && !l ? /* @__PURE__ */ r("span", { className: "equation-inline-trigger", children: /* @__PURE__ */ r(v, { onError: (e) => {
172
- var t;
173
- return (t = n._onError) == null ? void 0 : t.call(n, e);
174
- }, children: /* @__PURE__ */ r(
175
- R,
176
- {
177
- equation: o,
178
- inline: a,
179
- onDoubleClick: A
180
- }
181
- ) }) }) : a ? /* @__PURE__ */ r(
182
- "span",
183
- {
184
- className: `equation-inline-trigger${P ? "" : " equation-inline-trigger--empty"}`,
185
- onClick: A,
186
- ref: p,
187
- children: P ? /* @__PURE__ */ r(v, { onError: (e) => {
188
- var t;
189
- return (t = n._onError) == null ? void 0 : t.call(n, e);
190
- }, children: /* @__PURE__ */ r(
191
- R,
192
- {
193
- equation: h,
194
- inline: a,
195
- onDoubleClick: A
196
- }
197
- ) }) : /* @__PURE__ */ E("span", { className: "equation-inline-placeholder", children: [
198
- /* @__PURE__ */ r(X, { icon: Y, size: 24 }),
199
- /* @__PURE__ */ r("span", { children: "New equation" })
200
- ] })
201
- }
202
- ) : /* @__PURE__ */ r("div", { className: "equation-block", ref: p, children: /* @__PURE__ */ r(
203
- "div",
204
- {
205
- className: "equation-block__container",
206
- onClick: A,
207
- style: { cursor: l ? "pointer" : "default" },
208
- children: P ? /* @__PURE__ */ r(v, { onError: (e) => {
209
- var t;
210
- return (t = n._onError) == null ? void 0 : t.call(n, e);
211
- }, children: /* @__PURE__ */ r(
212
- R,
213
- {
214
- equation: h,
215
- inline: a,
216
- onDoubleClick: A
217
- }
218
- ) }) : /* @__PURE__ */ r("div", { className: "equation-block__placeholder", children: "Add a TeX equation" })
219
- }
220
- ) }), z = m(
221
- (e) => {
222
- e.stopPropagation(), x(e.currentTarget.value);
223
- },
224
- []
225
- ), G = m(
226
- V({
227
- onConfirm: k,
228
- onCancel: q
229
- }),
230
- [k, q]
231
- );
232
- return /* @__PURE__ */ E(M, { children: [
233
- F,
234
- c && j && Q(
235
- /* @__PURE__ */ r(
236
- "div",
237
- {
238
- className: "equation-block__popup",
239
- style: {
240
- position: "fixed",
241
- top: O.top,
242
- left: O.left,
243
- zIndex: 400
244
- },
245
- children: /* @__PURE__ */ E("div", { className: "equation-block__editor", children: [
246
- /* @__PURE__ */ r(
247
- K,
248
- {
249
- autosize: !0,
250
- minRows: 2,
251
- variant: "unstyled",
252
- value: f,
253
- onChange: z,
254
- onKeyDown: G,
255
- placeholder: "x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",
256
- classNames: {
257
- wrapper: "equation-block__textarea-wrapper"
258
- },
259
- autoFocus: !0,
260
- ref: B
261
- }
262
- ),
263
- /* @__PURE__ */ E(ee, { justify: "flex-end", gap: "sm", children: [
264
- /* @__PURE__ */ r(S, { variant: "subtle", color: "gray", onClick: q, children: "Cancel" }),
265
- /* @__PURE__ */ r(S, { onClick: k, children: "Save" })
266
- ] })
267
- ] })
268
- }
269
- ),
270
- document.body
271
- )
272
- ] });
273
- }
274
- export {
275
- pe as default
276
- };
@@ -1,271 +0,0 @@
1
- import { jsx as e, jsxs as p, Fragment as k } from "react/jsx-runtime";
2
- import { useRef as b, useState as S, useCallback as M, useEffect as F, Suspense as $ } from "react";
3
- import { useLexicalComposerContext as Y } from "@lexical/react/LexicalComposerContext";
4
- import { LexicalErrorBoundary as K } from "@lexical/react/LexicalErrorBoundary";
5
- import { LexicalNestedComposer as U } from "@lexical/react/LexicalNestedComposer";
6
- import { RichTextPlugin as j } from "@lexical/react/LexicalRichTextPlugin";
7
- import { useLexicalNodeSelection as G } from "@lexical/react/useLexicalNodeSelection";
8
- import { mergeRegister as z } from "@lexical/utils";
9
- import { $isNodeSelection as A, $getSelection as v, $getNodeByKey as w, $setSelection as O, SELECTION_CHANGE_COMMAND as H, COMMAND_PRIORITY_LOW as g, CLICK_COMMAND as W, DRAGSTART_COMMAND as q, KEY_DELETE_COMMAND as J, KEY_BACKSPACE_COMMAND as Q, KEY_ENTER_COMMAND as V, KEY_ESCAPE_COMMAND as X } from "lexical";
10
- import { r as Z, s as ee, L as te, F as ne, t as oe, B as re } from "./layers.1yxNCo9-.js";
11
- import { TextInput as ae } from "@mantine/core";
12
- function le({
13
- children: t,
14
- className: a
15
- }) {
16
- return /* @__PURE__ */ e("div", { className: a || "Placeholder__root", children: t });
17
- }
18
- function ie({
19
- label: t,
20
- value: a,
21
- onChange: n,
22
- placeholder: f = "",
23
- "data-test-id": l,
24
- type: c = "text"
25
- }) {
26
- return /* @__PURE__ */ e(
27
- ae,
28
- {
29
- type: c,
30
- placeholder: f,
31
- value: a,
32
- onChange: (i) => {
33
- n(i.target.value);
34
- },
35
- label: t,
36
- "data-test-id": l,
37
- mb: 10
38
- }
39
- );
40
- }
41
- const P = /* @__PURE__ */ new Set();
42
- function se(t) {
43
- if (!P.has(t))
44
- throw new Promise((a) => {
45
- const n = new Image();
46
- n.src = t, n.onload = () => {
47
- P.add(t), a(null);
48
- };
49
- });
50
- }
51
- function ce({
52
- altText: t,
53
- className: a,
54
- imageRef: n,
55
- src: f,
56
- width: l,
57
- height: c,
58
- position: i
59
- }) {
60
- return se(f), /* @__PURE__ */ e(
61
- "img",
62
- {
63
- className: a || void 0,
64
- src: f,
65
- alt: t,
66
- ref: n,
67
- "data-position": i,
68
- style: {
69
- display: "block",
70
- height: c,
71
- width: l
72
- },
73
- draggable: "false"
74
- }
75
- );
76
- }
77
- function ue({
78
- activeEditor: t,
79
- nodeKey: a,
80
- onClose: n
81
- }) {
82
- const l = t.getEditorState().read(
83
- () => w(a)
84
- ), [c, i] = S(l.getAltText()), [h, I] = S(l.getShowCaption()), [_, E] = S(l.getPosition()), C = (d) => {
85
- I(d.target.checked);
86
- }, u = () => {
87
- const d = { altText: c, position: _, showCaption: h };
88
- l && t.update(() => {
89
- l.update(d);
90
- }), n();
91
- };
92
- return /* @__PURE__ */ p(k, { children: [
93
- /* @__PURE__ */ e("div", { style: { marginBottom: "1em" }, children: /* @__PURE__ */ e(
94
- ie,
95
- {
96
- label: "Alt-текст",
97
- placeholder: "Альтернативный текст",
98
- onChange: i,
99
- value: c,
100
- "data-test-id": "image-modal-alt-text-input"
101
- }
102
- ) }),
103
- /* @__PURE__ */ p("div", { className: "Input__wrapper", children: [
104
- /* @__PURE__ */ e(
105
- "input",
106
- {
107
- id: "caption",
108
- type: "checkbox",
109
- checked: h,
110
- onChange: C
111
- }
112
- ),
113
- /* @__PURE__ */ e("label", { htmlFor: "caption", children: "Show Caption" })
114
- ] }),
115
- /* @__PURE__ */ e(
116
- re,
117
- {
118
- "data-test-id": "image-modal-file-upload-btn",
119
- onClick: () => u(),
120
- children: "Применить"
121
- }
122
- )
123
- ] });
124
- }
125
- function xe({
126
- src: t,
127
- altText: a,
128
- nodeKey: n,
129
- width: f,
130
- height: l,
131
- showCaption: c,
132
- caption: i,
133
- position: h
134
- }) {
135
- const [I, _] = Z(), E = b(null), C = b(null), [u, d, D] = G(n), [r] = Y(), [y, B] = S(null), T = b(null), x = M(
136
- (s) => {
137
- if (u && A(v())) {
138
- s.preventDefault();
139
- const o = w(n);
140
- ee(o) && o.remove();
141
- }
142
- return !1;
143
- },
144
- [u, n]
145
- ), L = M(
146
- (s) => {
147
- const m = v(), o = C.current;
148
- if (u && A(m) && m.getNodes().length === 1) {
149
- if (c)
150
- return O(null), s.preventDefault(), i.focus(), !0;
151
- if (o !== null && o !== document.activeElement)
152
- return s.preventDefault(), o.focus(), !0;
153
- }
154
- return !1;
155
- },
156
- [i, u, c]
157
- ), R = M(
158
- (s) => T.current === i || C.current === s.target ? (O(null), r.update(() => {
159
- d(!0);
160
- const m = r.getRootElement();
161
- m !== null && m.focus();
162
- }), !0) : !1,
163
- [i, r, d]
164
- );
165
- return F(() => {
166
- let s = !0;
167
- const m = z(
168
- r.registerUpdateListener(({ editorState: o }) => {
169
- s && B(o.read(() => v()));
170
- }),
171
- r.registerCommand(
172
- H,
173
- (o, N) => (T.current = N, !1),
174
- g
175
- ),
176
- r.registerCommand(
177
- W,
178
- (o) => {
179
- const N = o;
180
- return N.target === E.current ? (N.shiftKey ? d(!u) : (D(), d(!0)), !0) : !1;
181
- },
182
- g
183
- ),
184
- r.registerCommand(
185
- q,
186
- (o) => o.target === E.current ? (o.preventDefault(), !0) : !1,
187
- g
188
- ),
189
- r.registerCommand(
190
- J,
191
- x,
192
- g
193
- ),
194
- r.registerCommand(
195
- Q,
196
- x,
197
- g
198
- ),
199
- r.registerCommand(V, L, g),
200
- r.registerCommand(
201
- X,
202
- R,
203
- g
204
- )
205
- );
206
- return () => {
207
- s = !1, m();
208
- };
209
- }, [
210
- D,
211
- r,
212
- u,
213
- n,
214
- x,
215
- L,
216
- R,
217
- d
218
- ]), /* @__PURE__ */ p($, { fallback: null, children: [
219
- /* @__PURE__ */ p(k, { children: [
220
- /* @__PURE__ */ p("div", { draggable: !1, children: [
221
- /* @__PURE__ */ e(
222
- "button",
223
- {
224
- className: "image-edit-button",
225
- ref: C,
226
- onClick: () => {
227
- _("Update Inline Image", (s) => /* @__PURE__ */ e(
228
- ue,
229
- {
230
- activeEditor: r,
231
- nodeKey: n,
232
- onClose: s
233
- }
234
- ));
235
- },
236
- children: "Edit"
237
- }
238
- ),
239
- /* @__PURE__ */ e(
240
- ce,
241
- {
242
- className: u ? `focused ${A(y) ? "draggable" : ""}` : null,
243
- src: t,
244
- altText: a,
245
- imageRef: E,
246
- width: f,
247
- height: l,
248
- position: h
249
- }
250
- )
251
- ] }),
252
- c && /* @__PURE__ */ e("div", { className: "image-caption-container", children: /* @__PURE__ */ p(U, { initialEditor: i, children: [
253
- /* @__PURE__ */ e(te, {}),
254
- /* @__PURE__ */ e(ne, {}),
255
- /* @__PURE__ */ e(
256
- j,
257
- {
258
- contentEditable: /* @__PURE__ */ e(oe, { className: "InlineImageNode__contentEditable" }),
259
- placeholder: /* @__PURE__ */ e(le, { className: "InlineImageNode__placeholder", children: "Enter a caption..." }),
260
- ErrorBoundary: K
261
- }
262
- )
263
- ] }) })
264
- ] }),
265
- I
266
- ] });
267
- }
268
- export {
269
- ue as UpdateInlineImageDialog,
270
- xe as default
271
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),t=require("react"),p=require("@lexical/react/LexicalComposerContext"),C=require("lexical"),l=require("./layers.Bv1lCF-z.js"),u=require("./layers.B0ERvBXd.js"),f=C.createCommand("INSERT_EXCALIDRAW_COMMAND");function A(){const[s]=p.useLexicalComposerContext(),[x,n]=t.useState(!1),[e,E]=t.useState(null),r=t.useRef(null),[M,i]=t.useState(!1);t.useEffect(()=>{if(!s.hasNodes([l.ExcalidrawNode]))throw new Error("ExcalidrawPlugin: ExcalidrawNode not registered on editor");return s.registerCommand(f,()=>{n(!0);const a=l.getCurrentElement();return E(a),!0},C.COMMAND_PRIORITY_EDITOR)},[s]);const c=()=>{n(!1),i(!1),r.current=!1},m=()=>{r.current?i(!0):c()},O=()=>{n(!1)},N=(a,S,R,g)=>{s.update(()=>{const d=l.$createExcalidrawNode();d.setData(JSON.stringify({appState:S,elements:a,files:R,previewSVG:g})),e&&e.getParent()&&(e==null||e.replace(d))}),n(!1)};return o.jsxs(o.Fragment,{children:[o.jsx(u.ConfirmModal,{isCloseModal:M,confirmClose:c,setCloseModalOpen:i}),o.jsx(u.ExcalidrawModal,{initialElements:[],initialAppState:{},initialFiles:{},isShown:x,onDelete:O,onClose:m,onSave:N,closeOnClickOutside:!1,isEdited:r})]})}exports.INSERT_EXCALIDRAW_COMMAND=f;exports.default=A;