@layers-app/editor 0.7.31 → 0.7.33

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 (217) hide show
  1. package/README.md +0 -111
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +1 -4
  4. package/dist/index.js +2 -2
  5. package/dist/{layers.DjbFMG40.js → layers.-DvHYQBO.js} +1 -1
  6. package/dist/{layers._eHG8EQx.js → layers.-adQlTPX.js} +1 -1
  7. package/dist/{layers.UKK71vEd.js → layers.-kIen8WQ.js} +1 -1
  8. package/dist/{layers.BkOV6TKv.js → layers.0LIL7N38.js} +1 -1
  9. package/dist/{layers.CZPhZ6Bf.js → layers.0uv9QACO.js} +3 -3
  10. package/dist/{layers.D7Icl64Z.js → layers.0yfsZ2bh.js} +1 -1
  11. package/dist/{layers.BrZVQ2iU.js → layers.1GCiEHzV.js} +1 -1
  12. package/dist/{layers.z3gm7Yoo.js → layers.264qG5PT.js} +1 -1
  13. package/dist/{layers.Bl4z_ye0.js → layers.2wLkdaFw.js} +1 -1
  14. package/dist/{layers.uIx0rHqc.js → layers.3pQv3i5i.js} +1 -1
  15. package/dist/{layers.DDnBZI1_.js → layers.4hVBAzSF.js} +1 -1
  16. package/dist/{layers.D3lyIZXA.js → layers.4nNUswb4.js} +1 -1
  17. package/dist/{layers.Dym_ak5H.js → layers.4w2jhnwu.js} +2 -2
  18. package/dist/{layers.BVH7sR1J.js → layers.AkIFh_4Y.js} +1 -1
  19. package/dist/{layers.f6Fj1WNh.js → layers.B-aOwrbv.js} +1 -1
  20. package/dist/{layers.DlfzhH7w.js → layers.B4vfd3VN.js} +1 -1
  21. package/dist/{layers.CvMgd0LJ.js → layers.B5-RKCId.js} +1 -1
  22. package/dist/layers.B6uuWkIk.js +6 -0
  23. package/dist/{layers._sH_lhc3.js → layers.B8MJdyLS.js} +7 -7
  24. package/dist/{layers.BP6BelqB.js → layers.B8yCUNWy.js} +1 -1
  25. package/dist/{layers.BXA8vSPT.js → layers.B94KH8UC.js} +4 -4
  26. package/dist/layers.BAFsu-hk.js +1 -0
  27. package/dist/{layers.DjcMOp3v.js → layers.BAw7t-1P.js} +1 -1
  28. package/dist/{layers.BzC0Ahfv.js → layers.BC9nm5Q6.js} +1 -1
  29. package/dist/{layers.Bdp7KiYc.js → layers.BE9YGXFy.js} +1 -1
  30. package/dist/{layers.DgMj3_co.js → layers.BEAg3BO3.js} +1 -1
  31. package/dist/{layers.Bp_neKf-.js → layers.BEn9Onyd.js} +1 -1
  32. package/dist/{layers.qr3bDEL9.js → layers.BFkd9yZx.js} +1 -1
  33. package/dist/{layers.CFNi4f89.js → layers.BG8fXC7p.js} +1 -1
  34. package/dist/{layers.ByfmrxIM.js → layers.BGG4NWsR.js} +1 -1
  35. package/dist/{layers.C2QHWjtY.js → layers.BHqCj9YD.js} +1 -1
  36. package/dist/{layers.Wbb9AnKg.js → layers.BL_7L1FS.js} +1 -1
  37. package/dist/{layers.BjCa6Vhc.js → layers.BLck1OVF.js} +1 -1
  38. package/dist/{layers.vWwHpfbh.js → layers.BNV_y6z4.js} +1 -1
  39. package/dist/{layers.Cgd3BN2w.js → layers.BOd0_fvp.js} +4 -4
  40. package/dist/{layers.BJiKpx59.js → layers.BOtdJq0X.js} +1 -1
  41. package/dist/{layers.0IyMWDz5.js → layers.BQCr0S2M.js} +2 -2
  42. package/dist/{layers.C8ohPE3b.js → layers.BQkIy_0A.js} +1 -1
  43. package/dist/{layers.B7z98Twi.js → layers.BQsiWM_e.js} +1 -1
  44. package/dist/{layers.C-uxyI5D.js → layers.BSB5XU5N.js} +1 -1
  45. package/dist/{layers.Bo1IQgTY.js → layers.BT2wdYYb.js} +4 -4
  46. package/dist/{layers.Csv-RNMM.js → layers.BV1JZRpd.js} +2 -2
  47. package/dist/{layers.Bcp8vVUY.js → layers.Ba1UkWcv.js} +1 -1
  48. package/dist/{layers.DpdHu36T.js → layers.BaMV6TAB.js} +1 -1
  49. package/dist/{layers.N2JTPd6N.js → layers.BavMPPF5.js} +1 -1
  50. package/dist/{layers.C2wBKRZF.js → layers.BdY7bZNq.js} +1 -1
  51. package/dist/{layers.CAi6uf_s.js → layers.Bdm6Ahnm.js} +1 -1
  52. package/dist/{layers.DhzZQ1yR.js → layers.Be4EK7zh.js} +2 -2
  53. package/dist/{layers.CrFDzVSD.js → layers.BipHnG5t.js} +1 -1
  54. package/dist/{layers.D_oq0gXy.js → layers.Bipd9qFm.js} +1 -1
  55. package/dist/{layers.CwqBsZNp.js → layers.BkNb9gz1.js} +1 -1
  56. package/dist/{layers.yTMOuWkm.js → layers.Bm_NASPj.js} +1 -1
  57. package/dist/{layers.7mAs-3CR.js → layers.BorCTJ2Q.js} +1 -1
  58. package/dist/{layers.D0Qxiqsz.js → layers.BqdISImI.js} +1 -1
  59. package/dist/{layers.CrfLdGpx.js → layers.Bqj6m-1N.js} +1 -1
  60. package/dist/{layers.CYAJTLlo.js → layers.BrNUbh4f.js} +1 -1
  61. package/dist/{layers.Dnn7grVK.js → layers.BsktSe4W.js} +1 -1
  62. package/dist/{layers.DRL358jH.js → layers.Bsu2p-zH.js} +1 -1
  63. package/dist/{layers.BwMuKYbs.js → layers.Bt8VlebU.js} +1 -1
  64. package/dist/{layers.MdKNZ6cr.js → layers.Bu3xO-Sg.js} +1 -1
  65. package/dist/{layers.OKszS5x5.js → layers.BuANO2_D.js} +1 -1
  66. package/dist/{layers.C7JjeKEx.js → layers.BvWo4XUr.js} +1 -1
  67. package/dist/{layers.Dfci0i1V.js → layers.Bxea99ww.js} +1 -1
  68. package/dist/{layers.BdyYzFMy.js → layers.C-KxztGH.js} +1 -1
  69. package/dist/{layers.DNb3XtYW.js → layers.C09EC8I0.js} +1 -1
  70. package/dist/{layers.C68FUBOf.js → layers.C1Fw7dE8.js} +3 -3
  71. package/dist/{layers.BeCyZ4T5.js → layers.C2F7hzwU.js} +1 -1
  72. package/dist/{layers.6m8HLcSO.js → layers.C2zl4DNC.js} +1 -1
  73. package/dist/{layers.Bn0zMvcY.js → layers.C3Gg1KFH.js} +1 -1
  74. package/dist/{layers.DvYfDz9B.js → layers.C4QwtiV_.js} +1 -1
  75. package/dist/{layers.w6q7Y0A9.js → layers.C4giGFQq.js} +1 -1
  76. package/dist/{layers.BS6H5T7o.js → layers.C4rBpbWj.js} +1 -1
  77. package/dist/{layers.wMBlJy49.js → layers.C7I2RCoI.js} +1 -1
  78. package/dist/{layers.4Fo1-48s.js → layers.C8FMzTdE.js} +1 -1
  79. package/dist/{layers.DdaXOuhX.js → layers.C9gUYnzw.js} +1 -1
  80. package/dist/{layers.PKOZO4ti.js → layers.CBeK3tGv.js} +1 -1
  81. package/dist/{layers.r6aSVZR7.js → layers.CCSGID-B.js} +4 -4
  82. package/dist/{layers.DAJXIkLG.js → layers.CCecbBwQ.js} +1 -1
  83. package/dist/{layers.Cy7-VEpQ.js → layers.CGklMh_g.js} +3 -3
  84. package/dist/{layers.F69DYapQ.js → layers.CId9oZHT.js} +1 -1
  85. package/dist/{layers.D6Q8bbIl.js → layers.CItQbT23.js} +1 -1
  86. package/dist/{layers.BuXH_mbz.js → layers.CJNzoLoo.js} +3 -3
  87. package/dist/{layers.BYZgTW-D.js → layers.CLnV6oDl.js} +2 -2
  88. package/dist/{layers.3Om3t2Z_.js → layers.CNdVUnm2.js} +1 -1
  89. package/dist/{layers.DECLFr4c.js → layers.CO1nLHD3.js} +1 -1
  90. package/dist/{layers.DJInX1K9.js → layers.CRTaYPBz.js} +5 -5
  91. package/dist/{layers.CDwtHby_.js → layers.CTO7LiW9.js} +5 -5
  92. package/dist/{layers.hQgU--BE.js → layers.CXhFwWWq.js} +1 -1
  93. package/dist/{layers.ddmNk10V.js → layers.CYRDFpXH.js} +1 -1
  94. package/dist/{layers.lc6zsgOG.js → layers.CZcKOXVp.js} +1 -1
  95. package/dist/{layers.DKE7vA42.js → layers.C_dP-SiO.js} +3 -3
  96. package/dist/{layers.DJXA-73h.js → layers.Cayq3wxq.js} +4 -4
  97. package/dist/{layers.DQqnQIwC.js → layers.CcZu6XDW.js} +1 -1
  98. package/dist/{layers._8H9lWqi.js → layers.CdfOVk-R.js} +1 -1
  99. package/dist/{layers.BQks7F9T.js → layers.Ce9vUp9a.js} +1 -1
  100. package/dist/layers.Cf8Nd-0s.js +39311 -0
  101. package/dist/{layers.Bp5B9IH7.js → layers.CgmCKNg2.js} +1 -1
  102. package/dist/{layers.DnwmhU8J.js → layers.Ch18uFrQ.js} +1 -1
  103. package/dist/layers.ChXJPqa3.js +389 -0
  104. package/dist/{layers.c3vaIDMA.js → layers.ChcpYzI5.js} +1 -1
  105. package/dist/{layers.BW9DGUUG.js → layers.ChjPgKvV.js} +1 -1
  106. package/dist/layers.Ci3Csyrq.js +8 -0
  107. package/dist/{layers.DZYVLZrG.js → layers.CimDdGO2.js} +1 -1
  108. package/dist/{layers.oqhRH5RT.js → layers.Ckxp4-7g.js} +1 -1
  109. package/dist/{layers.BjFJ8W69.js → layers.Clu_NKnx.js} +1 -1
  110. package/dist/{layers.7bO_wVS9.js → layers.CmVOudAU.js} +1 -1
  111. package/dist/{layers.B4bzq2St.js → layers.Covr9xk4.js} +4 -4
  112. package/dist/{layers.6YwTkhvt.js → layers.CpJu8XGf.js} +1 -1
  113. package/dist/{layers.CiE-kdMO.js → layers.CpMljxX4.js} +1 -1
  114. package/dist/{layers.ZBpeRlt7.js → layers.CqP6eBuU.js} +1 -1
  115. package/dist/{layers.CAl3TZD_.js → layers.Cq_tJgTn.js} +1 -1
  116. package/dist/{layers.Cit96aTI.js → layers.CqdeNR5M.js} +1 -1
  117. package/dist/{layers.C_h97pk2.js → layers.CrW98ZMd.js} +3 -3
  118. package/dist/{layers.VqrqBF6D.js → layers.CrajpGoB.js} +1 -1
  119. package/dist/{layers.C_dtbJot.js → layers.CvDDpOik.js} +1 -1
  120. package/dist/{layers.D_B__3qQ.js → layers.CxWziBbG.js} +1 -1
  121. package/dist/{layers.DOYfa5sM.js → layers.Cz08WxXq.js} +1 -1
  122. package/dist/{layers.8hLT0HS7.js → layers.Czeu_udh.js} +1 -1
  123. package/dist/{layers.YAJxfHbp.js → layers.D08jEZHt.js} +4 -4
  124. package/dist/{layers.CuhICF6R.js → layers.D0a1PoC0.js} +1 -1
  125. package/dist/{layers.ChenCyj7.js → layers.D1RsEkp-.js} +1 -1
  126. package/dist/{layers.Doghc3vT.js → layers.D2t8OnEE.js} +8 -8
  127. package/dist/{layers.C5kradWl.js → layers.D3CPrny7.js} +1 -1
  128. package/dist/{layers.DOnfHLuR.js → layers.D3GKQqu3.js} +1 -1
  129. package/dist/{layers.mqGMlwgo.js → layers.D3mM2QBd.js} +2 -2
  130. package/dist/{layers.B5WssB9O.js → layers.D5G8uyEA.js} +3 -3
  131. package/dist/{layers.C7lZmq0W.js → layers.D5lAC4DL.js} +25 -25
  132. package/dist/{layers.C_CJa3yb.js → layers.D5tDrJDi.js} +1 -1
  133. package/dist/{layers.DCFXuJ-w.js → layers.D62rw380.js} +3 -3
  134. package/dist/{layers.DlJMXXfu.js → layers.D8Zbts8S.js} +1 -1
  135. package/dist/{layers.CRrWpOkh.js → layers.D9WZMQto.js} +1 -1
  136. package/dist/{layers.NSD_YfX-.js → layers.D9pg_6ie.js} +1 -1
  137. package/dist/{layers.BqbEssNp.js → layers.DAzFHJ4C.js} +4 -4
  138. package/dist/{layers.Cg-OLCT7.js → layers.DE5tNGl7.js} +1 -1
  139. package/dist/{layers.CZ0ozS9y.js → layers.DFiqndAM.js} +1 -1
  140. package/dist/{layers.B0xxDynX.js → layers.DGlnCl62.js} +1 -1
  141. package/dist/{layers.CT1OON6E.js → layers.DJhnGMa9.js} +1 -1
  142. package/dist/{layers.BMOufvng.js → layers.DMLqpArg.js} +1 -1
  143. package/dist/{layers.tpTGmhK0.js → layers.DO6VqUgu.js} +1 -1
  144. package/dist/{layers.axKIAGtk.js → layers.DObeDdVa.js} +1 -1
  145. package/dist/{layers.BxFdbr07.js → layers.DPgbiK31.js} +1 -1
  146. package/dist/{layers.CXaiXB92.js → layers.DR4PXAvu.js} +1 -1
  147. package/dist/{layers.C5y5935Y.js → layers.DSZWRtJt.js} +1 -1
  148. package/dist/{layers.C18tB2Ez.js → layers.DSoicHY1.js} +1 -1
  149. package/dist/{layers.CNE9uqUr.js → layers.DSqrBnxm.js} +1 -1
  150. package/dist/{layers.Dfv-n7Xa.js → layers.D_E-VA9-.js} +4 -4
  151. package/dist/{layers.DEdPzSFO.js → layers.DaT6U0bm.js} +3 -3
  152. package/dist/{layers.C5RtY-nF.js → layers.Dazyu0fO.js} +3 -3
  153. package/dist/{layers.BgetKNXB.js → layers.DbOtzb3k.js} +1 -1
  154. package/dist/{layers.DY1MoOGn.js → layers.DbPssOYq.js} +1 -1
  155. package/dist/{layers.Bl2qa0Go.js → layers.Dels_2I9.js} +1 -1
  156. package/dist/{layers.DQzPM0iB.js → layers.DfiRlZB7.js} +1 -1
  157. package/dist/{layers.Bk3TUNSG.js → layers.Dfm5gmCz.js} +1 -1
  158. package/dist/{layers.AIFLvqiL.js → layers.Dgzs4qtD.js} +1 -1
  159. package/dist/{layers.D-VwfTqH.js → layers.DiIQjn9D.js} +1 -1
  160. package/dist/{layers.COhxHLqw.js → layers.Dim_tzoA.js} +1 -1
  161. package/dist/{layers.DaXxX1GI.js → layers.Dk52il-v.js} +1 -1
  162. package/dist/{layers.CEFwO4ok.js → layers.DmE4UrrC.js} +1 -1
  163. package/dist/{layers.CI1Sw0jQ.js → layers.Dms7FAVQ.js} +3 -3
  164. package/dist/{layers.BNNjEKHw.js → layers.Dpk04wL3.js} +1 -1
  165. package/dist/{layers.DzPSzCk4.js → layers.DqUvamXg.js} +1 -1
  166. package/dist/{layers.DMat1Byh.js → layers.DzY3i1tU.js} +1 -1
  167. package/dist/{layers.C7YdwUJ3.js → layers.F--nvpYq.js} +2 -2
  168. package/dist/{layers.DnVWhR_-.js → layers.H8ZF8YYm.js} +1 -1
  169. package/dist/{layers.SsPGZDom.js → layers.I2tNzUYI.js} +1 -1
  170. package/dist/{layers.CeniXOmu.js → layers.IXd-evoQ.js} +1 -1
  171. package/dist/{layers.DNOINtOj.js → layers.JjtMpJ-q.js} +1 -1
  172. package/dist/{layers.1x71m17k.js → layers.LgUfsIcZ.js} +1 -1
  173. package/dist/{layers.sXNaJumi.js → layers.NflepMt2.js} +1 -1
  174. package/dist/{layers.C16EyDh5.js → layers.OViNhf9W.js} +1 -1
  175. package/dist/{layers.BBnfr2YB.js → layers.PhwNgyQE.js} +1 -1
  176. package/dist/{layers.BpqTdnOQ.js → layers.QQ3wZicj.js} +1 -1
  177. package/dist/{layers.A4l_cQhe.js → layers.R-Sl5SfZ.js} +1 -1
  178. package/dist/{layers.DGm8ayvM.js → layers.S-YS1zva.js} +1 -1
  179. package/dist/{layers.C9hy0-KS.js → layers.Ssalp_ZL.js} +1 -1
  180. package/dist/{layers.DteoJKHz.js → layers.V06Ojzx4.js} +1 -1
  181. package/dist/{layers.CGx4gkFl.js → layers.XS4dBN0-.js} +1 -1
  182. package/dist/{layers.CQEm3-he.js → layers.ZCVT_K3d.js} +1 -1
  183. package/dist/{layers.DFuJzjkC.js → layers.ZLdmaX0h.js} +1 -1
  184. package/dist/{layers.BDYssWi9.js → layers._s40dL4r.js} +1 -1
  185. package/dist/{layers.DXsyYXyR.js → layers.aGeszMSI.js} +1 -1
  186. package/dist/{layers.DesaC1Kr.js → layers.afxoTKz0.js} +1 -1
  187. package/dist/{layers.D5C6Me1o.js → layers.cKbeBAqn.js} +1 -1
  188. package/dist/{layers.zHBESfgE.js → layers.cL2iLiB4.js} +1 -1
  189. package/dist/{layers.B2zQoClA.js → layers.cmo0dJeT.js} +6 -6
  190. package/dist/layers.eQlxiVQi.js +1 -0
  191. package/dist/{layers.fAxQ3_tc.js → layers.ewKGxb2u.js} +1 -1
  192. package/dist/{layers.DkBuGfxw.js → layers.f13cvox9.js} +1 -1
  193. package/dist/{layers.CPVaM9rN.js → layers.gCqNHh7S.js} +1 -1
  194. package/dist/{layers.CFZRSauf.js → layers.hAMsvo1h.js} +1 -1
  195. package/dist/{layers.DrJi0XJn.js → layers.hMcxlE1s.js} +1 -1
  196. package/dist/{layers.C2xcuECS.js → layers.iE6mFJLB.js} +1 -1
  197. package/dist/{layers.CLNAjnx0.js → layers.j38UGqsi.js} +1 -1
  198. package/dist/{layers.BIsRrmwJ.js → layers.j64_gGYw.js} +1 -1
  199. package/dist/{layers.5z5cHJxH.js → layers.luguH0Lu.js} +1 -1
  200. package/dist/{layers.D_dMjjgQ.js → layers.mJDcCkxY.js} +1 -1
  201. package/dist/{layers.C8diIYu-.js → layers.mNm_mjlk.js} +1 -1
  202. package/dist/{layers.Dk_TgNcY.js → layers.ozjS3Cnj.js} +1 -1
  203. package/dist/{layers.BOZ7CCqF.js → layers.qT9-S0qm.js} +1 -1
  204. package/dist/{layers._NNFwzUB.js → layers.qgAhOlrY.js} +4 -4
  205. package/dist/{layers.c1MWIbgE.js → layers.tvTkQrf0.js} +1 -1
  206. package/dist/{layers.D4YXFAyB.js → layers.txM1eCoJ.js} +1 -1
  207. package/dist/{layers.B3s3xHhW.js → layers.vaXhO6Me.js} +1 -1
  208. package/dist/{layers.CoC2w3fN.js → layers.vb7SdI0N.js} +1 -1
  209. package/package.json +1 -1
  210. package/dist/layers.BLfs2Wat.js +0 -129
  211. package/dist/layers.BYYqABvB.js +0 -8
  212. package/dist/layers.CX9-iobo.js +0 -1
  213. package/dist/layers.DN92Nuvl.js +0 -26965
  214. package/dist/layers.DViF9KQr.js +0 -1
  215. package/dist/layers.EVFIwP38.js +0 -6
  216. package/dist/layers.R8mPlCA0.js +0 -261
  217. package/dist/layers.b9B2NY7n.js +0 -11690
package/README.md CHANGED
@@ -426,116 +426,6 @@ For uploading a file or audio, you might need the third parameter "data".
426
426
  </details>
427
427
 
428
428
 
429
- <details>
430
- <summary>
431
- 📊 Analytics (onTrack)
432
- </summary>
433
-
434
- ## Event Tracking
435
-
436
- The editor can track user actions via the `onTrack` callback. This allows the host application to send analytics events to any provider (Yandex.Metrika, Google Analytics, Mixpanel, etc.) without the editor depending on any specific analytics SDK.
437
-
438
- ### Basic Usage
439
-
440
- ```tsx
441
- import { trackGoal } from '@layers/hooks/useAnalytics';
442
-
443
- <Editor
444
- {...props}
445
- onTrack={trackGoal}
446
- />
447
- ```
448
-
449
- ### Custom Handler
450
-
451
- ```tsx
452
- const handleTrack = (event: string, params?: Record<string, unknown>) => {
453
- console.log('Editor event:', event, params);
454
-
455
- // Send to your analytics provider
456
- myAnalytics.track(event, params);
457
- };
458
-
459
- <Editor
460
- {...props}
461
- onTrack={handleTrack}
462
- />
463
- ```
464
-
465
- ### Type Signature
466
-
467
- ```ts
468
- type EditorTrackFn = (
469
- event: string,
470
- params?: Record<string, unknown>,
471
- ) => void;
472
- ```
473
-
474
- ### Tracked Events
475
-
476
- | Event | Trigger | Plugin |
477
- |-------|---------|--------|
478
- | `block_table_created` | User inserts a table | BlockFormatDropDown |
479
- | `block_image_added` | User inserts an image | BlockFormatDropDown |
480
- | `block_code_created` | User inserts a code block | BlockFormatDropDown |
481
- | `block_layout_used` | User inserts a grid/layout | BlockFormatDropDown |
482
- | `block_collapse_created` | User inserts a toggle/collapsible | BlockFormatDropDown |
483
- | `block_link_inserted` | User inserts a link | ToolbarPlugin |
484
- | `block_comment_added` | User adds an inline comment | ToolbarPlugin |
485
- | `ai_menu_opened` | User clicks the AI toolbar button | ToolbarPlugin/AI |
486
- | `block_heading_created` | User creates a heading (h1-h4) | BlockFormatDropDown |
487
- | `list_bullet_created` | User creates a bullet list | BlockFormatDropDown |
488
- | `list_number_created` | User creates a numbered list | BlockFormatDropDown |
489
- | `list_check_created` | User creates a checklist | BlockFormatDropDown |
490
- | `block_quote_created` | User creates a quote block | BlockFormatDropDown |
491
- | `block_divider_inserted` | User inserts a horizontal rule | BlockFormatDropDown |
492
- | `block_child_docs_inserted` | User inserts child documents block | BlockFormatDropDown |
493
- | `block_embed_added` | User adds an embed/integration | BlockFormatDropDown |
494
- | `media_audio_added` | User adds an audio block | BlockFormatDropDown |
495
- | `media_file_added` | User adds a file block | BlockFormatDropDown |
496
- | `table_row_added` | User inserts a table row | TableActionMenuPlugin |
497
- | `table_column_added` | User inserts a table column | TableActionMenuPlugin |
498
- | `table_row_deleted` | User deletes a table row | TableActionMenuPlugin |
499
- | `table_column_deleted` | User deletes a table column | TableActionMenuPlugin |
500
- | `block_duplicated` | User duplicates a block | DraggableBlockPlugin |
501
- | `block_deleted` | User deletes a block | DraggableBlockPlugin |
502
- | `text_code_toggled` | User toggles inline code format | ToolbarPlugin |
503
- | `text_formatting_cleared` | User clears all text formatting | ToolbarPlugin |
504
-
505
- > Events fire from both the toolbar dropdown menu and the slash command menu (`/`).
506
-
507
- ### What Happens Without onTrack?
508
-
509
- If `onTrack` is not provided, **nothing happens** — all tracking calls use optional chaining (`onTrack?.('event')`) and are silently skipped. The editor works exactly the same with or without analytics. There is no error, no console warning, and no performance impact.
510
-
511
- This means:
512
- - **No analytics SDK required** — the editor is a standalone package with zero analytics dependencies
513
- - **Safe to omit** — if you don't need tracking, simply don't pass the prop
514
- - **No counter needed** — the editor itself never calls `ym()`, `gtag()`, or any external API directly
515
-
516
- ### How It Works Internally
517
-
518
- 1. `onTrack` is passed as a prop to `<Editor>` and stored in React Context
519
- 2. Plugins access it via `useContext(Context)` and call `onTrack?.('event_name')`
520
- 3. The host app decides what to do with the event (send to Metrika, log, ignore)
521
-
522
- ```
523
- Host App Editor Package
524
- ───────── ──────────────
525
- trackGoal() ──→ onTrack prop ──→ Context.onTrack
526
- │ │
527
- │ Plugins call:
528
- │ onTrack?.('block_table_created')
529
- │ │
530
- ◄────────────────────────────────┘
531
-
532
- ym(ID, 'reachGoal', 'block_table_created')
533
- dataLayer.push({ event: 'block_table_created' })
534
- ```
535
-
536
- </details>
537
-
538
-
539
429
  <details>
540
430
  <summary>
541
431
  👥 Collaboration
@@ -824,7 +714,6 @@ maxImageSizeError?: () => void - A function that is called if the image exceeds
824
714
  disable?: boolean - Toggles the editor into read-only mode.
825
715
  ws?: { url: string, id: string, user: { color: string, name: string }, getActiveUsers: (users) => void } - WebSocket settings: URL, document ID, current user details, and function to return active users editing the document.
826
716
  editorRef?: { current: EditorType | null } - Reference to the editor.
827
- onTrack?: (event: string, params?: Record<string, unknown>) => void - Optional callback for analytics event tracking. Called when the user performs tracked actions (insert table, add image, open AI menu, etc.). If not provided, tracking is silently skipped. See the "Analytics (onTrack)" section for the full list of events.
828
717
  ```
829
718
 
830
719
  </details>