@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.
- package/dist/block-drag-handler.d.ts +26 -0
- package/dist/block-drag-handler.d.ts.map +1 -1
- package/dist/block-drag-handler.js +33 -23
- package/dist/block-drag-handler.js.map +1 -1
- package/dist/block-gutter.d.ts +81 -0
- package/dist/block-gutter.d.ts.map +1 -0
- package/dist/block-gutter.js +331 -0
- package/dist/block-gutter.js.map +1 -0
- package/dist/content-handler-html.d.ts +28 -0
- package/dist/content-handler-html.d.ts.map +1 -0
- package/dist/content-handler-html.js +49 -0
- package/dist/content-handler-html.js.map +1 -0
- package/dist/content-handlers.d.ts +20 -19
- package/dist/content-handlers.d.ts.map +1 -1
- package/dist/content-handlers.js +4 -43
- package/dist/content-handlers.js.map +1 -1
- package/dist/drop-indicator.d.ts.map +1 -1
- package/dist/drop-indicator.js +8 -34
- package/dist/drop-indicator.js.map +1 -1
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +33 -13
- package/dist/editor.js.map +1 -1
- package/dist/floating-toolbar.d.ts.map +1 -1
- package/dist/floating-toolbar.js +4 -7
- package/dist/floating-toolbar.js.map +1 -1
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/link-popover.d.ts.map +1 -1
- package/dist/link-popover.js +2 -43
- package/dist/link-popover.js.map +1 -1
- package/dist/preset-basic.d.ts +20 -0
- package/dist/preset-basic.d.ts.map +1 -0
- package/dist/preset-basic.js +28 -0
- package/dist/preset-basic.js.map +1 -0
- package/dist/preset-full.d.ts +22 -0
- package/dist/preset-full.d.ts.map +1 -0
- package/dist/preset-full.js +66 -0
- package/dist/preset-full.js.map +1 -0
- package/dist/preset-plaintext.d.ts +20 -0
- package/dist/preset-plaintext.d.ts.map +1 -0
- package/dist/preset-plaintext.js +19 -0
- package/dist/preset-plaintext.js.map +1 -0
- package/dist/preset-standard.d.ts +22 -0
- package/dist/preset-standard.d.ts.map +1 -0
- package/dist/preset-standard.js +47 -0
- package/dist/preset-standard.js.map +1 -0
- package/dist/presets.d.ts +7 -88
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +7 -152
- package/dist/presets.js.map +1 -1
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +27 -5
- package/dist/renderer.js.map +1 -1
- package/dist/selection-sync.d.ts.map +1 -1
- package/dist/selection-sync.js +20 -3
- package/dist/selection-sync.js.map +1 -1
- package/dist/types.d.ts +19 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -4
- package/styles/all.css +20 -0
- package/styles/base.css +33 -0
- package/styles/block-gutter.css +76 -0
- package/styles/blocks.css +199 -0
- package/styles/drop-indicator.css +37 -0
- package/styles/floating-toolbar.css +51 -0
- package/styles/link-popover.css +64 -0
- package/styles/marks.css +27 -0
- package/styles/mention.css +17 -0
- package/styles/pickers.css +317 -0
- package/styles/toolbar.css +151 -0
package/dist/link-popover.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"link-popover.js","sourceRoot":"","sources":["../src/link-popover.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
package/dist/presets.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,
|
|
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
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
package/dist/presets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.js","sourceRoot":"","sources":["../src/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
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"}
|
package/dist/renderer.d.ts.map
CHANGED
|
@@ -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;
|
|
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 =
|
|
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) {
|