@rtif-sdk/web 1.3.0 → 1.5.0

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 (72) hide show
  1. package/dist/block-drag-handler.d.ts +26 -0
  2. package/dist/block-drag-handler.d.ts.map +1 -1
  3. package/dist/block-drag-handler.js +33 -23
  4. package/dist/block-drag-handler.js.map +1 -1
  5. package/dist/block-gutter.d.ts +81 -0
  6. package/dist/block-gutter.d.ts.map +1 -0
  7. package/dist/block-gutter.js +331 -0
  8. package/dist/block-gutter.js.map +1 -0
  9. package/dist/content-handler-html.d.ts +28 -0
  10. package/dist/content-handler-html.d.ts.map +1 -0
  11. package/dist/content-handler-html.js +49 -0
  12. package/dist/content-handler-html.js.map +1 -0
  13. package/dist/content-handlers.d.ts +20 -19
  14. package/dist/content-handlers.d.ts.map +1 -1
  15. package/dist/content-handlers.js +4 -43
  16. package/dist/content-handlers.js.map +1 -1
  17. package/dist/drop-indicator.d.ts.map +1 -1
  18. package/dist/drop-indicator.js +8 -34
  19. package/dist/drop-indicator.js.map +1 -1
  20. package/dist/editor.d.ts.map +1 -1
  21. package/dist/editor.js +33 -13
  22. package/dist/editor.js.map +1 -1
  23. package/dist/floating-toolbar.d.ts.map +1 -1
  24. package/dist/floating-toolbar.js +4 -7
  25. package/dist/floating-toolbar.js.map +1 -1
  26. package/dist/index.d.ts +8 -2
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +8 -2
  29. package/dist/index.js.map +1 -1
  30. package/dist/link-popover.d.ts.map +1 -1
  31. package/dist/link-popover.js +2 -43
  32. package/dist/link-popover.js.map +1 -1
  33. package/dist/preset-basic.d.ts +20 -0
  34. package/dist/preset-basic.d.ts.map +1 -0
  35. package/dist/preset-basic.js +28 -0
  36. package/dist/preset-basic.js.map +1 -0
  37. package/dist/preset-full.d.ts +22 -0
  38. package/dist/preset-full.d.ts.map +1 -0
  39. package/dist/preset-full.js +66 -0
  40. package/dist/preset-full.js.map +1 -0
  41. package/dist/preset-plaintext.d.ts +20 -0
  42. package/dist/preset-plaintext.d.ts.map +1 -0
  43. package/dist/preset-plaintext.js +19 -0
  44. package/dist/preset-plaintext.js.map +1 -0
  45. package/dist/preset-standard.d.ts +22 -0
  46. package/dist/preset-standard.d.ts.map +1 -0
  47. package/dist/preset-standard.js +47 -0
  48. package/dist/preset-standard.js.map +1 -0
  49. package/dist/presets.d.ts +7 -88
  50. package/dist/presets.d.ts.map +1 -1
  51. package/dist/presets.js +7 -152
  52. package/dist/presets.js.map +1 -1
  53. package/dist/renderer.d.ts.map +1 -1
  54. package/dist/renderer.js +27 -5
  55. package/dist/renderer.js.map +1 -1
  56. package/dist/selection-sync.d.ts.map +1 -1
  57. package/dist/selection-sync.js +20 -3
  58. package/dist/selection-sync.js.map +1 -1
  59. package/dist/types.d.ts +19 -0
  60. package/dist/types.d.ts.map +1 -1
  61. package/package.json +8 -4
  62. package/styles/all.css +20 -0
  63. package/styles/base.css +33 -0
  64. package/styles/block-gutter.css +76 -0
  65. package/styles/blocks.css +199 -0
  66. package/styles/drop-indicator.css +37 -0
  67. package/styles/floating-toolbar.css +51 -0
  68. package/styles/link-popover.css +64 -0
  69. package/styles/marks.css +27 -0
  70. package/styles/mention.css +17 -0
  71. package/styles/pickers.css +317 -0
  72. package/styles/toolbar.css +151 -0
@@ -1 +1 @@
1
- {"version":3,"file":"link-popover.js","sourceRoot":"","sources":["../src/link-popover.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,IAAiB;IAEjB,IAAI,SAAS,GAAuB,IAAI,CAAC;IACzC,IAAI,WAAW,GAAsB,QAAQ,CAAC;IAC9C,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,sEAAsE;IACtE,uBAAuB;IACvB,sEAAsE;IAEtE,SAAS,oBAAoB;QAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC;QAC1C,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QACpD,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;;;KAazB,CAAC;QAEF,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC5C,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;KAQrB,CAAC;QAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC/C,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC;QAC/B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;KAQxB,CAAC;QAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC1B,SAAS,CAAC,SAAS,GAAG,0BAA0B,CAAC;QACjD,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;QACjC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;KASzB,CAAC;QAEF,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjC,iBAAiB;QACjB,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACvC,UAAU,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE;YACxD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,cAAc;IACd,sEAAsE;IAEtE,SAAS,WAAW,CAAC,IAAuB,EAAE,WAAoB;QAChE,WAAW,EAAE,CAAC,CAAC,6BAA6B;QAE5C,WAAW,GAAG,IAAI,CAAC;QACnB,SAAS,GAAG,oBAAoB,EAAE,CAAC;QAEnC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAmB,0BAA0B,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAoB,2BAA2B,CAAC,CAAC;QAE1F,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;YACzB,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAErC,uBAAuB;QACvB,eAAe,EAAE,CAAC;QAElB,oCAAoC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,iEAAiE;QACjE,SAAS,GAAG,IAAI,CAAC;QACjB,qBAAqB,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,yBAAyB;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,2CAA2C;YAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC;gBAC9C,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;YAC9C,CAAC;YACD,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,cAAc;QACxC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,cAAc;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/B,6BAA6B;QAC7B,IAAI,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;YACrD,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YAClB,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,GAAG,aAAa,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;YACtD,4BAA4B;YAC5B,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,GAAG,MAAM,CAAC;QAC1C,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC;QACnC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,sEAAsE;IACtE,UAAU;IACV,sEAAsE;IAEtE,SAAS,SAAS,CAAC,IAAY;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,UAAU;QACjB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,sEAAsE;IACtE,gCAAgC;IAChC,sEAAsE;IAEtE,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAuB,CAAC;QACxE,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,+CAA+C;YAC/C,qBAAqB,CAAC,GAAG,EAAE;gBACzB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE5C,sEAAsE;IACtE,uCAAuC;IACvC,sEAAsE;IAEtE,mGAAmG;IACnG,6DAA6D;IAE7D,kCAAkC;IAClC,MAAM,eAAe,GAAG,CAAC,CAAa,EAAQ,EAAE;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS;YAAE,OAAO,CAAC,4CAA4C;QACnE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO,CAAC,4CAA4C;QACzF,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpD,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACnD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAExD,OAAO;QACL,8CAA8C;QAC9C,IAAI,EAAE,WAAW;QAEjB,OAAO;YACL,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC/C,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"link-popover.js","sourceRoot":"","sources":["../src/link-popover.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAiB,EACjB,IAAiB;IAEjB,IAAI,SAAS,GAAuB,IAAI,CAAC;IACzC,IAAI,WAAW,GAAsB,QAAQ,CAAC;IAC9C,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,sEAAsE;IACtE,uBAAuB;IACvB,sEAAsE;IAEtE,SAAS,oBAAoB;QAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,SAAS,GAAG,mBAAmB,CAAC;QAC1C,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACzC,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QACnB,KAAK,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC5C,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC;QACnC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAExC,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,SAAS,GAAG,yBAAyB,CAAC;QAC/C,QAAQ,CAAC,WAAW,GAAG,OAAO,CAAC;QAE/B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACnD,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;QAC1B,SAAS,CAAC,SAAS,GAAG,0BAA0B,CAAC;QACjD,SAAS,CAAC,WAAW,GAAG,QAAQ,CAAC;QACjC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEvC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAEjC,iBAAiB;QACjB,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,CAAC,CAAC,eAAe,EAAE,CAAC;gBACpB,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACvC,UAAU,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAa,EAAE,EAAE;YACxD,CAAC,CAAC,cAAc,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sEAAsE;IACtE,cAAc;IACd,sEAAsE;IAEtE,SAAS,WAAW,CAAC,IAAuB,EAAE,WAAoB;QAChE,WAAW,EAAE,CAAC,CAAC,6BAA6B;QAE5C,WAAW,GAAG,IAAI,CAAC;QACnB,SAAS,GAAG,oBAAoB,EAAE,CAAC;QAEnC,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAmB,0BAA0B,CAAC,CAAC;QACpF,MAAM,SAAS,GAAG,SAAS,CAAC,aAAa,CAAoB,2BAA2B,CAAC,CAAC;QAE1F,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;YACzB,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAC5C,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAErC,uBAAuB;QACvB,eAAe,EAAE,CAAC;QAElB,oCAAoC;QACpC,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,WAAW,EAAE,CAAC;gBAChB,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;QAED,qEAAqE;QACrE,iEAAiE;QACjE,SAAS,GAAG,IAAI,CAAC;QACjB,qBAAqB,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,yBAAyB;QACzB,MAAM,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,2CAA2C;YAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;YACrD,IAAI,UAAU,EAAE,CAAC;gBACf,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC;gBAC9C,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC;YAC9C,CAAC;YACD,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,MAAM,YAAY,GAAG,GAAG,CAAC,CAAC,cAAc;QACxC,MAAM,aAAa,GAAG,EAAE,CAAC,CAAC,cAAc;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC;QAEjB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAE/B,6BAA6B;QAC7B,IAAI,IAAI,GAAG,YAAY,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC;YACrD,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,YAAY,GAAG,MAAM,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;YAClB,IAAI,GAAG,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,GAAG,aAAa,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;YACtD,4BAA4B;YAC5B,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,aAAa,GAAG,MAAM,CAAC;QAC1C,CAAC;QAED,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC;QACnC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,sEAAsE;IACtE,UAAU;IACV,sEAAsE;IAEtE,SAAS,SAAS,CAAC,IAAY;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,UAAU;QACjB,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC/C,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,sEAAsE;IACtE,gCAAgC;IAChC,sEAAsE;IAEtE,MAAM,WAAW,GAAG,CAAC,CAAa,EAAQ,EAAE;QAC1C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA4B,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,2DAA2D;QAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAuB,CAAC;QACxE,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACT,+CAA+C;YAC/C,qBAAqB,CAAC,GAAG,EAAE;gBACzB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAE5C,sEAAsE;IACtE,uCAAuC;IACvC,sEAAsE;IAEtE,mGAAmG;IACnG,6DAA6D;IAE7D,kCAAkC;IAClC,MAAM,eAAe,GAAG,CAAC,CAAa,EAAQ,EAAE;QAC9C,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,SAAS;YAAE,OAAO,CAAC,4CAA4C;QACnE,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO,CAAC,4CAA4C;QACzF,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAEpD,mCAAmC;IACnC,MAAM,iBAAiB,GAAG,CAAC,CAAgB,EAAQ,EAAE;QACnD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAExD,OAAO;QACL,8CAA8C;QAC9C,IAAI,EAAE,WAAW;QAEjB,OAAO;YACL,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC/C,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Basic preset — essential inline formatting.
3
+ *
4
+ * Includes bold, italic, underline, and link plugins. Suitable for
5
+ * simple rich text fields (comments, chat messages, short-form content).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { PRESET_BASIC } from '@rtif-sdk/web';
10
+ * import { createEngine } from '@rtif-sdk/engine';
11
+ *
12
+ * const engine = createEngine(initialDoc);
13
+ * for (const plugin of PRESET_BASIC) {
14
+ * engine.use(plugin);
15
+ * }
16
+ * ```
17
+ */
18
+ import type { Plugin } from '@rtif-sdk/engine';
19
+ export declare const PRESET_BASIC: ReadonlyArray<Plugin>;
20
+ //# sourceMappingURL=preset-basic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-basic.d.ts","sourceRoot":"","sources":["../src/preset-basic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAO/C,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,MAAM,CAK9C,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Basic preset — essential inline formatting.
3
+ *
4
+ * Includes bold, italic, underline, and link plugins. Suitable for
5
+ * simple rich text fields (comments, chat messages, short-form content).
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { PRESET_BASIC } from '@rtif-sdk/web';
10
+ * import { createEngine } from '@rtif-sdk/engine';
11
+ *
12
+ * const engine = createEngine(initialDoc);
13
+ * for (const plugin of PRESET_BASIC) {
14
+ * engine.use(plugin);
15
+ * }
16
+ * ```
17
+ */
18
+ import { boldPlugin } from './plugins/bold-plugin.js';
19
+ import { italicPlugin } from './plugins/italic-plugin.js';
20
+ import { underlinePlugin } from './plugins/underline-plugin.js';
21
+ import { linkPlugin } from './plugins/link-plugin.js';
22
+ export const PRESET_BASIC = [
23
+ boldPlugin(),
24
+ italicPlugin(),
25
+ underlinePlugin(),
26
+ linkPlugin(),
27
+ ];
28
+ //# sourceMappingURL=preset-basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-basic.js","sourceRoot":"","sources":["../src/preset-basic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;CACb,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Full preset — all available plugins.
3
+ *
4
+ * Includes everything in PRESET_STANDARD, plus text color,
5
+ * font size, font family, alignment, indentation, callouts, images,
6
+ * and embeds. Suitable for full-featured document editors and CMS
7
+ * authoring tools.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { PRESET_FULL } from '@rtif-sdk/web';
12
+ * import { createEngine } from '@rtif-sdk/engine';
13
+ *
14
+ * const engine = createEngine(initialDoc);
15
+ * for (const plugin of PRESET_FULL) {
16
+ * engine.use(plugin);
17
+ * }
18
+ * ```
19
+ */
20
+ import type { Plugin } from '@rtif-sdk/engine';
21
+ export declare const PRESET_FULL: ReadonlyArray<Plugin>;
22
+ //# sourceMappingURL=preset-full.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-full.d.ts","sourceRoot":"","sources":["../src/preset-full.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB/C,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,MAAM,CA+B7C,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Full preset — all available plugins.
3
+ *
4
+ * Includes everything in PRESET_STANDARD, plus text color,
5
+ * font size, font family, alignment, indentation, callouts, images,
6
+ * and embeds. Suitable for full-featured document editors and CMS
7
+ * authoring tools.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { PRESET_FULL } from '@rtif-sdk/web';
12
+ * import { createEngine } from '@rtif-sdk/engine';
13
+ *
14
+ * const engine = createEngine(initialDoc);
15
+ * for (const plugin of PRESET_FULL) {
16
+ * engine.use(plugin);
17
+ * }
18
+ * ```
19
+ */
20
+ import { boldPlugin } from './plugins/bold-plugin.js';
21
+ import { italicPlugin } from './plugins/italic-plugin.js';
22
+ import { underlinePlugin } from './plugins/underline-plugin.js';
23
+ import { linkPlugin } from './plugins/link-plugin.js';
24
+ import { strikethroughPlugin } from './plugins/strikethrough-plugin.js';
25
+ import { codePlugin } from './plugins/code-plugin.js';
26
+ import { headingPlugin } from './plugins/heading-plugin.js';
27
+ import { listPlugin } from './plugins/list-plugin.js';
28
+ import { blockquotePlugin } from './plugins/blockquote-plugin.js';
29
+ import { codeBlockPlugin } from './plugins/code-block-plugin.js';
30
+ import { hrPlugin } from './plugins/hr-plugin.js';
31
+ import { textColorPlugin } from './plugins/text-color-plugin.js';
32
+ import { fontSizePlugin } from './plugins/font-size-plugin.js';
33
+ import { fontFamilyPlugin } from './plugins/font-family-plugin.js';
34
+ import { alignmentPlugin } from './plugins/alignment-plugin.js';
35
+ import { indentPlugin } from './plugins/indent-plugin.js';
36
+ import { calloutPlugin } from './plugins/callout-plugin.js';
37
+ import { imagePlugin } from './plugins/image-plugin.js';
38
+ import { embedPlugin } from './plugins/embed-plugin.js';
39
+ export const PRESET_FULL = [
40
+ // Inline marks (from BASIC)
41
+ boldPlugin(),
42
+ italicPlugin(),
43
+ underlinePlugin(),
44
+ linkPlugin(),
45
+ // Additional inline marks (from STANDARD)
46
+ strikethroughPlugin(),
47
+ codePlugin(),
48
+ // Block types (from STANDARD)
49
+ headingPlugin(),
50
+ listPlugin(),
51
+ blockquotePlugin(),
52
+ codeBlockPlugin(),
53
+ hrPlugin(),
54
+ // Parameterized text styling
55
+ textColorPlugin(),
56
+ fontSizePlugin(),
57
+ fontFamilyPlugin(),
58
+ // Paragraph formatting
59
+ alignmentPlugin(),
60
+ indentPlugin(),
61
+ // Advanced block types
62
+ calloutPlugin(),
63
+ imagePlugin(),
64
+ embedPlugin(),
65
+ ];
66
+ //# sourceMappingURL=preset-full.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-full.js","sourceRoot":"","sources":["../src/preset-full.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,4BAA4B;IAC5B,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;IAEZ,0CAA0C;IAC1C,mBAAmB,EAAE;IACrB,UAAU,EAAE;IAEZ,8BAA8B;IAC9B,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,gBAAgB,EAAE;IAClB,eAAe,EAAE;IACjB,QAAQ,EAAE;IAEV,6BAA6B;IAC7B,eAAe,EAAE;IACjB,cAAc,EAAE;IAChB,gBAAgB,EAAE;IAElB,uBAAuB;IACvB,eAAe,EAAE;IACjB,YAAY,EAAE;IAEd,uBAAuB;IACvB,aAAa,EAAE;IACf,WAAW,EAAE;IACb,WAAW,EAAE;CACd,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Plain text preset — no plugins.
3
+ *
4
+ * Use this for editors that need only unformatted text input with no
5
+ * inline marks, block types, or other extensions.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { PRESET_PLAINTEXT } from '@rtif-sdk/web';
10
+ * import { createEngine } from '@rtif-sdk/engine';
11
+ *
12
+ * const engine = createEngine(initialDoc);
13
+ * for (const plugin of PRESET_PLAINTEXT) {
14
+ * engine.use(plugin);
15
+ * }
16
+ * ```
17
+ */
18
+ import type { Plugin } from '@rtif-sdk/engine';
19
+ export declare const PRESET_PLAINTEXT: ReadonlyArray<Plugin>;
20
+ //# sourceMappingURL=preset-plaintext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-plaintext.d.ts","sourceRoot":"","sources":["../src/preset-plaintext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAM,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Plain text preset — no plugins.
3
+ *
4
+ * Use this for editors that need only unformatted text input with no
5
+ * inline marks, block types, or other extensions.
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * import { PRESET_PLAINTEXT } from '@rtif-sdk/web';
10
+ * import { createEngine } from '@rtif-sdk/engine';
11
+ *
12
+ * const engine = createEngine(initialDoc);
13
+ * for (const plugin of PRESET_PLAINTEXT) {
14
+ * engine.use(plugin);
15
+ * }
16
+ * ```
17
+ */
18
+ export const PRESET_PLAINTEXT = [];
19
+ //# sourceMappingURL=preset-plaintext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-plaintext.js","sourceRoot":"","sources":["../src/preset-plaintext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,gBAAgB,GAA0B,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Standard preset — common rich text editing features.
3
+ *
4
+ * Includes everything in PRESET_BASIC, plus strikethrough,
5
+ * inline code, headings, lists, blockquotes, code blocks, and
6
+ * horizontal rules. Suitable for blog posts, documentation, and
7
+ * general-purpose content editing.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { PRESET_STANDARD } from '@rtif-sdk/web';
12
+ * import { createEngine } from '@rtif-sdk/engine';
13
+ *
14
+ * const engine = createEngine(initialDoc);
15
+ * for (const plugin of PRESET_STANDARD) {
16
+ * engine.use(plugin);
17
+ * }
18
+ * ```
19
+ */
20
+ import type { Plugin } from '@rtif-sdk/engine';
21
+ export declare const PRESET_STANDARD: ReadonlyArray<Plugin>;
22
+ //# sourceMappingURL=preset-standard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-standard.d.ts","sourceRoot":"","sources":["../src/preset-standard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAc/C,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,CAiBjD,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Standard preset — common rich text editing features.
3
+ *
4
+ * Includes everything in PRESET_BASIC, plus strikethrough,
5
+ * inline code, headings, lists, blockquotes, code blocks, and
6
+ * horizontal rules. Suitable for blog posts, documentation, and
7
+ * general-purpose content editing.
8
+ *
9
+ * @example
10
+ * ```ts
11
+ * import { PRESET_STANDARD } from '@rtif-sdk/web';
12
+ * import { createEngine } from '@rtif-sdk/engine';
13
+ *
14
+ * const engine = createEngine(initialDoc);
15
+ * for (const plugin of PRESET_STANDARD) {
16
+ * engine.use(plugin);
17
+ * }
18
+ * ```
19
+ */
20
+ import { boldPlugin } from './plugins/bold-plugin.js';
21
+ import { italicPlugin } from './plugins/italic-plugin.js';
22
+ import { underlinePlugin } from './plugins/underline-plugin.js';
23
+ import { linkPlugin } from './plugins/link-plugin.js';
24
+ import { strikethroughPlugin } from './plugins/strikethrough-plugin.js';
25
+ import { codePlugin } from './plugins/code-plugin.js';
26
+ import { headingPlugin } from './plugins/heading-plugin.js';
27
+ import { listPlugin } from './plugins/list-plugin.js';
28
+ import { blockquotePlugin } from './plugins/blockquote-plugin.js';
29
+ import { codeBlockPlugin } from './plugins/code-block-plugin.js';
30
+ import { hrPlugin } from './plugins/hr-plugin.js';
31
+ export const PRESET_STANDARD = [
32
+ // Inline marks (from BASIC)
33
+ boldPlugin(),
34
+ italicPlugin(),
35
+ underlinePlugin(),
36
+ linkPlugin(),
37
+ // Additional inline marks
38
+ strikethroughPlugin(),
39
+ codePlugin(),
40
+ // Block types
41
+ headingPlugin(),
42
+ listPlugin(),
43
+ blockquotePlugin(),
44
+ codeBlockPlugin(),
45
+ hrPlugin(),
46
+ ];
47
+ //# sourceMappingURL=preset-standard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-standard.js","sourceRoot":"","sources":["../src/preset-standard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,4BAA4B;IAC5B,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;IAEZ,0BAA0B;IAC1B,mBAAmB,EAAE;IACrB,UAAU,EAAE;IAEZ,cAAc;IACd,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,gBAAgB,EAAE;IAClB,eAAe,EAAE;IACjB,QAAQ,EAAE;CACX,CAAC"}
package/dist/presets.d.ts CHANGED
@@ -1,95 +1,14 @@
1
1
  /**
2
2
  * Plugin presets for the RTIF web editor.
3
3
  *
4
- * Each preset is a factory function that returns an array of instantiated
5
- * plugins ready to be registered via `engine.use()`. Presets are ordered
6
- * from lightest (plain text) to heaviest (all features).
4
+ * Re-exports from individual preset modules for backward compatibility.
5
+ * Each preset lives in its own file so that importing one preset does not
6
+ * pull in the plugin imports of other presets (tree-shaking friendly).
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
- import type { Plugin } from '@rtif-sdk/engine';
11
- /**
12
- * Plain text preset — no plugins.
13
- *
14
- * Use this for editors that need only unformatted text input with no
15
- * inline marks, block types, or other extensions.
16
- *
17
- * @returns An empty plugin array
18
- *
19
- * @example
20
- * ```ts
21
- * import { PRESET_PLAINTEXT } from '@rtif-sdk/web';
22
- * import { createEngine } from '@rtif-sdk/engine';
23
- *
24
- * const engine = createEngine(initialDoc);
25
- * for (const plugin of PRESET_PLAINTEXT) {
26
- * engine.use(plugin);
27
- * }
28
- * ```
29
- */
30
- export declare const PRESET_PLAINTEXT: ReadonlyArray<Plugin>;
31
- /**
32
- * Basic preset — essential inline formatting.
33
- *
34
- * Includes bold, italic, underline, and link plugins. Suitable for
35
- * simple rich text fields (comments, chat messages, short-form content).
36
- *
37
- * @returns An array of basic formatting plugins
38
- *
39
- * @example
40
- * ```ts
41
- * import { PRESET_BASIC } from '@rtif-sdk/web';
42
- * import { createEngine } from '@rtif-sdk/engine';
43
- *
44
- * const engine = createEngine(initialDoc);
45
- * for (const plugin of PRESET_BASIC) {
46
- * engine.use(plugin);
47
- * }
48
- * ```
49
- */
50
- export declare const PRESET_BASIC: ReadonlyArray<Plugin>;
51
- /**
52
- * Standard preset — common rich text editing features.
53
- *
54
- * Includes everything in {@link PRESET_BASIC}, plus strikethrough,
55
- * inline code, headings, lists, blockquotes, code blocks, and
56
- * horizontal rules. Suitable for blog posts, documentation, and
57
- * general-purpose content editing.
58
- *
59
- * @returns An array of standard editing plugins
60
- *
61
- * @example
62
- * ```ts
63
- * import { PRESET_STANDARD } from '@rtif-sdk/web';
64
- * import { createEngine } from '@rtif-sdk/engine';
65
- *
66
- * const engine = createEngine(initialDoc);
67
- * for (const plugin of PRESET_STANDARD) {
68
- * engine.use(plugin);
69
- * }
70
- * ```
71
- */
72
- export declare const PRESET_STANDARD: ReadonlyArray<Plugin>;
73
- /**
74
- * Full preset — all available plugins.
75
- *
76
- * Includes everything in {@link PRESET_STANDARD}, plus text color,
77
- * font size, font family, alignment, indentation, callouts, images,
78
- * and embeds. Suitable for full-featured document editors and CMS
79
- * authoring tools.
80
- *
81
- * @returns An array of all available plugins
82
- *
83
- * @example
84
- * ```ts
85
- * import { PRESET_FULL } from '@rtif-sdk/web';
86
- * import { createEngine } from '@rtif-sdk/engine';
87
- *
88
- * const engine = createEngine(initialDoc);
89
- * for (const plugin of PRESET_FULL) {
90
- * engine.use(plugin);
91
- * }
92
- * ```
93
- */
94
- export declare const PRESET_FULL: ReadonlyArray<Plugin>;
10
+ export { PRESET_PLAINTEXT } from './preset-plaintext.js';
11
+ export { PRESET_BASIC } from './preset-basic.js';
12
+ export { PRESET_STANDARD } from './preset-standard.js';
13
+ export { PRESET_FULL } from './preset-full.js';
95
14
  //# sourceMappingURL=presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAsB/C;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAM,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC,MAAM,CAK9C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,MAAM,CAiBjD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,MAAM,CA+B7C,CAAC"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/presets.js CHANGED
@@ -1,159 +1,14 @@
1
1
  /**
2
2
  * Plugin presets for the RTIF web editor.
3
3
  *
4
- * Each preset is a factory function that returns an array of instantiated
5
- * plugins ready to be registered via `engine.use()`. Presets are ordered
6
- * from lightest (plain text) to heaviest (all features).
4
+ * Re-exports from individual preset modules for backward compatibility.
5
+ * Each preset lives in its own file so that importing one preset does not
6
+ * pull in the plugin imports of other presets (tree-shaking friendly).
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
- import { boldPlugin } from './plugins/bold-plugin.js';
11
- import { italicPlugin } from './plugins/italic-plugin.js';
12
- import { underlinePlugin } from './plugins/underline-plugin.js';
13
- import { linkPlugin } from './plugins/link-plugin.js';
14
- import { strikethroughPlugin } from './plugins/strikethrough-plugin.js';
15
- import { codePlugin } from './plugins/code-plugin.js';
16
- import { headingPlugin } from './plugins/heading-plugin.js';
17
- import { listPlugin } from './plugins/list-plugin.js';
18
- import { blockquotePlugin } from './plugins/blockquote-plugin.js';
19
- import { codeBlockPlugin } from './plugins/code-block-plugin.js';
20
- import { hrPlugin } from './plugins/hr-plugin.js';
21
- import { textColorPlugin } from './plugins/text-color-plugin.js';
22
- import { fontSizePlugin } from './plugins/font-size-plugin.js';
23
- import { fontFamilyPlugin } from './plugins/font-family-plugin.js';
24
- import { alignmentPlugin } from './plugins/alignment-plugin.js';
25
- import { indentPlugin } from './plugins/indent-plugin.js';
26
- import { calloutPlugin } from './plugins/callout-plugin.js';
27
- import { imagePlugin } from './plugins/image-plugin.js';
28
- import { embedPlugin } from './plugins/embed-plugin.js';
29
- /**
30
- * Plain text preset — no plugins.
31
- *
32
- * Use this for editors that need only unformatted text input with no
33
- * inline marks, block types, or other extensions.
34
- *
35
- * @returns An empty plugin array
36
- *
37
- * @example
38
- * ```ts
39
- * import { PRESET_PLAINTEXT } from '@rtif-sdk/web';
40
- * import { createEngine } from '@rtif-sdk/engine';
41
- *
42
- * const engine = createEngine(initialDoc);
43
- * for (const plugin of PRESET_PLAINTEXT) {
44
- * engine.use(plugin);
45
- * }
46
- * ```
47
- */
48
- export const PRESET_PLAINTEXT = [];
49
- /**
50
- * Basic preset — essential inline formatting.
51
- *
52
- * Includes bold, italic, underline, and link plugins. Suitable for
53
- * simple rich text fields (comments, chat messages, short-form content).
54
- *
55
- * @returns An array of basic formatting plugins
56
- *
57
- * @example
58
- * ```ts
59
- * import { PRESET_BASIC } from '@rtif-sdk/web';
60
- * import { createEngine } from '@rtif-sdk/engine';
61
- *
62
- * const engine = createEngine(initialDoc);
63
- * for (const plugin of PRESET_BASIC) {
64
- * engine.use(plugin);
65
- * }
66
- * ```
67
- */
68
- export const PRESET_BASIC = [
69
- boldPlugin(),
70
- italicPlugin(),
71
- underlinePlugin(),
72
- linkPlugin(),
73
- ];
74
- /**
75
- * Standard preset — common rich text editing features.
76
- *
77
- * Includes everything in {@link PRESET_BASIC}, plus strikethrough,
78
- * inline code, headings, lists, blockquotes, code blocks, and
79
- * horizontal rules. Suitable for blog posts, documentation, and
80
- * general-purpose content editing.
81
- *
82
- * @returns An array of standard editing plugins
83
- *
84
- * @example
85
- * ```ts
86
- * import { PRESET_STANDARD } from '@rtif-sdk/web';
87
- * import { createEngine } from '@rtif-sdk/engine';
88
- *
89
- * const engine = createEngine(initialDoc);
90
- * for (const plugin of PRESET_STANDARD) {
91
- * engine.use(plugin);
92
- * }
93
- * ```
94
- */
95
- export const PRESET_STANDARD = [
96
- // Inline marks (from BASIC)
97
- boldPlugin(),
98
- italicPlugin(),
99
- underlinePlugin(),
100
- linkPlugin(),
101
- // Additional inline marks
102
- strikethroughPlugin(),
103
- codePlugin(),
104
- // Block types
105
- headingPlugin(),
106
- listPlugin(),
107
- blockquotePlugin(),
108
- codeBlockPlugin(),
109
- hrPlugin(),
110
- ];
111
- /**
112
- * Full preset — all available plugins.
113
- *
114
- * Includes everything in {@link PRESET_STANDARD}, plus text color,
115
- * font size, font family, alignment, indentation, callouts, images,
116
- * and embeds. Suitable for full-featured document editors and CMS
117
- * authoring tools.
118
- *
119
- * @returns An array of all available plugins
120
- *
121
- * @example
122
- * ```ts
123
- * import { PRESET_FULL } from '@rtif-sdk/web';
124
- * import { createEngine } from '@rtif-sdk/engine';
125
- *
126
- * const engine = createEngine(initialDoc);
127
- * for (const plugin of PRESET_FULL) {
128
- * engine.use(plugin);
129
- * }
130
- * ```
131
- */
132
- export const PRESET_FULL = [
133
- // Inline marks (from BASIC)
134
- boldPlugin(),
135
- italicPlugin(),
136
- underlinePlugin(),
137
- linkPlugin(),
138
- // Additional inline marks (from STANDARD)
139
- strikethroughPlugin(),
140
- codePlugin(),
141
- // Block types (from STANDARD)
142
- headingPlugin(),
143
- listPlugin(),
144
- blockquotePlugin(),
145
- codeBlockPlugin(),
146
- hrPlugin(),
147
- // Parameterized text styling
148
- textColorPlugin(),
149
- fontSizePlugin(),
150
- fontFamilyPlugin(),
151
- // Paragraph formatting
152
- alignmentPlugin(),
153
- indentPlugin(),
154
- // Advanced block types
155
- calloutPlugin(),
156
- imagePlugin(),
157
- embedPlugin(),
158
- ];
10
+ export { PRESET_PLAINTEXT } from './preset-plaintext.js';
11
+ export { PRESET_BASIC } from './preset-basic.js';
12
+ export { PRESET_STANDARD } from './preset-standard.js';
13
+ export { PRESET_FULL } from './preset-full.js';
159
14
  //# sourceMappingURL=presets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA0B,EAAE,CAAC;AAE1D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD,4BAA4B;IAC5B,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;IAEZ,0BAA0B;IAC1B,mBAAmB,EAAE;IACrB,UAAU,EAAE;IAEZ,cAAc;IACd,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,gBAAgB,EAAE;IAClB,eAAe,EAAE;IACjB,QAAQ,EAAE;CACX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,4BAA4B;IAC5B,UAAU,EAAE;IACZ,YAAY,EAAE;IACd,eAAe,EAAE;IACjB,UAAU,EAAE;IAEZ,0CAA0C;IAC1C,mBAAmB,EAAE;IACrB,UAAU,EAAE;IAEZ,8BAA8B;IAC9B,aAAa,EAAE;IACf,UAAU,EAAE;IACZ,gBAAgB,EAAE;IAClB,eAAe,EAAE;IACjB,QAAQ,EAAE;IAEV,6BAA6B;IAC7B,eAAe,EAAE;IACjB,cAAc,EAAE;IAChB,gBAAgB,EAAE;IAElB,uBAAuB;IACvB,eAAe,EAAE;IACjB,YAAY,EAAE;IAEd,uBAAuB;IACvB,aAAa,EAAE;IACf,WAAW,EAAE;IACb,WAAW,EAAE;CACd,CAAC"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAoCjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,aAAa,CAAC,EAAE,oBAAoB,GACnC,WAAW,CA6Bb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,GACrC,cAAc,CAgBhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,QAAQ,EACb,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,EACtC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACzC,IAAI,CAiBN;AA4HD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,EACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,EACtC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACzC,IAAI,CAuFN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,SAAS,EAAE,KAAK,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,GACrC,WAAW,CAmEb"}
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAgEjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,aAAa,CAAC,EAAE,oBAAoB,GACnC,WAAW,CA6Bb;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,GACrC,cAAc,CAgBhB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,IAAI,CAEpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,QAAQ,EACb,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,EACtC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACzC,IAAI,CAiBN;AA4HD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,EACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,EACtC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GACzC,IAAI,CAoFN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,KAAK,GAAG,SAAS,EAC5B,SAAS,EAAE,KAAK,EAChB,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,aAAa,CAAC,EAAE,oBAAoB,EACpC,cAAc,CAAC,EAAE,qBAAqB,GACrC,WAAW,CAmEb"}
package/dist/renderer.js CHANGED
@@ -1,3 +1,28 @@
1
+ // ---------------------------------------------------------------------------
2
+ // One-slot memo for prevBlockMap in reconcile()
3
+ // ---------------------------------------------------------------------------
4
+ /** Memoized previous document reference for prevBlockMap cache. */
5
+ let memoedPrevDoc = null;
6
+ /** Memoized Map<blockId, Block> for the previous document. */
7
+ let memoedPrevBlockMap = null;
8
+ /**
9
+ * Return a Map from block ID to Block for the given document.
10
+ * Uses a one-slot memo keyed on document reference identity — when the same
11
+ * document reference is passed on consecutive reconcile() calls, the Map is
12
+ * returned without reconstruction.
13
+ */
14
+ function getPrevBlockMap(prevDoc) {
15
+ if (prevDoc === memoedPrevDoc && memoedPrevBlockMap) {
16
+ return memoedPrevBlockMap;
17
+ }
18
+ const map = new Map();
19
+ for (const block of prevDoc.blocks) {
20
+ map.set(block.id, block);
21
+ }
22
+ memoedPrevDoc = prevDoc;
23
+ memoedPrevBlockMap = map;
24
+ return map;
25
+ }
1
26
  /**
2
27
  * Determine the container element where span children should be placed
3
28
  * for a given block element.
@@ -324,11 +349,8 @@ export function reconcile(root, prevDoc, nextDoc, composingBlockId, markRenderer
324
349
  if (prevDoc === nextDoc) {
325
350
  return;
326
351
  }
327
- // Build a lookup of previous blocks by ID for reference comparison
328
- const prevBlockMap = new Map();
329
- for (const block of prevDoc.blocks) {
330
- prevBlockMap.set(block.id, block);
331
- }
352
+ // Build a lookup of previous blocks by ID for reference comparison (memoized)
353
+ const prevBlockMap = getPrevBlockMap(prevDoc);
332
354
  // Use persistent blockElementMap if provided, otherwise scan DOM children
333
355
  const existingElements = blockElementMap ?? new Map();
334
356
  if (!blockElementMap) {