@layers-app/editor 0.7.69 → 0.7.71

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/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +12 -4
  4. package/dist/index.js +7 -7
  5. package/dist/{layers.D264prLn.js → layers.0YBrDWzw.js} +1 -1
  6. package/dist/{layers.5QZeTM8q.js → layers.1vAsGoEJ.js} +1 -1
  7. package/dist/{layers.C9m_GsPX.js → layers.2UTFdUcH.js} +1 -1
  8. package/dist/{layers.JvCTDQpj.js → layers.4kkQ0LA1.js} +1 -1
  9. package/dist/{layers.BNtW40eC.js → layers.6ZOYWJ5G.js} +1 -1
  10. package/dist/{layers.BzvpI1hh.js → layers.8yI79xLV.js} +1 -1
  11. package/dist/{layers.BACuuEQj.js → layers.9-Dujbe_.js} +1 -1
  12. package/dist/{layers.qLig6Qrb.js → layers.B-3-gKTw.js} +4 -4
  13. package/dist/{layers.BVazfLwg.js → layers.B0Fy1fOg.js} +1 -1
  14. package/dist/{layers.BazZH6QQ.js → layers.B0OzXi4U.js} +3 -3
  15. package/dist/{layers.B5XR7a6d.js → layers.B0cEDlqL.js} +5 -5
  16. package/dist/{layers.BPxa1qKy.js → layers.B2OYSFxS.js} +6 -6
  17. package/dist/{layers.BTHfw6Y3.js → layers.B2jK2G-2.js} +1 -1
  18. package/dist/{layers.DSFm0uZ6.js → layers.B4McXjTf.js} +1 -1
  19. package/dist/{layers.Dt8WcpHM.js → layers.B5JTPx82.js} +1 -1
  20. package/dist/{layers.5p0-huXu.js → layers.B5iHV9A9.js} +2 -2
  21. package/dist/{layers.DJhZTayX.js → layers.B7BH57R7.js} +1 -1
  22. package/dist/{layers.CTlCeLwn.js → layers.B8YobFwe.js} +1 -1
  23. package/dist/{layers.Dbdv8-it.js → layers.B97rOTHj.js} +1 -1
  24. package/dist/{layers.CxG4X8gX.js → layers.B9r4d044.js} +1 -1
  25. package/dist/{layers.DZZsW6JV.js → layers.BCNzKdPg.js} +1 -1
  26. package/dist/{layers.BEzidhNG.js → layers.BEO9jbxS.js} +1 -1
  27. package/dist/{layers.DeG_vaHA.js → layers.BEqZo6Os.js} +1 -1
  28. package/dist/{layers.D7gubwRv.js → layers.BGOsKs_2.js} +1 -1
  29. package/dist/{layers.DD3xo4Q7.js → layers.BH2-HmeT.js} +1 -1
  30. package/dist/{layers.BsYppIUT.js → layers.BIOedFq8.js} +1 -1
  31. package/dist/{layers.BiFdoyLm.js → layers.BIqvjXSy.js} +1 -1
  32. package/dist/layers.BL2HDW3Q.js +129 -0
  33. package/dist/{layers.Bz-ApnNV.js → layers.BM3s5plV.js} +7 -7
  34. package/dist/{layers.ABwl_epL.js → layers.BNDNdJX8.js} +1 -1
  35. package/dist/{layers.P7yLojmH.js → layers.BNqStciE.js} +1 -1
  36. package/dist/{layers.C22aJlMR.js → layers.BRG0l8Fl.js} +1 -1
  37. package/dist/{layers.D0EoHDuH.js → layers.BRYyvscQ.js} +1 -1
  38. package/dist/layers.BReZr534.js +7 -0
  39. package/dist/{layers.fvWum4-u.js → layers.BTU5cA8n.js} +1 -1
  40. package/dist/{layers.Cg1xP3_y.js → layers.BToaBsBa.js} +1 -1
  41. package/dist/{layers.Ddbl4YKu.js → layers.BUt-DyPQ.js} +1 -1
  42. package/dist/{layers.CkkOx1Du.js → layers.BWPGj5YT.js} +1 -1
  43. package/dist/{layers.O9aENdhz.js → layers.BWo08IF8.js} +1 -1
  44. package/dist/{layers.BeUtJKi2.js → layers.BXOyl5zz.js} +3 -3
  45. package/dist/{layers.2oQP3Kd1.js → layers.BY5GlMch.js} +1 -1
  46. package/dist/{layers.qh_bhSwF.js → layers.BYYKkc6H.js} +4 -4
  47. package/dist/{layers.BVqcl0kN.js → layers.BaViCDAm.js} +1 -1
  48. package/dist/{layers.HKuQEi8d.js → layers.Bah9XzWL.js} +1 -1
  49. package/dist/{layers.yoJPKgxf.js → layers.BdEkfGD6.js} +1 -1
  50. package/dist/{layers.BT2p46yj.js → layers.BeSVrAvf.js} +1 -1
  51. package/dist/{layers.C6M4MqIv.js → layers.Bea1t2mR.js} +1 -1
  52. package/dist/{layers.DKf11IZ4.js → layers.BgLebJDO.js} +1 -1
  53. package/dist/{layers.CBJ0MOlf.js → layers.BgQJXAyk.js} +1 -1
  54. package/dist/{layers.yiF779cI.js → layers.Bhc7fo_t.js} +1 -1
  55. package/dist/{layers.BPwGq1IZ.js → layers.BjF53Cb3.js} +1 -1
  56. package/dist/{layers.BRlhY-vC.js → layers.BkW2oxVe.js} +1 -1
  57. package/dist/{layers.Apre-y7o.js → layers.BkfYYUMI.js} +418 -418
  58. package/dist/{layers.B9UDpqLV.js → layers.BmYBcchQ.js} +2 -2
  59. package/dist/{layers.DDCXCLxy.js → layers.Bm_atR4G.js} +1 -1
  60. package/dist/{layers.D33amGFS.js → layers.BmbHcSsT.js} +4 -4
  61. package/dist/{layers.Bikyk_e4.js → layers.BmiFa05d.js} +1 -1
  62. package/dist/{layers.CScSVAbT.js → layers.BnGNde87.js} +1 -1
  63. package/dist/{layers.0Xr9gi8k.js → layers.Bog0F1HW.js} +1 -1
  64. package/dist/{layers.NSb01dZ8.js → layers.Bq-T_tlX.js} +3 -3
  65. package/dist/{layers.Bl49cA_q.js → layers.Bq5Gyo9H.js} +3 -3
  66. package/dist/{layers.CgNnf8Hm.js → layers.BqJAKLvg.js} +1 -1
  67. package/dist/{layers.BKWjeNv0.js → layers.Bqx2kJAq.js} +1 -1
  68. package/dist/{layers.D9v06W3U.js → layers.BrSY9TN-.js} +5 -5
  69. package/dist/{layers.C4OQU4VG.js → layers.BwV3ChwK.js} +1 -1
  70. package/dist/{layers.CKe87-Ob.js → layers.Bx4Zqssi.js} +1 -1
  71. package/dist/{layers.C8i5OjeA.js → layers.Bx5Jclxg.js} +1 -1
  72. package/dist/{layers.BmFfrMCv.js → layers.ByQYCPxT.js} +1 -1
  73. package/dist/{layers.DT1WT-jl.js → layers.BzBGQ86V.js} +1 -1
  74. package/dist/{layers.nLwIMr0A.js → layers.C0JLGUIV.js} +1 -1
  75. package/dist/{layers.C65VXHX0.js → layers.C1GljpN-.js} +3 -3
  76. package/dist/{layers.hhScrOOB.js → layers.C35Q9E4b.js} +1 -1
  77. package/dist/{layers.DRqadjGU.js → layers.C3ugjyFb.js} +1 -1
  78. package/dist/{layers.Bdy9X7vh.js → layers.C7QEo5m5.js} +3 -3
  79. package/dist/{layers.1h-C3twR.js → layers.C8K76bX9.js} +1 -1
  80. package/dist/{layers.BFSFcjZf.js → layers.C8o6lYSj.js} +1 -1
  81. package/dist/{layers.0DBGZAux.js → layers.CCawCsum.js} +1 -1
  82. package/dist/{layers.CeAmhUfG.js → layers.CDT31cs0.js} +1 -1
  83. package/dist/{layers.DBVgoS4g.js → layers.CE8s4Sal.js} +1 -1
  84. package/dist/{layers.BlxHjIpu.js → layers.CEYgaHTm.js} +4 -4
  85. package/dist/{layers.DoCKPdqw.js → layers.CFBc17hB.js} +1 -1
  86. package/dist/{layers.ChgBnn_C.js → layers.CHMleWs_.js} +7 -7
  87. package/dist/{layers.D86KUGFj.js → layers.CHgIOVjY.js} +1 -1
  88. package/dist/{layers.pmVv821j.js → layers.CLpT2vCT.js} +1 -1
  89. package/dist/layers.CMO6k-Xm.js +32701 -0
  90. package/dist/{layers.OjmLtSP1.js → layers.CMRBjQl8.js} +1 -1
  91. package/dist/{layers.DCF5TSK6.js → layers.CNUfTnkK.js} +3 -3
  92. package/dist/{layers.DO14DAS1.js → layers.CPEFEBSK.js} +1 -1
  93. package/dist/{layers.D1ndSKTI.js → layers.CQWHVEXP.js} +1 -1
  94. package/dist/{layers.LpxZivxv.js → layers.CT5E6-h8.js} +1 -1
  95. package/dist/{layers.BXbpW1pa.js → layers.CTDZfwGH.js} +1 -1
  96. package/dist/{layers.Cqc8FCdp.js → layers.CTNuYiVv.js} +10 -10
  97. package/dist/{layers.C8Uasx1W.js → layers.CUrjNsFP.js} +1 -1
  98. package/dist/{layers.zQ4PGkmU.js → layers.CVAti8ij.js} +2 -2
  99. package/dist/{layers.BkOoEzpy.js → layers.CWOSVqtW.js} +1 -1
  100. package/dist/{layers.SXC1p29H.js → layers.CXT7nwLM.js} +1 -1
  101. package/dist/{layers.BpLCIHmB.js → layers.CYS6g246.js} +1 -1
  102. package/dist/{layers.DLlZvhVA.js → layers.CYbx7VYv.js} +1 -1
  103. package/dist/{layers.gaA-42fN.js → layers.CZ46rxbb.js} +1 -1
  104. package/dist/{layers.C_GOAIwQ.js → layers.CZpQ9_Qz.js} +4 -4
  105. package/dist/{layers.DyOnTO36.js → layers.Cb_mvZru.js} +1 -1
  106. package/dist/{layers.oDpU-Hra.js → layers.CcvxdGUg.js} +1 -1
  107. package/dist/{layers.BnRSfdCn.js → layers.Cg0NVKFo.js} +1 -1
  108. package/dist/{layers.BKFBrrT0.js → layers.CkMVMiaw.js} +1 -1
  109. package/dist/{layers.C_BVUEv9.js → layers.CkNZL8nW.js} +1 -1
  110. package/dist/{layers.CztaGcF0.js → layers.CkeTWFRP.js} +1 -1
  111. package/dist/{layers.DXcnRV7U.js → layers.ClSVgSs_.js} +1 -1
  112. package/dist/{layers.6u9nN9kL.js → layers.Cm4T0G6q.js} +1 -1
  113. package/dist/{layers.C4yu73C7.js → layers.CmKI90AW.js} +1 -1
  114. package/dist/layers.CmmYt3Ou.js +1 -0
  115. package/dist/{layers.JWOykHoL.js → layers.CoUM4KxR.js} +1 -1
  116. package/dist/{layers.d-J-pkkX.js → layers.CopV5cLA.js} +1 -1
  117. package/dist/{layers.BQPUKPC6.js → layers.CpOXj9-w.js} +1 -1
  118. package/dist/layers.CpdQVVAX.js +1 -0
  119. package/dist/{layers.v33R5NY5.js → layers.Cph5sHk8.js} +1 -1
  120. package/dist/{layers.CNP1oZdB.js → layers.Csfv-3tI.js} +1 -1
  121. package/dist/{layers.GBoQfNMn.js → layers.CuO0WDSI.js} +1 -1
  122. package/dist/{layers.DThNATm6.js → layers.CulWmh4P.js} +1 -1
  123. package/dist/layers.CxFS3y_3.js +1 -0
  124. package/dist/{layers.Cu4n_10K.js → layers.CyOmczYz.js} +1 -1
  125. package/dist/{layers.CB008f5M.js → layers.CzOzf5fN.js} +1 -1
  126. package/dist/{layers.DhtNmWhH.js → layers.CzgfY5tO.js} +1 -1
  127. package/dist/{layers.DOUMVPFI.js → layers.D0IrC8O9.js} +1 -1
  128. package/dist/{layers.DsrGvHCq.js → layers.D13B-Tw-.js} +1 -1
  129. package/dist/layers.D1wNC9yP.js +1 -0
  130. package/dist/{layers.Bo0IyTdD.js → layers.D3ESLEWI.js} +8 -8
  131. package/dist/{layers.DDcNIM5V.js → layers.D3JlwkA5.js} +1 -1
  132. package/dist/{layers.DGQ_Ip2d.js → layers.D4pbgwIK.js} +9 -9
  133. package/dist/{layers.27B-KQHO.js → layers.D67Iz9kD.js} +3 -3
  134. package/dist/{layers.OXr5r5tZ.js → layers.D7DKTltD.js} +1 -1
  135. package/dist/{layers.B8owvN6x.js → layers.D8nhIJ08.js} +1 -1
  136. package/dist/{layers.DtIUJOdD.js → layers.D9EGw-F8.js} +1 -1
  137. package/dist/{layers.DlLc2eVa.js → layers.D9isqhfn.js} +1 -1
  138. package/dist/layers.DBGSdaOf.js +8 -0
  139. package/dist/layers.DC-lyi-7.js +1 -0
  140. package/dist/layers.DEP2baj0.js +1 -0
  141. package/dist/{layers.BYdLVl8c.js → layers.DEZKn77u.js} +2 -2
  142. package/dist/{layers.DaDiP12K.js → layers.DEm-SOCx.js} +1 -1
  143. package/dist/{layers.gC3dy9DX.js → layers.DFOksAKg.js} +1 -1
  144. package/dist/{layers.MMnDRf0F.js → layers.DJWw_i98.js} +1 -1
  145. package/dist/layers.DMPKiY6n.js +17 -0
  146. package/dist/{layers.pcuXD239.js → layers.DM_uA5a6.js} +1 -1
  147. package/dist/{layers.Dps90Puu.js → layers.DOjJWqna.js} +1 -1
  148. package/dist/{layers.hLDK8NtM.js → layers.DQ2IoyCh.js} +1 -1
  149. package/dist/{layers.BRrmq6iF.js → layers.DRIWEVTg.js} +1 -1
  150. package/dist/{layers.B43YGj4m.js → layers.DRvJ_Eat.js} +1 -1
  151. package/dist/{layers.DOrpTa-Z.js → layers.DS0grkii.js} +1 -1
  152. package/dist/{layers.VG9nD_7m.js → layers.DSUVrmY0.js} +2 -2
  153. package/dist/{layers.CJXhO9Ve.js → layers.DSaHC0cP.js} +1 -1
  154. package/dist/{layers.D2Y8JbSm.js → layers.DTFZVn6k.js} +1 -1
  155. package/dist/{layers.nutPV8y6.js → layers.DTP321BL.js} +1 -1
  156. package/dist/{layers.DzoWhdzh.js → layers.DUyUCaTT.js} +1 -1
  157. package/dist/{layers.Bj5LxhQF.js → layers.DV7N1asa.js} +1 -1
  158. package/dist/{layers.D6Zb3uyB.js → layers.DWNIrIGZ.js} +1 -1
  159. package/dist/{layers.qJxUThUt.js → layers.DX5PLuRa.js} +1 -1
  160. package/dist/{layers.Bkg6bWRU.js → layers.DXK6ddI2.js} +1 -1
  161. package/dist/{layers.BVixMLzr.js → layers.D_Pki6-a.js} +2 -2
  162. package/dist/{layers.CU1Xj7Xw.js → layers.DbYkGyj-.js} +1 -1
  163. package/dist/{layers.OgHHJ7AJ.js → layers.DcOCp021.js} +1 -1
  164. package/dist/{layers.DJE4KoOw.js → layers.DdIpdKCP.js} +1 -1
  165. package/dist/{layers.CMhGAZ1F.js → layers.DeZYEnzF.js} +1 -1
  166. package/dist/{layers.C7ExfGAg.js → layers.Dh_FqLNw.js} +1 -1
  167. package/dist/{layers.CeSuEnek.js → layers.Dig4VCez.js} +1 -1
  168. package/dist/layers.DilA0qnM.js +54 -0
  169. package/dist/{layers.Yv4tqH51.js → layers.Djjnowlp.js} +1 -1
  170. package/dist/{layers.-Ruj4Zo5.js → layers.DkHo38DI.js} +7 -7
  171. package/dist/{layers.8mP8G0Aq.js → layers.DkPTn9O4.js} +1 -1
  172. package/dist/{layers.7Ceqy3dk.js → layers.DkPi1s2Z.js} +1 -1
  173. package/dist/{layers.PejndB2j.js → layers.Dly1Tq6W.js} +1 -1
  174. package/dist/{layers.Db05xOFS.js → layers.Dr4jcfM_.js} +3 -3
  175. package/dist/{layers.v8fikFVy.js → layers.DxwnE0eC.js} +6 -6
  176. package/dist/{layers.CCOUMNlV.js → layers.E3tmXQAP.js} +1 -1
  177. package/dist/{layers.C9aLQWLr.js → layers.EAyl146M.js} +1 -1
  178. package/dist/{layers.QcOQUP20.js → layers.ERXKMTcj.js} +1 -1
  179. package/dist/{layers.CFfrUgu3.js → layers.HksqvZtq.js} +10 -10
  180. package/dist/{layers.BkL_wx9c.js → layers.MnuEyVuQ.js} +1 -1
  181. package/dist/{layers.xj7IEpC3.js → layers.Mx4csk_q.js} +1 -1
  182. package/dist/{layers.CoaCRc82.js → layers.Pa9Iyp3r.js} +1 -1
  183. package/dist/{layers._rxomw_e.js → layers.Pd5WLkm7.js} +1 -1
  184. package/dist/layers.QglB_osH.js +6 -0
  185. package/dist/{layers.Cy4keqhB.js → layers.R9JO8bzv.js} +1 -1
  186. package/dist/{layers.BRMYvE9z.js → layers.RWmBLZWj.js} +1 -1
  187. package/dist/{layers.D8zgNYxg.js → layers.UU3JlTco.js} +1 -1
  188. package/dist/{layers.6-rJJApG.js → layers.VCm6xtc7.js} +24 -24
  189. package/dist/{layers.7JPTj9nT.js → layers.X4lsf17u.js} +1 -1
  190. package/dist/{layers.CMx7vO0L.js → layers.Z1m0v0q2.js} +1 -1
  191. package/dist/{layers.D85fT96W.js → layers.ZZOyug2n.js} +4 -4
  192. package/dist/{layers.29-kZlSC.js → layers.ahHfzAps.js} +1 -1
  193. package/dist/{layers.BOo-MVTB.js → layers.eeWj9MmF.js} +1 -1
  194. package/dist/{layers.BiTvj2e-.js → layers.gaNyPxz0.js} +1 -1
  195. package/dist/{layers.Bp002Gvn.js → layers.hgdiUzB4.js} +1 -1
  196. package/dist/{layers.CIJ4arAq.js → layers.icrDtXPY.js} +1 -1
  197. package/dist/layers.lpVKCqT2.js +448 -0
  198. package/dist/{layers.BQt-6gJJ.js → layers.mr6o1lwe.js} +1 -1
  199. package/dist/{layers.zBZCJFA4.js → layers.oKCpKA-w.js} +1 -1
  200. package/dist/{layers.CouvMYZ_.js → layers.r6t0SI6i.js} +1 -1
  201. package/dist/{layers.ocb-ckJB.js → layers.s9Tm6F1m.js} +1 -1
  202. package/dist/{layers.BEi-TBNF.js → layers.sC7nbc2y.js} +1 -1
  203. package/dist/{layers.BX73rpJr.js → layers.sK52pMMJ.js} +1 -1
  204. package/dist/layers.tbL95R__.js +296 -0
  205. package/dist/{layers.-rEnD-gW.js → layers.wgPAy3eN.js} +1 -1
  206. package/dist/{layers.BXxEMH4b.js → layers.xSI8rjyJ.js} +4 -4
  207. package/dist/{layers.CrfWp4fJ.js → layers.ytiriyPJ.js} +1 -1
  208. package/dist/{layers.BEBKNx1X.js → layers.zuXeZVAS.js} +1 -1
  209. package/package.json +46 -21
  210. package/dist/layers.B6oRmypa.js +0 -6
  211. package/dist/layers.BQn-BoQ1.js +0 -1
  212. package/dist/layers.BSQ3Xt_h.js +0 -1
  213. package/dist/layers.BUjjzt0_.js +0 -8
  214. package/dist/layers.Bf2vZuCE.js +0 -213
  215. package/dist/layers.BjB-nIkz.js +0 -1
  216. package/dist/layers.BlDLjKDo.js +0 -28602
  217. package/dist/layers.CEQVj5e3.js +0 -76
  218. package/dist/layers.CFdxfEoL.js +0 -6
  219. package/dist/layers.CQz5mJxl.js +0 -1
  220. package/dist/layers.CVOG1MPi.js +0 -1
  221. package/dist/layers.CgDGfwW5.js +0 -129
  222. package/dist/layers.CmP_wzmD.js +0 -296
  223. package/dist/layers.D4JTY0h0.js +0 -295
  224. package/dist/layers.D_dIsPyp.js +0 -271
  225. package/dist/layers.Df431v9O.js +0 -1
  226. package/dist/layers.nxzVbnZG.js +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@layers-app/editor",
3
3
  "private": false,
4
- "version": "0.7.69",
4
+ "version": "0.7.71",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "start": "cross-env VITE_LAYERS=true vite --mode full ",
@@ -20,7 +20,21 @@
20
20
  "test:e2e:ui": "playwright test --ui",
21
21
  "test:e2e:debug": "playwright test --debug",
22
22
  "test:e2e:headed": "playwright test --headed",
23
- "start-test-server": "VITE_LAYERS=true vite --mode full --port 3000 --strictPort --host localhost"
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
+ ]
24
38
  },
25
39
  "publishConfig": {
26
40
  "access": "public"
@@ -45,16 +59,21 @@
45
59
  "yjs": "^13.6.20"
46
60
  },
47
61
  "devDependencies": {
62
+ "@changesets/cli": "^2.30.0",
63
+ "@commitlint/cli": "^20.5.0",
64
+ "@commitlint/config-conventional": "^20.5.0",
48
65
  "@eslint/js": "^9.9.0",
49
- "@hugeicons/core-free-icons": "^2.0.0",
66
+ "@hugeicons/core-free-icons": "^4.0.0",
50
67
  "@hugeicons/react": "^1.1.1",
51
- "@layers-app/shared": "^0.2.5",
68
+ "@layers-app/shared": "0.3.1",
69
+ "@mantine/carousel": "8.3.5",
52
70
  "@mantine/core": "8.3.5",
53
71
  "@mantine/dropzone": "8.3.5",
54
72
  "@mantine/form": "8.3.5",
55
73
  "@mantine/hooks": "8.3.5",
56
74
  "@mantine/modals": "8.3.5",
57
75
  "@mantine/notifications": "8.3.5",
76
+ "@mantine/tiptap": "8.3.5",
58
77
  "@playwright/test": "^1.40.0",
59
78
  "@rollup/plugin-typescript": "^11.1.6",
60
79
  "@tabler/icons-react": "^3.7.0",
@@ -77,20 +96,26 @@
77
96
  "eslint-config-prettier": "^10.1.1",
78
97
  "eslint-plugin-prettier": "^5.2.3",
79
98
  "eslint-plugin-react": "^7.37.4",
99
+ "eslint-plugin-react-hooks": "^7.0.1",
80
100
  "eslint-plugin-react-refresh": "^0.4.19",
81
101
  "eslint-plugin-unused-imports": "^4.1.4",
82
102
  "glob": "^10.3.10",
103
+ "husky": "^9.1.7",
83
104
  "i18next": "^25.5.2",
105
+ "lint-staged": "^16.4.0",
84
106
  "lodash-es": "^4.17.21",
85
107
  "postcss-import": "^16.1.0",
86
108
  "postcss-preset-mantine": "^1.17.0",
87
109
  "prettier": "^3.4.2",
88
110
  "prettier-plugin-organize-attributes": "^1.0.0",
89
111
  "proper-lockfile": "^4.1.2",
112
+ "react": "^18.3.1",
113
+ "react-dom": "^18.3.1",
90
114
  "react-i18next": "^15.7.3",
91
115
  "rollup-plugin-typescript-paths": "^1.5.0",
92
116
  "rollup-plugin-visualizer": "^5.12.0",
93
117
  "sass": "^1.71.1",
118
+ "swagger-ui-react": "^5.32.0",
94
119
  "terser": "^5.39.0",
95
120
  "typescript": "^5.5.4",
96
121
  "typescript-eslint": "^8.2.0",
@@ -107,12 +132,6 @@
107
132
  "dompurify": "^3.2.4",
108
133
  "mermaid": "^10.9.4",
109
134
  "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
135
  "@excalidraw/mermaid-to-excalidraw": {
117
136
  "nanoid": "^5.0.9"
118
137
  },
@@ -123,30 +142,36 @@
123
142
  "nanoid": "^5.0.9"
124
143
  },
125
144
  "ajv": "^8.18.0",
145
+ "eslint": {
146
+ "ajv": "6.14.0"
147
+ },
148
+ "@eslint/eslintrc": {
149
+ "ajv": "6.14.0"
150
+ },
126
151
  "minimatch": "^10.2.1"
127
152
  },
128
153
  "peerDependencies": {
129
154
  "@dnd-kit/modifiers": ">=6",
130
155
  "@emotion/react": ">=11",
131
156
  "@emotion/styled": ">=11",
132
- "@hugeicons/core-free-icons": ">=1",
157
+ "@hugeicons/core-free-icons": "^4.0.0",
133
158
  "@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
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",
144
169
  "@tanstack/react-query": "^5.52.2",
145
170
  "@tanstack/react-virtual": ">=3",
146
171
  "date-fns-tz": ">=3",
147
172
  "i18next": "^25.5.2",
148
173
  "js-confetti": ">=0.12",
149
- "lodash-es": ">=4.17.21",
174
+ "lodash-es": "^4.17.21",
150
175
  "react": "^18.3.1",
151
176
  "react-dom": "^18.3.1",
152
177
  "react-i18next": "^15.7.3",
@@ -1,6 +0,0 @@
1
- import { e as o, j as s, o as f } from "./layers.DGQ_Ip2d.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 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.CgDGfwW5.js"),v=require("./layers.nxzVbnZG.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 +0,0 @@
1
- "use strict";const n=require("./layers.6-rJJApG.js"),s=(e,r)=>n.Utils.lang.round(n.Color.parse(e)[r]);exports.channel=s;
@@ -1,8 +0,0 @@
1
- import { C as e, Q as t, N as m, A as r } from "./layers.B8owvN6x.js";
2
- import "./layers.DGQ_Ip2d.js";
3
- export {
4
- e as Commands,
5
- t as subsetToBase64,
6
- m as subsetToBinary,
7
- r as toBase64
8
- };
@@ -1,213 +0,0 @@
1
- import { jsx as i, jsxs as k, Fragment as J } from "react/jsx-runtime";
2
- import { useMemo as Y, useState as R, useRef as I, useCallback as E, useEffect as q } from "react";
3
- import { useLexicalComposerContext as Q } from "@lexical/react/LexicalComposerContext";
4
- import { useLexicalEditable as U } from "@lexical/react/useLexicalEditable";
5
- import { useLexicalNodeSelection as X } from "@lexical/react/useLexicalNodeSelection";
6
- import { mergeRegister as Z } from "@lexical/utils";
7
- import { $setSelection as K, $getNodeByKey as p, CLICK_COMMAND as ee, COMMAND_PRIORITY_LOW as _, KEY_DELETE_COMMAND as te, KEY_BACKSPACE_COMMAND as ie } from "lexical";
8
- import { R as ae, p as T, A as ne, k as se, l as y, n as le } from "./layers.BlDLjKDo.js";
9
- import { p as oe, C as re, E as ce } from "./layers.D4JTY0h0.js";
10
- import { useTranslation as de } from "react-i18next";
11
- import { Box as j, Tooltip as $, ActionIcon as B } from "@mantine/core";
12
- import { IconEdit as me } from "@tabler/icons-react";
13
- function fe({
14
- imageContainerRef: a,
15
- editor: o,
16
- rootClassName: M = null,
17
- width: S = "inherit",
18
- height: g = "inherit",
19
- nodeKey: e,
20
- alignment: C,
21
- setModalOpen: r,
22
- previewSVG: h
23
- }) {
24
- const x = Y(() => h ?? "", [h]), [c, N] = R(!1), { t: d } = de(), O = (l, m) => {
25
- o.update(() => {
26
- K(null);
27
- const u = p(e);
28
- return y(u) && u.setWidthAndHeight(l, m), !0;
29
- });
30
- }, w = () => {
31
- le(o, e);
32
- };
33
- return /* @__PURE__ */ i(
34
- ae,
35
- {
36
- editor: o,
37
- isIcon: !1,
38
- isEmbed: !0,
39
- width: T(S),
40
- height: T(g),
41
- onResizeEnd: O,
42
- alignment: C,
43
- children: /* @__PURE__ */ k(j, { className: "media-wrapper excaildraw", children: [
44
- /* @__PURE__ */ k("div", { className: "media-actions", children: [
45
- /* @__PURE__ */ i($, { label: d("editor.link.edit"), children: /* @__PURE__ */ i(
46
- B,
47
- {
48
- color: "gray",
49
- "aria-label": "Settings",
50
- className: "media-action",
51
- variant: "default",
52
- size: 24,
53
- onClick: () => {
54
- r(!0);
55
- },
56
- children: /* @__PURE__ */ i(me, { size: 14 })
57
- }
58
- ) }),
59
- /* @__PURE__ */ i(
60
- ne,
61
- {
62
- opened: c,
63
- setOpened: N,
64
- t: d,
65
- editor: o,
66
- nodeKey: e
67
- }
68
- ),
69
- /* @__PURE__ */ i($, { label: d("editor.actions.delete"), children: /* @__PURE__ */ i(
70
- B,
71
- {
72
- color: "gray",
73
- "aria-label": "Settings",
74
- className: "media-action",
75
- variant: "default",
76
- size: 24,
77
- onClick: w,
78
- children: /* @__PURE__ */ i(se, { name: "trash", size: "14" })
79
- }
80
- ) })
81
- ] }),
82
- /* @__PURE__ */ i(
83
- j,
84
- {
85
- w: "100%",
86
- ref: (l) => {
87
- l && a && (a.current = l);
88
- },
89
- className: M ?? "",
90
- dangerouslySetInnerHTML: { __html: x }
91
- }
92
- )
93
- ] })
94
- }
95
- );
96
- }
97
- function be({
98
- nodeKey: a,
99
- data: o,
100
- width: M,
101
- height: S,
102
- alignment: g
103
- }) {
104
- var L;
105
- const [e] = Q(), C = U(), r = Y(() => oe(o), [o]), h = ((L = r == null ? void 0 : r.elements) == null ? void 0 : L.length) === 0 && !r.previewSVG, [x, c] = R(
106
- h && e.isEditable()
107
- ), [N, d] = R(!1), O = I(null), w = I(null), l = I(null), [m, u, b] = X(a), A = E(
108
- (t) => (m && (t.preventDefault(), e.update(() => {
109
- const s = p(a);
110
- s && s.remove();
111
- })), !1),
112
- [e, m, a]
113
- );
114
- q(() => {
115
- if (!C) {
116
- m && b();
117
- return;
118
- }
119
- return Z(
120
- e.registerCommand(
121
- ee,
122
- (t) => {
123
- const s = w.current, f = t.target;
124
- return s !== null && s.contains(f) ? (t.shiftKey || b(), u(!m), t.detail > 1 && c(!0), !0) : !1;
125
- },
126
- _
127
- ),
128
- e.registerCommand(
129
- te,
130
- A,
131
- _
132
- ),
133
- e.registerCommand(
134
- ie,
135
- A,
136
- _
137
- )
138
- );
139
- }, [b, e, m, A, u, C]);
140
- const F = E(() => (c(!1), e.update(() => {
141
- const t = p(a);
142
- t && t.remove();
143
- })), [e, a]), G = (t, s, f, v) => e.update(() => {
144
- const D = p(a);
145
- y(D) && (t && t.length > 0 || Object.keys(f).length > 0 ? D.setData(
146
- JSON.stringify({
147
- appState: s,
148
- elements: t,
149
- files: f,
150
- previewSVG: v
151
- })
152
- ) : D.remove());
153
- }), { elements: n = [], files: H = {}, appState: P = {}, previewSVG: V } = r, z = E(() => {
154
- c(!1), d(!1), l.current = !1, (n == null ? void 0 : n.length) === 0 && e.update(() => {
155
- const t = p(a);
156
- t && t.remove();
157
- });
158
- }, [e, a, n == null ? void 0 : n.length]), W = E(() => {
159
- l.current ? d(!0) : z();
160
- }, []);
161
- return /* @__PURE__ */ k(J, { children: [
162
- /* @__PURE__ */ i(
163
- re,
164
- {
165
- isCloseModal: N,
166
- confirmClose: z,
167
- setCloseModalOpen: d
168
- }
169
- ),
170
- /* @__PURE__ */ i(
171
- ce,
172
- {
173
- initialElements: n,
174
- isEdited: l,
175
- initialFiles: H,
176
- initialAppState: P,
177
- isShown: x,
178
- onDelete: F,
179
- onClose: W,
180
- onSave: (t, s, f, v) => {
181
- G(t, s, f, v), c(!1);
182
- },
183
- closeOnClickOutside: !1
184
- }
185
- ),
186
- (n == null ? void 0 : n.length) && /* @__PURE__ */ i(
187
- "div",
188
- {
189
- style: {
190
- display: "flex",
191
- justifyContent: g
192
- },
193
- children: /* @__PURE__ */ i(
194
- fe,
195
- {
196
- imageContainerRef: O,
197
- className: "image",
198
- width: M,
199
- height: S,
200
- editor: e,
201
- nodeKey: a,
202
- alignment: g,
203
- setModalOpen: c,
204
- previewSVG: V
205
- }
206
- )
207
- }
208
- )
209
- ] });
210
- }
211
- export {
212
- be as default
213
- };
@@ -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.CgDGfwW5.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;