@layers-app/editor 0.7.72 → 0.7.73

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 (228) hide show
  1. package/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +33 -5
  4. package/dist/index.js +9 -9
  5. package/dist/{layers.CK8eqjQ1.js → layers.-jcyk4bM.js} +1 -1
  6. package/dist/{layers.BkOYHzu1.js → layers.1rpbSbja.js} +1 -1
  7. package/dist/{layers.D8Xml_Z8.js → layers.2Go7YAPb.js} +1 -1
  8. package/dist/{layers.DvyVNqsm.js → layers.3HOFM6Yh.js} +1 -1
  9. package/dist/{layers.iUFm8hEA.js → layers.4AtWU7y9.js} +1 -1
  10. package/dist/{layers.2eGUbgGd.js → layers.5TskWag9.js} +1 -1
  11. package/dist/{layers.WyEKw7Rc.js → layers.5gVnb2cc.js} +1 -1
  12. package/dist/{layers.BG4huPx4.js → layers.89_kGkg2.js} +1 -1
  13. package/dist/{layers.DZUKcVyU.js → layers.8sBJCnIE.js} +3 -3
  14. package/dist/{layers.B7_JGhH0.js → layers.8x1_6hT8.js} +1 -1
  15. package/dist/{layers.CxW06imx.js → layers.B1A53oVp.js} +2 -2
  16. package/dist/layers.B1KFGcyq.js +1 -0
  17. package/dist/layers.B3YpIhPU.js +8 -0
  18. package/dist/{layers.nsYs1Rqq.js → layers.B42-w4g_.js} +1 -1
  19. package/dist/{layers.CLGDJKb_.js → layers.B4_5THyR.js} +1 -1
  20. package/dist/{layers.CIja3HJc.js → layers.B6-gsG4r.js} +1 -1
  21. package/dist/{layers.oqPgo_eW.js → layers.B7xIX9lf.js} +1 -1
  22. package/dist/{layers.BEQWWJfL.js → layers.B9635Y21.js} +1 -1
  23. package/dist/{layers.DZDVsz22.js → layers.BA0cav2h.js} +1 -1
  24. package/dist/{layers.DjhlgDze.js → layers.BAKugrhe.js} +1 -1
  25. package/dist/{layers.DxUzXfri.js → layers.BD07g2sn.js} +1 -1
  26. package/dist/{layers.Cwi-KZ2f.js → layers.BFq9htYj.js} +1 -1
  27. package/dist/{layers.DBX45B7F.js → layers.BI9D4y0s.js} +7 -7
  28. package/dist/layers.BN9de8bT.js +310 -0
  29. package/dist/{layers.6SrKoOmO.js → layers.BNoRx9lL.js} +1 -1
  30. package/dist/{layers.BzhCrFPz.js → layers.BNsVne4p.js} +1 -1
  31. package/dist/{layers.BuEAWjSg.js → layers.BOGoXp0B.js} +1 -1
  32. package/dist/{layers.raBgFUzB.js → layers.BPiqCouk.js} +9 -9
  33. package/dist/{layers.az28FNZ-.js → layers.BRihRjAR.js} +1 -1
  34. package/dist/{layers.NkyBFXgj.js → layers.BSMfywjv.js} +1 -1
  35. package/dist/{layers.D2o1hyjW.js → layers.BS_inF96.js} +1 -1
  36. package/dist/{layers.CmdQjL00.js → layers.BTDNFAft.js} +7 -7
  37. package/dist/{layers.CGzP2q6Z.js → layers.BTPCi6jl.js} +1 -1
  38. package/dist/{layers.CDp59iKw.js → layers.BWQ2brdk.js} +1 -1
  39. package/dist/{layers.DzItBonz.js → layers.BX3d_5s_.js} +1 -1
  40. package/dist/{layers.C_ioPI8e.js → layers.BYyWXFnO.js} +1 -1
  41. package/dist/{layers.PTo655Wr.js → layers.BZ7uyOQ7.js} +2 -2
  42. package/dist/{layers.BvIrZqsg.js → layers.B_NJzzTV.js} +6 -6
  43. package/dist/{layers.C795REM2.js → layers.B_PEvLuK.js} +1 -1
  44. package/dist/{layers.BkqTGalM.js → layers.Bacvq7NZ.js} +1 -1
  45. package/dist/{layers.BMbdnhC4.js → layers.BaiWmzAb.js} +1 -1
  46. package/dist/{layers.BzJo-HXJ.js → layers.Bdez0NXd.js} +1 -1
  47. package/dist/{layers.Cz1ARBxJ.js → layers.Bi4o48Tn.js} +1 -1
  48. package/dist/{layers.BLpHJ9D_.js → layers.Bi68VB6I.js} +5 -5
  49. package/dist/{layers.C_sb9XVx.js → layers.BiystG3H.js} +1 -1
  50. package/dist/{layers.Cga_IxM0.js → layers.BjD981mn.js} +1 -1
  51. package/dist/{layers.Ctvo7YMt.js → layers.Bk9zDaLx.js} +4 -4
  52. package/dist/{layers.BWBOXnQt.js → layers.BkFO9Teq.js} +1 -1
  53. package/dist/{layers.NjfBrMBS.js → layers.BoSDy5XN.js} +1 -1
  54. package/dist/{layers.B4GR6S3W.js → layers.BouIkeiI.js} +1 -1
  55. package/dist/{layers.CJXskBo3.js → layers.Bp73cBSc.js} +10 -10
  56. package/dist/layers.BpVBDO-j.js +1 -0
  57. package/dist/{layers.B1_ePX_M.js → layers.BpiTx-14.js} +1 -1
  58. package/dist/{layers.cRzXZMOS.js → layers.BsekoiOx.js} +1 -1
  59. package/dist/{layers.kNCPmDgw.js → layers.Bsniq4GV.js} +1 -1
  60. package/dist/{layers.CIxWArWx.js → layers.Bt3PsshT.js} +1 -1
  61. package/dist/layers.BubSaH-i.js +296 -0
  62. package/dist/{layers.CgtKn47k.js → layers.Bv4l5ANd.js} +1 -1
  63. package/dist/{layers.DzB7pvmr.js → layers.BvxpQFhC.js} +1 -1
  64. package/dist/{layers.Bv6vIPlu.js → layers.BwNPMkF9.js} +1 -1
  65. package/dist/{layers.8fbsCA17.js → layers.BxK2XRYV.js} +1 -1
  66. package/dist/{layers.ZwfB6SkM.js → layers.BxfZxysc.js} +1 -1
  67. package/dist/{layers.CA_V3lSO.js → layers.ByM9SccQ.js} +1 -1
  68. package/dist/layers.ByMw6Cap.js +17 -0
  69. package/dist/{layers.CuUSCWd5.js → layers.BzjeicFQ.js} +1 -1
  70. package/dist/{layers.CIVR1enl.js → layers.C0cPo2Sz.js} +2 -2
  71. package/dist/{layers.DLFScbzJ.js → layers.C2I61d2G.js} +1 -1
  72. package/dist/{layers.C14v7Nbr.js → layers.C3GYUTQo.js} +1 -1
  73. package/dist/{layers.Cue2C1cO.js → layers.C43BMrap.js} +1 -1
  74. package/dist/{layers.DoayY5UL.js → layers.C53NZSVS.js} +1 -1
  75. package/dist/{layers.Ds0k8vrg.js → layers.C7BurHEm.js} +3 -3
  76. package/dist/{layers.CRCrtr6i.js → layers.C8ioRYgD.js} +5 -5
  77. package/dist/{layers.VydHRC9A.js → layers.CAn36suT.js} +1 -1
  78. package/dist/{layers.wSq3vDob.js → layers.CCd_0G1m.js} +1 -1
  79. package/dist/{layers.BfQCOr7p.js → layers.CDNnpPg3.js} +1 -1
  80. package/dist/layers.CDxePIp4.js +1 -0
  81. package/dist/{layers.DcOnWY56.js → layers.CERR11P-.js} +1 -1
  82. package/dist/{layers.BVk9merk.js → layers.CHW87Zhk.js} +4 -4
  83. package/dist/{layers.KXwPKg4r.js → layers.CHYTOflP.js} +1 -1
  84. package/dist/{layers.DLUTwZeH.js → layers.CHcey3g3.js} +1 -1
  85. package/dist/{layers.7abAwwzZ.js → layers.CIPXNBlD.js} +1 -1
  86. package/dist/{layers.z_wjhscg.js → layers.CL1uF5t5.js} +1 -1
  87. package/dist/{layers.DJafcRCG.js → layers.CLVxDL5G.js} +1 -1
  88. package/dist/{layers.IWrG_102.js → layers.CLkV_vkR.js} +1 -1
  89. package/dist/{layers.DpvZgoxr.js → layers.CMAMAjOt.js} +1 -1
  90. package/dist/{layers.CYKmJSxi.js → layers.CMHu24Ql.js} +1 -1
  91. package/dist/{layers.Cmp3vcQi.js → layers.CMaeDC65.js} +1 -1
  92. package/dist/layers.CNMiwmu3.js +448 -0
  93. package/dist/{layers.3KzGJWLV.js → layers.COScpDa7.js} +1 -1
  94. package/dist/{layers.usAj8Dee.js → layers.CPvmwHLf.js} +10 -10
  95. package/dist/layers.CS4a_Qbq.js +7 -0
  96. package/dist/{layers.BLqgoq72.js → layers.CTcH_8bz.js} +1 -1
  97. package/dist/{layers.Bt_dzFFe.js → layers.CTlKd7_i.js} +1 -1
  98. package/dist/{layers.eoSErbC_.js → layers.CTsf_l_0.js} +2 -2
  99. package/dist/{layers.C39s5IJH.js → layers.CWTTlPoB.js} +1 -1
  100. package/dist/{layers.DJe2JTBB.js → layers.CXUeOoN_.js} +1 -1
  101. package/dist/{layers.IEVx3l1m.js → layers.CYjcoAhD.js} +1 -1
  102. package/dist/{layers.f_rn08S3.js → layers.C_76Bky9.js} +1 -1
  103. package/dist/{layers.CfNmHEJS.js → layers.CahX8l6Z.js} +1 -1
  104. package/dist/{layers.yiwN7Ls5.js → layers.Cblwafxc.js} +1 -1
  105. package/dist/{layers.DTGLREC_.js → layers.Cc2hOS2F.js} +1 -1
  106. package/dist/{layers.DSbPZvfy.js → layers.CchNY7hj.js} +1 -1
  107. package/dist/{layers.BpxsQbVo.js → layers.Cd5erjUO.js} +4 -4
  108. package/dist/{layers.C8e_hKLd.js → layers.CeZkedFh.js} +1 -1
  109. package/dist/{layers.CxAQjmN_.js → layers.Cf7v0sNr.js} +1 -1
  110. package/dist/{layers.DDuZUtH0.js → layers.CflEcWXV.js} +1 -1
  111. package/dist/layers.Cftl8DPM.js +1 -0
  112. package/dist/{layers.BLIXWxxR.js → layers.CgVfenDk.js} +1 -1
  113. package/dist/{layers.WthYg8N6.js → layers.Chjuxihd.js} +1 -1
  114. package/dist/{layers.DZ2QILd5.js → layers.ChwKPi7g.js} +1 -1
  115. package/dist/{layers.CIfEzEFj.js → layers.CicAaWGT.js} +8 -8
  116. package/dist/{layers.D0eazEdG.js → layers.ClMeOPpy.js} +1 -1
  117. package/dist/{layers.BCanLzFM.js → layers.ClhT0-9S.js} +3 -3
  118. package/dist/layers.CmmYt3Ou.js +1 -0
  119. package/dist/{layers.B-4TZPha.js → layers.CownpGxZ.js} +1 -1
  120. package/dist/{layers.CAjy8D8n.js → layers.CqueZOlC.js} +3 -3
  121. package/dist/{layers.DucCmgW4.js → layers.CrU6Fos8.js} +1 -1
  122. package/dist/{layers.XAoPpZHd.js → layers.Ct80-G0q.js} +1 -1
  123. package/dist/{layers.CDCp4wgY.js → layers.CwQ97m15.js} +1 -1
  124. package/dist/{layers.fAF2eVpM.js → layers.CyMQNdiy.js} +1 -1
  125. package/dist/{layers.B3Ruy5Kp.js → layers.Czt20uQv.js} +1 -1
  126. package/dist/{layers.C_uZBot1.js → layers.D0R2R0Jd.js} +1 -1
  127. package/dist/{layers.BL_e7u3b.js → layers.D1GAAgBk.js} +1 -1
  128. package/dist/{layers.DYWECvC1.js → layers.D1a4AjEH.js} +1 -1
  129. package/dist/{layers.Dg0lNybL.js → layers.D3HJ5pz-.js} +24 -24
  130. package/dist/{layers.CWIJSe68.js → layers.D3_sKPjt.js} +1 -1
  131. package/dist/{layers.BmFqWluV.js → layers.D3yWIos1.js} +1 -1
  132. package/dist/layers.D4shTRY7.js +1 -0
  133. package/dist/{layers.DurirhYR.js → layers.D6z-qUf7.js} +1 -1
  134. package/dist/{layers.QkzB-N1H.js → layers.DDKxLC_h.js} +1 -1
  135. package/dist/{layers.CRpzwkdn.js → layers.DEL0J0b3.js} +1 -1
  136. package/dist/{layers.BtLWllEb.js → layers.DFJJXe2v.js} +1 -1
  137. package/dist/{layers.D1mmYSsE.js → layers.DFTqQDwg.js} +7 -7
  138. package/dist/{layers.D7LmYaRO.js → layers.DGTZjLXT.js} +1 -1
  139. package/dist/{layers.BAEVBCQF.js → layers.DNZA2DOa.js} +4 -4
  140. package/dist/{layers.DIDSxsL8.js → layers.DOw9hgw-.js} +1 -1
  141. package/dist/{layers.RHSnHv3O.js → layers.DP7GC0KB.js} +1 -1
  142. package/dist/{layers.C34vHWX9.js → layers.DQ2_akvw.js} +1 -1
  143. package/dist/{layers.29z-kN0U.js → layers.DZe8X2hq.js} +1 -1
  144. package/dist/{layers.BzhFWj-f.js → layers.D_WBBSsQ.js} +1 -1
  145. package/dist/{layers.xK5Vaqr3.js → layers.DacdUOPM.js} +4 -4
  146. package/dist/{layers.BCZ-xQRf.js → layers.DagFOTXg.js} +418 -418
  147. package/dist/{layers.C5u23VEM.js → layers.DcTrIVZY.js} +1 -1
  148. package/dist/{layers.DpFE2vFP.js → layers.DcXuBN_x.js} +3 -3
  149. package/dist/{layers.BZ2umawZ.js → layers.Dd44hHwS.js} +3 -3
  150. package/dist/{layers.B4KvjX5n.js → layers.DdqGQvJh.js} +1 -1
  151. package/dist/{layers.CwvsT5MW.js → layers.DhFeU3u-.js} +1 -1
  152. package/dist/{layers.C_4sHlLM.js → layers.DiTNwNUV.js} +1 -1
  153. package/dist/layers.DilA0qnM.js +54 -0
  154. package/dist/{layers.CT4hfwa-.js → layers.Dix6eIfB.js} +1 -1
  155. package/dist/{layers.D31wwnyC.js → layers.DjEhgUY1.js} +1 -1
  156. package/dist/{layers.CTfQAnVN.js → layers.DjKS1dHv.js} +1 -1
  157. package/dist/{layers.Dz2qb7rL.js → layers.DjRWDW4G.js} +1 -1
  158. package/dist/{layers.BFHTMTTX.js → layers.Djd_Uw0-.js} +1 -1
  159. package/dist/{layers.E892eJZg.js → layers.Dk2ToAE8.js} +1 -1
  160. package/dist/{layers.CnlDfzWj.js → layers.Dlfla-hH.js} +1 -1
  161. package/dist/layers.Dloh880V.js +129 -0
  162. package/dist/layers.Dmxv7aEp.js +1 -0
  163. package/dist/{layers.DXnvM8S3.js → layers.DoAf4WoC.js} +1 -1
  164. package/dist/{layers.CCXBPyqU.js → layers.DoWM5oRX.js} +1 -1
  165. package/dist/{layers.B3vf8w4h.js → layers.DtCKKTlV.js} +1 -1
  166. package/dist/{layers.uD_D1NBH.js → layers.DvH5Houv.js} +2 -2
  167. package/dist/{layers.Dedx-eVe.js → layers.Dy9Hf5tS.js} +1 -1
  168. package/dist/{layers.B0j2Pjtx.js → layers.DzbHpnax.js} +1 -1
  169. package/dist/{layers.DZ7uLDLy.js → layers.FVlf0hQc.js} +1 -1
  170. package/dist/{layers.BeWgQkB0.js → layers.GasdeNYR.js} +1 -1
  171. package/dist/{layers.CN7YxBkP.js → layers.GwFkt_gV.js} +1 -1
  172. package/dist/{layers.a7Y0-Ovc.js → layers.ItiUw9Tw.js} +1 -1
  173. package/dist/{layers.BVJmJkvg.js → layers.JGfVX7Ur.js} +1 -1
  174. package/dist/{layers.Cy7RwmlD.js → layers.Ks-1boqR.js} +1 -1
  175. package/dist/{layers.BR7pfq8u.js → layers.LKjX8Fz2.js} +1 -1
  176. package/dist/{layers.C_XTbBPd.js → layers.O5puIhhl.js} +1 -1
  177. package/dist/{layers.CCeQ1Zgg.js → layers.OmKnxyBT.js} +1 -1
  178. package/dist/{layers.4cfPAzON.js → layers.OzA1M7E1.js} +1 -1
  179. package/dist/{layers.BViSag_h.js → layers.Pe_NOCu0.js} +1 -1
  180. package/dist/{layers.Dm_T78Zo.js → layers.SSNPpGFD.js} +3 -3
  181. package/dist/{layers.Bq6Uf0zy.js → layers.TBlQ7kcV.js} +1 -1
  182. package/dist/{layers.DIgWZIIl.js → layers.UD_YDtWb.js} +1 -1
  183. package/dist/{layers.BxvD7MfW.js → layers.UU3FJv_5.js} +1 -1
  184. package/dist/{layers.C9yvqx5g.js → layers.VeV-dG_t.js} +1 -1
  185. package/dist/{layers.Bqw5uSe9.js → layers.YDWMYqRm.js} +1 -1
  186. package/dist/{layers.CKFM0b2E.js → layers.ZbhwK_fa.js} +1 -1
  187. package/dist/{layers.DoN9Oh0K.js → layers.ZdRzY47n.js} +1 -1
  188. package/dist/{layers.CQSEYM0M.js → layers.azXIEOIk.js} +1 -1
  189. package/dist/layers.bwqitEP8.js +33293 -0
  190. package/dist/{layers.Dp8S0OhG.js → layers.c5Ykc5i0.js} +1 -1
  191. package/dist/{layers.BdIUMMGf.js → layers.cPidb-JW.js} +1 -1
  192. package/dist/{layers.ffYN0Niz.js → layers.cm1pZi8B.js} +1 -1
  193. package/dist/{layers.A_qEp1lj.js → layers.dgy6SyDl.js} +3 -3
  194. package/dist/{layers.xFKciXPD.js → layers.f30xuTe3.js} +1 -1
  195. package/dist/{layers.SQWqNrxn.js → layers.gjuyzzc5.js} +1 -1
  196. package/dist/{layers.BYLjA_vv.js → layers.hktHfiCJ.js} +1 -1
  197. package/dist/{layers.CvGxDg9d.js → layers.mzPLEFES.js} +2 -2
  198. package/dist/{layers.PH3F_3NY.js → layers.oCTt4wql.js} +1 -1
  199. package/dist/{layers.DQvo3VEC.js → layers.prvydH8k.js} +1 -1
  200. package/dist/{layers.D3VohQGt.js → layers.pzCiqkxl.js} +1 -1
  201. package/dist/{layers.DFcedzzN.js → layers.quaJJtUF.js} +4 -4
  202. package/dist/{layers.Bj8VZ0zA.js → layers.qyd_Wus1.js} +1 -1
  203. package/dist/{layers.D0yrLik0.js → layers.rSENvdgo.js} +1 -1
  204. package/dist/{layers.CeylCTqM.js → layers.uRYeYzYH.js} +6 -6
  205. package/dist/layers.uebG0PG6.js +6 -0
  206. package/dist/{layers.D0Wc-Rv9.js → layers.vTiYCtLn.js} +1 -1
  207. package/dist/{layers.BGfKHBrG.js → layers.vjAG1ypI.js} +1 -1
  208. package/dist/{layers.Dd8aY92t.js → layers.yUjLdAnD.js} +3 -3
  209. package/package.json +185 -160
  210. package/dist/layers.6mYdYt0A.js +0 -271
  211. package/dist/layers.BNkCV5Pi.js +0 -129
  212. package/dist/layers.BtLWQSeZ.js +0 -1
  213. package/dist/layers.BvFxWq0R.js +0 -6
  214. package/dist/layers.CBEREHUQ.js +0 -8
  215. package/dist/layers.CGdcjSt9.js +0 -295
  216. package/dist/layers.CZ60edwq.js +0 -213
  217. package/dist/layers.CpzH-NYT.js +0 -1
  218. package/dist/layers.CrW1lVAY.js +0 -76
  219. package/dist/layers.DB1V-cmx.js +0 -296
  220. package/dist/layers.DgRZUpzJ.js +0 -1
  221. package/dist/layers.DlDHZJgX.js +0 -1
  222. package/dist/layers.Dx0jp93e.js +0 -1
  223. package/dist/layers.KUcJC_a6.js +0 -1
  224. package/dist/layers.MuBekYId.js +0 -276
  225. package/dist/layers.Nyaoat5w.js +0 -28607
  226. package/dist/layers._89-PQfr.js +0 -1
  227. package/dist/layers.auEvWx6g.js +0 -1
  228. package/dist/layers.g1e60-te.js +0 -6
package/package.json CHANGED
@@ -1,160 +1,185 @@
1
- {
2
- "name": "@layers-app/editor",
3
- "private": false,
4
- "version": "0.7.72",
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
- "format": "prettier --write .",
18
- "format:check": "prettier --check .",
19
- "test:e2e": "playwright test",
20
- "test:e2e:ui": "playwright test --ui",
21
- "test:e2e:debug": "playwright test --debug",
22
- "test:e2e:headed": "playwright test --headed",
23
- "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost"
24
- },
25
- "publishConfig": {
26
- "access": "public"
27
- },
28
- "files": [
29
- "dist"
30
- ],
31
- "main": "dist/index.js",
32
- "types": "dist/index.d.ts",
33
- "dependencies": {
34
- "@excalidraw/excalidraw": "^0.18.0",
35
- "@floating-ui/react": "^0.27.16",
36
- "@layers-app/editor-video": "^0.1.10",
37
- "@lexical/file": "^0.38.2",
38
- "@lexical/headless": "^0.38.2",
39
- "@lexical/markdown": "^0.38.2",
40
- "@lexical/react": "^0.38.2",
41
- "@tanstack/react-query": "^5.52.2",
42
- "lexical": "^0.38.2",
43
- "react-selecto": "^1.26.3",
44
- "y-websocket": "^1.5.3",
45
- "yjs": "^13.6.20"
46
- },
47
- "devDependencies": {
48
- "@eslint/js": "^9.9.0",
49
- "@hugeicons/core-free-icons": "^2.0.0",
50
- "@hugeicons/react": "^1.1.1",
51
- "@layers-app/shared": "^0.2.5",
52
- "@mantine/core": "8.3.5",
53
- "@mantine/dropzone": "8.3.5",
54
- "@mantine/form": "8.3.5",
55
- "@mantine/hooks": "8.3.5",
56
- "@mantine/modals": "8.3.5",
57
- "@mantine/notifications": "8.3.5",
58
- "@playwright/test": "^1.40.0",
59
- "@rollup/plugin-typescript": "^11.1.6",
60
- "@tabler/icons-react": "^3.7.0",
61
- "@trivago/prettier-plugin-sort-imports": "^5.2.1",
62
- "@types/eslint__js": "^8.42.3",
63
- "@types/lodash": "^4.14.202",
64
- "@types/lodash-es": "^4.17.12",
65
- "@types/node": "^20.14.11",
66
- "@types/prettier": "2.7.3",
67
- "@types/react": "^18.3.22",
68
- "@types/react-dom": "^18.3.7",
69
- "@types/swagger-ui-react": "^5.18.0",
70
- "@typescript-eslint/eslint-plugin": "^8.27.0",
71
- "@typescript-eslint/parser": "^8.27.0",
72
- "@vitejs/plugin-basic-ssl": "^1.1.0",
73
- "@vitejs/plugin-react": "^4.2.1",
74
- "concurrently": "^8.2.2",
75
- "cross-env": "^7.0.3",
76
- "eslint": "^9.22.0",
77
- "eslint-config-prettier": "^10.1.1",
78
- "eslint-plugin-prettier": "^5.2.3",
79
- "eslint-plugin-react": "^7.37.4",
80
- "eslint-plugin-react-refresh": "^0.4.19",
81
- "eslint-plugin-unused-imports": "^4.1.4",
82
- "glob": "^10.3.10",
83
- "i18next": "^25.5.2",
84
- "lodash-es": "^4.17.21",
85
- "postcss-import": "^16.1.0",
86
- "postcss-preset-mantine": "^1.17.0",
87
- "prettier": "^3.4.2",
88
- "prettier-plugin-organize-attributes": "^1.0.0",
89
- "proper-lockfile": "^4.1.2",
90
- "react-i18next": "^15.7.3",
91
- "rollup-plugin-typescript-paths": "^1.5.0",
92
- "rollup-plugin-visualizer": "^5.12.0",
93
- "sass": "^1.71.1",
94
- "terser": "^5.39.0",
95
- "typescript": "^5.5.4",
96
- "typescript-eslint": "^8.2.0",
97
- "vite": "^6.2.2",
98
- "vite-plugin-commonjs": "^0.10.1",
99
- "vite-plugin-css-injected-by-js": "^3.5.0",
100
- "vite-plugin-dts": "^4.0.0-beta.1",
101
- "vite-plugin-static-copy": "^2.3.2",
102
- "vite-plugin-svgr": "^4.2.0"
103
- },
104
- "overrides": {
105
- "nanoid": "^5.0.9",
106
- "prismjs": "^1.30.0",
107
- "dompurify": "^3.2.4",
108
- "mermaid": "^10.9.4",
109
- "i18next": "^25.5.2",
110
- "@mantine/core": "8.3.5",
111
- "@mantine/hooks": "8.3.5",
112
- "@mantine/form": "8.3.5",
113
- "@mantine/dropzone": "8.3.5",
114
- "@mantine/modals": "8.3.5",
115
- "@mantine/notifications": "8.3.5",
116
- "@excalidraw/mermaid-to-excalidraw": {
117
- "nanoid": "^5.0.9"
118
- },
119
- "@excalidraw/excalidraw": {
120
- "nanoid": "^5.0.9"
121
- },
122
- "postcss": {
123
- "nanoid": "^5.0.9"
124
- },
125
- "ajv": "^8.18.0",
126
- "minimatch": "^10.2.1"
127
- },
128
- "peerDependencies": {
129
- "@dnd-kit/modifiers": ">=6",
130
- "@emotion/react": ">=11",
131
- "@emotion/styled": ">=11",
132
- "@hugeicons/core-free-icons": ">=1",
133
- "@hugeicons/react": ">=1",
134
- "@mantine/carousel": ">=8.0.0",
135
- "@mantine/colors-generator": ">=8.0.0",
136
- "@mantine/core": ">=8.0.0",
137
- "@mantine/dropzone": ">=8.0.0",
138
- "@mantine/form": ">=8.0.0",
139
- "@mantine/hooks": ">=8.0.0",
140
- "@mantine/modals": ">=8.0.0",
141
- "@mantine/notifications": ">=8.0.0",
142
- "@mantine/tiptap": ">=8.0.0",
143
- "@tabler/icons-react": ">=3.7.0",
144
- "@tanstack/react-query": "^5.52.2",
145
- "@tanstack/react-virtual": ">=3",
146
- "date-fns-tz": ">=3",
147
- "i18next": "^25.5.2",
148
- "js-confetti": ">=0.12",
149
- "lodash-es": ">=4.17.21",
150
- "react": "^18.3.1",
151
- "react-dom": "^18.3.1",
152
- "react-i18next": "^15.7.3",
153
- "swagger-ui-react": "^5.27.1"
154
- },
155
- "peerDependenciesMeta": {
156
- "swagger-ui-react": {
157
- "optional": true
158
- }
159
- }
160
- }
1
+ {
2
+ "name": "@layers-app/editor",
3
+ "private": false,
4
+ "version": "0.7.73",
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
+ "format": "prettier --write .",
18
+ "format:check": "prettier --check .",
19
+ "test:e2e": "playwright test",
20
+ "test:e2e:ui": "playwright test --ui",
21
+ "test:e2e:debug": "playwright test --debug",
22
+ "test:e2e:headed": "playwright test --headed",
23
+ "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost",
24
+ "type-check": "tsc --noEmit --project tsconfig.check.json",
25
+ "changeset": "changeset",
26
+ "version": "changeset version",
27
+ "release": "npm run build && changeset publish",
28
+ "prepare": "husky"
29
+ },
30
+ "lint-staged": {
31
+ "*.{ts,tsx}": [
32
+ "eslint --fix",
33
+ "prettier --write"
34
+ ],
35
+ "*.{scss,css,json,md}": [
36
+ "prettier --write"
37
+ ]
38
+ },
39
+ "publishConfig": {
40
+ "access": "public"
41
+ },
42
+ "files": [
43
+ "dist"
44
+ ],
45
+ "main": "dist/index.js",
46
+ "types": "dist/index.d.ts",
47
+ "dependencies": {
48
+ "@excalidraw/excalidraw": "^0.18.0",
49
+ "@floating-ui/react": "^0.27.16",
50
+ "@layers-app/editor-video": "^0.1.10",
51
+ "@lexical/file": "^0.38.2",
52
+ "@lexical/headless": "^0.38.2",
53
+ "@lexical/markdown": "^0.38.2",
54
+ "@lexical/react": "^0.38.2",
55
+ "@tanstack/react-query": "^5.52.2",
56
+ "lexical": "^0.38.2",
57
+ "react-selecto": "^1.26.3",
58
+ "y-websocket": "^1.5.3",
59
+ "yjs": "^13.6.20"
60
+ },
61
+ "devDependencies": {
62
+ "@changesets/cli": "^2.30.0",
63
+ "@commitlint/cli": "^20.5.0",
64
+ "@commitlint/config-conventional": "^20.5.0",
65
+ "@eslint/js": "^9.9.0",
66
+ "@hugeicons/core-free-icons": "^4.0.0",
67
+ "@hugeicons/react": "^1.1.1",
68
+ "@layers-app/shared": "0.3.1",
69
+ "@mantine/carousel": "8.3.5",
70
+ "@mantine/core": "8.3.5",
71
+ "@mantine/dropzone": "8.3.5",
72
+ "@mantine/form": "8.3.5",
73
+ "@mantine/hooks": "8.3.5",
74
+ "@mantine/modals": "8.3.5",
75
+ "@mantine/notifications": "8.3.5",
76
+ "@mantine/tiptap": "8.3.5",
77
+ "@playwright/test": "^1.40.0",
78
+ "@rollup/plugin-typescript": "^11.1.6",
79
+ "@tabler/icons-react": "^3.7.0",
80
+ "@trivago/prettier-plugin-sort-imports": "^5.2.1",
81
+ "@types/eslint__js": "^8.42.3",
82
+ "@types/lodash": "^4.14.202",
83
+ "@types/lodash-es": "^4.17.12",
84
+ "@types/node": "^20.14.11",
85
+ "@types/prettier": "2.7.3",
86
+ "@types/react": "^18.3.22",
87
+ "@types/react-dom": "^18.3.7",
88
+ "@types/swagger-ui-react": "^5.18.0",
89
+ "@typescript-eslint/eslint-plugin": "^8.27.0",
90
+ "@typescript-eslint/parser": "^8.27.0",
91
+ "@vitejs/plugin-basic-ssl": "^1.1.0",
92
+ "@vitejs/plugin-react": "^4.2.1",
93
+ "concurrently": "^8.2.2",
94
+ "cross-env": "^7.0.3",
95
+ "eslint": "^9.22.0",
96
+ "eslint-config-prettier": "^10.1.1",
97
+ "eslint-plugin-prettier": "^5.2.3",
98
+ "eslint-plugin-react": "^7.37.4",
99
+ "eslint-plugin-react-hooks": "^7.0.1",
100
+ "eslint-plugin-react-refresh": "^0.4.19",
101
+ "eslint-plugin-unused-imports": "^4.1.4",
102
+ "glob": "^10.3.10",
103
+ "husky": "^9.1.7",
104
+ "i18next": "^25.5.2",
105
+ "lint-staged": "^16.4.0",
106
+ "lodash-es": "^4.17.21",
107
+ "postcss-import": "^16.1.0",
108
+ "postcss-preset-mantine": "^1.17.0",
109
+ "prettier": "^3.4.2",
110
+ "prettier-plugin-organize-attributes": "^1.0.0",
111
+ "proper-lockfile": "^4.1.2",
112
+ "react": "^18.3.1",
113
+ "react-dom": "^18.3.1",
114
+ "react-i18next": "^15.7.3",
115
+ "rollup-plugin-typescript-paths": "^1.5.0",
116
+ "rollup-plugin-visualizer": "^5.12.0",
117
+ "sass": "^1.71.1",
118
+ "swagger-ui-react": "^5.32.0",
119
+ "terser": "^5.39.0",
120
+ "typescript": "^5.5.4",
121
+ "typescript-eslint": "^8.2.0",
122
+ "vite": "^6.2.2",
123
+ "vite-plugin-commonjs": "^0.10.1",
124
+ "vite-plugin-css-injected-by-js": "^3.5.0",
125
+ "vite-plugin-dts": "^4.0.0-beta.1",
126
+ "vite-plugin-static-copy": "^2.3.2",
127
+ "vite-plugin-svgr": "^4.2.0"
128
+ },
129
+ "overrides": {
130
+ "nanoid": "^5.0.9",
131
+ "prismjs": "^1.30.0",
132
+ "dompurify": "^3.2.4",
133
+ "mermaid": "^10.9.4",
134
+ "i18next": "^25.5.2",
135
+ "@excalidraw/mermaid-to-excalidraw": {
136
+ "nanoid": "^5.0.9"
137
+ },
138
+ "@excalidraw/excalidraw": {
139
+ "nanoid": "^5.0.9"
140
+ },
141
+ "postcss": {
142
+ "nanoid": "^5.0.9"
143
+ },
144
+ "ajv": "^8.18.0",
145
+ "eslint": {
146
+ "ajv": "6.14.0"
147
+ },
148
+ "@eslint/eslintrc": {
149
+ "ajv": "6.14.0"
150
+ },
151
+ "minimatch": "^10.2.1"
152
+ },
153
+ "peerDependencies": {
154
+ "@dnd-kit/modifiers": ">=6",
155
+ "@emotion/react": ">=11",
156
+ "@emotion/styled": ">=11",
157
+ "@hugeicons/core-free-icons": "^4.0.0",
158
+ "@hugeicons/react": ">=1",
159
+ "@tabler/icons-react": ">=3.7.0",
160
+ "@mantine/carousel": "8.3.5",
161
+ "@mantine/colors-generator": "8.3.5",
162
+ "@mantine/core": "8.3.5",
163
+ "@mantine/dropzone": "8.3.5",
164
+ "@mantine/form": "8.3.5",
165
+ "@mantine/hooks": "8.3.5",
166
+ "@mantine/modals": "8.3.5",
167
+ "@mantine/notifications": "8.3.5",
168
+ "@mantine/tiptap": "8.3.5",
169
+ "@tanstack/react-query": "^5.52.2",
170
+ "@tanstack/react-virtual": ">=3",
171
+ "date-fns-tz": ">=3",
172
+ "i18next": "^25.5.2",
173
+ "js-confetti": ">=0.12",
174
+ "lodash-es": "^4.17.21",
175
+ "react": "^18.3.1",
176
+ "react-dom": "^18.3.1",
177
+ "react-i18next": "^15.7.3",
178
+ "swagger-ui-react": "^5.27.1"
179
+ },
180
+ "peerDependenciesMeta": {
181
+ "swagger-ui-react": {
182
+ "optional": true
183
+ }
184
+ }
185
+ }
@@ -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.Nyaoat5w.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
- };