@layers-app/editor 0.7.84 → 0.7.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +5 -65
  3. package/dist/index.js +12 -14
  4. package/dist/layers.2IgKBBB8.js +300 -0
  5. package/dist/{layers.DM3A2BTi.js → layers.2N6AxMul.js} +1 -1
  6. package/dist/{layers.CCzpc2XM.js → layers.2TrRXLJC.js} +1 -1
  7. package/dist/{layers.D4pFUyQc.js → layers.3EmPliFh.js} +1 -1
  8. package/dist/{layers.D_kAA9qL.js → layers.3iZsN3md.js} +1 -1
  9. package/dist/{layers.Dn-ec9WG.js → layers.49frD6oa.js} +2 -2
  10. package/dist/{layers.BAHbyKTI.js → layers.4L1DCzfE.js} +1 -1
  11. package/dist/{layers.DFfPm1gw.js → layers.4YTqmETA.js} +1 -1
  12. package/dist/{layers.CtfTA9wm.js → layers.4nazA9W4.js} +1 -1
  13. package/dist/{layers.BzYL8dLV.js → layers.5MLY8Zd-.js} +1 -1
  14. package/dist/{layers.BehL29a3.js → layers.5Qm3OBNV.js} +1 -1
  15. package/dist/layers.7pPAivIC.js +213 -0
  16. package/dist/{layers.DNass_AW.js → layers.9tMqHF-C.js} +1 -1
  17. package/dist/layers.AFI9A_Q3.js +1 -0
  18. package/dist/{layers.Dz1zakYM.js → layers.AsLVxD04.js} +1 -1
  19. package/dist/{layers.DrtWEMM0.js → layers.B1TQbgNH.js} +1 -1
  20. package/dist/{layers.DGL60Zxc.js → layers.B3Bf_LIh.js} +1 -1
  21. package/dist/{layers.yGEqadiJ.js → layers.B5bYWetp.js} +1 -1
  22. package/dist/{layers.C7skWr7U.js → layers.B6cQxTrv.js} +1 -1
  23. package/dist/{layers.DmoaeDiV.js → layers.B6qaOIp8.js} +1 -1
  24. package/dist/{layers.Dyuut1Do.js → layers.B8C0dfGz.js} +1 -1
  25. package/dist/{layers.Bt1x-jBU.js → layers.B99hxZ6r.js} +1 -1
  26. package/dist/{layers.BKzyedUO.js → layers.BCwimRlE.js} +1 -1
  27. package/dist/{layers.D3yp6byg.js → layers.BEvqepgi.js} +1 -1
  28. package/dist/{layers.AQBGf1qx.js → layers.BGjxd2QR.js} +1 -1
  29. package/dist/{layers.DTqXVHF2.js → layers.BInVhNNT.js} +1 -1
  30. package/dist/{layers.sf_C9kmK.js → layers.BL62LG6S.js} +1 -1
  31. package/dist/{layers.sHa6eov4.js → layers.BLSnaiHK.js} +1 -1
  32. package/dist/{layers.CiXrup6j.js → layers.BMIKi37m.js} +3 -3
  33. package/dist/{layers.Cp8gOVZg.js → layers.BNoUigC4.js} +1 -1
  34. package/dist/layers.BPg-OG2D.js +1 -0
  35. package/dist/{layers.DiemxYQH.js → layers.BQPiJWRE.js} +1 -1
  36. package/dist/{layers.cCqJlBzb.js → layers.BRNfUEQk.js} +1 -1
  37. package/dist/{layers.Dn052lpP.js → layers.BU4rGWaZ.js} +1 -1
  38. package/dist/{layers.DU0SSrWN.js → layers.BUc-2cVO.js} +4 -4
  39. package/dist/{layers.DyIJmOpf.js → layers.BWNK1qM4.js} +1 -1
  40. package/dist/{layers.BI2tTCES.js → layers.BWn7WMKv.js} +6 -6
  41. package/dist/layers.BY6eH9SI.js +1 -0
  42. package/dist/{layers.DSOSQ0TI.js → layers.B_TkR31f.js} +1 -1
  43. package/dist/{layers.BiS82Ah3.js → layers.BaR2HUlM.js} +1 -1
  44. package/dist/{layers.CkMA93G9.js → layers.BaX2i9Sx.js} +1 -1
  45. package/dist/{layers.UfoPB0x7.js → layers.Bc0dSE6w.js} +1 -1
  46. package/dist/{layers.EFS2GS7s.js → layers.BdEBWYu6.js} +1 -1
  47. package/dist/{layers.DeR26nCU.js → layers.BdYoW3Ua.js} +3 -3
  48. package/dist/{layers.DnCk3akf.js → layers.Bf3mSB24.js} +1 -1
  49. package/dist/{layers.IbqwJCl8.js → layers.BgVy016j.js} +1 -1
  50. package/dist/{layers.BRwBQRBw.js → layers.BhlHAbhf.js} +4 -4
  51. package/dist/{layers.HDhWea9s.js → layers.BjsxKGMd.js} +3 -3
  52. package/dist/{layers.BtD7rnnP.js → layers.Bk3U4Je3.js} +2 -2
  53. package/dist/{layers.CWUd5ICZ.js → layers.BkOe8d4L.js} +1 -1
  54. package/dist/{layers.BfaNu6cT.js → layers.BkcicfSj.js} +1 -1
  55. package/dist/{layers.hbVvyWfL.js → layers.Bl4Et59h.js} +1 -1
  56. package/dist/{layers.BoaxPkiF.js → layers.BlrpAB4K.js} +1 -1
  57. package/dist/{layers.t9aRFd0p.js → layers.BmVj5j7I.js} +1 -1
  58. package/dist/{layers.5h0jfjke.js → layers.BmbrYKZd.js} +1 -1
  59. package/dist/{layers.CnM_VO8d.js → layers.BmtxRj5o.js} +1 -1
  60. package/dist/layers.BnMWIF6K.js +304 -0
  61. package/dist/{layers.DuRnRhDt.js → layers.BngfwklX.js} +1 -1
  62. package/dist/{layers.BoWHcEDI.js → layers.BoDuYYvt.js} +1 -1
  63. package/dist/{layers.mhtpxqIl.js → layers.BqlvwWif.js} +1 -1
  64. package/dist/{layers.BSi7fJpQ.js → layers.Bqt4ZrVA.js} +1 -1
  65. package/dist/layers.Br4Omc3G.js +1 -0
  66. package/dist/{layers.DV8uFYnA.js → layers.BsVII-kY.js} +1 -1
  67. package/dist/{layers.B9IorBEM.js → layers.BtZSgyTw.js} +1 -1
  68. package/dist/{layers.C2LIQiyR.js → layers.BvflWy3K.js} +1 -1
  69. package/dist/{layers.BrfmPh4h.js → layers.By_Ve9Y0.js} +1 -1
  70. package/dist/{layers.Bo2uUdWq.js → layers.C5n-NupN.js} +1 -1
  71. package/dist/{layers.BmxK4cMQ.js → layers.C8tDmDzi.js} +1 -1
  72. package/dist/{layers.BxVC0q0O.js → layers.CBbGUf_a.js} +4 -4
  73. package/dist/{layers.BXdFvlYk.js → layers.CFGSpHX7.js} +1 -1
  74. package/dist/{layers.DMaOlxg4.js → layers.CFTfYbO7.js} +2 -2
  75. package/dist/{layers.CUUNO7NC.js → layers.CG__Jd6A.js} +1 -1
  76. package/dist/{layers.v2gHHIgZ.js → layers.CGbze-UJ.js} +1 -1
  77. package/dist/{layers.BgiDHAu5.js → layers.CGrbxplv.js} +1 -1
  78. package/dist/{layers.CNtZ5750.js → layers.CIgcTVFj.js} +1 -1
  79. package/dist/{layers.DvtA-_wr.js → layers.CJI_c2qo.js} +2 -2
  80. package/dist/{layers.CzPfLUnL.js → layers.CJTE4PY9.js} +3 -3
  81. package/dist/{layers.BXzbZ2bt.js → layers.CJZ1fO3K.js} +1 -1
  82. package/dist/{layers.BsWULi2R.js → layers.COmLY2Am.js} +4 -4
  83. package/dist/{layers.Dj16AL7s.js → layers.CQ0N7RMJ.js} +8 -8
  84. package/dist/{layers.DyUWvbyL.js → layers.CSOaFtb5.js} +1 -1
  85. package/dist/{layers.CfYin5Er.js → layers.CScaqKEG.js} +1 -1
  86. package/dist/{layers.BPZk8O3B.js → layers.CT92mIZw.js} +1 -1
  87. package/dist/layers.CTKkKbnk.js +1 -0
  88. package/dist/{layers.Ckgrr88o.js → layers.CTXHlovM.js} +4 -4
  89. package/dist/{layers.B0q3XgJU.js → layers.CUwqAwi2.js} +1 -1
  90. package/dist/{layers.l1aB4_0i.js → layers.CV-x-_sl.js} +1 -1
  91. package/dist/{layers.CBClDrA9.js → layers.CVMppG9B.js} +1 -1
  92. package/dist/{layers.TV0bbpfe.js → layers.CXYpWq7L.js} +2 -2
  93. package/dist/{layers.yxW2eOfP.js → layers.CXx9fumf.js} +1 -1
  94. package/dist/{layers.Cn7-tvQd.js → layers.CYs5lMtI.js} +1 -1
  95. package/dist/{layers.PEWT33VM.js → layers.CZsyGiVE.js} +1 -1
  96. package/dist/{layers.660VGPLH.js → layers.C_u7E9-V.js} +1 -1
  97. package/dist/{layers.CAojvkOK.js → layers.Cb4f1o0-.js} +1 -1
  98. package/dist/{layers.CGde-__V.js → layers.CbGuAIkW.js} +1 -1
  99. package/dist/{layers.BEQKVl6A.js → layers.CcXpI9Yu.js} +1 -1
  100. package/dist/{layers.DWPHA9B8.js → layers.Cch71xec.js} +1 -1
  101. package/dist/{layers.Dfg7mZZ_.js → layers.CeAPZcEh.js} +1 -1
  102. package/dist/{layers.q78-JEaW.js → layers.CenAT1zj.js} +1 -1
  103. package/dist/{layers.BgxBysUn.js → layers.CgHDcCc1.js} +1 -1
  104. package/dist/layers.Ch-ZrQl-.js +6 -0
  105. package/dist/layers.Ci9jAhr3.js +295 -0
  106. package/dist/{layers.b4inQuE7.js → layers.ClkFKKq-.js} +3 -3
  107. package/dist/{layers.B9MvfZB3.js → layers.CmzMhING.js} +1 -1
  108. package/dist/{layers.Cqvn4Ghk.js → layers.Cp-cSBsl.js} +1 -1
  109. package/dist/{layers.B8H90AZL.js → layers.CpVstIjL.js} +1 -1
  110. package/dist/{layers.qP2AeOfJ.js → layers.CpzEm4x3.js} +1 -1
  111. package/dist/{layers.C980d8Nd.js → layers.Cs5xT-hS.js} +1 -1
  112. package/dist/{layers.BcLH4bTX.js → layers.CsSzdOJy.js} +1 -1
  113. package/dist/{layers.yvWi9NIC.js → layers.CtNf1X4m.js} +3 -3
  114. package/dist/{layers.BzF_UPBp.js → layers.CtxJ2Tf-.js} +1 -1
  115. package/dist/{layers.CwfsdXiF.js → layers.Cu3JO4cy.js} +1 -1
  116. package/dist/{layers.pDyyva3v.js → layers.CvspkpQF.js} +1 -1
  117. package/dist/layers.CwrG8roy.js +8 -0
  118. package/dist/{layers.DeJEPXus.js → layers.CwuiDxOl.js} +1 -1
  119. package/dist/{layers.C2SMpGCy.js → layers.CykIHeCY.js} +1 -1
  120. package/dist/{layers.BaRbHFQv.js → layers.Czus1jgD.js} +1 -1
  121. package/dist/{layers.Coe5BZQB.js → layers.D0aF-q2N.js} +1 -1
  122. package/dist/{layers.VD4Vzi4s.js → layers.D8ZPyWaD.js} +1 -1
  123. package/dist/layers.D95-DvSB.js +276 -0
  124. package/dist/{layers.DKYNs_CU.js → layers.D9bsmOWM.js} +1 -1
  125. package/dist/layers.DAE-CRdR.js +1 -0
  126. package/dist/{layers.BciYyxTd.js → layers.DBzH712a.js} +1 -1
  127. package/dist/{layers.CjD6r90E.js → layers.DE1_0gux.js} +3 -3
  128. package/dist/{layers.FDWSIAON.js → layers.DE9DqRSr.js} +1 -1
  129. package/dist/{layers.BReXyMP1.js → layers.DF6a9EUZ.js} +3 -3
  130. package/dist/{layers.DQf6vZpw.js → layers.DFIXifK-.js} +1 -1
  131. package/dist/{layers.DGanGoJD.js → layers.DHgk-SKH.js} +1 -1
  132. package/dist/{layers.KQZtpBN5.js → layers.DIRbGezs.js} +1 -1
  133. package/dist/{layers.BJZxeErp.js → layers.DKJC6GsN.js} +24 -24
  134. package/dist/{layers.CPc7V8vV.js → layers.DPQQ7HFy.js} +1 -1
  135. package/dist/{layers.CWM9jAVS.js → layers.DUQLkeAh.js} +1 -1
  136. package/dist/{layers.Dn7N_XxE.js → layers.DUTElsa0.js} +4 -4
  137. package/dist/{layers.DmaKWX_o.js → layers.DUcBUdWT.js} +1 -1
  138. package/dist/{layers.raDKf7HQ.js → layers.DUdfaKqm.js} +1 -1
  139. package/dist/layers.DVVmZlQ5.js +271 -0
  140. package/dist/{layers.WjBkkibY.js → layers.DW5Bhqr_.js} +1 -1
  141. package/dist/{layers.Ho3d8f_s.js → layers.DXtEhby-.js} +1 -1
  142. package/dist/{layers.CjAzvfUi.js → layers.DZFs-y-1.js} +1 -1
  143. package/dist/{layers.BRgep5CM.js → layers.D_9lVzGl.js} +1 -1
  144. package/dist/{layers.C2s6EBCQ.js → layers.D_bhRl-x.js} +1 -1
  145. package/dist/{layers.oKND5jmb.js → layers.DaAw-Rc5.js} +4 -4
  146. package/dist/{layers.Db3F9Xht.js → layers.DfR-R568.js} +1 -1
  147. package/dist/{layers.BWFrDCw_.js → layers.DfiBcClw.js} +1 -1
  148. package/dist/{layers.CTLImrV_.js → layers.Dfy0TPEt.js} +4 -4
  149. package/dist/{layers.CuKB5PQH.js → layers.Dgn3fOfn.js} +1 -1
  150. package/dist/{layers.Da2wn6Zc.js → layers.DhiJgCJD.js} +1 -1
  151. package/dist/{layers.V_0nAu-4.js → layers.DhsMtgFP.js} +3 -3
  152. package/dist/layers.Di8zzQAk.js +31973 -0
  153. package/dist/{layers.BPLJO6yY.js → layers.Dk3uHzaS.js} +1 -1
  154. package/dist/{layers.yUHpRCIx.js → layers.DmJ5W7yM.js} +1 -1
  155. package/dist/{layers.CRny5Vhs.js → layers.DnK7u2lX.js} +1 -1
  156. package/dist/{layers.DKTUA9Qn.js → layers.DnwQBOHh.js} +1 -1
  157. package/dist/{layers.D1O867q2.js → layers.Doyw9I4B.js} +1 -1
  158. package/dist/{layers.CPQnDAfI.js → layers.Dp5PIWnn.js} +1 -1
  159. package/dist/{layers.DMo2CuQp.js → layers.DpcRHzt7.js} +1 -1
  160. package/dist/{layers.CM6p48QZ.js → layers.DpdSjQmI.js} +7 -7
  161. package/dist/layers.DqIM077W.js +1 -0
  162. package/dist/{layers.DaLQ3FRc.js → layers.DsgZik_6.js} +1 -1
  163. package/dist/{layers.BqHl1vOL.js → layers.DtGucj2v.js} +1 -1
  164. package/dist/{layers.3ttD_EZK.js → layers.Dtm1woen.js} +1 -1
  165. package/dist/{layers.DgUQgDzS.js → layers.DtyCGDiz.js} +1 -1
  166. package/dist/{layers.DzAF3_nF.js → layers.F8UThUfG.js} +3 -3
  167. package/dist/{layers.Dq9FVA37.js → layers.FV81mpoV.js} +1 -1
  168. package/dist/{layers.BPPyJ7T3.js → layers.GZZDLvH6.js} +1 -1
  169. package/dist/{layers.B0_pZ8Wl.js → layers.GhNJlFv5.js} +1 -1
  170. package/dist/{layers.CLXiEuBY.js → layers.H0LObacQ.js} +1 -1
  171. package/dist/{layers.Zq2iwsGh.js → layers.HjsOc0yy.js} +1 -1
  172. package/dist/{layers.zo-yg3U2.js → layers.HumAnx6T.js} +1 -1
  173. package/dist/{layers.Dc1g7Tdd.js → layers.J02DZ98u.js} +1 -1
  174. package/dist/{layers.DJGxoM0s.js → layers.Jdn_GiJM.js} +1 -1
  175. package/dist/{layers.BWBcNeNm.js → layers.K8BLkrc-.js} +1 -1
  176. package/dist/{layers.B-dcjV1g.js → layers.MKVgpOno.js} +1 -1
  177. package/dist/{layers.CxPmSslY.js → layers.NlAiJyit.js} +1 -1
  178. package/dist/{layers.kY76W3YH.js → layers.Ol_RuxUq.js} +1 -1
  179. package/dist/{layers.DDApHZ03.js → layers.RNi2Lhm1.js} +1 -1
  180. package/dist/{layers.DpFNEoh4.js → layers.S-g8ri4Z.js} +1 -1
  181. package/dist/{layers.CMByv_JC.js → layers.SaVr7Lfn.js} +1 -1
  182. package/dist/{layers.zCqvHYlG.js → layers.Uh2EVogA.js} +1 -1
  183. package/dist/{layers.CAiKaIpy.js → layers.VLm_qn_u.js} +1 -1
  184. package/dist/{layers.Di3SZpUk.js → layers.Vqj770-m.js} +1 -1
  185. package/dist/{layers.BtgFk9_J.js → layers.XRmVMEQD.js} +1 -1
  186. package/dist/{layers.CbSE8pbT.js → layers.YFwkFxUI.js} +5 -5
  187. package/dist/layers.YNOgjMyi.js +1 -0
  188. package/dist/{layers.5LDY8hF9.js → layers.Z9vRdeZV.js} +1 -1
  189. package/dist/{layers.CVkPVOoO.js → layers.ZGwz6fvv.js} +1 -1
  190. package/dist/{layers.BuVfRGSL.js → layers.aGEtgw1t.js} +1 -1
  191. package/dist/{layers.BgV2y1LX.js → layers.aOtZ0mRR.js} +1 -1
  192. package/dist/{layers.CkibkU4E.js → layers.aR_k9qSY.js} +1 -1
  193. package/dist/{layers.CFeg1ljH.js → layers.bZV6BmsD.js} +1 -1
  194. package/dist/{layers.7usfK_-Q.js → layers.eNzvtUB9.js} +5 -5
  195. package/dist/{layers.DyxXL2dv.js → layers.fAU3IBfx.js} +1 -1
  196. package/dist/{layers.D71ftE9n.js → layers.jWA8H50k.js} +1 -1
  197. package/dist/{layers.IEu0gpU1.js → layers.kj-o8WBI.js} +1 -1
  198. package/dist/{layers.CnlomgVK.js → layers.kvNm0I7u.js} +1 -1
  199. package/dist/{layers.rW3ZkMNN.js → layers.lteWWQIN.js} +1 -1
  200. package/dist/{layers.DjWqQYKP.js → layers.oJ6jB7Q_.js} +1 -1
  201. package/dist/{layers.C06l9Zne.js → layers.p2n46QNA.js} +1 -1
  202. package/dist/{layers.BR1ZeHtq.js → layers.ptcAreVv.js} +3 -3
  203. package/dist/{layers.BBb11shn.js → layers.rNpfn2BC.js} +1 -1
  204. package/dist/{layers.DXNUBu80.js → layers.rVgnYqm8.js} +1 -1
  205. package/dist/{layers.Fu_2GtJz.js → layers.sqLwKwO8.js} +1 -1
  206. package/dist/layers.upspAWi1.js +76 -0
  207. package/dist/{layers.DwDWuERK.js → layers.w1E0KT6l.js} +1 -1
  208. package/dist/{layers.cRR6U8W0.js → layers.yP4-1D6d.js} +4 -4
  209. package/dist/{layers.DvW94-D9.js → layers.ywe8eLDV.js} +1 -1
  210. package/package.json +166 -192
  211. package/dist/layers.7GMTASen.js +0 -1
  212. package/dist/layers.BhReR8mV.js +0 -45335
  213. package/dist/layers.BoEvkl8V.js +0 -304
  214. package/dist/layers.CiAB6Wqk.js +0 -6
  215. package/dist/layers.CmmYt3Ou.js +0 -1
  216. package/dist/layers.D90g-j4O.js +0 -346
  217. package/dist/layers.DSHp4o8G.js +0 -17
  218. package/dist/layers.De7xHLnX.js +0 -1
  219. package/dist/layers.Dg9ASVJB.js +0 -454
  220. package/dist/layers.DilA0qnM.js +0 -54
  221. package/dist/layers.DkNxNBfM.js +0 -1
  222. package/dist/layers.DlgVWdcp.js +0 -1
  223. package/dist/layers.DnJsFEqv.js +0 -1
  224. package/dist/layers.DpLIZ7AU.js +0 -8
  225. package/dist/layers.GsZzw8KK.js +0 -1
  226. package/dist/layers.MCk79lJa.js +0 -296
package/package.json CHANGED
@@ -1,192 +1,166 @@
1
- {
2
- "name": "@layers-app/editor",
3
- "private": false,
4
- "version": "0.7.84",
5
- "type": "module",
6
- "scripts": {
7
- "start": "cross-env VITE_LAYERS=true vite --mode full ",
8
- "start:specific": "VITE_LAYERS=false vite --mode full ",
9
- "build": "cross-env VITE_LAYERS=true vite build",
10
- "build:specific": "VITE_LAYERS=false vite build",
11
- "lint": "eslint . --ext .ts,.tsx",
12
- "lint:fix": "eslint . --ext .ts,.tsx --fix",
13
- "preview": "vite preview",
14
- "generate-dts": "tsc --project tsconfig.lib.json",
15
- "dev:local": "cross-env NODE_ENV=development concurrently \"npm:server:ws\" \"vite --host\"",
16
- "server:ws": "concurrently \"cd server && npm start\"",
17
- "server:smart-paste": "cd server && npm start",
18
- "dev:full": "concurrently \"npm run start\" \"npm run server:smart-paste\"",
19
- "format": "prettier --write .",
20
- "format:check": "prettier --check .",
21
- "clean:test": "rm -rf test-results playwright-report .playwright-mcp blob-report && find . -maxdepth 1 -name '*.png' -not -name 'favicon.png' -delete",
22
- "test:e2e": "playwright test",
23
- "test:e2e:ui": "playwright test --ui",
24
- "test:e2e:debug": "playwright test --debug",
25
- "test:e2e:headed": "playwright test --headed",
26
- "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost",
27
- "type-check": "tsc --noEmit --project tsconfig.check.json",
28
- "test": "vitest run",
29
- "test:watch": "vitest",
30
- "test:coverage": "vitest run --coverage",
31
- "changeset": "changeset",
32
- "version": "changeset version",
33
- "release": "npm run build && changeset publish",
34
- "prepare": "husky"
35
- },
36
- "lint-staged": {
37
- "*.{ts,tsx}": [
38
- "eslint --fix",
39
- "prettier --write"
40
- ],
41
- "*.{scss,css,json,md}": [
42
- "prettier --write"
43
- ]
44
- },
45
- "publishConfig": {
46
- "access": "public"
47
- },
48
- "files": [
49
- "dist"
50
- ],
51
- "main": "dist/index.js",
52
- "types": "dist/index.d.ts",
53
- "dependencies": {
54
- "@excalidraw/excalidraw": "^0.18.0",
55
- "@floating-ui/react": "^0.27.16",
56
- "@layers-app/editor-video": "^0.1.10",
57
- "@lexical/file": "^0.38.2",
58
- "@lexical/headless": "^0.38.2",
59
- "@lexical/markdown": "^0.38.2",
60
- "@lexical/react": "^0.38.2",
61
- "@tanstack/react-query": "^5.52.2",
62
- "lexical": "^0.38.2",
63
- "react-selecto": "^1.26.3",
64
- "y-websocket": "^1.5.3",
65
- "yjs": "^13.6.20"
66
- },
67
- "devDependencies": {
68
- "@changesets/cli": "^2.30.0",
69
- "@commitlint/cli": "^20.5.0",
70
- "@commitlint/config-conventional": "^20.5.0",
71
- "@eslint/js": "^9.9.0",
72
- "@hugeicons/core-free-icons": "^4.0.0",
73
- "@hugeicons/react": "^1.1.1",
74
- "@layers-app/shared": "0.3.2",
75
- "@mantine/carousel": "8.3.5",
76
- "@mantine/core": "8.3.5",
77
- "@mantine/dropzone": "8.3.5",
78
- "@mantine/form": "8.3.5",
79
- "@mantine/hooks": "8.3.5",
80
- "@mantine/modals": "8.3.5",
81
- "@mantine/notifications": "8.3.5",
82
- "@mantine/tiptap": "8.3.5",
83
- "@playwright/test": "^1.40.0",
84
- "@rollup/plugin-typescript": "^11.1.6",
85
- "@tabler/icons-react": "^3.7.0",
86
- "@trivago/prettier-plugin-sort-imports": "^5.2.1",
87
- "@types/eslint__js": "^8.42.3",
88
- "@types/lodash": "^4.14.202",
89
- "@types/lodash-es": "^4.17.12",
90
- "@types/node": "^20.14.11",
91
- "@types/prettier": "2.7.3",
92
- "@types/react": "^18.3.22",
93
- "@types/react-dom": "^18.3.7",
94
- "@types/swagger-ui-react": "^5.18.0",
95
- "@typescript-eslint/eslint-plugin": "^8.27.0",
96
- "@typescript-eslint/parser": "^8.27.0",
97
- "@vitejs/plugin-basic-ssl": "^1.1.0",
98
- "@vitejs/plugin-react": "^4.2.1",
99
- "concurrently": "^8.2.2",
100
- "cross-env": "^7.0.3",
101
- "eslint": "^9.22.0",
102
- "eslint-config-prettier": "^10.1.1",
103
- "eslint-plugin-prettier": "^5.2.3",
104
- "eslint-plugin-react": "^7.37.4",
105
- "eslint-plugin-react-hooks": "^7.0.1",
106
- "eslint-plugin-react-refresh": "^0.4.19",
107
- "eslint-plugin-unused-imports": "^4.1.4",
108
- "glob": "^10.3.10",
109
- "husky": "^9.1.7",
110
- "i18next": "^25.5.2",
111
- "lint-staged": "^16.4.0",
112
- "lodash-es": "^4.17.21",
113
- "postcss-import": "^16.1.0",
114
- "postcss-preset-mantine": "^1.17.0",
115
- "prettier": "^3.4.2",
116
- "prettier-plugin-organize-attributes": "^1.0.0",
117
- "proper-lockfile": "^4.1.2",
118
- "react": "^18.3.1",
119
- "react-dom": "^18.3.1",
120
- "react-i18next": "^15.7.3",
121
- "rollup-plugin-typescript-paths": "^1.5.0",
122
- "rollup-plugin-visualizer": "^5.12.0",
123
- "sass": "^1.71.1",
124
- "swagger-ui-react": "^5.32.0",
125
- "terser": "^5.39.0",
126
- "typescript": "^5.5.4",
127
- "typescript-eslint": "^8.2.0",
128
- "vite": "^6.2.2",
129
- "vite-plugin-commonjs": "^0.10.1",
130
- "vite-plugin-css-injected-by-js": "^3.5.0",
131
- "vite-plugin-dts": "^4.0.0-beta.1",
132
- "vite-plugin-static-copy": "^2.3.2",
133
- "vite-plugin-svgr": "^4.2.0",
134
- "vitest": "^4.0.18"
135
- },
136
- "overrides": {
137
- "nanoid": "^5.0.9",
138
- "prismjs": "^1.30.0",
139
- "dompurify": "^3.2.4",
140
- "mermaid": "^10.9.4",
141
- "i18next": "^25.5.2",
142
- "@excalidraw/mermaid-to-excalidraw": {
143
- "nanoid": "^5.0.9"
144
- },
145
- "@excalidraw/excalidraw": {
146
- "nanoid": "^5.0.9"
147
- },
148
- "postcss": {
149
- "nanoid": "^5.0.9"
150
- },
151
- "ajv": "^8.18.0",
152
- "eslint": {
153
- "ajv": "6.14.0"
154
- },
155
- "@eslint/eslintrc": {
156
- "ajv": "6.14.0"
157
- },
158
- "minimatch": "^10.2.1"
159
- },
160
- "peerDependencies": {
161
- "@dnd-kit/modifiers": ">=6",
162
- "@emotion/react": ">=11",
163
- "@emotion/styled": ">=11",
164
- "@hugeicons/core-free-icons": "^4.0.0",
165
- "@hugeicons/react": ">=1",
166
- "@tabler/icons-react": ">=3.7.0",
167
- "@mantine/carousel": "8.3.5",
168
- "@mantine/colors-generator": "8.3.5",
169
- "@mantine/core": "8.3.5",
170
- "@mantine/dropzone": "8.3.5",
171
- "@mantine/form": "8.3.5",
172
- "@mantine/hooks": "8.3.5",
173
- "@mantine/modals": "8.3.5",
174
- "@mantine/notifications": "8.3.5",
175
- "@mantine/tiptap": "8.3.5",
176
- "@tanstack/react-query": "^5.52.2",
177
- "@tanstack/react-virtual": ">=3",
178
- "date-fns-tz": ">=3",
179
- "i18next": "^25.5.2",
180
- "js-confetti": ">=0.12",
181
- "lodash-es": "^4.17.21",
182
- "react": "^18.3.1",
183
- "react-dom": "^18.3.1",
184
- "react-i18next": "^15.7.3",
185
- "swagger-ui-react": "^5.27.1"
186
- },
187
- "peerDependenciesMeta": {
188
- "swagger-ui-react": {
189
- "optional": true
190
- }
191
- }
192
- }
1
+ {
2
+ "name": "@layers-app/editor",
3
+ "private": false,
4
+ "version": "0.7.85",
5
+ "type": "module",
6
+ "scripts": {
7
+ "start": "cross-env VITE_LAYERS=true vite --mode full ",
8
+ "start:specific": "VITE_LAYERS=false vite --mode full ",
9
+ "build": "cross-env VITE_LAYERS=true vite build",
10
+ "build:specific": "VITE_LAYERS=false vite build",
11
+ "lint": "eslint . --ext .ts,.tsx",
12
+ "lint:fix": "eslint . --ext .ts,.tsx --fix",
13
+ "preview": "vite preview",
14
+ "generate-dts": "tsc --project tsconfig.lib.json",
15
+ "dev:local": "cross-env NODE_ENV=development concurrently \"npm:server:ws\" \"vite --host\"",
16
+ "server:ws": "concurrently \"cd server && npm start\"",
17
+ "server:smart-paste": "cd server && npm start",
18
+ "dev:full": "concurrently \"npm run start\" \"npm run server:smart-paste\"",
19
+ "format": "prettier --write .",
20
+ "format:check": "prettier --check .",
21
+ "test:e2e": "playwright test",
22
+ "test:e2e:ui": "playwright test --ui",
23
+ "test:e2e:debug": "playwright test --debug",
24
+ "test:e2e:headed": "playwright test --headed",
25
+ "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost",
26
+ "test": "vitest run",
27
+ "test:watch": "vitest",
28
+ "test:coverage": "vitest run --coverage"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "files": [
34
+ "dist"
35
+ ],
36
+ "main": "dist/index.js",
37
+ "types": "dist/index.d.ts",
38
+ "dependencies": {
39
+ "@excalidraw/excalidraw": "^0.18.0",
40
+ "@floating-ui/react": "^0.27.16",
41
+ "@layers-app/editor-video": "^0.1.10",
42
+ "@lexical/file": "^0.38.2",
43
+ "@lexical/headless": "^0.38.2",
44
+ "@lexical/markdown": "^0.38.2",
45
+ "@lexical/react": "^0.38.2",
46
+ "@tanstack/react-query": "^5.52.2",
47
+ "lexical": "^0.38.2",
48
+ "react-selecto": "^1.26.3",
49
+ "y-websocket": "^1.5.3",
50
+ "yjs": "^13.6.20"
51
+ },
52
+ "devDependencies": {
53
+ "@eslint/js": "^9.9.0",
54
+ "@hugeicons/core-free-icons": "^4.1.1",
55
+ "@hugeicons/react": "^1.1.1",
56
+ "@layers-app/shared": "^0.2.7",
57
+ "@mantine/core": "8.3.5",
58
+ "@mantine/dropzone": "8.3.5",
59
+ "@mantine/form": "8.3.5",
60
+ "@mantine/hooks": "8.3.5",
61
+ "@mantine/modals": "8.3.5",
62
+ "@mantine/notifications": "8.3.5",
63
+ "@playwright/test": "^1.40.0",
64
+ "@rollup/plugin-typescript": "^11.1.6",
65
+ "@tabler/icons-react": "^3.7.0",
66
+ "@trivago/prettier-plugin-sort-imports": "^5.2.1",
67
+ "@types/eslint__js": "^8.42.3",
68
+ "@types/lodash": "^4.14.202",
69
+ "@types/lodash-es": "^4.17.12",
70
+ "@types/node": "^20.14.11",
71
+ "@types/prettier": "2.7.3",
72
+ "@types/react": "^18.3.22",
73
+ "@types/react-dom": "^18.3.7",
74
+ "@types/swagger-ui-react": "^5.18.0",
75
+ "@typescript-eslint/eslint-plugin": "^8.27.0",
76
+ "@typescript-eslint/parser": "^8.27.0",
77
+ "@vitejs/plugin-basic-ssl": "^1.1.0",
78
+ "@vitejs/plugin-react": "^4.2.1",
79
+ "concurrently": "^8.2.2",
80
+ "cross-env": "^7.0.3",
81
+ "eslint": "^9.22.0",
82
+ "eslint-config-prettier": "^10.1.1",
83
+ "eslint-plugin-prettier": "^5.2.3",
84
+ "eslint-plugin-react": "^7.37.4",
85
+ "eslint-plugin-react-refresh": "^0.4.19",
86
+ "eslint-plugin-unused-imports": "^4.1.4",
87
+ "glob": "^10.3.10",
88
+ "i18next": "^25.5.2",
89
+ "lodash-es": "^4.17.21",
90
+ "postcss-import": "^16.1.0",
91
+ "postcss-preset-mantine": "^1.17.0",
92
+ "prettier": "^3.4.2",
93
+ "prettier-plugin-organize-attributes": "^1.0.0",
94
+ "proper-lockfile": "^4.1.2",
95
+ "react-i18next": "^15.7.3",
96
+ "rollup-plugin-typescript-paths": "^1.5.0",
97
+ "rollup-plugin-visualizer": "^5.12.0",
98
+ "sass": "^1.71.1",
99
+ "terser": "^5.39.0",
100
+ "typescript": "^5.5.4",
101
+ "typescript-eslint": "^8.2.0",
102
+ "vite": "^6.2.2",
103
+ "vite-plugin-commonjs": "^0.10.1",
104
+ "vite-plugin-css-injected-by-js": "^3.5.0",
105
+ "vite-plugin-dts": "^4.0.0-beta.1",
106
+ "vite-plugin-static-copy": "^2.3.2",
107
+ "vite-plugin-svgr": "^4.2.0",
108
+ "vitest": "^4.0.18"
109
+ },
110
+ "overrides": {
111
+ "nanoid": "^5.0.9",
112
+ "prismjs": "^1.30.0",
113
+ "dompurify": "^3.2.4",
114
+ "mermaid": "^10.9.4",
115
+ "i18next": "^25.5.2",
116
+ "@mantine/core": "8.3.5",
117
+ "@mantine/hooks": "8.3.5",
118
+ "@mantine/form": "8.3.5",
119
+ "@mantine/dropzone": "8.3.5",
120
+ "@mantine/modals": "8.3.5",
121
+ "@mantine/notifications": "8.3.5",
122
+ "@excalidraw/mermaid-to-excalidraw": {
123
+ "nanoid": "^5.0.9"
124
+ },
125
+ "@excalidraw/excalidraw": {
126
+ "nanoid": "^5.0.9"
127
+ },
128
+ "postcss": {
129
+ "nanoid": "^5.0.9"
130
+ },
131
+ "ajv": "^8.18.0",
132
+ "minimatch": "^10.2.1"
133
+ },
134
+ "peerDependencies": {
135
+ "@dnd-kit/modifiers": ">=6",
136
+ "@emotion/react": ">=11",
137
+ "@emotion/styled": ">=11",
138
+ "@hugeicons/core-free-icons": ">=1",
139
+ "@hugeicons/react": ">=1",
140
+ "@mantine/carousel": ">=8.0.0",
141
+ "@mantine/colors-generator": ">=8.0.0",
142
+ "@mantine/core": ">=8.0.0",
143
+ "@mantine/dropzone": ">=8.0.0",
144
+ "@mantine/form": ">=8.0.0",
145
+ "@mantine/hooks": ">=8.0.0",
146
+ "@mantine/modals": ">=8.0.0",
147
+ "@mantine/notifications": ">=8.0.0",
148
+ "@mantine/tiptap": ">=8.0.0",
149
+ "@tabler/icons-react": ">=3.7.0",
150
+ "@tanstack/react-query": "^5.52.2",
151
+ "@tanstack/react-virtual": ">=3",
152
+ "date-fns-tz": ">=3",
153
+ "i18next": "^25.5.2",
154
+ "js-confetti": ">=0.12",
155
+ "lodash-es": ">=4.17.21",
156
+ "react": "^18.3.1",
157
+ "react-dom": "^18.3.1",
158
+ "react-i18next": "^15.7.3",
159
+ "swagger-ui-react": "^5.27.1"
160
+ },
161
+ "peerDependenciesMeta": {
162
+ "swagger-ui-react": {
163
+ "optional": true
164
+ }
165
+ }
166
+ }
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),r=require("react"),se=require("react-dom"),ae=require("react-i18next"),c=require("./layers.BoEvkl8V.js"),ce=require("@lexical/react/LexicalComposerContext"),M=require("@lexical/react/LexicalErrorBoundary"),ie=require("@lexical/react/useLexicalEditable"),A=require("@mantine/core"),T=require("lexical"),le=require("./layers.R8mPlCA0.js");function H({equation:u,inline:a,onDoubleClick:l}){const s=r.useRef(null);return r.useEffect(()=>{const m=s.current;m!==null&&le.default.render(u,m,{displayMode:!a,errorColor:"#cc0000",output:"html",strict:"warn",throwOnError:!1,trust:!1})},[u,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:l,ref:s}),n.jsx("img",{src:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",width:0,height:0,alt:""})]})}const X=18,ue=8,Y=20,J=25,Z=20;let K=!1;const V=new Map;function de(u){K||(K=!0,u.registerCommand(c.OPEN_EQUATION_POPUP_COMMAND,a=>{const l=V.get(a);return l?(l(),!0):!1},T.COMMAND_PRIORITY_EDITOR))}function pe({equation:u,inline:a,nodeKey:l}){const[s]=ce.useLexicalComposerContext(),m=ie.useLexicalEditable(),{t:b}=ae.useTranslation(),C=r.useRef(null),B=r.useRef(null),L=r.useRef(null),[E,R]=r.useState(u),[d,h]=r.useState(!1),[F,Q]=r.useState({top:0,left:0}),[S,$]=r.useState(!1),j=r.useCallback(()=>{const t=C.current;if(!t)return;const i=(t.closest(".editor-equation")||t).getBoundingClientRect(),o=X-(a?Z:0);Q({top:i.bottom+o-Y+J,left:i.left}),$(!0)},[a]),z=r.useCallback(()=>{const t=C.current,e=B.current;if(!t||!e)return;const o=(t.closest(".editor-equation")||t).getBoundingClientRect(),P=e.getBoundingClientRect(),g=P.height,G=P.width,_=window.visualViewport,O=(_==null?void 0:_.height)??window.innerHeight,W=(_==null?void 0:_.width)??window.innerWidth,p=ue,N=X-(a?Z:0),U=o.bottom+N,D=o.top-N-g,te=U+g<=O-p,ne=D>=p;let f,q;if(te)f=U,q=!0;else if(ne)f=D,q=!1;else{const oe=O-p-(o.bottom+N),re=o.top-N-p;q=oe>=re,f=q?U:D,f=Math.max(p,Math.min(f,O-g-p))}let I=o.left;I+G>W-p&&(I=W-G-p),I=Math.max(p,I),f-=Y,q&&(f+=J),f=Math.max(p,Math.min(f,O-g-p)),Q({top:f,left:I})},[a]);r.useLayoutEffect(()=>{if(!d||c.IS_TOUCH_DEVICE||!S)return;const t=B.current;if(!t)return;const e=()=>{z()};e();const i=new ResizeObserver(e);i.observe(t);const o=window.visualViewport;return window.addEventListener("scroll",e,!0),o==null||o.addEventListener("resize",e),o==null||o.addEventListener("scroll",e),()=>{i.disconnect(),window.removeEventListener("scroll",e,!0),o==null||o.removeEventListener("resize",e),o==null||o.removeEventListener("scroll",e)}},[S,d,z]),r.useEffect(()=>{de(s)},[s]),r.useEffect(()=>{const t=()=>{m&&h(!0)};return V.set(l,t),()=>{V.delete(l)}},[m,l]);const w=r.useCallback(()=>{if(m){if(d){h(!1);return}j(),h(!0)}},[m,d,j]),y=r.useCallback(()=>{const t=E.trim();s.update(()=>{const e=T.$getNodeByKey(l);if(c.$isEquationNode(e)){if(e.isInline&&e.isInline()&&t===""){e.remove();return}e.setEquation(t)}}),h(!1)},[s,l,E]),k=r.useCallback(()=>{if(!u&&a){s.update(()=>{const t=T.$getNodeByKey(l);c.$isEquationNode(t)&&t.remove()}),h(!1);return}R(u),h(!1)},[s,u,a,l]);r.useEffect(()=>{d||R(u)},[u,d]),r.useEffect(()=>{if(!d||c.IS_TOUCH_DEVICE){c.unblockScroll(),c.IS_TOUCH_DEVICE||$(!1);return}c.blockScroll(),j();const t=window.requestAnimationFrame(()=>{const e=L.current;if(!e)return;const i=e.value.length;e.focus(),e.setSelectionRange(i,i)});return()=>{window.cancelAnimationFrame(t),c.unblockScroll()}},[d,j]),r.useEffect(()=>{if(!d||c.IS_TOUCH_DEVICE)return;const t=e=>{const i=e.target,o=C.current,P=document.querySelector(".equation-block__popup");i&&(o!=null&&o.contains(i)||P instanceof HTMLElement&&P.contains(i))||(a&&!E.trim()&&s.update(()=>{const g=T.$getNodeByKey(l);c.$isEquationNode(g)&&g.remove()}),h(!1))};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[s,a,d,l,E]);const x=(d?E:u).trim(),v=x.length>0;r.useEffect(()=>{const t=C.current;if(!t)return;const e=t.closest(".editor-equation");if(e){if(!x){e.removeAttribute("data-lexical-equation");return}try{const i=btoa(unescape(encodeURIComponent(x)));e.setAttribute("data-lexical-equation",i)}catch{e.setAttribute("data-lexical-equation",x)}}},[x]);const ee=a&&!m?n.jsx("span",{className:"equation-inline-trigger",children:n.jsx(M.LexicalErrorBoundary,{onError:t=>{var e;return(e=s._onError)==null?void 0:e.call(s,t)},children:n.jsx(H,{equation:u,inline:a,onDoubleClick:w})})}):a?n.jsx("span",{className:`equation-inline-trigger${v?"":" equation-inline-trigger--empty"}`,onClick:w,ref:C,children:v?n.jsx(M.LexicalErrorBoundary,{onError:t=>{var e;return(e=s._onError)==null?void 0:e.call(s,t)},children:n.jsx(H,{equation:x,inline:a,onDoubleClick:w})}):n.jsxs("span",{className:"equation-inline-placeholder",children:[n.jsx(c.HugeiconsIcon,{icon:c.$tr,size:24}),n.jsx("span",{children:"New equation"})]})}):n.jsx("div",{className:"equation-block",ref:C,children:n.jsx("div",{className:"equation-block__container",onClick:w,style:{cursor:m?"pointer":"default"},children:v?n.jsx(M.LexicalErrorBoundary,{onError:t=>{var e;return(e=s._onError)==null?void 0:e.call(s,t)},children:n.jsx(H,{equation:x,inline:a,onDoubleClick:w})}):n.jsx("div",{className:"equation-block__placeholder",children:b("editor.menu.equation.placeholder.block")})})});return n.jsxs(n.Fragment,{children:[ee,c.IS_TOUCH_DEVICE?n.jsx(c.MobileDrawer,{opened:d,onClose:k,title:b("editor.menu.other.equation.mobileTitle"),classNames:{content:"equation-mobile-drawer__content"},children:n.jsxs(A.Stack,{gap:"md",children:[n.jsx(A.Textarea,{autosize:!0,minRows:1,variant:"unstyled",value:E,onChange:t=>{t.stopPropagation(),R(t.currentTarget.value)},placeholder:"x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",classNames:{wrapper:"equation-block__textarea-wrapper",input:"equation-mobile__textarea-input"},autoFocus:!0,ref:L}),n.jsxs(A.Stack,{gap:8,children:[n.jsx(A.Button,{fullWidth:!0,onClick:y,children:b("editor.link.save")}),n.jsx(A.Button,{variant:"subtle",color:"gray",fullWidth:!0,onClick:k,children:b("editor.cancel")})]})]})}):d&&S&&se.createPortal(n.jsx("div",{ref:B,className:"equation-block__popup",style:{position:"fixed",top:F.top,left:F.left,zIndex:400},children:n.jsxs("div",{className:"equation-block__editor",children:[n.jsx(A.Textarea,{autosize:!0,minRows:2,variant:"unstyled",value:E,onChange:t=>{t.stopPropagation(),R(t.currentTarget.value)},onKeyDown:c.createPopupKeyDownHandler({onConfirm:y,onCancel:k}),placeholder:"x = \\frac{-b \\pm \\sqrt{b^2 - 4ac}}{2a}",classNames:{wrapper:"equation-block__textarea-wrapper"},autoFocus:!0,ref:L}),n.jsxs(A.Group,{justify:"flex-end",gap:"sm",children:[n.jsx(A.Button,{variant:"subtle",color:"gray",onClick:k,children:b("editor.cancel")}),n.jsx(A.Button,{onClick:y,children:b("editor.link.save")})]})]})}),document.body)]})}exports.default=pe;